- Material Diperlukan
- Diagram Sirkuit
- Apa itu Motor Servo?
- Penjelasan Kode Arduino
- Mengontrol Banyak Servos dengan Arduino- Bekerja:
Menggunakan satu atau dua Servo dengan Arduino itu Mudah tetapi bagaimana jika kita ingin menggunakan lebih dari satu Servo Motor?
Di sini, kami akan menunjukkan kepada Anda bagaimana mengontrol Multiple Servo Motors dengan Arduino. Menghubungkan beberapa Motor Servo dengan Arduino tampaknya mudah dan jika kita menghubungkan semua Servos ke pin suplai Arduino maka mereka tidak akan bekerja dengan benar karena kurangnya arus yang cukup untuk menggerakkan semua motor. Jadi Anda harus menggunakan catu daya terpisah untuk motor, baik itu dari beberapa adaptor (5v 2A) atau dari baterai 9v berkualitas baik.
Material Diperlukan
- Arduino UNO
- Motor servo
- Sumber Daya listrik
- Papan tempat memotong roti
- Menghubungkan Kabel
Diagram Sirkuit
Apa itu Motor Servo?
Sebelum masuk ke detailnya, kita harus tahu dulu tentang Servo Motors.
Motor servo tersedia dalam berbagai bentuk dan ukuran. Motor servo akan memiliki kabel terutama di sana, satu untuk tegangan positif yang lain untuk ground dan yang terakhir untuk pengaturan posisi. Kabel MERAH terhubung ke daya, kabel Hitam terhubung ke ground dan kabel KUNING terhubung ke sinyal.
Motor servo adalah kombinasi motor DC, sistem kendali posisi, roda gigi. Posisi poros motor DC diatur oleh kontrol elektronik di servo, berdasarkan rasio tugas dari sinyal PWM pin SIGNAL.
Cukup berbicara elektronik kontrol menyesuaikan posisi poros dengan mengendalikan motor DC. Data mengenai posisi poros ini dikirim melalui pin SIGNAL. Data posisi ke kontrol harus dikirim dalam bentuk sinyal PWM melalui pin sinyal motor servo.
Frekuensi sinyal PWM (Pulse Width Modulated) dapat berbeda-beda berdasarkan jenis motor servo. Yang penting di sini adalah RASIO TUGAS dari sinyal PWM. Berdasarkan DUTY RATION ini, elektronik kontrol menyesuaikan poros.
Seperti yang ditunjukkan pada gambar di bawah ini, untuk poros yang akan dipindahkan ke jam 9o, RASIO PENGHIDUPAN harus 1/18. Yaitu. Waktu ON 1ms dan waktu OFF 17ms dalam sinyal 18ms.
Untuk poros yang akan dipindahkan ke clock 12o, waktu sinyal ON harus 1.5ms dan waktu OFF harus 16.5ms. Rasio ini diterjemahkan oleh sistem kontrol in servo dan menyesuaikan posisi berdasarkan itu. PWM ini di sini dibuat dengan menggunakan ARDUINO UNO.
Sebelum Menghubungkan Servo ke Arduino, Anda dapat menguji servo Anda dengan bantuan Rangkaian Penguji Motor Servo ini. Juga periksa proyek Servo kami di bawah ini:
- Kontrol Motor Servo dengan Sensor Fleksibel
Penjelasan Kode Arduino
Kode Arduino lengkap untuk Kontrol Servo Ganda diberikan di bagian akhir.
Arduino memiliki perpustakaan untuk Servo Motors dan menangani semua hal yang berhubungan dengan PWM untuk memutar servo, Anda hanya perlu memasukkan sudut yang ingin Anda putar dan ada fungsi servo1.write (sudut); yang akan memutar servo ke sudut yang diinginkan.
Jadi di sini kita mulai dengan mendefinisikan perpustakaan untuk motor Servo.
#include
Dalam kode di bawah ini, kami menginisialisasi keempat servos sebagai Servo1, Servo2, Servo3, dan Servo4.
Servo servo1; Servo servo2; Servo servo3; Servo servo4;
Kemudian, kami mengatur semua pin input servo dengan Arduino. Seperti yang ditunjukkan pada kode di bawah ini, Servo1 terhubung ke pin ke-3 Arduino. Anda dapat mengubah pin sesuai keinginan Anda, tetapi perlu diingat bahwa itu harus pin PWM. Menggunakan Servo dengan pin digital Arduino tidak dapat diandalkan.
batal penyiapan () { servo1.attach (3); servo2.attach (5); servo3.attach (6); servo4.attach (9); }
Sekarang, dalam fungsi void loop () kita hanya memutar semua servo dari 0 ke 180 derajat dan kemudian 180 ke 0 derajat. Penundaan yang digunakan pada kode di bawah ini digunakan untuk menambah atau mengurangi kecepatan servo karena berpengaruh pada peningkatan atau penurunan kecepatan variabel 'i'.
void loop () { for (int i = 0; i <180; i ++) { servo1.write (i); servo2.write (i); servo3.write (i); servo4.write (i); penundaan (10); } untuk (i = 180; i> 0; i--) { servo1.write (i); servo2.write (i); servo3.write (i); servo4.write (i); penundaan (10); } }
Mengontrol Banyak Servos dengan Arduino- Bekerja:
Kita semua menghadapi masalah saat ini saat menggunakan lebih dari dua servos dengan satu Arduino. Satu-satunya solusi untuk ini adalah menghubungkan catu daya eksternal dengan jumlah nilai arus yang sesuai (dalam proyek ini saya menggunakan 2A dengan catu 9v). Untuk catu Daya Eksternal Anda dapat menggunakan Adaptor, RPS (Instrumen Catu Daya Teregulasi) atau baterai volt 9v berkualitas baik, bahkan Anda dapat menggunakan port USB laptop Anda untuk memberi daya pada Servo kecil. Untuk menggunakan suplai eksternal, Anda hanya perlu menyingkat ground Arduino ke ground suplai eksternal.
Gunakan kode Arduino yang diberikan di bawah ini untuk memprogram Arduino Anda dan hubungkan semua Motor Servo seperti yang ditunjukkan pada diagram rangkaian dengan catu daya yang tepat ke Motor. Oleh karena itu, semua servo akan bekerja sama tanpa interupsi.