Apa itu Pengontrol Motor Servo?
Definisi Pengontrol Motor Servo
Pengontrol motor servo (atau driver motor servo) didefinisikan sebagai sirkuit yang digunakan untuk mengontrol posisi motor servo.
Sirkuit Driver Motor Servo
Sirkuit driver motor servo mencakup mikro-kontroler, sumber daya, potensiometer, dan konektor, memastikan kontrol motor yang tepat.
Peran Mikro-kontroler
Mikro-kontroler menghasilkan pulsa PWM pada interval tertentu untuk mengontrol posisi motor servo dengan akurat.
Sumber Daya
Desain sumber daya untuk pengontrol motor servo tergantung pada jumlah motor yang terhubung. Motor servo biasanya menggunakan sumber daya 4.8V hingga 6V, dengan 5V menjadi standar. Melebihi tegangan sumber daya dapat merusak motor. Arus yang diambil bervariasi dengan torsi dan lebih rendah dalam mode idle dan lebih tinggi saat berjalan. Arus maksimum yang diambil, yang dikenal sebagai arus macet, dapat mencapai hingga 1A untuk beberapa motor.
Untuk kontrol satu motor, gunakan regulator tegangan seperti LM317 dengan heatsink. Untuk beberapa motor, diperlukan sumber daya berkualitas tinggi dengan peringkat arus yang lebih tinggi. SMPS (Switched Mode Power Supply) adalah pilihan yang baik.
Diagram blok di bawah ini menunjukkan interkoneksi dalam Driver Motor Servo

Mengontrol Motor Servo
Motor servo memiliki tiga terminal.
Sinyal posisi (Pulsa PWM)
Vcc (Dari Sumber Daya)
Ground

Posisi sudut motor servo dikendalikan dengan menerapkan pulsa PWM dengan lebar tertentu. Durasi pulsa berkisar dari sekitar 0.5ms untuk rotasi 0 derajat hingga 2.2ms untuk rotasi 180 derajat. Pulsa harus diberikan pada frekuensi sekitar 50Hz hingga 60Hz.
Untuk menghasilkan gelombang PWM (Pulse Width Modulation), seperti ditunjukkan pada gambar di bawah, Anda dapat menggunakan modul PWM internal mikro-kontroler atau timer. Menggunakan blok PWM lebih fleksibel karena sebagian besar keluarga mikro-kontroler dirancang, dan blok PWM ini lebih sesuai dengan kebutuhan aplikasi seperti motor servo. Untuk lebar pulsa PWM yang berbeda, kita perlu memprogram register internal sesuai.
Sekarang, kita juga perlu memberi tahu mikrokontroler seberapa banyak ia harus berputar. Untuk tujuan ini, kita dapat menggunakan potensiometer sederhana dan menggunakan ADC untuk mendapatkan sudut rotasi atau untuk aplikasi yang lebih kompleks, accelerometer dapat digunakan.

Algoritma Program
Mari kita rancang Program untuk mengontrol satu servo dan input posisi diberikan melalui potensiometer yang terhubung ke pin pengontrol.
Inisialisasi pin port untuk input/output.
Baca ADC untuk posisi servo yang diinginkan.
Program register PWM untuk nilai yang diinginkan.
Segera setelah Anda memicu modul PWM, pin saluran PWM yang dipilih akan tinggi (logika 1) dan setelah lebar yang diperlukan tercapai, kembali rendah (logika 0). Jadi setelah memicu PWM, Anda harus mulai timer dengan penundaan sekitar 19 ms dan tunggu sampai timer overflowKembali ke langkah 2
Ada berbagai mode PWM yang tersedia yang dapat Anda gunakan tergantung pada mikrokontroler yang Anda pilih. Sejumlah optimasi harus dilakukan dalam kode untuk mengontrol servo.
Jika Anda berencana menggunakan lebih dari satu servo, maka Anda akan memerlukan sebanyak saluran PWM. Setiap servo dapat diberikan sinyal PWM secara berurutan. Namun, Anda harus memastikan bahwa laju repetisi pulsa untuk setiap servo dipertahankan. Jika tidak, servo akan kehilangan sinkronisasi.