Dalam tutorial ini kita akan mengontrol motor servo dengan ARDUINO UNO. Motor Servo digunakan di mana ada kebutuhan untuk pergerakan atau posisi poros 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 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.
Komponen Sirkuit
Perangkat keras: ARDUINO UNO, power supply (5v), kapasitor 100uF, tombol (dua buah), resistor 1KΩ (dua buah), motor Servo (yang perlu diuji).
Perangkat lunak: arduino IDE (Arduino nightly).
Diagram Sirkuit Motor Servo Arduino dan Penjelasannya
Dalam kasus normal kita perlu pergi ke register pengontrol untuk menyesuaikan frekuensi dan untuk mendapatkan rasio tugas yang diperlukan untuk kontrol posisi servo yang akurat, di ARDUINO kita tidak perlu melakukan hal-hal itu.
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 cukup menyatakan posisi servo yang dibutuhkan dan PWM secara otomatis diatur oleh UNO.
Hal-hal yang perlu kita lakukan untuk mendapatkan posisi servo yang akurat adalah:
|
Pertama kita perlu mengatur frekuensi sinyal PWM dan untuk itu kita harus memanggil “#include
Sekarang kita perlu menentukan nama untuk servo "Servo sg90sevo", di sini 'sg90servo' adalah nama yang dipilih, jadi saat menulis untuk ramuan kita akan menggunakan nama ini, fitur ini berguna ketika kita memiliki banyak servo untuk dikendalikan, kita dapat mengontrol sebanyak delapan servo dengan ini.
Sekarang kami memberi tahu UNO di mana pin sinyal servo terhubung atau di mana ia perlu menghasilkan sinyal PWM. Untuk melakukan ini kami memiliki "Sg90.attach (3);", di sini kami memberi tahu UNO kami menghubungkan pin sinyal servo di PIN3.
Yang tersisa adalah mengatur posisi, kita akan mengatur posisi servo dengan menggunakan “Sg90.write (30);”, dengan perintah ini tangan servo bergerak 30 derajat, jadi begitu. Setelah itu setiap kali kita perlu mengubah posisi servo kita perlu memanggil perintah "Sg90.write (required_position_ angle);". Di sirkuit ini kita akan memiliki dua tombol, satu tombol untuk meningkatkan posisi servo dan tombol lainnya untuk menurunkan posisi servo.
The Arduino Servo Motor kontrol tutorial dijelaskan dalam langkah demi langkah dari kode C yang diberikan di bawah ini.