Mengatasi Motor Servo Bergetar atau Bergerak Saat Booting

Mungkin ada yang mengalami hal yang sama dengan saya saat mencoba ‘memprogram’ motor servo dengan Arduino, yakni motor servo bergetar setelah kita memberi perintah untuk menuju ke sudut tertentu dan permasalahan kedua,  motor servo bergerak sendiri saat program berjalan pertama kali (booting). Mungkin permasalahan sepele bagi yang udah master, tapi mungkin juga akan sangat berguna bagi yang sedang kebingungan mencari solusinya 🙂

mengatasi-motor-servo-bergetar-atau-bergerak-saat-booting

Problem Motor Servo dan Solusinya

Baiklah, mungkin saya tulis dulu solusi untuk permasalahan yang kedua, yakni motor servo bergerak sendiri sesaat setelah program berjalan. Setelah saya telusuri ternyata ini karena deklarasi function attach() milik library servo.h. Jadi bagi Anda yang menaruh function ini blok void setup(); coba dihapus dulu, kemudian sketch-nya di upload ulang. Problem solved :). Sederhana tapi bikin pusing bagi yang belum tahu :). Anda dapat mendeklarasikan function ini sesaat sebelum menyuruh motor servo ke sudut tertentu dengan perintah (misal) myservo.write(90);

Permasalahan yang kedua, motor servo bergetar setelah kita selesai menyuruhnya menuju sudut tertentu (setelah perintah myservo.write(); ). Sebelumnya kita analisa dulu penyebabnya. Sebuah motor servo hanya mengenal parameter ‘sudut’ dalam siklus hidupnya. Begitu ia diberi perintah untuk menuju sudut tertentu, ia akan selamanya akan menuju sudut tersebut walaupun ia sudah berada di sudut tersebut. Nah lho :). Inilah mengapa motor servo akan bergetar jika sudah settle di sudut tujuannya. Motor servo akan terus menerus menuju sudut tujuannya, sehingga efeknya motor servo akan bergetar.

Solusi Motor Servo Bergetar

Bagaimana solusinya? Ternyata mudah aja. Anda tinggal memanggil function detach() setelah Anda memerintahkan motor servo menuju sudut tertentu. Jadi jika kita memerintahkan motor servo ke sudut tertentu sebaiknya kita tulis kode yang lengkap sebagai berikut :

#include <Servo.h>;

Servo Myservo;

void setup(){

}

void loop(){
Myservo.attach(9);
Myservo.write(90);
delay (1000);
Myservo.detach();
delay (1000);
Myservo.attach(9);
Myservo.write(0);
delay (1000);
Myservo.detach();
delay (1000);
}

Dengan sketch di atas, Anda akan meng-attach motor servo di pin 9 (baris 10), menuju sudut 900 (baris 11) berhenti sejenak (1 detik) untuk menunggu motor servo berputar ke sudut 900 dan men-detach-nya supaya tidak bergetar (baris 13). Dengan cara sebaliknya, motor servo akan berputar ke sudut 00 (baris 15 sd 20). Biar tahu perbedaannya, coba perintah Myservo.detach(); dihilangkan, dan bandingkan hasilnya saat ada perintah tersbut.

Demikian sedikit tutorial singkat ini, semoga dapat bermanfaat buat yang sedang mencarinya, atau setidaknya untuk catatan diri saya sendiri supaya tidak lupa di kemudian hari.

3.3 3 votes
Article Rating

Leave a Reply

15 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Hasrul

halo bagaimana dengan stepper nema 17? terima kasih

gunawan

gan, kalau kasusnya ketika gerakin 1 servo, servo yg lain kejer/kejang/kejut2 itu knapa………?

uyun

malam, maaf saya baru dan ada maslah pada motor servo mitsubishi brand, motor tersebut mendengung keras saat power di on kan, dan setelah itu motor diem namun dalam posisi error, hal ini disebabkan apa….
mohon pencerahanya….

jie

cara ini tidak berlaku untuk kaki robot, karen jika servo di detach maka akan kehilangan kekuatan dan robot pun tidak bisa mengangkat beban.

Zulfi

Kalau mau menggerakan servo dengan 2 perintah tujuan dalam satu kali switch, misal ketika switch 1 di tekan servo bergerak ke 90 diam 1 detik lalu gerak ke 50 lalu servo diam menunggu perintah selanjutnya, begitupun untuk switch 2 di tekan servo gerak ke 0 diam 1 detik lalu ke 20 lalu diam dan menunggu perintah dr switch 1

Aditya

Saya masih mengalami masalah si servo yang masih kejang kejang. , Ketika di kasih input an potensio ketika dalam kondisi full si servo nya kejang , saya sudah memberi perintah detach (), pada programnya namun ketika di copile servonya malah tidak merespon sama sekali

Anonim

Kak servo saya getar getar setelah diperintah. Tetapi disini servo saya dihubungin ke receiver dan diperintah di transmitter.. itu gimana kak?

Intans

Kak motor servo milik saya ngga bisa bergerak sama sekali🙏 kira kira penyebab dan solusinya gimana ya kak?
Mohon bantuannya, untuk tugas sekolah🙏

15
0
Would love your thoughts, please comment.x
()
x