Skip to content
  • Home
  • About the Blog
  • About the Author
  • Sitemap

Abdur Rosyid's Blog

Just a few notes on mechanical engineering and robotics

Mengontrol Kecepatan dan Posisi Motor BLDC

September 20, 2020 by Abdur Rosyid

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”.

Post navigation

Previous Post:

Mengontrol Posisi Brushed DC Motor

Next Post:

Mengontrol Posisi dan Kecepatan Motor Stepper (Secara Open-Loop)

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Categories

  • STEM 101
  • Robotics
  • Kinematics
  • Dynamics
  • Control
  • Robot Operating System (ROS)
  • Robot Operating System (ROS2)
  • Software Development
  • Mechanics of Materials
  • Finite Element Analysis
  • Fluid Mechanics
  • Thermodynamics

Recent Posts

  • Pull Request on Github
  • Basics of Git and Github
  • Conda vs Docker
  • A Conda Cheat Sheet
  • Installing NVIDIA GPU Driver on Ubuntu

Archives

  • June 2025
  • July 2021
  • June 2021
  • March 2021
  • September 2020
  • April 2020
  • January 2015
  • April 2014
  • March 2014
  • March 2012
  • February 2012
  • June 2011
  • March 2008
© 2026 Abdur Rosyid's Blog | WordPress Theme by Superbthemes