Professional Documents
Culture Documents
Kelas : 1 D4 LJ Elka
NRP : 1110175016
Dibandingkan dengan motor DC, BLDC memiliki biaya perawatan yang lebih rendah dan
kecepatan yang lebih tinggi akibat tidak digunakannya brush.
Brushless DC Motor termasuk kedalam jenis motor sinkron. Artinya medan magnet yang
dihasilkan oleh stator dan medan magnet yang dihasilkan oleh rotor berputar pada frekuensi yang
sama. Motor BLDC tidak mengalami slip seperti yang terjadi pada motor induksi biasa. Motor
jenis ini mempunyai magnet permanen pada bagian rotor dan elektromagnet pada bagian stator.
Setelah itu, dengan menggunakan sebuah rangkaian sederhana (simple computer system), maka
kita dapat merubah arus di elektromagnet ketika bagian rotornya berputar.
Walaupun merupakan motor listrik sinkron AC 3 fasa, motor ini tetap disebut dengan BLDC
karena pada implementasinya BLDC menggunakan sumber DC sebagai sumber energi utama yang
kemudian diubah menjadi tegangan AC dengan menggunakan inverter 3 fasa.
Untuk menentukan timing komutasi yang tepat pada motor ini sehingga didapatkan torsi dan
kecepatan yang konstan, diperlukan 3 buah sensor hall dan atau encoder. Pada sensor hall, timing
komutasi ditentukan dengan cara mendeteksi medan magnet rotor dengan menggunakan 3 buah
sensor hall untuk mendapatkan 6 kombinasi timing yang berbeda, sedangkan pada encoder, timing
komutasi ditentukan dengan cara menghitung jumlah pola yang ada pada encoder. Pada umumnya
encoder lebih banyak digunakan pada motor BLDC komersial karena encoder cenderung mampu
menentukan timing komutasi lebih presisi dibandingkan dengan menggunakan hall sensor. Hal ini
terjadi karena pada encoder, kode komutasi telah ditetapkan secara fixed berdasarkan banyak
kutub dari motor dan kode inilah yang digunakan untuk menentukan timing komutasi. Namun
karena kode komutasi encoder untuk suatu motor tidak dapat digunakan untuk motor dengan
jumlah kutub yang berbeda. Hal ini berbeda dengan hall sensor. Apabila terjadi perubahan pole
rotor pada motor, posisi sensor hall dapat diubah dengan mudah. Hanya saja kelemahan dari sensor
hall adalah apabila posisi sensor hall tidak tepat akan terjadi keselahan dalam penentuan timing
komutasi atau bahkan tidak didapatkan 6 kombinasi timing komutasi yang berbeda.
B. Bagian Bagian BLDC Motor
Desain konstruksi BLDC motor sebenarnya hampir sama seperti motor listrik konvensional.
Berikut konstruksi umum dari BLDC motor.
1. Stator
Stator adalah bagian motor yang diam/statis dimana fungsinya sebagai medan putar motor
untuk memberikan gaya elektromagnetik pada rotor sehingga motor dapat berputar. Stator pada
BLDC motor hampir sama dengan stator motor listrik konvensional, hanya berbeda pada lilitannya.
Stator terbuat dari tumpukan baja yang dilaminasi dan berfungsi sebagai tempat lilitan kawat.
Lilitan kawat pada BLDC motor biasanya dihubungkan dengan konfigurasi bintang atau Y.
Selain itu, torsi juga dipengaruhi oleh besar kecilnya dari “densitas fluks magnet”. Semakin
besar densitas fluks magnet, semakin besar pula torsinya. Oleh karena itu, diperlukan material yang
mempunyai sifat magnetis yang bagus untuk membuat magnet permanen dapat menghasilkan fluks
magnet dengan kerapatan yang tinggi. Sebelumnya, logam ferrit dipilih karena mempunyai sifat
magnetis yang cukup bagus dan juga harganya murah. Namun seiring kemajuan teknologi material,
didapatkan material yang memiliki sifat magnetis yang sangat bagus seperti “Neodymium (Nd)”.
Logam ferrit mulai ditinggalkan karena mempunyai densitas fluks yang lebih rendah daripada
Neodymium, sehingga untuk mendapatkan perbandingan “Size to Weight” yang besar, para
engineer motor listrik menggunakan logam seperti Neodymium, sehingga bobot motor dapat
berkurang secara drastis.
Ada 2 jenis rotor yakni, Outer Rotor dan Inner Rotor, perbedaanya mengenai peletakan posisi
kedua rotor tersebut, pada outer rotor belitan ( stator berada pada inti motor, sedangkan magnet
permanen dipasang diluar mengelilingi stator dan biasanya bekerja pada arus yang kecil. Yang
kedua adalah Inner rotor, jenis rotor ini menempatkan rotor pada inti motor dan dikelilingi oleh
belitan stator, jenis rotor ini menghasilkan innersia motor yang rendah, dan paling sering digunakan
pada kebanyakan motor DC Brushless.
(a) (b)
Gambar 4. (a) Outter Rotor (b) Inner Rotor
3. Sensor Hall
Berbeda dengan motor listrik DC konvensional, sistem komutasi dari motor BLDC
harus diatur secara elektronik karena lilitan kawat pada stator harus dinyalakan-dimatikan (on-off)
atau di-energize secara berurutan dan teratur. Oleh karena itu, dibutuhkan sensor yang dapat
memberikan informasi secara presisi kepada kontroler untuk mengatur lilitan mana yang harus
dialiri listrik.
Motor BLDC menggunakan tiga sensor Hall yang dipasang dengan jarak 120o pada stator
untuk mendeteksi bagian rotor yang mana akan terimbas oleh fluks magnet. Sensor Hall adalah
suatu transduser yang menghasilkan tegangan bervariasi ketika terjadi perbedaan medan magnet.
Ketika rotor berputar, perubahan besar medan magnet antara magnet permanen dan gaya
elektromagnetik dari lilitan kawat akan dideteksi oleh sensor Hall sebagai input kontroler.
Sehingga proses komutasi dapat berjalan secara simultan dan kontinyu.
int U = 0;
int V = 0;
int W = 0;
int H = 0;
int R = 0;
void setup() {
pinMode(Q1, OUTPUT); // INISIALISASI YANG SEBAGAI OUTPUT
pinMode(Q2, OUTPUT);
pinMode(Q3, OUTPUT);
pinMode(Q4, OUTPUT);
pinMode(Q5, OUTPUT);
pinMode(Q6, OUTPUT);
pinMode(S1, INPUT); // INISIALISASI YANG SEBAGAI OUTPUT
pinMode(S2, INPUT);
pinMode(S3, INPUT);
pinMode(REMSWITCH, INPUT);
Serial.begin(9600); }
void loop() {
int nilaiHall = analogRead(A0);
nilaiHall = map(nilaiHall, 179, 857, 0, 255);
if (nilaiHall >= 256){nilaiHall = 255;}
if (nilaiHall <= -1){nilaiHall = 0;}
int nilaiGas = 255 - nilaiHall;
Serial.print(nilaiHall);
Serial.print("%");
Serial.print(" Gas");
Serial.print(" PWM ");
Serial.println(nilaiGas);
//delay(100);
int rem = digitalRead(REMSWITCH);
int sensor1 = digitalRead(S1);
int sensor2 = digitalRead(S2);
int sensor3 = digitalRead(S3);
if (R == 1){Serial.println("Ngerem Citt");delay(100);
digitalWrite(Q6, LOW); // Rem
digitalWrite(Q5, LOW);
digitalWrite(Q4, LOW);
digitalWrite(Q3, LOW);
digitalWrite(Q2, LOW);
digitalWrite(Q1, LOW);
nilaiGas = 0; }
H = U + V + W;
if (H == 100){Serial.print("Step1 100 ");delay(100);
digitalWrite(Q6, HIGH); // Step 1
digitalWrite(Q5, LOW);
digitalWrite(Q4, nilaiGas);
digitalWrite(Q3, LOW);
digitalWrite(Q2, HIGH);
digitalWrite(Q1, HIGH);
}
if (H == 110){Serial.print("Step2 110 ");delay(100);
digitalWrite(Q6, nilaiGas); // Step 2
digitalWrite(Q5, LOW);
digitalWrite(Q4, HIGH);
digitalWrite(Q3, LOW);
digitalWrite(Q2, HIGH);
digitalWrite(Q1, HIGH); }
if (H == 10){Serial.print("Step3 010 ");delay(100);
digitalWrite(Q6, LOW); // Step 3
digitalWrite(Q5, LOW);
analogWrite(Q4, HIGH);
digitalWrite(Q3, HIGH);
digitalWrite(Q2, HIGH);
digitalWrite(Q1, LOW);}
if (H == 11){Serial.print("Step4 011 ");delay(100);
digitalWrite(Q6, HIGH); // Step 4
digitalWrite(Q5, LOW);
analogWrite(Q4, HIGH);
digitalWrite(Q3, HIGH);
digitalWrite(Q2, nilaiGas);
digitalWrite(Q1, HIGH); }
if (H == 1){Serial.print("Step5 001 ");delay(100);
digitalWrite(Q6, HIGH); // Step 5
digitalWrite(Q5, HIGH);
digitalWrite(Q4, HIGH);
digitalWrite(Q3, LOW);
analogWrite(Q2, nilaiGas);
digitalWrite(Q1, LOW);
}
if (H == 101){Serial.print("Step6 101 ");delay(100);
digitalWrite(Q6, HIGH); // Step 6
digitalWrite(Q5, HIGH);
digitalWrite(Q4, nilaiGas);
digitalWrite(Q3, LOW);
analogWrite(Q2, HIGH);
digitalWrite(Q1, LOW);
}
if (H == 111){Serial.print("Hall Rusak 1 111 ");delay(100);
digitalWrite(Q6, HIGH); // Bebas
digitalWrite(Q5, LOW);
digitalWrite(Q4, HIGH);
digitalWrite(Q3, LOW);
digitalWrite(Q2, HIGH);
digitalWrite(Q1, LOW);
}
if (H == 0){Serial.print("Hall Rusak 2 000 ");delay(100);
digitalWrite(Q6, HIGH); // Bebas
digitalWrite(Q5, LOW);
digitalWrite(Q4, HIGH);
digitalWrite(Q3, LOW);
digitalWrite(Q2, HIGH);
digitalWrite(Q1, LOW);
}
//delay(100);
}