Dalam tutorial ini kita akan mengawal motor servo oleh ARDUINO UNO. Servo Motors digunakan di mana terdapat keperluan pergerakan poros atau kedudukan yang tepat. Ini tidak dicadangkan untuk aplikasi berkelajuan tinggi. Ini dicadangkan untuk kelajuan rendah, tork sederhana dan aplikasi kedudukan tepat. Motor ini digunakan dalam mesin lengan robot, kawalan penerbangan dan sistem kawalan.
Motor servo boleh didapati dalam pelbagai bentuk dan saiz. Motor servo mempunyai wayar terutamanya, satu untuk voltan positif yang lain untuk tanah dan yang terakhir adalah untuk penetapan kedudukan. Kawat MERAH disambungkan ke kuasa, Kawat hitam disambungkan ke tanah dan wayar KUNING dihubungkan ke isyarat.
Motor servo adalah gabungan motor DC, sistem kawalan kedudukan, gear. Kedudukan poros motor DC diselaraskan oleh elektronik kawalan dalam servo, berdasarkan nisbah tugas PWM memberi isyarat pada pin SIGNAL.
Cukup elektronik kawalan menyesuaikan kedudukan poros dengan mengawal motor DC. Data mengenai kedudukan poros ini dihantar melalui pin SIGNAL. Data kedudukan ke kawalan harus dihantar dalam bentuk isyarat PWM melalui pin isyarat motor servo.
Frekuensi isyarat PWM (Pulse Width Modulated) boleh berbeza-beza berdasarkan jenis motor servo. Yang penting di sini ialah DUTY RATIO isyarat PWM. Berdasarkan DATY RATION ini elektronik kawalan menyesuaikan poros.
Seperti yang ditunjukkan dalam rajah di bawah, agar poros digerakkan ke jam 9o, JADUAL TURN ON mestilah 1 / 18.ie. Masa ON 1ms dan masa OFF 17ms dalam isyarat 18ms.
Untuk poros digerakkan ke jam 12o, waktu isyarat ON mestilah 1.5ms dan masa OFF hendaklah 16.5ms. Nisbah ini disahkod oleh sistem kawalan dalam servo dan menyesuaikan kedudukan berdasarkannya. PWM ini di sini dihasilkan dengan menggunakan ARDUINO UNO.
Komponen Litar
Perkakasan: ARDUINO UNO, bekalan kuasa (5v), kapasitor 100uF, butang (dua keping), perintang 1KΩ (dua keping), motor Servo (yang perlu diuji).
Perisian: arduino IDE (Arduino setiap malam).
Gambarajah dan Penjelasan Litar Motor Arduino Servo
Dalam kes biasa kita perlu pergi ke daftar pengawal untuk menyesuaikan frekuensi dan untuk mendapatkan nisbah tugas yang diperlukan untuk kawalan kedudukan servo yang tepat, di ARDUINO kita tidak perlu melakukan perkara-perkara tersebut.
Di ARDUINO kami mempunyai perpustakaan yang telah ditentukan, yang akan menetapkan frekuensi dan nisbah tugas dengan sewajarnya setelah fail tajuk dipanggil atau disertakan. Dalam ARDUINO kita hanya perlu menyatakan kedudukan servo yang diperlukan dan PWM secara automatik disesuaikan oleh UNO.
Perkara-perkara yang perlu kita lakukan untuk mendapatkan kedudukan servo yang tepat adalah:
|
Mula-mula kita perlu menetapkan frekuensi isyarat 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 semasa menulis untuk ramuan kita akan menggunakan nama ini, ciri ini sangat berguna apabila kita mempunyai banyak servos untuk dikendalikan, kita boleh mengawal sebanyak lapan servo dengan ini.
Sekarang kita memberitahu UNO di mana pin isyarat servo disambungkan atau di mana ia perlu menghasilkan isyarat PWM. Untuk melakukan ini, kita mempunyai "Sg90. Attach (3);", di sini kita memberitahu UNO bahawa kita menghubungkan pin isyarat servo di PIN3.
Semua kiri adalah untuk mengatur posisi, kita akan mengatur posisi servo dengan menggunakan "Sg90.write (30);", dengan perintah ini tangan servo bergerak 30 darjah, jadi itu saja. Selepas itu setiap kali kita perlu mengubah posisi servo, kita perlu memanggil perintah "Sg90.write (diperlukan_posisi_ sudut);". Dalam litar ini kita akan mempunyai dua butang satu butang meningkatkan kedudukan servo dan yang lain adalah untuk menurunkan kedudukan servo.
The Arduino Servo Motor kawalan tutorial dijelaskan dalam langkah demi langkah kod C diberikan di bawah.