Anda di halaman 1dari 17

Judul Tugas Akhir

Laporan Akhir
Karya tulis sebagai salah satu syarat
untuk memperoleh gelar Diploma III dari
Politeknik Industri Logam Morowali

Oleh
Nama
NIM:
(Program Studi Diploma III Teknik Listrik dan Instalasi)

Logo PILM

Politeknik Industri Logam Morowali


2020
RINGKASAN

“JUDUL TUGAS AKHIR”

Oleh
Nama Peneliti
NIM:
(Program Studi Diploma III Teknik Listrik dan Instalasi )
Penelitian ini menggunakan pengendali PI – antiwindup sebagai pengendali
kecepatan motor BLDC untuk menghilangkan terjadinya fenomena windup akibat
adanya akumulasi sinyal integral ketika terjadi saturasi. Dalam perancangannya,
motor BLDC terlebih dulu dimodelkan menggunakan SysId MATLAB dengan
cara melihat respon sistem saat dioperasikan dengan nilai PWM yang berada di
sekitar titik operasi pendekatan secara linier dari kecepatan motor yang
diinginkan. Setelah diketahui bahwa respon sistemnya secara grafik adalah berupa
garis lurus, maka selanjutnya adalah memberikan input berupa nilai setpoint yang
berubah secara acak ke motor BLDC. Nilai setpoint adalah nilai input dan nilai
RPM yang terukur adalah output untuk SysId MATLAB. Penentuan nilai K p dan
K i dilakukan secara analitik pada kondisi ideal (tidak ada saturasi) dan sesuai
dengan spesifikasi desain yang diinginkan. Langkah selanjutnya adalah
melakukan simulasi menggunakan struktur kendali PI – antiwindup dengan
menggunakan nilai Kp dan Ki yang telah diperoleh sebelumnya. Berdasarkan
hasil simulasi dan implementasi didapatkan bahwa sistem kendali PI – antiwindup
bekerja dengan baik dalam mengatasi permasalahan saturasi pada aktuator dan
mampu membuat sistem memberikan respon yang cepat terhadap sinyal kendali
yang diberikan. Dalam hal ini membuat nilai persen overshoot dan error steady
state menuju nol serta settling time yang beberapa kali lebih cepat dibandingkan
dengan saat kondisi open loop maupun dengan hanya menggunakan pengendali
PI.

Kata kunci: PI – antiwindup, saturasi, PWM, setpoint, MATLAB, BLDC.

ii
Persembahan untuk Ibuku (boleh dikosongkan)

iii
KATA PENGANTAR

Puji syukur penulis panjatkan ke hadirat Allah SWT, yang atas rahmat dan
karunia Nya penulis dapat menyelesaikan tesis ini. Shalawat dan salam tercurah
kepada Rasulullah Muhammad SAW beserta keluarganya.

Bandung, 31 Agustus 2018

Penulis

DAFTAR ISI

iv
RINGKASAN.........................................................................................................ii
KATA PENGANTAR............................................................................................v
DAFTAR ISI..........................................................................................................vi
BAB I PENDAHULUAN.......................................................................................1
I.1 Latar Belakang..........................................................................................1
I.2 Tujuan Penelitian.......................................................................................2
I.3 Tinjauan Pustaka.......................................................................................2
I.4 Metodologi................................................................................................2
BAB II LAPORAN KERJA..................................................................................3
II.1 Perencanaan Sistem...................................................................................3
II.2 Perancangan...............................................................................................3
II.3 Pembuatan / Pengukuran...........................................................................3
BAB III H A S I L..................................................................................................4
III.1 Skema Perencanaan..................................................................................4
III.2 Perancangan..............................................................................................4
III.3 Pembuatan/Pengukuran.............................................................................4
DAFTAR PUSTAKA.............................................................................................5
LAMPIRAN............................................................................................................6

v
BAB I PENDAHULUAN

I.1 Latar Belakang


Hingga saat ini penelitian tentang Prototip Kendaraan Otonom (PKO) yang
digunakan untuk keperluan pengangkutan barang pada daerah tertentu masih terus
diupayakan pengembangannya. Ada 3 hal yang perlu diperhatikan dalam mendesain
PKO yaitu sensing system, navigasi, dan steering yang berfungsi baik. Salah satu
yang harus berfungsi baik adalah sistem steering, karena untuk mengendalikan posisi
PKO yang berhubungan langsung pada fungsi navigasi dan kecepatan PKO yang
dipengaruhi oleh kecepatan 4 motor penggerak.
Sistem steering memiliki sejumlah opsi misalnya 4 Wheel Drive (4WD), skid
steering, dan lain – lain. Apapun pilihan dari sistem steering yang akan digunakan,
maka yang penting untuk diperhatikan adalah setiap motor penggerak PKO harus
memiliki respon yang cepat dan error steady state (ess) yang menuju ke 0 (nol).
Selain itu, hal yang harus menjadi perhatian jika berbicara tentang motor penggerak
sebagai aktuator adalah adanya komponen saturasi pada aktuator. Saturasi merupakan
komponen nonlinear yang pasti ada pada aktuator.
Pada penelitian proteksi arus yang menggunakan software (Fakih Irsyadi,
2016), terlihat bahwa mekanisme soft starting dapat meredam lonjakan arus start
pada pengoperasian BLDC. Implementasi mekanisme soft starting ini adalah contoh
dari pentingnya mempertimbangkan adanya komponen saturasi pada sistem fisik,
dalam hal ini saat terjadi lonjakan arus start pada saat motor BLDC pertama kali
dioperasikan.
Dalam penelitian PI – antiwindup pada simulator mobil listrik (Adnan Rafi Al
Tahtawi, dan Arief Syaichu Rohman, 2016), terlihat bahwa dengan menggunakan
skema PI-antiwindup dapat diperoleh respon terbaik untuk mengendalikan kecepatan
dan torsi motor DC dengan sinyal kendali yang tidak melebihi batas saturasi yang
ditentukan.
Berdasarkan penjelasan diatas, penelitian ini akan melakukan implementasi
kendali kecepatan pada motor BLDC dengan menggunakan metode kendali PI –

1
antiwindup. Diharapkan metode kendali PI – antiwindup ini dapat mengendalikan
kecepatan motor BLDC sehingga dapat menghasilkan sistem yang memiliki respon
yang cepat dan error steady state menuju nol. Selain itu juga diharapkan nantinya
hasil dari penelitian ini dapat diimplementasikan sistem kendali yang serupa pada
roda PKO yang lain. Sehingga jika nantinya sistem kendali dapat bekerja dengan baik
maka akan dapat diterapkan pada mobil listrik yang sesungguhnya agar dapat tercapai
cita – cita untuk membuat Prototip Kendaraan Otonom untuk keperluan
pengangkutan barang pada daerah kerja tertentu.
I.2 Tujuan Penelitian
Berdasarkan rumusan masalah diatas, maka untuk mengatasi permasalahan
saturasi pada motor BLDC saat menggunakan PWM sebagai sinyal kendali adalah
dengan cara mengambil nilai rentang PWM tertentu sehingga menghasilkan garis
linear di sekitar titik operasi motor BLDC. Untuk membuat motor BLDC bekerja
responsif, maka desain spesifikasi yang diinginkan dibuat beberapa kali lebih cepat
dibandingkan spesifikasi yang dimiliki plant.
I.3 Tinjauan Pustaka

Berisi dasar teori yang dijadikan rujukan untuk penulisan laporan tugas akhir.

I.4 Metodologi

Berisi prosedur/metode tentang cara melakukan penelitian atau eksperimen tugas


akhir

2
BAB II LAPORAN KERJA

II.1 Perencanaan Sistem

Masih sebatas melakukan perencanaan penelitian. Belum melakukan pengujian.


Dapat menggunakan flowchart atau diagram blok.

II.2 Perancangan

Masih sebatas melakukan perancangan penelitian. Belum melakukan pengujian.


Menggambarkan arsitektur sistem yang akan dibuat atau perkiraan sistem yang
akan dilakukan saat implementasi riil.

II.3 Pembuatan / Pengukuran

Berisi prosedur pembuatan sistem secara bertahap dilengkapi dengan


dokumentasi berupa foto atau gambar setiap tahap pembuatan/pengukuran alat.

3
BAB III H A S I L

III.1 Skema Perencanaan

Kesimpulan atas hasil perencanaan, perancangan, pembuatan atau


pengukuran.

III.2 Perancangan

Kesimpulan atas hasil perencanaan, perancangan, pembuatan atau


pengukuran.

III.3 Pembuatan/Pengukuran

Kesimpulan atas hasil perencanaan, perancangan, pembuatan atau pengukuran.

4
DAFTAR PUSTAKA

Abe Dharmawan. 2009. Pengendalian Motor Brushless DC Dengan Metode PWM


Sinusoidal Menggunakan ATMEGA 16 [Skripsi]. Depok: Fakultas Teknik UI
2009. Hal 5 
Al Tahtawi, A.R., Rohman, A.S (2016): Perancangan Pengendali Proportional-Integral
Anti-Windup (Pi-Aw) pada Simulator Mobil Listrik untuk Kendali Kecepatan dan
Torsi, Tesis Magister, Institut Teknologi Bandung.
El-Sharkawi, M. A. Fundamentals of Electric Drives. Pacific Grove: Brooks/Cole, 2000.
Irsyadi, Fakih. (2016): Perancangan pengendali dan analisis pengaruh variasi masukan
tangga dan pembebanan terhadap profil arus pada mekanisme soft starting motor
arus searah tanpa sikat, Tesis Program Magister, Institut Teknologi Bandung.
Kiruthika, A., A. Rajan, dan P. Rajalakshmi. "Mathematical Modelling and Speed
Control of a Sensored Brushless DC Motor using Intelligent Controller." IEEE,
2013. 211-216.
Madaan, Pushek (2013): Brushless DC Motors – Part I: Construction and Operating
Principles. Cypress Semiconductor India Pvt. Ltd., India.
Mustofa,A., Ilena,G., dan PuguhSatrio,F. (2018): Proyek Pengembangan Instrumentasi
Onboard pada Mobil Listrik, Tugas Akhir Program Sarjana, Institut Teknologi
Bandung.
Ogata, Katsuhiko (1991): Teknik Kontrol Automatik – terjemahan: Ir. Edi Laksono,
Erlangga, Jakarta.
Prasetyo, Hanif Fauzan, Arief Syaichu Rohman, F. I. Hariadi, dan Hilwadi Hindersah.
"Controls of BLDC Motors in Electric Vehicle Testing Simulator." 6th
International Conference on System Engineering and Technology (ICSET).
Bandung: IEEE, 2016. 173-178. Syaichu-Rohman, A., (2005): Optimisation Based
Feedback Control of Input Constrained Linear Systems. Proceedings of the 2003
European Control Conference, Cambridge, UK.
Santabudi, Muhammad. (2017): Implementasi Sliding Mode Control dengan Pendekatan
Modifikasi LMI Dua Langkah Sebagai Pengendali Kecepatan Motor BLDC, Tesis
Program Magister, Institut Teknologi Bandung.
Wirandi, Mohammad. (2016): Perancangan Sistem Proteksi Lonjakan Arus Lebih Pada
Mekanisme Soft Starting Motor Arus Searah Tanpa Sikat (BLDC) Dengaan
Menggunakan Kendali Logika Fuzzy, Tesis Program Pascasarjana, Institut
Teknologi Bandung.
Wusko, R. U. (2016): Perancangan sistem pengoperasian motor arus searah tanpa sikat
tanpa sensor menggunakan frekuensi bertingkat, Tesis Program Magister, Institut
Teknologi Bandung.
http://ctms.engin.umich.edu/CTMS/index.php?aux=Activities_DCmotorB. Diunduh pada
tanggal 27 juli 2018.
https://id.wikipedia.org/wiki/Arduino. Diakses pada tanggal 19 agustus 2018.
https://www.arduino.cc/en/Products/Compare. Diunduh pada tanggal 20 agustus 2018.
https://www.edn.com/Home/PrintView?contentItemId=4406682. Diunduh pada tanggal
18 Agustus 2018.
https://en.wikipedia.org/wiki/Low-pass_filter. Diunduh pada tanggal 21 agustus 2018.
https://www.elektroindonesia.com/elektro/tutor12.html. Diunduh pada tanggal 28 juli
2018.
http://www.mpoweruk.com/motorsBrushless.htm. Diakses pada tanggal 18 Agustus
2018.

5
LAMPIRAN
Lampiran A Pemodelan Motor Arus Searah Tanpa Sikat (BLDC)

Pemodelan plant motor BLDC dilakukan dengan menggunakan System


Identification Toolbox MATLAB dengan masukan dan keluaran yang diberikan
pada System Identification MATLAB dapat dilihat dalam diagram blok seperti
pada gambar berikut:
+15v DC Input System +5v DC Input System
Identification Identification

Arduino Arduino KET.


Driver BLDC
Mega 2560 Uno Pengiriman Sinyal satu arah

Pengiriman daya/tegangan
satu arah

Sensor
Hall
M Sensor
Tachogenerator

Gambar A. 1 Skema Pengambilan Data I/O untuk Pemodelan BLDC

Pemodelan dilakukan dengan cara memberikan masukan berupa setpoint


secara acak untuk kemudian ditinjau respon sistem terhadap masukan tersebut.
Sinyal yang dihasilkan oleh sistem lup terbuka plant adalah seperti pada Gambar
A.2.

160
140
PWM vs RPM

120
100
80
60
40
20
0
3 93 183 273 363 453 543 633 723 813 903 993 1083
Waktu (ms)

PWM RPM
Gambar A. 2 Plot Data Perubahan PWM terhadap V MASTS pada Kondisi Open Loop

Setelah datanya diperoleh, maka selanjutnya adalah data tersebut diolah


menggunakan SysId MATLAB dengan data masukan dan keluaran secara

6
berurutan adalah PWM dan RPM. Dari hasil pengolahan data tersebut diperoleh
fungsi alih open loop dan spesifikasinya sebagai berikut:
3,347
Fungsi Alihopen loop BLDC =
s+2,649
C (s ) K
=
R ( s ) τs+1
1
Settlingtime , t s ( ± 2 % ) ≈ 4 τ ≈ 4 ( 2,649 )≈ 1,5 s

Gambar A. 3 Respon Transien Sistem Lingkar Terbuka BLDC

7
Lampiran B Kode Program Kendali PI – Antiwindup pada Arduino Mega
volatile long pulse;
String a;
boolean dataRefreshed = false;

const byte interruptPin = 2;


double error, Output;
double kp = 4, ki = 33.9897;
int passedtime, rpm, frpma, rpmt, Setpoint;

//Input Hall3
int sensor7 = A6; //hijau
int sensor8 = A7; //kuning
int sensor9 = A8; //biru

//Output Led3
int led7 = 23;
int led8 = 25;
int led9 = 27;

//Output Comutator3
int HH3 = 32; //hijau High
int HL3 = 42; //hijau low
int BH3 = 36; //biru High
int BL3 = 40; //biru Low
int KH3 = 34; //Kuning High
int KL3 = 38; //Kuning Low

//variabel anti-windup
int u_topi;
int k1 = kp;
int y_kmin1 = 0;//nilai awal k2
int u = 0;
int y_k;

byte out3;
int i;
int pwm3 = 10;
int pwm_out = 0;
unsigned int d, t;
unsigned int t_prev = 0;

void setup()
{
Serial.begin(9600);
Serial1.begin(9600);

//init pin motor3


pinMode(sensor7, INPUT_PULLUP);
pinMode(sensor8, INPUT_PULLUP);
pinMode(sensor9, INPUT_PULLUP);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);

8
pinMode(led9, OUTPUT);

//init port comutator3


pinMode(HH3, OUTPUT);
pinMode(HL3, OUTPUT);
pinMode(BH3, OUTPUT);
pinMode(BL3, OUTPUT);
pinMode(KH3, OUTPUT);
pinMode(KL3, OUTPUT);
pinMode(pwm3, OUTPUT);
}
void ReadSensorMotor3() {
//Read Sensor
digitalWrite(led7, digitalRead(sensor7));
digitalWrite(led8, digitalRead(sensor8));
digitalWrite(led9, digitalRead(sensor9));
}
void ConditionalMotor3() { //logika mundur untk motor 1
if (digitalRead(sensor7) == HIGH && digitalRead(sensor8) ==
HIGH && digitalRead(sensor9) == LOW) //PINA==0b11101111
{
//out=0b000110;
out3 = 0b001001;
}
else if (digitalRead(sensor7) == LOW && digitalRead(sensor8)
== HIGH && digitalRead(sensor9) == LOW) //(PINA==0b11101110)
{
//out=0b100100;
out3 = 0b011000;
//out=0x06;
}
else if (digitalRead(sensor7) == LOW && digitalRead(sensor8)
== HIGH && digitalRead(sensor9) == HIGH) //(PINA==0b11111110)
{
//out=0b100001;
out3 = 0b010010;
//out=0x24;
}
else if (digitalRead(sensor7) == LOW && digitalRead(sensor8)
== LOW && digitalRead(sensor9) == HIGH) //(PINA==0b11111010)
{
//out=0b001001;
out3 = 0b000110;
//out=0x21;
}
else if (digitalRead(sensor7) == HIGH && digitalRead(sensor8)
== LOW && digitalRead(sensor9) == HIGH) //(PINA==0b11111011)
{
//out=0b011000;
out3 = 0b100100;
//out=0x09;
}
else if (digitalRead(sensor7) == HIGH && digitalRead(sensor8)
== LOW && digitalRead(sensor9) == LOW) //(PINA==0b11101011)
{
//out=0b010010;
out3 = 0b100001;
//out=0x18;
}

9
}

void AssignMOSFETMotor3() {
//Assign Mosfet
digitalWrite(KL3, out3 & 0x01);
digitalWrite(KH3, (out3 >> 1) & 0x01);
digitalWrite(BL3, (out3 >> 2) & 0x01);
digitalWrite(BH3, (out3 >> 3) & 0x01);
digitalWrite(HL3, (out3 >> 4) & 0x01);
digitalWrite(HH3, (out3 >> 5) & 0x01);
}
void processInput (){
char inChar = (char)Serial1.read();
a += inChar;
if (inChar == '\n') {
dataRefreshed = true;
}
}

void Compute() //compute PI Anti Windup


{
error = Setpoint - rpm;
u_k = (kp * error) + y_k;
y_k = (0.7118 * y_kmin1) + (0.2882 * u_topi);

if (u_k >= 255) {


u_topi = 255;
}
else
{
u_topi = u_k;
}
if (u_k <= -255) {
u_topi = -255;
}
y_kmin1 = y_k;
}
void JUM() {
static unsigned long last_interrupt_time = 0;
unsigned long interrupt_time = millis();
if (interrupt_time - last_interrupt_time > 10)
{
pulse++;
}
last_interrupt_time = interrupt_time;
}
void serialEvent() {
String inputString = "";
while (Serial1.available()) {
char inChar = (char)Serial1.read();
inputString += inChar;
if (inChar == '\n') {
frpma = inChar;
}
}
}

void loop() {

10
{
if (Serial1.available() > 0) {
processInput ();
}

if (dataRefreshed == true) {
rpm = a.toInt();
a = "";
}
dataRefreshed = false;
t = (millis() / 1000) - passedtime;
if (t >= 0.01) {

if ((millis() - t_prev) < 5000)


{
Setpoint = 0;
}
else if ((millis() - t_prev) >= 5000 && (millis() -
t_prev) < 205000)
{
Setpoint = 128;
}
else if ((millis() - t_prev) >= 205000 && (millis() -
t_prev) < 405000)
{
Setpoint = 137;
}
else if ((millis() - t_prev) >= 405000 && (millis() -
t_prev) < 605000)
{
Setpoint = 120;
}
else if ((millis() - t_prev) >= 605000 && (millis() -
t_prev) < 805000)
{
Setpoint = 128;
}
Compute();
Serial.print(millis() / 1000); //angka terbaca/millisekon
Serial.print("\t");
Serial.print(Setpoint);
Serial.print("\t");
Serial.print(u_topi);//sinyal kendali
Serial.print("\t");
Serial.print(rpm);
Serial.print("\t");
Serial.println(error);
analogWrite(10, u_topi);
passedtime = (millis() / 1000);
}
}
ReadSensorMotor3();
ConditionalMotor3();
AssignMOSFETMotor3();
}

11
12

Anda mungkin juga menyukai