Seperti yang dibahas sebelumnya, Arduino Due adalah papan berbasis pengontrol ARM yang dirancang untuk insinyur dan penghobi elektronik. Papan DUE ini dapat digunakan untuk membuat mesin CNC, printer 3D, lengan robotik, dll. Semua proyek ini memiliki fitur umum yaitu Kontrol Posisi. Salah satu proyek ini membutuhkan ketelitian terhadap posisinya. Posisi akurat pada alat berat ini dapat diraih oleh Servo Motors. Pada sesi ini kita akan mengontrol posisi Motor Servo dengan Arduino Due. Kami telah membahas Antarmuka Servo Motor dengan Arduino Uno dan Antarmuka Servo Motor dengan Mikrokontroler 8051.
Motor Servo:
Motor Servo dikenal karena gerakan atau posisi porosnya yang akurat. Ini tidak diusulkan untuk aplikasi kecepatan tinggi. Ini diusulkan untuk kecepatan rendah, torsi sedang dan aplikasi posisi yang akurat. Motor ini digunakan dalam mesin lengan robotik, kontrol penerbangan, dan sistem kontrol. Motor servo juga digunakan di beberapa printer dan mesin faks.
Motor servo tersedia dalam berbagai bentuk dan ukuran. Kami akan menggunakan SG90 Servo Motor dalam tutorial ini. SG90 adalah motor servo 180 derajat. Jadi dengan servo ini kita bisa memposisikan sumbu dari 0 hingga 180 derajat.
Motor Servo terutama memiliki tiga kabel, satu untuk tegangan positif, yang lain untuk ground dan yang terakhir untuk pengaturan posisi. Kabel MERAH terhubung ke daya, kabel coklat terhubung ke ground dan kabel KUNING (atau PUTIH) terhubung ke sinyal.
Motor Servo adalah kombinasi dari motor DC, sistem kendali posisi dan roda gigi. Dalam servo, kami memiliki sistem kontrol yang mengambil sinyal PWM dari pin sinyal. Ini menerjemahkan sinyal dan mendapatkan rasio tugas darinya. Setelah itu membandingkan rasio dengan nilai posisi yang telah ditentukan. Jika ada perbedaan nilai, itu menyesuaikan posisi servo yang sesuai. Jadi posisi sumbu motor servo didasarkan pada duty ratio dari sinyal PWM ke pin SIGNAL.
Frekuensi sinyal PWM (Pulse Width Modulated) dapat berbeda-beda berdasarkan jenis motor servo. Yang penting di sini adalah RASIO TUGAS dari sinyal PWM. Periksa ini untuk PWM dengan Arduino Due. Namun dalam hal ini, kita bahkan tidak perlu khawatir dengan pemilihan Rasio Tugas. Di Arduino kami memiliki fungsi khusus; setelah memanggilnya kita dapat mengatur posisi servo, hanya dengan menyatakan sudutnya. Kami akan membicarakannya di Bagian Kerja di bawah ini.
Sebelum Menghubungkan Motor Servo ke Arduino Due, Anda dapat menguji servo Anda dengan bantuan Rangkaian Penguji Motor Servo ini. Juga periksa proyek-proyek ini untuk Mengontrol Servo dengan Sensor Fleksibel atau dengan Sensor Gaya.
Komponen:
Perangkat Keras: Arduino Due, catu daya (5v), motor Servo.
Perangkat lunak: Arduino nightly, unduh dari tautan di bawah ini (https://www.arduino.cc/en/Main/Software)
Untuk, detail tentang Cara mengunduh dan menginstal perangkat lunak ini, kunjungi tutorial pertama Memulai Arduino Due.
Diagram Sirkuit dan Penjelasan Kerja:
Seperti yang dikatakan sebelumnya di ARDUINO, kami memiliki perpustakaan yang telah ditentukan, yang akan mengatur frekuensi dan rasio tugas yang sesuai, setelah file header dipanggil atau disertakan. Di ARDUINO kita hanya perlu menyatakan posisi servo yang dibutuhkan dan DUE menghasilkan sinyal PWM yang sesuai untuk servo. Hal-hal yang perlu kita lakukan untuk mendapatkan posisi servo yang akurat adalah,
#include
Servo myservo;
myservo.attach (servo_signal_pin_attached_to);
myservo.write (diperlukan_position_ angle);
File header “#include
Kedua nama yang akan dipilih untuk servo dengan menggunakan "Servo myservo" , di sini myservo adalah nama yang dipilih, jadi saat menulis untuk posisi kita akan menggunakan nama ini, fitur ini berguna ketika kita memiliki banyak servos untuk dikendalikan, kita dapat mengontrol sebanyak 12 servos dengan ini.
Dengan Arduino Karena memiliki 12 saluran PWM, kita perlu memberi tahu DUE di mana pin sinyal servo terhubung atau di mana ia perlu menghasilkan sinyal PWM. Untuk melakukan ini, kami memiliki "myservo.attach (2);" , di sini kami memberi tahu AKIBAT bahwa kami telah menghubungkan pin sinyal servo di PIN2.
Yang tersisa adalah mengatur posisi, kita akan mengatur posisi servo dengan menggunakan " myservo.write (45);" , dengan perintah ini jarum servo bergerak 45 derajat. Jika kita mengubah '45' menjadi '175', sumbu servo bersudut ke 175 derajat dan tetap di sana. Setelah itu, kapan pun kita perlu mengubah posisi servo, kita hanya perlu memanggil perintah “ myservo.write (required_position_angle);” .
Dalam program ini, kita akan menaikkan dan menurunkan sudut dengan menggunakan loop. Jadi servo menyapu dari 0 ke 180, lalu dari 180 ke 0 dan seterusnya. The Servo Motor Control dengan Arduino Karena terbaik adalah dijelaskan dalam langkah demi langkah dari kode C di bawah.