- Bahan Diperlukan
- Rajah Litar
- Apa itu Motor Servo?
- Penjelasan Kod Arduino
- Mengendalikan Pelbagai Servo dengan Arduino- Bekerja:
Menggunakan satu atau dua Servo dengan Arduino adalah Mudah tetapi bagaimana jika kita mahu menggunakan lebih dari satu Servo Motors?
Di sini, kami akan menunjukkan kepada anda bahawa cara mengendalikan Multiple Servo Motors dengan Arduino. Menghubungkan beberapa Servo Motor dengan Arduino nampaknya mudah dan tetapi jika kita menghubungkan semua Servos ke pin bekalan Arduino maka mereka tidak akan berfungsi dengan betul kerana kekurangan arus yang mencukupi untuk menggerakkan semua motor. Oleh itu, anda mesti menggunakan bekalan kuasa yang berasingan untuk motor, sama ada dari beberapa penyesuai (5v 2A) atau dari bateri 9v berkualiti.
Bahan Diperlukan
- Arduino UNO
- Motor Servo
- Bekalan Kuasa
- Papan roti
- Wayar Penyambung
Rajah Litar
Apa itu Motor Servo?
Sebelum mengetahui secara terperinci, pertama kita harus mengetahui mengenai Servo Motors.
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.
Sebelum Menghubungkan Servos ke Arduino, anda boleh menguji servo anda dengan bantuan Circuit Motor Tester Circuit ini. Lihat juga projek Servo kami di bawah ini:
- Kawalan Motor Servo oleh Flex Sensor
Penjelasan Kod Arduino
Kod Arduino lengkap untuk Multiple Servo Control diberikan pada akhir.
Arduino mempunyai perpustakaan untuk Servo Motors dan ia mengendalikan semua perkara berkaitan PWM untuk memutar servo, anda hanya perlu memasukkan sudut yang anda mahu putar dan terdapat fungsi servo1.write (sudut); yang akan memutar servo ke sudut yang dikehendaki.
Jadi di sini kita mulakan dengan menentukan perpustakaan untuk motor Servo.
#sertakan
Dalam kod di bawah, kami menginisialisasi keempat-empat servo sebagai Servo1, Servo2, Servo3, dan Servo4.
Servo servo1; Servo servo2; Servo servo3; Servo servo4;
Kemudian, kami menetapkan semua pin input servo dengan Arduino. Seperti yang ditunjukkan dalam kod di bawah, Servo1 disambungkan ke pin ke-3 Arduino. Anda boleh menukar pin sesuai dengan anda tetapi perlu diingat bahawa ia harus menjadi pin PWM. Menggunakan Servo dengan pin digital Arduino tidak boleh dipercayai.
batal persediaan () { servo1.attach (3); servo2.attach (5); servo3.attach (6); servo4.attach (9); }
Sekarang, dalam fungsi gelung void () kita hanya memutarkan semua servo dari 0 hingga 180 darjah dan kemudian 180 hingga 0 darjah. Kelewatan yang digunakan dalam kod di bawah ini digunakan untuk meningkatkan atau menurunkan kecepatan servo kerana mempengaruhi peningkatan atau penurunan kecepatan pemboleh ubah 'i'.
gelung void () { untuk (int i = 0; i <180; i ++) { servo1.write (i); servo2.write (i); servo3.write (i); servo4.write (i); kelewatan (10); } untuk (i = 180; i> 0; i--) { servo1.write (i); servo2.write (i); servo3.write (i); servo4.write (i); kelewatan (10); } }
Mengendalikan Pelbagai Servo dengan Arduino- Bekerja:
Kita semua menghadapi masalah semasa menggunakan lebih daripada dua servo dengan satu Arduino. Satu-satunya penyelesaian untuk ini adalah menghubungkan bekalan kuasa luaran dengan jumlah penilaian semasa yang sesuai (dalam projek ini saya menggunakan bekalan 2A dengan 9v). Untuk bekalan kuasa luaran anda boleh menggunakan Adaptor, RPS (Instrumen Bekalan Kuasa Terkawal) atau bateri 9v volt berkualiti baik, dan anda boleh menggunakan port USB komputer riba anda untuk menghidupkan Servo kecil. Untuk menggunakan bekalan luaran, anda hanya perlu memendekkan arduino ke tanah bekalan luaran.
Gunakan kod Arduino yang diberikan di bawah untuk memprogram Arduino anda dan sambungkan semua Servo Motors seperti yang ditunjukkan dalam rajah litar dengan bekalan kuasa yang betul ke Motors. Oleh itu, semua servos akan bekerjasama tanpa gangguan.