Membuat Kontroller Brushless DC Mandiri untuk KMHE dan Eksperimentasi
Pada zaman sekarang, sebuah kontroler BLDC sebenarnya
sudah banyak dijual di pasaran dengan harga yang murah dan mudah didapatkan.
Namun, bagi teman-teman yang sedang mengikuti KMHE (Kontes Mobil Hemat
Energi), SEM (Shell Eco-marathon), atau event kompetisi lain yang
regulasinya mewajibkan kontroler buatan sendiri dengan PCB yang mencantumkan
sablon nama tim, artikel ini sangat cocok untuk Anda. Tak hanya itu, bagi para
hobiis yang suka bereksperimen dan memperdalam cara kerja motor BLDC, panduan
ini diharapkan dapat membantu perjalanan riset Anda.
![]() |
| Membuat kontroller BLDC sendiri |
Mengenal Dasar Motor BLDC dan Sistem Komutasi
Motor BLDC yang pada umumnya dijumpai pada sepeda
listrik, motor listrik, kendaraan listrik rakitan, hingga jenis hub motor,
adalah motor BLDC dengan 3 fasa dan 3 sensor Hall.
- Sensor Hall adalah sensor yang berfungsi membaca posisi
magnet pada rotor dinamo.
- Kabel fasa (3
buah) adalah jalur utama untuk
mengalirkan arus listrik berdaya besar ke dalam kumparan motor.
| 3 kabel phase dan 3 hall sensor pembaca posisi magnet |
Prinsip dasar cara kerja kontroler BLDC dimulai saat sensor Hall membaca posisi magnet, lalu mengirimkan datanya ke kontroler. Selanjutnya, kontroler memerintahkan kabel fasa untuk mengalirkan arus listrik ke motor. Muncul pertanyaan: di antara 3 kabel fasa tersebut, mana yang bernilai positif dan mana yang negatif? Jawabannya adalah selalu bergantian mengikuti tabel pola komutasi tertentu.
Lalu, bagaimana cara mengubah saklar pada kabel fasa (U, V, W) agar bisa berpindah-pindah arus positif atau negatif secara cepat di setiap langkah (step)? Jawabannya adalah MOSFET.
MOSFET adalah jenis transistor yang mampu bekerja pada
arus amper yang besar dan memiliki kecepatan switching yang jauh lebih
cepat daripada relay mekanik. Mikrokontroler cukup memberikan sinyal perintah
ke MOSFET, dan selanjutnya MOSFET-lah yang bertindak sebagai saklar daya untuk
kabel fasa motor. MOSFET yang digunakan minimal berjumlah 6 buah, yaitu:
- 3 buah dipasang di
jalur positif (High-Side)
- 3 buah dipasang di
jalur negatif (Low-Side)

Q1-Q3 mosfet positif, Q4-Q6 mosfet negatif
Melalui kombinasi input data 3-bit dari sensor Hall,
kontroler akan menerjemahkannya menjadi output logika 6-bit untuk mengendalikan
MOSFET tersebut.
![]() |
| Hall ke komutasi mosfet |
Konfigurasi Jenis MOSFET dan Pengaturan Kecepatan (PWM)
Timbul pertanyaan lanjutan: apakah MOSFET yang dipakai
harus jenis P-Channel atau N-Channel?
- Konfigurasi bisa
berupa kombinasi P-Channel untuk High-Side dan N-Channel untuk Low-Side.
- Bisa juga menggunakan N-Channel semuanya.
MOSFET P channel dan N channel
Beberapa pabrikan kontroler BLDC menggunakan komponen tambahan berupa pre-driver MOSFET seperti IR2110 sehingga memungkinkan penggunaan jenis N-Channel di sisi High-Side. Selain itu, MOSFET juga dapat dipasang secara paralel untuk meningkatkan kapasitas kekuatan arus (amper). Dengan adanya pre-driver MOSFET, mikrokontroler tidak perlu bekerja terlalu berat dalam mengontrol gerbang MOSFET.
Lalu, di mana pengaturan kecepatan motor dilakukan?
Jawabannya berasal dari PWM (Pulse Width Modulation). MOSFET atau
driver MOSFET yang dikendalikan oleh besaran duty cycle PWM akan
membuat arus yang masuk ke fasa motor dapat diatur secara presisi, dan inilah
kunci utama mengapa putaran motor bisa dikontrol dari lambat hingga kencang.
Kesalahan Umum yang Sering Terjadi Saat Riset Kontroler Mandiri
Konsep skema dasar di atas memang terlihat sangat sederhana, bahkan mikrokontroler kecil seperti ATMEGA8 saja sebenarnya sudah cukup untuk menangani tugas kerja ini. Namun pada praktiknya di lapangan, ada banyak sekali trouble atau kendala yang kerap dijumpai oleh teman-teman yang sedang melakukan riset dan eksperimen membuat kontroler sendiri. Berikut adalah tiga kendala paling umum beserta solusinya:

Hanya dengan Atmega microcontroller sudah bisa jalan

motor BLDC bisa berputar


1. Melakukan PWM pada Semua Channel MOSFET
Melakukan perintah PWM pada sisi High-Side dan Low-Side di semua channel MOSFET tentu akan membuat mikrokontroler harus mengeluarkan 6 bit output PWM dalam waktu yang sangat cepat dan relatif bersamaan. Perlu diingat, tidak semua pin GPIO pada mikrokontroler memiliki karakteristik modul PWM yang identik. Hal ini tentu membuat tingkat presisi menjadi kurang optimal sekaligus membebani kinerja mikrokontroler. Beberapa teman mengira harus ganti ke Microcontroller lebih kuat seperti STM32 atau TEENSY, padahal ada solusi lebih santai.

PWM pada semua sisi mosfet resiko terjadi error
- Solusi Kreatif: Cara yang biasa diterapkan pada kontroler buatan pabrik adalah cukup satu sisi saja yang diberi PWM (misalnya pada bagian Low-Side saja). Alternatif cerdas lainnya adalah menggunakan 1 pin khusus mikrokontroler sebagai PWM global, yang kemudian dihubungkan ke gerbang AND (contohnya IC 74HC08). Logika gerbang AND ini nantinya dipadukan dengan pre-driver MOSFET pada bagian Low-Side. Cukup 1 PWM global bisa digunakan pada 3 mosfet.
2. MOSFET High-Side dan Low-Side ON Bersamaan (Shoot-Through)
Korsleting fatal ini sangat sering terjadi dan menjadi alasan utama mengapa banyak laporan dari teman-teman periset kontroler mandiri mendapati MOSFET mereka jebol atau rusak dalam jumlah banyak. Hal ini disebabkan oleh kondisi High-Side dan Low-Side yang sempat aktif (ON) secara bersamaan, meski hanya dalam satuan microsecond. Durasi yang sangat singkat itu sudah lebih dari cukup untuk memicu arus pendek langsung dari sumber tegangan ke ground.

penerapan deadtime pada coding, untuk mencegah short mosfet
- Solusi: Selalu terapkan jeda waktu atau Dead-Time antar step pergantian. Hal ini bisa diatur di dalam level coding program mikrokontroler, misalnya dengan memberikan jeda dead-time sekitar 2 microsecond di setiap perpindahan step guna memastikan tidak ada celah overlap MOSFET menyala bersamaan.
3. Noise pada Data Sensor Hall
Sensor Hall yang biasa digunakan pada motor BLDC
umumnya adalah jenis SS41F, yaitu jenis latch Hall sensor digital
berkarakteristik open collector yang menarik sinyal ke arah GND.
Karena posisinya terletak di dalam kumparan spull motor dan berada di
lingkungan elektromagnetik yang sangat bising, noise dan tegangan semu
sangat rentan terjadi.
Jika noise ini terbaca mentah-mentah oleh
mikrokontroler, data yang masuk akan menjadi kacau dan eksekusi penyalaan
MOSFET pun ikut salah. Inilah akar masalah dari kasus di mana kode program
sudah benar dan urutan perkabelan fasa sudah tepat, namun motor hanya bergetar
serta berdengung tanpa mau berputar.
Untuk mengatasi hal ini, penanganan wajib dilakukan
dari dua sisi sekaligus:
- Secara Hardware: Tambahkan komponen Schmitt Trigger untuk
membuat sinyal menjadi jauh lebih tegas. Sinyal transisi falling edge
dan rising edge akan dibentuk kembali menjadi kotak yang bersih,
contohnya dengan memanfaatkan IC 74LS14.
- Secara Software: Tambahkan fungsi filter di dalam coding
untuk mengabaikan data palsu. Sebagai contoh, tetapkan aturan bahwa jika
terjadi lebih dari 1 perubahan data step Hall sensor dalam rentang
waktu kurang dari 100 microsecond, maka data tersebut dianggap tidak valid.
Logikanya, secepat apa pun RPM motor BLDC berputar di
dunia nyata, perpindahan step sensor Hall tidak mungkin terjadi lebih
cepat dari 100 microsecond. Sebagai ilustrasi pengujian pada motor BLDC
dengan jumlah pole pair terbanyak dan RPM tertinggi yang ada di pasaran
saat ini—yakni QS Motor 12.000W dengan 16 pole pair—ketika digas secara
maksimal, motor tersebut berputar pada 1.600 RPM. Durasi per step
putarannya ternyata masih berada di angka 390 microsecond, yang artinya
masih jauh di atas ambang batas 100 microsecond. Angka filter ini tentu
bisa Anda sesuaikan kembali secara fleksibel berdasarkan spesifikasi motor BLDC
yang sedang diuji coba.
Kesalahan apa lagi yang biasa terjadi, tulis di kolom
komentar, selamat bereksperimen.



