Mengontrol Kecepatan dan Posisi Motor BLDC
Brushless DC motor (BLDC motor) biasanya memerlukan tiga sinyal analog (voltase analog) untuk membuatnya berputar, yaitu U, V, dan W. Ketiga sinyal (voltase) kontrol ini mesti disuplai oleh sebuah drive. Motor BLDC bekerja berdasarkan komutasi elektronik. Ini biasanya dilakukan dengan menggunakan “hall sensors” atau “encoder” yang berputar bersama dengan motor. Hall sensors lebih lazim digunakan karena lebih murah. Hall sensors pada dasarnya adalah magnetic encoder, yang memiliki 3 kabel sinyal, katakanlah: sinyal HU, HV, dan HW. Ketiga sinyal encoder ini mesti dimasukkan ke drive untuk keperluan komutasi. Disamping itu hall sensors juga membutuhkan power supply. Drive sendiri membutuhkan power supply.
Berikut ini diagram bagaimana motor BLDC dihubungkan ke drive:

Karena motor BLDC hanya bisa bekerja jika ada komutasi elektronik, maka diperlukan drive yang mampu melakukan hal tersebut. Inilah sebab mengapa drive untuk motor BLDC tidak jarang lebih mahal dari motor itu sendiri.
Gambar diatas menunjukkan terminal-terminal pokok yang mesti ada pada setiap drive untuk motor BLDC. Biasanya drive tersebut juga dilengkapi dengan beberapa fungsi (terminal) lainnya antara lain:
- Enable: digunakan untuk mengaktifkan atau menonaktifkan motor.
- Direction (Forward/Reverse): digunakan untuk menentukan arah putaran motor.
- Speed: digunakan untuk mengatur kecepatan putar motor. Ini biasanya bisa dilakukan dengan dua cara: secara manual (misalnya dengan menggunakan potentiometer) atau secara otomatis dengan cara mengubah besaran voltase atau PWM yang diberikan kepada motor.
- Break: digunakan untuk menghentikan motor secara cepat.
- Alarm: digunakan untuk mengaktifkan alarm jika terjadi beberapa situasi seperti over-current, over-voltage, short-circuit, motor stall, dsb.
- Ground: terminal ground.
Gambar berikut menunjukkan satu contoh drive BLDC-8015A dengan harga yang relatif murah (buatan China):

Berikut ini adalah setup dasar yang menunjukkan bagaimana drive ini dihubungkan dengan motor BLDC:

Kemudian gambar dibawah ini menunjukkan bagaimana drive tersebut bisa dihubungkan dengan sebuah controller:

Untuk implementasi yang sederhana, controller disini bisa berupa Arduino. Kode Arduino untuk mengontrol kecepatan motor BLDC bisa ditemukan di: http://nul.cz/arduino/rozeni-motoru-57BLF03-BLDC-8015A/ (berbahasa Ceko, tapi bisa diterjemahkan di browser Google Chrome).
Mengontrol Posisi Motor BLDC
Untuk mengontrol posisi motor BLDC, kita perlu menambahkan satu encoder yang khusus untuk memberikan umpan balik posisi (position feedback) ke controller. Untuk kontrol posisi yang lebih akurat, sebaiknya menggunakan optical encoder. Encoder ini paling tidak memiliki dua sinyal output A dan B (jika single-ended). Bisa juga tiga sinyal output, yaitu A, B, dan Z (index). Dan bisa juga lima sinyal output, yaitu A, B, A/, B/, dan Z (jika differential). Disamping itu, encoder ini juga membutuhkan power supply, biasanya 5VDC.
Sebagaimana disebutkan diatas, sinyal output dari encoder perlu dimasukkan ke controller. Didalam controller kita bisa menggunakan PID control untuk mengimplementasikan kontrol posisi secara “closed-loop”.