Pengertian
Motor servo adalah komponen elektronika yang berupa motor yang memiliki sistem feedback guna memberikan informasi posisi putaran motor aktual yang diteruskan pada rangkaian kontrol mikrokontroler.
Pada dasarnya motor servo banyak digunakan sebagai aktuator yang membutuhkan posisi putaran motor yang presisi.
Apabila pada motor DC biasa hanya dapat dikendalikan kecepatannya serta arah putaran, lain halnya pada motor servo yaitu penambahan besaran parameter yang dapat dikendalikan berdasarkan sudut/derajat.
Komponen utama penyusun motor servo antara lain motor DC, gear rasio, potensiometer serta controller servo seperti gambar dibawah ini.
Adanya komponen potensiometer difungsikan sebagai feedback nilai yang akan diolah menjadi data posisi aktual.
Sedangkan fungsi dari controller servo yaitu memberikan sinyal – sinyal PWM (Pulse Width Modulator) untuk menggerakan motor melalui kabel motor.
Macam tipe – tipe dari motor servo ini ada 2 yaitu tipe standard dan tipe Continous.
- Tipe standar berputarnya dibatasi sebesar 180° dan tipe ini sering banyak dipakai pada sistem robotika seperti Arm Robot / Robot Lengan.
- Tipe continuous mempunyai kriteria perputaran motornya sebesar 360°contoh aplikasinya pada mobil robot.
Pada setiap body servo terdapat informasi akan identitas tipe servo tersebut. Secara standar, motor servo terdiri atas 3 kabel yaitu kabel power / VCC, kabel GND serta kabel signal.
Tutorial mengakses motor servo dengan Arduino Uno
Pada tutorial kali ini akan dicontohkan eksperimen dengan motor servo jenis mikro yang banyak dijual di pasaran dengan harga terjangkau.
Motor servo ini disebut micro servo dikarenakan ukurannya yang kecil dan memutuhkan tegangan atau arus yang kecil pula.
Spesifikasinya kurang lebih sebagai berikut :
- tegangan kerja : 4,8 – 6 Vdc
- torsi : 1,6 kg/cm
- arus : < 500 mA
- dimensi : 22 x 12,5 x 29,5 cm
- berat : 9 gr
- kecepatan putaran: 0,12 detik/60 derajat
Bahan yang perlu dipersiapkan antara lain :
- Arduino Uno
- Komputer + Software IDE Arduino
- Micro Servo
- Kabel Jumper
Keterangan :
- Warna merah servo, dihubungkan ke pin 5V Arduino
- Warna hitam/coklat servo, dihubungkan ke pin Gnd Arduino
- Warna orange servo (kabel data/perintah), dihubungkan ke pin 9 Arduino (dapat digunakan pin lainnya)
Library yang dapat digunakan yaitu [ddownload id=”1520″]
Peletakan Library pada OS :
1. Mac : (home directory)/Documents/Arduino/libraries
2. PC (Windows) : My Documents -> Arduino -> libraries
3. Linux : (home directory)/sketchbook/libraries
Contoh kode pemrograman sederhana
/* www.nyebarilmu.com */ #include <Servo.h> // menyertakan library servo ke dalam program Servo myservo; // variable untuk menyimpan posisi data int pos = 00; void setup(){ myservo.attach(3); //sinyal data kabel motor servo dikonekan di pin 3 Arduino } void loop(){ for(pos = 00; pos < 180; pos += 1) //fungsi perulangan yang akan dijadikan PWM dengan kenaikan 1 { myservo.write(pos); //prosedur penulisan data PWM ke motor servo delay(15); //waktu tunda 15 ms } for(pos = 180; pos>=1; pos-=1) //fungsi perulangan yang akan dijadikan PWM dengan penurunan 1 { myservo.write(pos); delay(15); } }
Keterangan program :
Untuk progam di atas, sudut putaran yang dapat dituju maksimal yaitu 180°.
Sehingga menjadi batasan range posisi derajat yang dapat digunakan yaitu 0 – 180°.
Dengan menggunakan servo ini sudah tidak berbicara lagi mengenai putar searah (Clock Wise) atau berlawanan arah jarum jam (Clock Counter Wise) tapi sudut 00, 450, 900 dan seterusnya sampai dengan 1800.
Apabila ingin mendapatkan posisi 90° dan bergerak berlawanan arah jarum jam maka dituliskan perintah myservo.write (90); setelah itu dituliskan myservo.write (0);.
Akan tetapi jika ingin mendapatkan posisi 90° dan serarah jarum jam maka dituliskan perintah myservo.write (90); setelah itu dituliskan perintah myservo.write (180);.
Jadi posisi 00 s.d 1800 sudah ditentukan oleh kontroller internal motor servo, dan cukup dengan memberikan perintah pada sudut mana motor akan berputar melalui perintah myservo.write (derajat)
Tutorial kedua mengendalikan gerakan motor servo dengan potensiometer
Bahan yang perlu dipersiapkan antara lain :
- Arduino Uno
- Komputer + Software IDE Arduino
- Micro Servo
- potensiometer 1KΩ
- Kabel Jumper
Skema rangkaian
Koding pemrograman kedua
/* www.nyebarilmu.com */ #include <Servo.h> Servo myservo; int pot = A5; int var; void setup(){ myservo.attach(9);//penggunaan data pada pin 3 sebagai keluaran PWM } void loop(){ var = analogRead(pot); //pembacaan potensiometer dengan nilai 0-1023 var = map (var, 00, 1023, 00, 180); //mengubah nilai 0-1023 menjadi 0-180 derajat myservo.write(var); delay(10); }
Note : pada program diatas dapat diamati langsung untuk pergerakan servo, yang akan mengikuti dari arah putaran potensiometer.
Hasil simulasi program diatas seperti dibawah ini :
File diatas dibuat menggunakan Software Proteus, silahkan jika ingin memiliki file yang bisa anda improve sendiri
File proteus : [sociallocker id=1344][ddownload id=”2247″] [/sociallocker]
Tutorial Ketiga mengakses Multiple Servo dengan Arduino Uno
Bahan yang perlu dipersiapkan antara lain :
- Arduino Uno
- Komputer + Software IDE Arduino
- Micro Servo 3 pcs
- Kabel Jumper
Skema rangkaian
Koding pemrograman ketiga
[sociallocker id=1344]
//www.nyebarilmu.com #include <Servo.h> Servo servo1; Servo servo2; Servo servo3; void setup() { servo1.attach(9); servo2.attach(10); servo3.attach(11); } void loop() { step1(); delay(1000); step2(); delay(1000); step3(); delay(1000); step4(); delay(1000); } void step1() { servo1.write(180); servo2.write(00); servo3.write(00); } void step2() { servo1.write(180); servo2.write(180); servo3.write(00); } void step3() { servo1.write(180); servo2.write(180); servo3.write(180); } void step4() { servo1.write(00); servo2.write(00); servo3.write(00); }
[/sociallocker]
Hasil Koding program diatas
Selamat mencoba!
Terimakasih sudah berkunjung, dan semoga bermanfaat. Salam nyebarilmu.com!
makasih ilmunya, tapi tolong mas dibuatkan pdf dan referensi sumbernya.. bukan untuk klaim tapi untuk bisa dijadikan rujukan yang valid
Di print trs dijadikan PDF saja sis,