Cara Interface motor Servo dengan Arduino

Cuba Instrumen Kami Untuk Menghapuskan Masalah





Dalam posting ini kita akan mempelajari apa itu motor servo, bagaimana fungsinya, bagaimana berinteraksi dengan mikrokontroler dan apa yang menjadikan motor ini istimewa dari motor lain.

Sebagai peminat elektronik kita akan menemui banyak jenis motor, di sini kita akan melihat jenis motor khas yang disebut motor servo.



Apakah motor Servo?

Motor servo atau ringkasnya servo adalah jenis motor khas yang direka untuk kawalan tepat pada kedudukan, pecutan dan halaju. Tidak seperti motor jenis lain, servo hanya boleh memutar dua arah 180 darjah. Ia mempunyai roda gigi mekanikal dan sumbat yang membatasi putaran servo sudut.

Motor servo khas:

Motor servo digunakan dalam robotika, kamera CCTV, kereta RC, kapal, pesawat udara mainan dan lain-lain. Servo digunakan di mana kita tidak perlu meneruskan gerakan putaran, tetapi mengunci pada kedudukan tertentu atau memindahkan beberapa beban dengan halaju terkawal dalam had sudut bergerak.



Servo bukan sekadar motor seperti jenis lain, tetapi ia adalah modul, yang menggabungkan motor DC / AC biasa, sekumpulan gear, elektronik kawalan dan sistem maklum balas. Mari kita perhatikan setiap peringkat yang disebutkan secara terperinci.

Motor DC / AC yang digunakan pada modul servo boleh menjadi motor tanpa berus atau disikat, pada kebanyakan hobi servo motor DC digunakan dan motor AC digunakan dalam aplikasi industri. Motor memberikan input putaran ke servo. Motor berputar pada beberapa ratus RPM di dalam servo dan putaran output kira-kira 50 atau lebih kali kurang dari RPMnya.

Tahap seterusnya adalah pemasangan roda gigi, yang mengawal putaran sudut dan kelajuan servo. Gear boleh dibuat dari plastik atau logam bergantung pada seberapa besar bebannya. Secara amnya motor DC dijalankan pada RPM tinggi dan tork rendah pemasangan gear akan menukar lebihan RPM menjadi tork. Oleh itu motor kecil dapat menangani beban yang besar.

Tahap seterusnya adalah elektronik kawalan yang terdiri daripada MOSFET dan IC untuk mengawal putaran motor. Sistem maklum balas selalu ada di motor servo untuk mengesan kedudukan penggerak semasa.

Pada servo secara amnya komponen maklum balas adalah potensiometer, yang dihubungkan secara langsung dengan penggerak berputar. Potensiometer bertindak sebagai pembahagi voltan yang dimasukkan ke elektronik kawalan. Maklum balas ini membantu mengawal elektronik untuk menentukan jumlah kuasa yang diberikan kepada motor.

Motor servo dalam kedudukan tetap akan enggan bergerak dari kedudukannya sekarang jika ada kekuatan luaran yang cuba mengganggu. Sistem maklum balas memantau kedudukan semasa dan menggerakkan motor daripada gangguan luaran.

Senario di atas adalah sama ketika servo menggerakkan penggeraknya. Sistem kawalan akan mengimbangi daya luaran dan bergerak dalam halaju yang ditentukan.

Sekarang anda sudah banyak mengetahui mengenai motor servo dan mekanisme fungsinya. Mari kita lihat cara mengawal motor servo menggunakan mikrokontroler.

Motor servo mempunyai 3 terminal tidak seperti motor lain yang mempunyai 2 terminal, dua untuk bekalan (nominal 5V) dan satu untuk isyarat kawalan. Wayar berwarna untuk mengenal pasti terminal dengan mudah.

Isyarat kawalan servos adalah PWM pada frekuensi 50Hz. Lebar nadi isyarat menentukan kedudukan lengan penggerak. Motor servo hobi biasa beroperasi dari lebar denyut 1 hingga 2 milisaat.

Menerapkan isyarat kawalan lebar denyut 1 ms akan memastikan penggerak berada pada kedudukan 0 darjah. Menerapkan isyarat kawalan lebar denyut 2 ms akan memastikan penggerak berada pada kedudukan 180 darjah. Menerapkan isyarat dalam jarak antara 1-2 ms akan memastikan penggerak berada dalam sudut 0-180 darjah. Ini dapat difahami dengan lebih baik dengan gambar di bawah

Sekarang anda sudah faham bagaimana servo dikendalikan oleh modulasi lebar nadi (PWM).

Sekarang mari kita pelajari bagaimana menghubungkan motor servo dengan Arduino.

Gambarajah litar:

bagaimana menghubungkan antara motor servo dengan Arduino.

Pendawaiannya mudah dan jelas. Anda memerlukan bekalan kuasa luaran jika anda menggunakan motor servo yang besar. Sekiranya anda mencuba bekalan kuasa dari arduino, anda akan membebankan port USB yang berlebihan di komputer.

Sekiranya anda mempunyai servo yang serupa yang digambarkan pada awal artikel, maka anda mungkin menghidupkannya dari bekalan arduino 5V, juga ditunjukkan dalam prototaip pengarang.

Prototaip pengarang:

Arduino memerlukan pustaka servo untuk menanganinya, memudahkan tugas kami dan sudah ada di Arduino IDE.

Program:

//--------Program developed by R.Girish--------//
#include
Servo motor
int pos = 0
int t=10
void setup()
{
motor.attach(7)
}
void loop()
{
A:
pos=pos+1
motor.write(pos)
delay(t)
if(pos==180) { goto B}
goto A
B:
pos=pos-1
motor.write(pos)
delay(t)
if(pos==0) { goto A}
goto B
}
//--------Program developed by R.Girish--------//

Program di atas akan menyapu penggerak 0 hingga 180 darjah ke kanan dan 180 hingga 0 darjah ke kiri dan pengulangan kitaran. Ini adalah program mudah untuk menguji servo yang mungkin anda perlukan untuk menulis kod anda sendiri untuk aplikasi tersuai anda.




Sepasang: Litar Pengawal Injap Pam Air Dua Paip Seterusnya: Memahami Pendawaian Voltan Motosikal