You are on page 1of 8

Nama : Shandy Syahrizal Azhar

Kelas : 1 D4 LJ Elka
NRP : 1110175016

TUGAS SENSOR DAN AKTUATOR


BRUSHLESS DC MOTOR (BLDC MOTOR)

A. Pengertian Motor BLDC


Motor arus searah adalah sebuah motor yang membutuhkan tegangan searah untuk
menjalankannya. Pada umumnya motor jenis ini menggunakan sikat dan mengoperasikannya
sangat mudah tinggal dihubungkan dengan sumber DC sehingga motor langsung bekerja. Jenis
motor ini memerlukan perawatan pada sikatnya serta banyak terjadi rugi tegangan pada sikat.
Sehingga pada era sekarang ini motor DC dikembangkan tanpa menggunakan sikat yang dikenal
dengan Motor BLDC (Brushless Direct Current Motor).

Gambar 1. Contoh BLDC Motor

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.

Gambar 2. Contoh Komponen Stator


2. Rotor
Rotor adalah bagian motor yang berputar karena adanya gaya elektromagnetik dari stator.
Rotor pada motor BLDC berbeda dengan rotor pada motor DC konvensional yang hanya tersusun
dari satu buah elektromagnet yang berada di antara brushes (sikat). Rotor terdiri dari beberapa
magnet permanen yang saling direkatkan dengan epoxy, serta jumlahnya dapat di-variasikan sesuai
dengan desain. Jumlah kutub magnet berbanding lurus dengan torsi motor, namun berbanding
terbalik dengan RPM. Semakin banyak jumlah kutub magnet pada rotor, semakin tinggi pula torsi
yang akan dihasilkan, namun konsekuensinya RPM motor akan turun.

Gambar 3. Contoh Desain Rotor BLDC Motor

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.

Gambar 5. Skema Sensing pada Motor BLDC

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.

C. Prinsip Kerja Motor BLDC


Pada dasarnya konstruksi motor DC Brushless hampir sama dengan konstruksi motor DC
biasa ( Konvensional ). Yang membedakan hanyalah pada sistem komutasinya dimana motor DC
brushless menggunakan sensor Hall dan rangkaian elektronik kontrol sedangkan motor DC
konvensional masih menggunakan Brush atau sikat karbon sebagai sistem komutasinya.

Gambar 6. Blok Diagram Kontrol Motor BLDC


Motor DC brushless menggunakan sistem mikrokontroller B sistem pada kontrolnya. Prinsip
yang digunakan adalah elektronika daya. Walaupun sumbernya DC namun gelombang yang
dihasilkan adalah gelombang sinus, dimana sensor Hall berfungsi pula sebagai inverter. Untuk
mengatur kecepatannya menggunakan PWM (Pulse Width Modulation ).

Gambar 7. Skema Control Motor BLDC


Berikut ini akan dijelaskan cara kerja BLDC secara singkat menggunakan motor DC
Brushless dengan Outter Rotor dan sepasang pull magnet permanent

Gambar 8. Cara Kerja Motor BLDC


Belitan stator dibelit sedemikian, hingga saling berpasangan (Seperti gambar 7). Dengan
menyupply tegangan DC ke belitan, maka belitan akan terenergi dan menghasilkan gaya
elektromagnetik. Operasi dari motor DC Brushless didasarkan pada gaya interaksi sederhana
antara permanent magnet dan elektro magnet.

Gambar 9. Skema Interaksi Sistem Control Motor BLDC (www.learnengineering.org)


Apabila belitan a diberi tegangan atau di energize (aktif) maka kutub yang berlawanan antara
rotor dan stator akan saling tarik menarik. saat rotor berada pada belitan a, maka belitan b akan
terenergize. Saat rotor berada pada belitan b, belitan c akan ter energize, setelah itu belitan a akan
ter energize dengan polaritas yang berbeda/berlawanan. Proses ini akan terus berulang dan terjadi.
Namun, bila diteliti secara seksama maka terdapat kelemahan, yakni dimana hanya ada 1 belitan
yang terenergiz, dan menyebabkan 2 belitan yang lain mati dan mengurangi daya keluaran dari
motor. Hal tersebut dapat diatasi dengan memberi daya pada belitan dibelakang laju putar rotor
dengan polaritas yang sama dengan magnet rotor. Ini akan menyebabkan adanya dorongan dari
elektromagnet bellitan dengan polaritas yang sama tadi,disampng tetap adanya tarikan dari belitan
yang akan dihampiri rotor karena polaritasnya berbeda. Dengan konfigurasi ini maka 2 koil harus
diberi daya yang sama polaritasnya. Oleh karena itu belitan stator perlu dimodifikasi yakni dengan
menghubungkan belitan keluaran. Kita dapat menyederhanakannya dengan cara menghubungkan
bersama belitan keluaran dari ketiga pasang belitan stator, hal tersebut akan menghasilkan
pendayaan yang berbeda seperti pada gambar.

Gambar 10. Kondisi Motor BLDC Saat Ter-energize (www.learnengineering.org)


D. Contoh Pengaplikasian Rangkaian Motor BLDC Kontroller dengan Arduino

Gambar 11. Ranagkaian Driver mosfet dari mikrokontroller (Arduino Uno)

Gambar 11 Kesimpulan Data yang Dihasilkan


Program Rangkaian :
/*membaca posisi hall sensor untuk menyalakan Led memicu Q*/
//variabel yang berubah
const int Q1 = 13; //PEMILIHAN KENDALI MOSFET PIOUT
const int Q2 = 11; //PWM
const int Q3 = 12;
const int Q4 = 10; //PWM
const int Q5 = 8;
const int Q6 = 9; //PWM
const int S1 = 4; //PIN MASUKNYA HALL SENSOR
const int S2 = 3;
const int S3 = 2;
const int REMSWITCH = 5; //PIN MASANG REM

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 (rem == LOW){R = 1;} else {R = 0;}


if (sensor1 == HIGH){W = 1;} else {W = 0;}
if (sensor2 == HIGH){V = 10;} else {V = 0;}
if (sensor3 == HIGH){U = 100;} else {U = 0;}

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);
}