Seperti yang dibincangkan sebelumnya, Arduino Due adalah papan berasaskan pengawal ARM yang direka untuk jurutera elektronik dan penggemar hobi. Papan DUE ini dapat digunakan untuk membuat mesin CNC, pencetak 3D, lengan robot dll. Semua projek ini mempunyai ciri umum iaitu Position Control. Mana-mana projek ini memerlukan ketepatan terhadap kedudukannya. Kedudukan yang tepat di mesin ini dapat dicapai oleh Servo Motors. Pada sesi ini kita akan mengawal kedudukan Motor Servo dengan Arduino Due. Kami telah merangkumi Servo Motor Interfacing dengan Arduino Uno dan Servo Motor Interfacing dengan 8051 Microcontroller.
Motor Servo:
Servo Motors terkenal dengan pergerakan atau kedudukan poros 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 juga digunakan di beberapa mesin pencetak dan faks.
Motor servo boleh didapati dalam pelbagai bentuk dan saiz. Kami akan menggunakan SG90 Servo Motor dalam tutorial ini. SG90 adalah motor servo 180 darjah. Oleh itu dengan servo ini kita dapat meletakkan paksi dari 0 hingga 180 darjah.
Motor Servo mempunyai tiga wayar, satu untuk voltan positif, satu lagi untuk tanah dan yang terakhir adalah untuk penetapan kedudukan. Kawat MERAH disambungkan ke kuasa, wayar Brown disambungkan ke tanah dan wayar KUNING (atau PUTIH) disambungkan ke isyarat.
Servo Motor adalah gabungan motor DC, sistem kawalan kedudukan dan gear. Dalam servo, kami mempunyai sistem kawalan yang mengambil isyarat PWM dari pin isyarat. Ia menyahkod isyarat dan mendapat nisbah tugas daripadanya. Selepas itu membandingkan nisbah dengan nilai kedudukan yang telah ditentukan. Sekiranya terdapat perbezaan nilainya, ia akan menyesuaikan kedudukan servo dengan sewajarnya. Jadi kedudukan paksi motor servo adalah berdasarkan nisbah tugas isyarat PWM ke pin SIGNAL.
Frekuensi isyarat PWM (Pulse Width Modulated) boleh berbeza-beza berdasarkan jenis motor servo. Yang penting di sini ialah DUTY RATIO isyarat PWM. Periksa ini untuk PWM dengan Arduino Due. Namun dalam kes ini, kita tidak perlu risau dengan pemilihan Duty Ratio. Di Arduino kami mempunyai fungsi khas; apabila menyebutnya, kita dapat menyesuaikan kedudukan servo, hanya dengan menyatakan sudut. Kami akan membincangkannya di Bahagian Kerja di bawah.
Sebelum Memasukkan Servo Motor ke Arduino Due, anda boleh menguji servo anda dengan bantuan Servo Motor Tester Circuit ini. Periksa juga projek-projek ini ke Control Servo oleh Flex Sensor atau oleh Force Sensor.
Komponen:
Perkakasan: Arduino Due, bekalan kuasa (5v), Motor servo.
Perisian: Arduino setiap malam, muat turun dari pautan di bawah (https://www.arduino.cc/en/Main/Software)
Untuk, perincian mengenai Cara memuat turun dan memasang perisian ini, kunjungi tutorial pertama Bermula dengan Arduino Due.
Diagram Litar dan Penjelasan Kerja:
Seperti yang dinyatakan sebelumnya dalam ARDUINO, kami telah menetapkan perpustakaan 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 DUE menghasilkan isyarat PWM yang sesuai untuk servo. Perkara-perkara yang perlu kita lakukan untuk mendapatkan kedudukan servo yang tepat adalah,
#sertakan
Servo myservo;
myservo.attach (servo_signal_pin_attached_to);
myservo.write (diperlukan_posisi_ sudut);
Fail tajuk “#include
Kedua nama harus dipilih untuk servo dengan menggunakan "Servo myservo" , di sini myservo adalah nama yang dipilih, jadi semasa menulis untuk posisi kita akan menggunakan nama ini, fitur ini sangat berguna apabila kita mempunyai banyak servos untuk dikendalikan, kita boleh mengawal sebanyak 12 servo dengan ini.
Dengan adanya Arduino Due yang mempunyai 12 saluran PWM, kita perlu memberitahu DUE di mana pin isyarat servo disambungkan atau di mana ia perlu menghasilkan isyarat PWM. Untuk melakukan ini, kita mempunyai "myservo.attach (2);" , di sini kami memberitahu DUE bahawa kami telah menghubungkan pin isyarat servo di PIN2.
Semua kiri adalah untuk mengatur kedudukan, kita akan menetapkan posisi servo dengan menggunakan " myservo.write (45);" , dengan arahan ini, tangan servo bergerak 45 darjah. Sekiranya kita menukar '45' menjadi '175', paksi servo bersudut menjadi 175 darjah dan tetap di sana. Selepas itu, setiap kali kita perlu mengubah posisi servo, kita hanya perlu memanggil perintah " myservo.write (dibutuhkan_posisi_angle);" .
Dalam program ini, kita akan menambah dan mengurangi sudut dengan menggunakan gelung. Jadi servo menyapu dari 0 hingga 180, kemudian dari 180 hingga 0 dan seterusnya. The Servo Motor Kawalan dengan Arduino Due dapat dijelaskan dengan langkah demi langkah kod C turun di bawah.