Mengendalikan Motor Servo | Sketch dan Project Program Arduino

Mengendalikan Motor Servo | Sketch dan Project Program Arduino. Komponen Motor servo kerap kali digunakan pada pembuatan project arduino misalnya pada saat membuat robot, mobil RC, dan sering juga dipakai untuk aktuator pada aplikasi industri. Maka, dari itu kali ini kami melkukan pembahasan kita akan mencoba mengotrol motor servo berputar searah jarum jam atau berlawanan arah jarum jam sesuai sudut yang diinginkan dengan menggunakan potensiometer. Jadi, ketika kita memutar potensiometer maka akan merubah gerakan pada motor servo.

Mengendalikan Motor Servo | Sketch dan Project Program Arduino

Rangkaian ini menggunakan potensiometer untuk mengatur tegangan DC agar bisa menghasilkan tegangan variable (bisa diubah-ubah) mulai dari 0 volt hingga 5 volt. Hasil tegangan potensiometer akan masuk ke input analog arduino. Pembahasan lengkap lainnya tentang input analog potensiometer dapat anda cari pada meteri sebelumnya tentang membaca nilai analog.Kali kita menggunakan salah satu dari Motor servo 2 tipe berikut, tipe SG90 dan MG 996R. Ciri khas kedua tipe ini adalah memiliki 3 buah kabel yaitu :
  • +5 volt (kabel warna merah)
  • Sinyal control (kabel warna orange)
  • Ground (kabel warna coklat tua)
Motor Servo Type SG90 dan Motor Servo MG 996R

bisa saja warna kabelnya berbeda untuk type yang lain, tetapi urutan kabelnya tetap sama. Kabel positif selalu diletakkan ditengah hal ini guna menjaga keamanan motor servo agar saat kita terbalik memasang soket kabelnya tidak akan merusak motor servo, hanya saja motor servo tidak bisa berfungsi.

Untuk informasi, motor servo ini memiliki bagian-bagian seperti motor DC, kontrol elektronik dan sistem gear (roda gigi) dan servo horn/arm. Keuntungan motor servo adalah bisa kita putar sesuai sudut yang kita inginkan, tetapi perputaran rotasinya dibatas tidak lebih dari 180O (tentunya ini akan berbeda pada type motor servo lainnya).


Selain itu, motor servo sudah dilengkapi system gear box sehingga bisa meningkatkan torsinya, jadi motor servo akan mampu memutar beban-beban yang cukup berat sesuai spesifikasi motor servo yang digunakan. Untuk melihat kemampuan motor servo mengangkat beban dan pembahasan tentang motor servo bisa lihat di video Motor servo.
motor servo
Prinsip utama motor servo yang perlu anda ingat adalah pengendalian motor servo ada pada kabel sinyal data kontrolnya. Sinyal kontrolnya harus menggunakan sinyal PWM (Pulse Width Modulation) atau nama lainnya modulasi lebar pulsa. Untuk mengetahui tentang apa itu PWM bisa buka materi tentang PWM.

Jika anda telah mengetahui prinsip PWM maka tinggal kita menerapkan gelombang PWM untuk mengatur motor servo. Dengan mengatur lebar pulsa sinyal PWM maka kita bisa mengatur besarnya perputaran sudut rotasi pada motor servo sesuai dengan yang diinginkan.

Beriktu adalah prinsip pergerakan motor servo bisa dilihat pada gambar di bawah ini:
pwm motor servo

Saat kita menginginkan gerakkan motor servo sebesar 0 derajat maka diatur lebar pulsanya selama 1 mili detik, dan untuk 90 derajat maka diatur lebar pulsanya sebesar 1,5 mili detik, dan jika ingin diputar sebesar 180 derajat maka diatur lebar pulsanya sebesar 2 mili detik.

Dalam melakukan pengaturan lebar pulsa kita tidak perlu susah-susah memikirkannya seperti 1,5 mili detik, 2 mili detik dsb, karena tugas itu akan dikerjakan oleh program yang ada di dalam board arduino. Anda hanya mengetikkan perintahnya maka lebar pulsa akan keluar dengan sendirinya sesuai program yang dibuat. Itulah kelebihannya jika kita menggunakan program arduino karena cukup mengubah program sebentar saja maka motor servo bisa bergerak sesuai keinginan kita.

Ada beberapa Pin PWM pada arduino uno yang dapat anda manfaatkan untuk mengendalikan motor servo ada 6 buah yaitu pin nomor : 3,5,6,9,10 dan 11. Kita bisa menggunakan pin mana saja yang penting pada saat akan digunakan pin tersebut belum terpakai pada perangkat I/O lainnya.

Dalam membuat pengontrolan motor servo menggunakan potensiometer, kita persiapkan alat dan bahan sebagai berikut :

1. Arduino Uno R3

2. Projectboard

3. Motor Servo

4. Potensiometer

5. Kabel jumper

Silahkan merakit motor servo seperti gambar rangkaian di bawah ini :
kontrol motor servo arduino
Selesai merakit maka selanjutnya anda buka aplikasi arduino IDE. Jika baru pertama kali menggunakan motor servo maka harus menambah library motor servo. Caranya silahkan buka software Arduino IDE lalu carilah menu ini:

Tools >> Manage Libraries

Pada kolom pencarian ketiklah “servo motor”, segera akan muncul gambar seperti di bawah. Silahkan di install terlebih dahulu library motor servonya.

Kita lanjut ke langkah berikutnya yaitu pembuatan sketch Program arduino guna mengontrol motor servo menggunakan Potensiometer dan Arduino seperti terlihat pada gambar di bawah ini:

pengendali motor servo arduino

Penjelasan sketch program 


//memasukkan library motor servo
#include <Servo.h>  

//fungsinya menetapkan nomor pin untuk sinyal PWM motor servo
const int PIN_SERVO = 3; 

//pe-nama-an servo dengan “motorServo”
Servo motorServo;  

//mendeklarasikan integer Potensiometer pada pin input analog A0
int Potensiometer = A0; 

//mengkondisikan diawal nilai integer nilaiServo adalah 0
int nilaiServo = 0;  

void setup()
{
//mengaktifkan data serial dengan kecepatan baudrate 9600
Serial.begin(9600); 

//menetapkan pin pwm untuk motorServo adalah PIN_SERVO (pin 3)
motorServo.attach(PIN_SERVO); 
}

void loop()
{
/*membaca nilai analog dari potensiometer (A0) dengan range nilai : 0-1023 lalu simpan datanya di variabel nilaiServo*/
nilaiServo = analogRead(Potensiometer); 

/*merubah maping nilai dari skala 0-1023 diubah menjadi nilai dengan skala 0-180. maping ini dibutuhkan karena nilai PWM motor servo ini maksimum sudutnya 180*/
nilaiServo = map(nilaiServo, 0, 1023, 0, 180); 

/*mengirimkan sinyal PWM ke motorServo berdasarkan hasil dari mapping nilaiServo*/
motorServo.write(nilaiServo); 

/*Tampilkan tulisan posisi motor servo pada serial monitor*/
Serial.print("Posisi motor servo = "); 

/*Tampilkan tulisan nilaiServo pada serial monitor lalu enter*/
Serial.println(nilaiServo);

/*Tampilkan tulisan ---------- pada serial monitor lalu enter*/
Serial.println("------------------------");
} 
Sebelum upload ke arduino silahkan lakukan verify, dan jika tidak ada kesalahan dalam penulisan sketch program maka sudah bisa diupload ke board arduino uno. Kemudian coba putar potensiometer ke kiri dan ke kanan maka motor servo akan berputar mengikuti putaran pada potensiometer. Untuk melihat berapa pergerakan sudutnya maka bisa di lihat pada serial monitornya. Tampilannya akan seperti ini:


pengendali motor servo arduino

Itu uraian Mengendalikan Motor Servo | Sketch dan Project Program Arduino. Materi tentang mengontrol motor servo menggunakan potensiometer dan arduino uno ini patut untuk anda coba. Aplikasi motor servo salah satunya bisa diterapkan untuk penggerak robot lengan.

Jika Anda tertarik untuk merakit robot? Silahkan anda baca materi tentang langkah merakit Legan Robot

Selamat berkreasi tanpa batas.