Arduino part 8. Mengendalikan Motor Servo
Motor servo sering digunakan pada pembuatan project arduino seperti pada robot, mobil RC, dan sering juga dipakai untuk aktuator pada aplikasi industri.
Pada pembahasan kali ini kita akan mencoba mengotrol motor servo berputar searah jarum jam atau berlawanan arah jarum jam sesuai sudut yang diinginkan dengan menggunakan potensiometer. Jadi saat memutar potensiometer maka akan merubah gerakan pada motor servo.Potensiometer kita gunakan untuk mengatur tegangan DC agar bisa menghasilkan tegangan variable (bisa diubah-ubah) mulai dari 0 volt hingga 5 volt. Tegangan dari potensiometer akan masuk ke input analog arduino. Pembahasan tentang input analog potensiometer bisa dibaca pada meteri sebelumnya tentang membaca nilai analog.
Motor servo yang sering penulis gunakan ada 2 tipe
yaitu tipe SG90 dan MG 996R. Kedua tipe tersebut memiliki 3 buah kabel yaitu :
- Sinyal control (kabel warna orange)
- +5 volt (kabel warna merah)
- Ground (kabel warna coklat tua)
Motor Servo MG 996R
Motor Servo Type SG90
Untuk type yang lain bisa saja warna kabelnya berbeda,
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.
Motor servo terdiri dari 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). Motor servo telah 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.
Kunci 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 sudah 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.
Prinsip pergerakan motor servo bisa dilihat pada gambar di bawah ini:
Jadi jika kita ingin menggerakkan motor servo sebesar 0O maka diatur lebar pulsanya selama 1 mili detik, dan untuk 90O maka diatur lebar pulsanya sebesar 1,5 mili detik, dan jika ingin diputar sebesar 180O maka diatur lebar pulsanya sebesar 2 mili detik.
Untuk mengatur 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. Kita hanya cukup 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.
Pin PWM pada arduino uno yang bisa kita 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.
Untuk 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
Rakitlah motor servo seperti gambar rangkaian di bawah ini :
Tools >> Manage Libraries
Setelah itu pada kolom pencarian
ketiklah “servo motor”, nanti akan
muncul gambar seperti di bawah. Silahkan di install terlebih dahulu library motor servonya.
Langkah berikutnya adalah pembuatan sketch Program arduino guna mengontrol motor servo menggunakan Potensiometer dan Arduino seperti terlihat pada gambar di bawah ini:
Penjelasan sketch program
const int PIN_SERVO = 3;
Servo motorServo;
int Potensiometer = A0;
int nilaiServo = 0;
{
//mengaktifkan data serial dengan kecepatan baudrate 9600
motorServo.attach(PIN_SERVO);
}
{
nilaiServo = analogRead(Potensiometer);
nilaiServo = map(nilaiServo, 0, 1023, 0, 180);
motorServo.write(nilaiServo);
Serial.print("Posisi motor servo = ");
Serial.println(nilaiServo);
Serial.println("------------------------");
}
Setelah selesai silahkan lakukan verify, dan jika tidak ada kesalahan dalam penulisan sketch program maka sudah bisa diupload ke board arduino uno. Lalu cobalah 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:
Demikianlah materi tentang mengontrol motor servo menggunakan potensiometer dan arduino uno. Aplikasi motor servo salah satunya bisa diterapkan untuk penggerak robot lengan.
Anda tertarik merakit robot? silahkan baca materi tentang Cara merakit Legan Robot
Selamat membaca.
Posting Komentar untuk "Arduino part 8. Mengendalikan Motor Servo "