pada postingan kali ini kita akan membahas bagaimana cara mengontrol BLDS Hoverboard motor dengan menggunakan driver motor BLDC-8015A
Hardware yang digunakan:
- Arduino Nano.
- BLDC-8015A.
Software:
- Arduino IDE.
![]() |
BLDC Hoverboard Wheel (U,V,W dan HU,HV,HW) |
BLDC Motor ini dilengkapi dengan 3 kabel power yaitu: U, V, W dan juga terdapat Hall sensor dengan kabel HU, HV, HW.
berikut ini penampakan dari Driver motor yang akan kita gunakan:
![]() |
BLDC Motor Driver |
Sobat bisa membelinya di BLDC Driver motor Aliexpress, Silahkan untuk membaca datasheet dari official websitenya untuk mengetahui apakah dapat berkerja dengan sistem yang akan sobat buat.
Oke, langsung saja kita lanjutkan pada rangkaian koneksi dari driver motor ke Arduino.
Diagram by: Muchammad Sobrun Ibnu Atfal |
Berikut program pada Arduino IDE:
#define Pin13LED 13
int speedInput = 5;
int brake = 6;
int enableInput = 7;
int dir = 8;
int maxpwm = 255;
int minpwm = -255;
void setup() {
// put your setup code here, to run once:
pinMode(speedInput, OUTPUT);
pinMode(brake, OUTPUT);
pinMode(enableInput, OUTPUT);
pinMode(dir, OUTPUT);
pinMode(Pin13LED, OUTPUT);
}
void sobsegway(int a)
{
digitalWrite(enableInput, LOW);
if (a > maxpwm){
a = maxpwm;
}
else if(a < minpwm){
a = minpwm;
}
if( a < 0 )
{
int c = a*-1;
analogWrite(speedInput,c);
digitalWrite(dir,LOW);
}
else
{
analogWrite(speedInput,a);
digitalWrite(dir,HIGH);
}
digitalWrite(brake,HIGH);
}
void loop() {
sobsegway(100); // maju kecepatan 100
delay(1000); // delay 1 second
sobsegway(-100);// mundur kecepatan 100
delay(1000); // delay 1 second
}
int speedInput = 5;
int brake = 6;
int enableInput = 7;
int dir = 8;
int maxpwm = 255;
int minpwm = -255;
void setup() {
// put your setup code here, to run once:
pinMode(speedInput, OUTPUT);
pinMode(brake, OUTPUT);
pinMode(enableInput, OUTPUT);
pinMode(dir, OUTPUT);
pinMode(Pin13LED, OUTPUT);
}
void sobsegway(int a)
{
digitalWrite(enableInput, LOW);
if (a > maxpwm){
a = maxpwm;
}
else if(a < minpwm){
a = minpwm;
}
if( a < 0 )
{
int c = a*-1;
analogWrite(speedInput,c);
digitalWrite(dir,LOW);
}
else
{
analogWrite(speedInput,a);
digitalWrite(dir,HIGH);
}
digitalWrite(brake,HIGH);
}
void loop() {
sobsegway(100); // maju kecepatan 100
delay(1000); // delay 1 second
sobsegway(-100);// mundur kecepatan 100
delay(1000); // delay 1 second
}
Dengan memanfaatkan salah satu pin hall sensor pada motor yang dikoneksikan dengan pin interrupt Arduino, kita dapat melihat berapa kecepatan motor saat motor berputar.