Control Motor Brushless With Arduino Uno
Pada dasarnya sebuah motor BLDC atau Motor brushless ini sering kita jumpai pada mainan Multirotor seperti Drone maupun Pesawat Aeromodeling lainnya. pada kesempatan ini saya akan menunjukkan cara mengedalikan sebuah motor Brushless dengan Arduino. karen seperti yang kita ketahui pada Drone sudah terdapat Controller Khusus yang digunakan. namun pada kesempatan kali ini saya menggunakan Arduino uno sebagai Controllernya. dan ini merupakan permulaan dari Research saya yang akan membuat Drone Berbasis Arduino. langsung saja untuk bahan bahan yang digunakan adalah:
1. Motor Brushless (BLDC Motor)
2. ESC (Electronic Speed Controller)
3. Battery 3S 11,1V
4. Arduino Uno
5. LCD 16x2
6. Potensio
namun pada skematik dibawah ini masih rangkaian utama untuk motor karena belum sempat menambahkan LCD 16x2.

Listing Program
Program Utama
=================================Source Code================================
#include "Servo.h"
#include "LiquidCrystal.h"
Servo esc;
int PWM;
LiquidCrystal lcd(13,12,11,10,8,7);
byte potPin = 0;
byte graph [8][8] =
{
{ 0x00, 0x03, 0x05, 0x19, 0x11, 0x19, 0x05, 0x03 }, // simbol speaker
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00 }, // 1 bar
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00 }, // 2 bar
{ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00 }, // 3 bar
{ 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00 }, // 4 bar
{ 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00 }, // 5 bar
{ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00 }, // 6 bar
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00 } // 7 bar
};
void setup(){
lcd.begin(16, 2);
esc.attach(3);
for (int a = 0; a < 8; a++)
lcd.createChar(a, graph[a]); // pembuatan karakter khusus bar volume
}
void loop()
{
lcd.clear(); // clear untuk merefresh lcd
int readADC = analogRead(potPin); // baca pin Potensio
int bar = map(readADC, 0, 1023, 1, 8); // perbandingan readADC dengan jumlah bar
int vol = map(readADC, 0, 1023, 0, 100); // perbandingan readADC dengan persen (%)
int PWM = analogRead(potPin);
PWM = map(PWM, 0,1023,0,255);
esc.write(PWM);
for(int b = 0; b
Hal lain yang perlu diperhatikan adalah kita tidak bisa langsung memberi PWM ke ESC agar motor dapat berputar. namun kita perlu mengkalibrasi ESC terlebih dahulu, untuk lebih jelasnya silahkan lihat pada video dibagian bawah postingan ini.
No comments
Post a Comment