laporan penelitian fakultas

42

Upload: others

Post on 19-Oct-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LAPORAN PENELITIAN FAKULTAS
Page 2: LAPORAN PENELITIAN FAKULTAS

LAPORAN PENELITIAN FAKULTAS

DESAIN ESTIMASI KECEPATAN DENGAN EXTENDED KALMAN

FILTER DAN SINGLE NEURON-FUZZY KECEPATAN

CONTROLLER UNTUK SENSORLESS BRUSHLESS DC MOTOR

PENGUSUL

Nama : Dr. Muhammad Rif’an, ST., MT | NIDN : 0022107404

PENELITIAN INI DIBIAYAI OLEH DANA

BLU FAKULTAS TEKNIK UNIVERSITAS NEGERI JAKARTA

BERDASARKAN SURAT KEPUTUSAN REKTOR

NOMOR : 482/SP/2017

TANGGAL : 5 MEI 2017

FAKULTAS TEKNIK

UNIVERSITAS NEGERI JAKARTA

NOPEMBER 2017

Page 3: LAPORAN PENELITIAN FAKULTAS

ii

HALAMAN PENGESAHAN

Judul Penelitian : DESAIN ESTIMASI KECEPATAN DENGAN

EXTENDED KALMAN FILTER DAN SINGLE

NEURON-FUZZY KECEPATAN CONTROLLER

UNTUK SENSORLESS BRUSHLESS DC MOTOR

Pelaksana

a) Nama Lengkap : Dr. Muhammad Rif’an, ST., MT

b) NIDN : 0022017404

c) Jabatan Fungsional : Lektor

d) Program Studi : D3 Elektronika

e) Nomor HP : 08567074880

f) Alamat surel : [email protected]

Anggota (1)

a) Nama Lengkap :

b) NIDN :

c) Perguruan Tinggi :

Anggota (2)

a) Nama Lengkap :

b) NIDN :

c) Perguruan Tinggi

Instansi Mitra

Nama Institusi Mitra : -

Alamat : -

Penanggung Jawab :

Biaya Penelitian : Rp 10.800.000,-

Jakarta, 1 Nopember 2017

Mengetahui,

Dekan Fakultas Teknik, Ketua

Dr. Agus Dudung R., M.Pd Dr. Muhammad Rif’an, ST., MT

NIP. 19650817 199102 1 001 NIP. 19741022 200112 1 001

Menyetujui,

Ketua Lembaga Penelitian dan

Pengabdian Kepada Masyarakat UNJ

Dr. Ucu Cahyana, Msi

NIP. 196608201994031002

Page 4: LAPORAN PENELITIAN FAKULTAS

iii

RINGKASAN

Metode estimasi dan kontrol BLDC disajikan dalam makalah ini. Karena BLDCM adalah

motor tanpa kuas maka BLDC membutuhkan posisi sensor untuk memutar rotor dan ini

adalah kelemahan dari BLDC. Algoritma sensorless Extended Kalman Filter (EKF)

diusulkan untuk menutupi kelemahan ini. Selain itu, BLDC juga merupakan sistem non linier.

Dengan demikian, sulit untuk mendapatkan pengendali parameter PID yang akurat dan bagus

dengan metode PID konvensional. Dalam tulisan ini, jaringan saraf tunggal - Fuzzy PID

untuk BLDC dikembangkan. Hasil percobaan menunjukkan bahwa EKF mampu

memperkirakan kecepatan BLDC dan jaringan saraf tunggal - Kontroler Fuzzy PID membuat

sistem BLDC lebih cepat.

Kata Kunci: Extended Kalman; Single Nueron; BLDC; Sensorless

Page 5: LAPORAN PENELITIAN FAKULTAS

iv

PRAKATA

Puji syukur kami panjatkan kehadirat Allah SWT, Tuhan penguasa alam semesta, atas

perkenaNyalah laporan perkembangan penelitian fakultas ini dapat dilaksanakan dengan baik.

Penelitian ini merupakan pengembangan desain estimasi kecepatan motor menggunakan

estimasi berbasis Ekstended Kalman Filter dan pengendali neuro fuzzy. Pada laporan

perkembangkan penelitian kali ini akan disampaikan perihal seputar proses pelaksanaan

penelitian semenjak kontak penelitian sampai penyampaian progress report.

Pada kesempatan ini peneliti mengucapkan banyak terima kasih kepada Dekan Fakultas

Teknik yang telah memberikan kepercayaan kepada tim peneliti untuk melakukan penelitian

tentang estimasi kecepatan motor tahun 2017 ini.

Sebagai bagian dari proses pembelajaran, laporan perkembangan penelitian ini tidak luput

dari kekeliruan dan kekurangan, oleh karena itu kami tim peneliti mohon maaf sekaligus

terbuka terhadap masukan dan kritikan bagi perbaikan hasil penelitian kami kelak.

Peneliti

Page 6: LAPORAN PENELITIAN FAKULTAS

v

DAFTAR ISI

HALAMAN PENGESAHAN ................................................................................................... ii

RINGKASAN .......................................................................................................................... iii

PRAKATA ................................................................................................................................ iv

DAFTAR ISI .............................................................................................................................. v

DAFTAR GAMBAR ................................................................................................................ vi

DAFTAR LAMPIRAN ............................................................................................................ vii

BAB I PENDAHULUAN .......................................................................................................... 1

BAB II TINJAUAN PUSTAKA ............................................................................................... 2

Motor Brushless Dirrect Current ........................................................................................... 2

Model Matematika Motor Brushless DC ............................................................................... 4

Motor Brushless DC Driver .................................................................................................. 7

Sensorless BLDC Motor ........................................................................................................ 7

Kalman Filter ......................................................................................................................... 8

Gain Kalman Filter .............................................................................................................. 11

Algoritma Kalman Filter ...................................................................................................... 14

Extended Kalman Filter ....................................................................................................... 15

Logika Fuzzy ....................................................................................................................... 16

BAB III TUJUAN DAN MANFAAT PENELITIAN ............................................................. 17

Tujuan Penelitian ................................................................................................................. 17

Manfaat Penelitian ............................................................................................................... 17

BAB IV METODE PENELITIAN .......................................................................................... 18

Tempat dan Waktu Penelitian .............................................................................................. 18

Metode Penelitian ................................................................................................................ 18

BAB V HASIL DAN LUARAN YANG DICAPAI................................................................ 20

BAB VI KESIMPULAN DAN SARAN ................................................................................. 23

DAFTAR PUSTAKA .............................................................................................................. 24

LAMPIRAN ............................................................................................................................. 25

Page 7: LAPORAN PENELITIAN FAKULTAS

vi

DAFTAR GAMBAR

Gambar 1. Bagian dan Konstruksi Motor BLDC ...................................................................... 3

Gambar 2. Blok Pengaturan Brushless DC Motor ..................................................................... 3

Gambar 3Rangkaian Ekuivalen Motor Brushless DC ............................................................... 5

Gambar 4 Blok Diagram Pengendalian Kecepatan Motor Brushless DC ................................. 7

Gambar 5 Blok Diagram Pengendalian Kecepatan Motor Brushless DC menggunakan

Kalman Filter ............................................................................................................................. 8

Gambar 6 Blok Diagram Sistem Diskrit .................................................................................... 9

Gambar 7 Blok Diagram Sistem Diskrit dengan noise w .......................................................... 9

Gambar 8. Blok Diagram Sistem Diskrit dengan noise w dan v ............................................. 10

Gambar 9 Blok Diagram Estimasi Kalman Filter .................................................................... 10

Gambar 10 Ilustrasi Kalman Filter .......................................................................................... 15

Gambar 11 Struktur Pengendali Logika Fuzzy ........................................................................ 16

Gambar 12 Alur Penelitian ...................................................................................................... 19

Gambar 13 Speed Response pada ref 1000 RPM .................................................................... 20

Gambar 14 Respon aktual dan estimasi dengan EKF .............................................................. 21

Gambar 15 Respon aktual dan estimasi dengan EKF menggunakan pengendali PI .............. 21

Gambar 16 Respon aktual dan estimasi dengan EKF menggunakan Pengendali Neuron-

Fuzzy ........................................................................................................................................ 22

Page 8: LAPORAN PENELITIAN FAKULTAS

vii

DAFTAR LAMPIRAN

Lampiran 1 Biodata SIDOS ..................................................................................................... 25

Lampiran 2 Source Code ......................................................................................................... 46

Lampiran 3 Publikasi ............................................................................................................... 54

Page 9: LAPORAN PENELITIAN FAKULTAS

1

BAB I PENDAHULUAN

Motor DC tanpa kabel (BLDC) semakin banyak digunakan di berbagai sektor seperti

otomotif, industri, dan rumah tangga karena karakteristik kecepatan dan torsi yang lebih baik,

efisiensi tinggi, respon dinamis tinggi, umur operasi yang panjang, perawatan yang rendah,

keandalan dan daya tahan yang baik. BLDC adalah motor tanpa kuas dan dikontrol secara

elektronik, lalu untuk memutar rotor, BLDC memerlukan informasi posisi rotor dengan posisi

sensor. Selain itu, hal itu juga menyebabkan masalah dengan biaya tinggi dan kehandalan

sensor. Banyak penelitian telah mengembangkan teknik tanpa sensor untuk mengatasi

masalah ini. Solusi efektif akan mendorong penggunaan BLDC ke semua area sebagai

keandalan berbiaya rendah dan tinggi.

Dalam beberapa dekade terakhir, banyak solusi drive tanpa sensor telah dikembangkan untuk

menggantikan posisi sensor, yaitu dengan back-trapesium-EMFs [1-9]. Penginderaan kembali

EMF voltage [1-2], integrasi EMF belakang [5-6], deteksi konduksi dioda freewheeling [7],

estimasi fluks [3] - [4], dan teknik modifikasi motor [9]. Namun, hampir seluruhnya tidak

mampu bekerja dengan baik pada semua kecepatan dan masih ada masalah akurasi,

kompleksitas, dan kehandalan.

Di sisi lain, kontrol motor penggerak BLDC memerlukan proses yang kompleks seperti

pemodelan, pengendalian skema seleksi, simulasi dan parameter tuning. Diperlukan

pengetahuan dan pengalaman untuk mendapatkan dan menyempurnakan parameter

pengendali agar mendapatkan kinerja yang optimal. Baru-baru ini, berbagai solusi kontrol

modern diusulkan untuk merancang kontrol optimal motor BLDC [10-11]. Namun, metode

ini tidak baik karena belum bisa mendapatkan parameter kontrol optimal.

Dalam tulisan ini, Extended Kalman Filter Estimator dan Single Neuron-Fuzzy Controller

scheme diusulkan untuk estimator dan kontrol kecepatan BLDCM. Makalah ini disusun

dengan cara berikut. Bagian 2 menjelaskan motor BLDC, bagian 3 menjelaskan perancangan

Estimator Kecepatan Kalman Extended untuk Motor DC Tanpa Sensorless Brushless, bagian

4 secara singkat menggambarkan rancangan Single Neuron-Fuzzy Speed Controller untuk

Motor DC Brushless tanpa sensor, bagian 5 menyajikan perbandingan antara Hasil yang

diperoleh dengan metode Single Neuron-Fuzzy dan Sensorless dan akhirnya, bagian 6

menyimpulkan makalah ini

Page 10: LAPORAN PENELITIAN FAKULTAS

2

BAB II TINJAUAN PUSTAKA

Motor Brushless Dirrect Current

Motor Brushless DC (BLDC) termasuk dalam jenis motor sinkron. Hal ini berarti bahwa

medan magnet yang dihasilkan oleh stator dan medan magnet yang dihasilkan oleh rotor

berputar pada frekuensi yang sama. Motor BLDC tidak mengalami "slip" yang biasanya

ditemui pada motor induksi. Pada umumnya motor BLDC terdiri dari rotor sebagai bagian

yang berputar yang merupakan magnet permanen dan stator sebagai bagian yang tetap yang

merupakan kumparan konduktor pembawa arus. Pada konfigurasi ini, motor BLDC hampir

sama dengan motor DC yang memiliki komutator terbalik, yaitu bagian magnet yang berputar

dan bagian konduktor tetap diam. Pada umumnya stator motor BLDC memiliki tiga

kumparan kawat yang terhubung dengan konfigurasi bintang dan saling berpasangan

membentuk kutub yang berjumlah genap.

Karena tidak adanya sikat (brushless), komutasi motor BLDC dikendalikan secara elektronik.

Untuk memutar motor BLDC, kumparan stator harus diberi tegangan secara berurutan. Hal

terpenting dalam proses ini adalah bagaimana mengetahui posisi rotor agar dapat diketahui

bagian mana yang harus diberi tegangan. Pada umumnya posisi rotor dideteksi menggunakan

sensor Hall Effect yang tertanam di stator dan sebagian besar motor BLDC memiliki tiga

sensor sensor Hall Effect dengan rentang 60 derajat. Setiap kali kutub magnet rotor melewati

dekat hall Sensor, maka akan dibangkitkan sinyal tinggi atau rendah yang menunjukkan

kutub utara atau kutub selatan yang melalui sensor tersebut. Berdasarkan kombinasi dari tiga

sinyal sensor ini, urutan yang tepat pergantian pemberian tegangan dapat ditentukan.

Setiap urutan komutasi, masing-masing phasa kumparan pada stator memiliki keadaan yang

berbeda-beda yaitu kumparan pertama diberi tegangan positif, kumparan kedua diberi

tegangan negatif dan kumparan ketiga tanpa tegangan. Dengan adanya perbedaan polaritas

tegangan pada masing-masing kumparan, maka akan terbentuk medan magnet yang akan

berinteraksi dengan medan magnet permanen pada rotor. Agar motor berjalan, medan magnet

yang dihasilkan oleh kumparan harus menggeser posisi secara bergantian sehingga rotor akan

berputar untuk mengejar ketinggalan dengan bidang medan magnet stator. Bagian dan

Konstruksi Motor BLDC ditunjukkan pada Gambar 2.1.

Page 11: LAPORAN PENELITIAN FAKULTAS

3

Gambar 1. Bagian dan Konstruksi Motor BLDC

Setiap 60 derajat putaran listrik, Hall Sensor berubah keadaannya. Dibutuhkan enam langkah

untuk menyelesaikan siklus putaran listrik ini. Namun, satu siklus putaran listrik mungkin

tidak sesuai dengan revolusi mekanik lengkap rotor. Jumlah siklus listrik untuk

menyelesaikan rotasi mekanik ditentukan oleh jumlah pasangan pole pada rotor. Untuk setiap

pasang pole rotor, satu siklus listrik selesai. Jadi, jumlah siklus / rotasi listrik sama dengan

jumlah pasangan pole rotor. Untuk mengontrol pemberian tegangan motor BLDC digunakan

inverter 3 phasa yang terdiri dari enam switch dan switch ini diaktifkan berdasarkan input

sensor Hall. Teknik Pulse Width Modulated (PWM) digunakan untuk mengubah keadaan ON

atau OFF pada switch. Untuk mengatur kecepatan, frekuensi sinyal Pulse Width Modulated

(PWM) yang digunakan harus lebih tinggi dari frekuensi motor. Frekuensi PWM harus

minimal 10 kali dari frekuensi maksimum motor. Kecepatan dan torsi motor tergantung pada

kekuatan medan magnet yang dihasilkan oleh kumparan stator dari motor yang berbanding

lurus dengan arus yang melaluinya. Oleh karena itu menyesuaikan tegangan akan mengubah

kecepatan motor. Blok Pengaturan Brushless DC Motor ditunjukkan oleh Gambar 2.2.

Gambar 2. Blok Pengaturan Brushless DC Motor

Page 12: LAPORAN PENELITIAN FAKULTAS

4

Motor BLDC memiliki banyak keunggulan dibandingkan motor DC bersikat dan motor

induksi. Beberapa di antaranya adalah:

Kecepatan yang lebih baik dibandingkan torsi karakteristik

respon tinggi dinamis

Efisiensi tinggi

umur operasi panjang

operasi bersuara

kecepatan berkisar Tinggi

Ukuran kompak

momen inersia Rendah

torsi tinggi terhadap volume

Karena keuntungan di atas, BLDC motor digunakan dalam berbagai aplikasi. Namun

demikian motor BLDC memiliki keterbatasan karena kebutuhan yang lebih mahal pada

kontrol elektronik disebabkan adanya sensor posisi seperti Hall efek, resolver, atau encoder

sebagai sumber informasi untuk melakukan kontor elektronik. Disamping itu, pemasangan

sensor ini menyebabkan beberapa masalah seperti: (1) meningkatkan ukuran dan biaya; (2)

dapat mengurangi keandalan dan ketahanan sistem karena adanya komponen tambahan dan

kabel-kabel; (3) sensitivitas sensor tergantung kepada suhu, cahaya atau kontaminasi yang

timbul akibat operasi motor; (4) kesulitan instalasi dan pemeliharaan sensor.

Untuk itu, pada penelitian ini akan dibahas mengenai penggunaan motor BLDC tanpa sensor.

Skema ini ditempuh untuk mengurangi masalah yang timbul akibat adanya sensor dan untuk

mengestimasi kecepatan dan posisi rotor digunakan metode Ensemble Kalman Filter

sehingga dapat digunakan untuk pemberian tegangan yang tepat.

Model Matematika Motor Brushless DC

Distribusi fluks pada motor BLDC berbentuk trapesium dan karena itu model kerangka acuan

rotor d-q tidak berlaku. Penurunan model motor BLDC didasarkan pada asumsi bahwa arus

induksi pada rotor karena stator bidang harmonik diabaikan, rugi besi dan rugi-rugi lainnya

juga diabaikan. Motor dianggap memiliki tiga fase. Pemodelan motor BLDC dilakukan

dengan menggunakan persamaan berdasarkan rangkaian ekuivalen dinamis dari motor BLDC.

Selain itu, diasumsikan juga bahwa motor BLDC memiliki konfigurasi bintang pada

gulungan stator, sistem tiga fasa yang seimbang dan celah udara yang seragam. Induktansi

Page 13: LAPORAN PENELITIAN FAKULTAS

5

bersama antara gulungan fasa stator juga dapat diabaikan jika dibandingkan dengan

induktansi diri. Rangkaian ekuivalen motor BLDC ditampilkan pada Gambar 2.3 [24].

Gambar 3Rangkaian Ekuivalen Motor Brushless DC

Dengan Ra=Rb=Rc=R adalah hambatan motor dan LA=LB=LC=L adalah induktansi motor,

dengan menggunakan persamaan KCL dapat diturunkan:

(1a)

(1b)

(1c)

Dengan ea, eb, dan ec adalah back-emf setiap phasa yang memiliki persamaan:

(2a)

(2b)

(2c)

dan

{

(3)

Page 14: LAPORAN PENELITIAN FAKULTAS

6

Dengan persamaan torsi

(4)

Dan

* (

) (

) + (5)

Dengan kb : konstanta back-emf, kt : konstanta torsi, J: momen inersia, B: hambatan, TL:

Torsi beban, Te: Torsi elektrik, e: posisi rotasi elektrik, dan n: kecepatan rotasi.

Berdasarkan persamaan 1, 2, 4, dan.5 dapat dibentuk persamaan keadaan motor BLDC dalam

bentuk:

Dengan

[ ] (6a)

[ ] (6b)

[

(

)

(

)

(

)

(

)

]

(6c)

[

]

(6d)

[

] (6e)

Page 15: LAPORAN PENELITIAN FAKULTAS

7

Motor Brushless DC Driver

Untuk mengatur kecepatan motor BLDC digunakan rangkaian drive yang terdiri dari

pengendali kecepatan dan pengendali arus, serta inverter. Secara keseluruhan pengendalian

kecepatan motor BLDC ditunjukkan pada Gambar 4.

Gambar 4 Blok Diagram Pengendalian Kecepatan Motor Brushless DC

Kecepatan motor diambil dan dibandingkan dengan kecepatan referensi menggunakan

penjumlah. Error yang dihasilkan diperkirakan sebagai e=r-n. Error yang didapat

diberikan kepada pengendali kecepatan untuk ditransformasi menjadi torsi referensi.

Keluaran dari pengendali kecepatan adalah torsi referensi dan selanjutnya arus referensi

diturunkan berdasarkan torsi referensi ini. Arus referensi dibandingkan dengan arus stator

aktual dan selisih yang dihasilkan diteruskan sebagai masukan kepada inverter dan PWM.

Sensorless BLDC Motor

Pengunaan hall sensor pada motor BLDC diperlukan untuk memberikan informasi posisi

sehingga dapat diketahui dan dikendalikan kecepatan motor BLDC. Namun demikian,

penggunaan sensor dapat mengurangi ketahanan dalam sistem kontrol motor. Beberapa

dekade telah dikembangkan metode pengendalian tanpa sensor (sensorless) dan telah menjadi

bidang penelitian yang signifikan. Penggunaan sensorless memiliki banyak keuntungan

seperti pengurangan biaya, peningkatan keandalan, penghapusan kesulitan dalam

mempertahankan sensor, dll. Metode sensorless sangat direkomendasikan digunakan dalam

lingkungan industri berminyak, lokasi kurang dapat diakses, dan di mana saja dengan

keterbatasan lingkungan. Terdapat beberapa metode sensorless yang telah diusulkan sampai

saat ini, diantaranya:

Speed Controller

PWM & Inverter BLDCM

Hall Sensor

r

n

+

-

e iref

Vref

Current Controller

ref

Page 16: LAPORAN PENELITIAN FAKULTAS

8

Metode yang menggunakan pengukuran arus, tegangan, dan persamaan motor

fundamental, serta manipulasi aljabar,

Metode menggunakan observer,

Metode menggunakan metode sensoring back-emf, dan

Metode menggunakan teknik sensorless starting.

Pada penelitian ini akan digunakan metode estimasi dengan memanfaatkan metode kalman

filter. Dengan menggunakan estimasi kalman filter, maka blok diagram pengaturan kecepatan

menjadi seperti yang ditunjukkan pada Gambar 5 .

Gambar 5 Blok Diagram Pengendalian Kecepatan Motor Brushless DC menggunakan Kalman Filter

Kalman Filter

Pada tahun 1960, R.E. Kalman menerbitkan makalah tentang solusi rekursif untuk masalah

filter data-diskrit linear (disebut Kalman Filter). Sejak saat itu dan didukung oleh kemajuan

komputasi digital, Kalman filter telah menjadi subyek penelitian yang luas dan digunakan

dalam berbagai aplikasi. Kalman Filter merupakan seperangkat persamaan matematika yang

menyediakan solusi komputasi (rekursif) efisien dari metode kuadrat-terkecil. Filter ini

memiliki keunggulan dalam beberapa aspek misalnya mendukung estimasi keadaan dari masa

lalu, sekarang, dan bahkan masa depan, serta tetap dapat mengestimasi walaupun ketika

persamaan sistem yang dimodelkan tidak diketahui secara pasti.

Diskrit Kalman Filter

Didefiniskan sistem linear diskrit dengan persamaan:

(7)

Speed Contr

PWM & Inverter BLDCM

Kalman Filter

r

n

+

-

e iref

Vref

Current Contr

ref

Page 17: LAPORAN PENELITIAN FAKULTAS

9

Dengan keadaan adalah skalar, a dan b adalah konstanta, serta masukkan adalah skalar,

dan k adalah waktu sampling. Persamaan 7 dapat digambarkan ke dalam blok diagram seperti

Gambar 6. dengan Z-1 adalah waktu tunda.

Gambar 6 Blok Diagram Sistem Diskrit

Misalkan terdapat noise pada sistem, sehingga persamaan 2.7 menjadi

(8)

Dengan adalah white noise dengan mean nol dan kovarians Q dan berkorelasi dengan

input. Sehingga persamaan 8. dapat digambarkan seperti Gambar 7.

Gambar 7 Blok Diagram Sistem Diskrit dengan noise w

Berdasarkan persamaan 8. Kalman Filter digunakan untuk menyaring sinyal x sehingga efek

dari noise w dapat diminimalkan. Bahkan lebih dari itu, Kalman Filter merepresentasikan

bahwa sinyal x tidak dapat diukur secara langsung, namun dengan yang diukur adalah sinyal

keluaran z yang merupakan perkalian konstanta h dengan x dan ditambahkan dengan noise v,

sehingga persamaan keluaran sistem menjadi

(9)

Nilai z tergantung pada nilai saat ini dari x dan ditentukan oleh gain h. Selain itu, pengukuran

memiliki noise sendiri, v, yang merupakan white noise dengan mean nol dan kovarians R

Page 18: LAPORAN PENELITIAN FAKULTAS

10

yang tidak berkorelasi dengan input atau dengan noise w. Dua sumber noise adalah

independen satu sama lain dan mandiri dari input.

Dan blok diagram sistem menjadi seperti Gambar 8.

Gambar 8. Blok Diagram Sistem Diskrit dengan noise w dan v

Dengan demikian Kalman Filter digunakan untuk menyaring z sehingga dapat

memperkirakan variabel x dan meminimalkan efek dari w dan v. Untuk tujuan ini, Kalman

merepresentasikan filter dengan blok diagram estimasi sebagai berikut:

Gambar 9 Blok Diagram Estimasi Kalman Filter

Perbedaan gambar sistem asli dengan gambar sistem untuk estimasi adalah adanya yang

disebut sebagai nilai awal perkiraan dengan persamaan

Page 19: LAPORAN PENELITIAN FAKULTAS

11

(10)

Perkiraan awal digunakan untuk memprediksi dan perbedaan antara output estimasi

dengan output aktual disebut residual atau inovasi dengan persamaan

(11)

Jika residual kecil, berarti perkiraan yang dilakukan adalah baik, dan jika residual besar maka

perkiraan tidak begitu baik. Kalman Filter menggunakan informasi ini untuk memperbaiki

perkiraan yang disebut perkiraan baru. Sehingga persamaan perkiraan baru menjadi:

(12)

Hal utama Kalman Filter adalah menemukan nilai G yang digunakan untuk memperbaiki

perkiraan baru sehingga didapat nilai estimasi yang optimal.

Gain Kalman Filter

Untuk menetukan nilai Gain Kalman Filter didefinisikan kesalahan dari perkiraan yang

dilakukan. Terdapat dua kesalahan yaitu kesalahan priori dan kesalahan posteriori. Masing-

masing didefinisikan sebagai selisih antara nilai aktual dan estimasi (baik priori atau

posteriori) seperti persamaan:

(13a)

(13b)

Dan rata-rata kuadrat errornya adalah

{

} (14a)

{ } (14b)

Kalman Filter meminimalkan varians posteriori, pk , dengan memilih sesuai nilai G. Subtitusi

persamaan 12 ke persamaan 14b dan didapat

{

} (15)

Untuk menemukan nilai G yang meminimalkan varians, maka turunan pk terhadap G harus

nol. Sehingga persamaannya menjadi

Page 20: LAPORAN PENELITIAN FAKULTAS

12

,(

) -

{

}

{

}

{

} {

}

,

(

) -

,

( )

-

(16)

Penyelesaian persamaan 16 dilakukan dengan menyelesaiakan secara terpisah antara

pembilang dan penyebut, sehingga

Subtitusi persamaan 9 ke persamaan pembilang 16

{

}

{

}

= {

}

{

} (17)

Noise v, adalah tidak berkorelasi baik input atau perkiraan x priori, sehingga

{ } dan persamaan 17 menjadi

{

}

{ }

{ }

(18)

Dengan metode yang sama dapat dilakukan penyederhanaan untuk penyebut, sehingga

didapat persamaan

Page 21: LAPORAN PENELITIAN FAKULTAS

13

Dengan R adalah { }, sehingga persamaan untuk gain Kalman Filter adalah

(19)

Pada persamaan 19 terdapat yang didapat dari {

} dan penurunan

persamaannya adalah

{

}

{ }

{ }

{ } {

}

(20)

Sedangkan merupakan nilai sebelumnya dengan penurunan persamaannya adalah

{ }

{

}

{

}

{

}

{

}

{ } {

}

{ } {

}

(21)

Subtitusi persamaan 19 ke persamaan 21 untuk mengeliminasi R didapat

(22)

Page 22: LAPORAN PENELITIAN FAKULTAS

14

Algoritma Kalman Filter

Setiap langkah dalam Kalman Filter dimulai dengan inisialisasi sistem yang terdiri dari Gain,

B dan H . Keadaan x , input u, dan output z. Setiap sampling yang dilakukan diberi indeks k.

Proses ini memiliki dua langkah, langkah prediksi (yang menghitung perkiraan keadaan

berikutnya berdasarkan pada pengukuran terakhir dari output), dan langkah koreksi (yang

menggunakan nilai saat ini dari perkiraan untuk memperbaiki hasil yang diberikan oleh

langkah prediktor).

Langkah Prediksi

Hitung keadaan awal dengan persamaan

Hitung kovarian priori dengan persamaan

Langkah Koreksi

Hitung Gain Kalman Filter dengan persamaan

Hitung keadaan posteriori dengan persamaan

Hitung kovarian posteriori dengan persamaan

Ilustrasi Algoritma Kalman Filter disajikan pada Gambar 10.

Page 23: LAPORAN PENELITIAN FAKULTAS

15

Gambar 10 Ilustrasi Kalman Filter

Extended Kalman Filter

Extended Kalman Filter (EKF) adalah Kalman Filter untuk sistem yang bersifat nonlinier.

Sitem Nonlinier yang didefinisikan berbentuk:

(23)

Dan keluaran sistem yang diukur

(24)

Dengan penurunan yang sama seperti Kalman Filter, didapat algoritma untuk EKF adalah

sebagai berikut:

Langkah Prediksi

1. Hitung keadaan awal dengan persamaan

2. Hitung kovarian priori dengan persamaan

Langkah Koreksi

3. Hitung Gain Kalman Filter dengan persamaan

4. Hitung keadaan posteriori dengan persamaan

Page 24: LAPORAN PENELITIAN FAKULTAS

16

5. Hitung kovarian posteriori dengan persamaan

Logika Fuzzy

Logika fuzzy adalah metode tujuan umum yang fleksibel untuk menerapkan fungsi non linier.

Jadi berguna dalam aplikasi kontrol. Salah satu kelebihannya adalah kombinasi pengetahuan

ahli, yang diungkapkan secara linguistik atau numerik, pembelajaran mesin, atau teknik

lainnya dapat digunakan dalam desainnya. Jadi, dalam tulisan ini, digunakan untuk menyetel

parameter K secara online.

Biasanya, Fuzzy Logic memiliki tiga tahap utama, seperti yang ditunjukkan pada Gambar 4,

yaitu sebagai berikut (1) Fuzzification, sebuah proses mengubah masukan tajam ke input

fuzzy. (2) Mesin inferensi dan basis aturan, pada tahap ini, input fuzzy diubah menjadi

keluaran fuzzy dengan menangani aturan fuzzy dan sebagai hasilnya, respon yang sesuai

dengan input dihasilkan. Biasanya, pengetahuan ahli tentang bagaimana mengendalikan

tanaman dapat diungkapkan dengan seperangkat aturan kontrol linguistik. Jadi aturan dasar

bisa diatur sesuai dengan pengetahuan ahli. (3) Defuzzifikasi, sebuah proses menghasilkan

keluaran yang tajam pada basis yang kabur.

Gambar 11 Struktur Pengendali Logika Fuzzy

Page 25: LAPORAN PENELITIAN FAKULTAS

17

BAB III TUJUAN DAN MANFAAT PENELITIAN

Tujuan Penelitian

Tujuan penelitian ini adalah mengembangkan Desain Estimasi Kecepatan Dengan Extended

Kalman Filter Dan Single Neuron-Fuzzy Kecepatan Controller Untuk Sensorless Brushless

Dc Motor.

Manfaat Penelitian

Manfaat dari penelitian ini adalah hasil uji coba peneltian ini dapat dikembangkan dalam

skala perangkat keras yang dapat dimanfaatkan untuk pengembangan kendaraan berbasis

motor listrik.

Page 26: LAPORAN PENELITIAN FAKULTAS

18

BAB IV METODE PENELITIAN

Tempat dan Waktu Penelitian

Pelaksanaan penelitian guna Desain Estimasi Kecepatan Dengan Extended Kalman Filter dan

Single Neuron-Fuzzy Kecepatan Controller untuk sensorless Brushless DC akan dilakukan di

Laboratorium Elektronika, Jurusan Teknik Elektro, Fakultas Teknik, Universitas Negeri

Jakarta, dengan waktu penelitian dari April hingga Oktober 2017.

Metode Penelitian

1). Pra-penelitian

Tahap ini menghimpun data dan informasi terkait Estimasi Kecepatan Dengan

Extended Kalman Filter dan Single Neuron-Fuzzy.

2). Penyusunan Instrumen

Pada tahap ini akan dilakukan penyusunan algoritma Estimasi Kecepatan

Dengan Extended Kalman Filter dan Single Neuron-Fuzzy. Pengujian

dilakukan sampai mendapatkan estimasi kecepatan.

3). Validasi Instrumen

Tahap ini melakukan pengujian desain Estimasi Kecepatan Dengan Extended

Kalman Filter dan Single Neuron-Fuzzy Kecepatan Controller untuk

sensorless Brushless DC sehingga didapatkan estimasi kecepatan yang stabil.

Pengujian dilakukan secara simulasi menggunakan komputer hingga

mendapatkan keluaran yang stabil dan sesuai dengan kecepatan sebenarnya.

4). Pengumpulan Data

Tahap ini melakukan pembangunan rangkaian berdasarkan desain yang

dirancang dan dilakukan pengujian, serta dikumpulkan datanya.

Page 27: LAPORAN PENELITIAN FAKULTAS

19

Gambar 12 Alur Penelitian

5). Analisis Data dan Penyusunan Laporan

Tahap ini menganalisi data dan menyimpulkan hasil penelitian berdasarkan hasil uji coba.

Kesimpulan diharapkan dapat menghasilkan suatu Desain Estimasi Kecepatan Dengan

Extended Kalman Filter dan Single Neuron-Fuzzy Kecepatan Controller untuk sensorless

Brushless DC.

Literatur

Penyusunan

Algoritma

Sesuai?

gaya

Perbaikan Algoritma

Pengujian Algoritma

Stabil?

Perbaikan Algoritma

Pembangunan Rangkaian

Sesuai?

Inspeksi ulang

Kesimpulan

Page 28: LAPORAN PENELITIAN FAKULTAS

20

BAB V HASIL DAN LUARAN YANG DICAPAI

Luaran penelitian yang dicapai adalah berupa algoritma dan simulasi penggunaan estimasi

kecepatan motor BLDC yang telah diterima pada jurnal internasional.

Model BLDC drive dengan kecepatan dan pengendali arus disimulasikan di Matlab. Respon

kecepatan untuk perubahan langkah dalam input ditunjukkan pada Gambar 13.

Gambar 14 adalah posisi rotor aktual dan perkiraan dengan algoritma EKF. Perintah

kecepatan motor awalnya ditetapkan pada 104,7 rad / sec (1000 rpm) dan pada t = 0,05 detik;

Kecepatan referensi berubah menjadi 157,1 rad / sec (1500 rpm). Perkiraan kecepatan respon

jelas mengikuti kecepatan sebenarnya setelah masa transien.

Pada Gambar 15, kurva mewakili respons kecepatan sistem yang berada di bawah kontrol

pengendali PI konvensional. Parameter pengontrol PI konvensional disetel sebagai KP = 1,78,

KI = 0,0178.

Gambar 13 Speed Response pada ref 1000 RPM

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10

200

400

600

800

1000

1200

Time (s)

Speed (

RP

M)

ref speed

actual speed

Page 29: LAPORAN PENELITIAN FAKULTAS

21

Gambar 14 Respon aktual dan estimasi dengan EKF

Gambar 15 Respon aktual dan estimasi dengan EKF menggunakan pengendali PI

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1-200

0

200

400

600

800

1000

1200

1400

1600

Time (s)

Speed (

RP

M)

ref speed

EKF Estimated speed

Actual Speed

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.050

200

400

600

800

1000

1200

Time (s)

Speed (

RP

M)

Ref Speed

Actual Speed

EKF Estimated Speed

Page 30: LAPORAN PENELITIAN FAKULTAS

22

Gambar 16 Respon aktual dan estimasi dengan EKF menggunakan Pengendali Neuron-Fuzzy

Dengan tidak ada beban, respon kecepatan BLDCM di bawah kendali pengontrol yang

diusulkan ditunjukkan pada Gambar 16. Ketika berada di bawah kendali pengendali yang

diusulkan, sistem akan merespons dengan cepat dengan sedikit overshoot. Kesalahan steady

state adalah nol. Dari Gambar 16, dapat dilihat bahwa setelah menggunakan Fuzzy untuk

menyesuaikan parameter K, respon dinamis sistem jauh lebih cepat

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.050

200

400

600

800

1000

1200

Time (s)

Speed (

RP

M)

Ref Speed

Actual Speed

EKF Estimated Speed

Page 31: LAPORAN PENELITIAN FAKULTAS

23

BAB VI KESIMPULAN DAN SARAN

Kecepatan motor BLDC diperkirakan menggunakan metode Extended Kalman Filter.

Kecepatan ditentukan dari tegangan garis terukur dan arus motor. Hasil simulasi

membuktikan bahwa pengoperasian tanpa sensor dari sistem penggerak pengendali posisi

tidak langsung dimungkinkan. Untuk pengontrol, saat melatih neuron tunggal, nilai parameter

K sangat penting. Dengan menggunakan kemampuan perkiraan alam semesta dari sistem

logika fuzzy, pengendali neuron-fuzzy tunggal dikembangkan untuk menyesuaikan nilai

parameter K secara online. Hasil percobaan membuktikan bahwa kinerja tinggi dicapai di

bawah kendali pengontrol yang diusulkan. Penggunaan single neuron fuzzy membuat BLDC

dengan respon dinamis lebih cepat.

Page 32: LAPORAN PENELITIAN FAKULTAS

24

DAFTAR PUSTAKA

[1] T.M.Jahns, and M.Ehsani, (1991), “Four quadrant sensorless brushless motor,” in Proc.

IEEE APEC’91’, pp.202- 209.

[2] S.Ogasawara and H.Akagi, (1990), “An approach to position sensorless drive for

brushless dc motors,” Conf. Rec. IEEE-IAS, Innu.Meeting, 1990, pp.443-447.

[3] J.C .Morieera,(1994),“Indirect sensing for rotor flux position of permanent magnet AC

motors operating in wide speed range,” Conf, Rec. IEEE-IAS Annul. Meeting, 1994,

pp.401-407.

[4] N.Ertugrul and P.P.Acarnley,(1994), “A new algorithm for sensorless operation of

permanent magnet motors,”IEEE Trans.Ind .Applicat.., vol.30,pp.126-133,Jan./Feb.1994.

[5] H.Brunsbach and G.Henneberger, and T.Klepsch,(1993) “Position controlled permanent

excited synchronous motor without mechanical sensors,” Proc. EPE’93, Brighton,

U.K.,1993,pp.38-43.

[6] R.Dhaouadi, N.Mohan, and L.Norum,(1991), “Design and implemention of an extended

Kalman filter for the state estimation of a permanent magnet synchronous motor,”IEEE

Trans.Power Electron.,vol. 6,pp.491-497,July 1991.

[7] R.Krishna and R.Ghoseh,(1989), “Starting algorithm and performance of a PMDC

brushless motor drive system with no position sensor ,” Proc .IEEE

PESE’89,1989,pp.815-821.

[8] M.Jadric and B.Terzic. (1999), “Sensorless brushless dc motor with improved speed

estimation accuracy using stator resistance estimation,” in Proc. EPE’99, Lausanne,

Switzerland, 1999,CDROM.

[9] L.Loron and G.Laliberte,(1993), “Application of the extended Kalman filter to

parameters estimation of induction motors.” Proc EPE’93, Brighton, U.K., 1993, pp.85-

90.

[10] T. O..Mahony, C J Downing and K Fatla, “Genetic Algorithm for PID Parameter

Optimization: Minimizing Error Criteria”, Process Control and Instrumentation 26-28

July 2000, University of Stracthclyde, pg 148- 153.

[11] David E. Goldberg, Genetic Algorithms in Search, Optimization and Machine

Learning. The University of Alabama, Addison-Wesley Publishing Company Inc, 1989..

Page 33: LAPORAN PENELITIAN FAKULTAS

25

LAMPIRAN

Lampiran 1 Biodata SIDOS

Page 34: LAPORAN PENELITIAN FAKULTAS

46

Lampiran 2 Source Code

clear all;

%close all;

disp('Hall Sensor - OPEN LOOP');

%Parameter BLDC BLY172S-24V-4000

%Details:

%DC motor SPEC:

%Rated Power = 55W

%Rated Speed = 4000 RPM

%Rated Voltage = 24V

%Continuous Stall Torque = 21 oz-in

%Peak Torque = 54 oz-in

%Peak Current = 11 A

%Line to Line Resistance = 0.8 ohms

%Line to Line Inductance =1.2 mH

%Torque Constant = 5.0 oz-in/A

%Back EMF Voltage = 3.72 VkRPM

%Rotor Inertia = 0.00068 oz-in-sec^2

%Gear Box SPEC:

%Gear Ratio: 100

%Compatible NEMA Torque: 17 oz-in

%Nominal Rated Torque : 2832 oz-in

%Peak Input Speed: 18000 RPM

%Backlash < 30 arcmin

%Runing Noise: 55 DB

rs = 0.4;

ls_lm = 0.6e-3;

inertia = 0.000048;

b_fric = 0;

p_hp = 0.0737;

pole = 8;

vdc = 24;

kb = 0.0042;

lamda_p = kb*(pole/2);

ip_rate = 3.5;

te_rate = 1.4642/2;

wbase_rpm = 1000;

% base values

pbase = p_hp*746;

vbase = vdc;

ibase = ip_rate;

tbase = te_rate;

wbase = wbase_rpm*(pi/30)*(pole/2);

ias=0;

ibs=0;

ics=0;

wr = 0;

thr = 0;

% old initial position

thr_old = thr;

%kp_w = 4.905583728; ki_w = 0.0349244; kd_w=0.001109; % pid speed

controller gains

Page 35: LAPORAN PENELITIAN FAKULTAS

47

kp_w = 4.905583728; ki_w = 0.0349244; kd_w=0.001109; % pid speed

controller gains

% wr_intg = integrator, _cmd = after limit, _star = before limit

wr_intg_pa = 0;wr_intg_pb = 0;wr_intg_pc = 0;

% torque limit => up to 2 [p.u.]

te_lim_p = 2*te_rate; te_lim_n = -2*te_rate;

tl = 0.00; % load torque

kp_i = 3.176; % p current controller gain

ki_p = 0.0005; % i current controller gain

% controller output

vasc = 0; vbsc = 0; vcsc = 0;

% triangular wave frequency and peak voltage

ftr = 20000; vtr_r = 10;

% voltage command limit

vc_lim_p = 9; vc_lim_n = -9;

% initial time, time increment, and final time

tt = 0;

dt = 1e-5;

banyak=15000;

tf = 2;

% variables for plotting

count = 0;

no_ds = int32(fix(tf/dt));

p_vabcs = zeros(no_ds,3);

p_fabcs = zeros(no_ds,3);

p_eabcs = zeros(no_ds,3);

p_isc = zeros(no_ds,4);

p_iabcs = zeros(no_ds,3);

p_torq = zeros(no_ds,5);

p_wr = zeros(no_ds,1);

p_thr = zeros(no_ds,1);

p_t = zeros(no_ds,1);

p_hall = zeros(no_ds,1);

% solving the dynamics of motor

iter = 0;

iter1 = 0;

indek=0;

wr_err1=0;

wr_derv=0;

wr_err=0;

while (tt<=tf)

indek=indek+1;

% compute torque command

te_star = 0.3*te_lim_p;

if (te_star>=te_lim_p)

te_cmd = te_lim_p;

elseif (te_star<=te_lim_n)

te_cmd = te_lim_n;

else

te_cmd = te_star;

end

% compute peak current command

Page 36: LAPORAN PENELITIAN FAKULTAS

48

ip_cmd = te_cmd/(2*lamda_p);

% conversion of the unit of thr : rad => deg

thr_deg = mod(thr*180/pi,360);

true_thr_deg = mod(thr*180/pi,360);

% phase current command according to the rotor position

if (((thr_deg>=0)&&(thr_deg<30))||((thr_deg>=330)&&(thr_deg<=360)))

mode = 1;

ias_cmd = 0;

ibs_cmd = -ip_cmd;

ics_cmd = ip_cmd;

elseif ((thr_deg>=30)&&(thr_deg<90))

mode = 2;

ias_cmd = ip_cmd;

ibs_cmd = -ip_cmd;

ics_cmd = 0;

elseif ((thr_deg>=90)&&(thr_deg<150))

mode = 3;

ias_cmd = ip_cmd;

ibs_cmd = 0;

ics_cmd = -ip_cmd;

elseif ((thr_deg>=150)&&(thr_deg<210))

mode = 4;

ias_cmd = 0;

ibs_cmd = ip_cmd;

ics_cmd = -ip_cmd;

elseif ((thr_deg>=210)&&(thr_deg<270))

mode = 5;

ias_cmd = -ip_cmd;

ibs_cmd = ip_cmd;

ics_cmd = 0;

elseif ((thr_deg>=270)&&(thr_deg<330))

mode = 6;

ias_cmd = -ip_cmd;

ibs_cmd = 0;

ics_cmd = ip_cmd;

end

% fas(thr): rotor position dependent function

if ((true_thr_deg>=0)&&(true_thr_deg<30))

fas_thr = true_thr_deg/30;

elseif ( (true_thr_deg>=30)&&(true_thr_deg<150) )

fas_thr = 1;

elseif ( (true_thr_deg>=150)&&(true_thr_deg<210) )

fas_thr = -true_thr_deg/30+6;

elseif ((true_thr_deg>=210)&&(true_thr_deg<330))

fas_thr = -1;

elseif ((true_thr_deg>=330)&&(true_thr_deg<=360))

fas_thr = true_thr_deg/30-12;

end

% fbs(thr): rotor position dependent function

if ((true_thr_deg>=0)&&(true_thr_deg<90))

fbs_thr = -1;

elseif ((true_thr_deg>=90)&&(true_thr_deg<150))

fbs_thr = true_thr_deg/30-4;

elseif ((true_thr_deg>=150)&&(true_thr_deg<270))

Page 37: LAPORAN PENELITIAN FAKULTAS

49

fbs_thr = 1;

elseif ((true_thr_deg>=270)&&(true_thr_deg<330))

fbs_thr = -true_thr_deg/30+10;

elseif ((true_thr_deg>=330)&&(true_thr_deg<=360))

fbs_thr = -1;

end

% fcs(thr): rotor position dependent function

if ((true_thr_deg>=0)&&(true_thr_deg<30))

fcs_thr = 1;

elseif ((true_thr_deg>=30)&&(true_thr_deg<90))

fcs_thr = -true_thr_deg/30+2;

elseif ((true_thr_deg>=90)&&(true_thr_deg<210))

fcs_thr = -1;

elseif ((true_thr_deg>=210)&&(true_thr_deg<270))

fcs_thr = true_thr_deg/30-8;

elseif ((true_thr_deg>=270)&&(true_thr_deg<=360))

fcs_thr = 1;

end

% compute back emf

eas = fas_thr*kb*wr;

ebs = fbs_thr*kb*wr;

ecs = fcs_thr*kb*wr;

% triangular carrier wave

vtr = rem(4*ftr*vtr_r*tt,4*vtr_r);

if (vtr<vtr_r)

%vtr = vtr;

elseif (vtr<(3*vtr_r) )

vtr = 2*vtr_r-vtr;

else

vtr = vtr-4*vtr_r;

end

% compute position difference

del_thr = thr-thr_old;

thr_old = thr;

% compute A phase control voltage : p control or freewheeling

if ((mode~=1)&&(mode~=4))

ias_det = 1;

wr_intg_pa = wr_intg_pa+ki_p*(ias_cmd-ias)*dt;

vasc = kp_i*(ias_cmd-ias) + wr_intg_pa;

% vasc = kp_i*(ias_cmd-ias);

if (vasc>vc_lim_p)

vasc = vc_lim_p;

elseif (vasc<vc_lim_n)

vasc = vc_lim_n;

end

if (vasc>=vtr)

vas = vdc/2;

else

vas = -vdc/2;

end

elseif (((del_thr<0)&&(mode==1))||((del_thr>=0)&&(mode==4)))

if (ias<=0)

ias_det = 0;

Page 38: LAPORAN PENELITIAN FAKULTAS

50

ias = 0;

vas = eas;

else

ias_det = 1;

vas = -vdc/2;

end

elseif (((del_thr>=0)&&(mode==1))||((del_thr<0)&&(mode==4)))

if (ias>=0)

ias_det = 0;

ias = 0;

vas = eas;

else

ias_det = 1;

vas = vdc/2;

end

end

% compute B phase control voltage : p control or freewheeling

if ((mode~=3)&&(mode~=6))

ibs_det = 1;

wr_intg_pb = wr_intg_pb+ki_p*(ibs_cmd-ibs)*dt;

vbsc = kp_i*(ibs_cmd-ibs) + wr_intg_pb;

% vbsc = kp_i*(ibs_cmd-ibs);

if (vbsc>vc_lim_p)

vbsc = vc_lim_p;

elseif (vbsc<vc_lim_n)

vbsc = vc_lim_n;

end

if (vbsc>=vtr)

vbs = vdc/2;

else

vbs = -vdc/2;

end

elseif (((del_thr<0)&&(mode==3))||((del_thr>=0)&&(mode==6)))

if (ibs<=0)

ibs_det = 0;

ibs = 0;

vbs = ebs;

else

ibs_det = 1;

vbs = -vdc/2;

end

elseif (((del_thr>=0)&&(mode==3))||((del_thr<0)&&(mode==6)))

if (ibs>=0)

ibs_det = 0; ibs = 0; vbs = ebs;

else

ibs_det = 1;

vbs = vdc/2;

end

end

% compute C phase control voltage : p control or freewheeling

if ((mode~=5)&&(mode~=2))

ics_det = 1;

Page 39: LAPORAN PENELITIAN FAKULTAS

51

wr_intg_pc = wr_intg_pc+ki_p*(ics_cmd-ics)*dt;

vcsc = kp_i*(ics_cmd-ics) + wr_intg_pc;

% vcsc = kp_i*(ics_cmd-ics);

if (vcsc>vc_lim_p)

vcsc = vc_lim_p;

elseif (vcsc<vc_lim_n)

vcsc = vc_lim_n;

end

if (vcsc>=vtr)

vcs = vdc/2;

else

vcs = -vdc/2;

end

elseif ( ( (del_thr<0)&&(mode==5) )||( (del_thr>=0)&&(mode==2) ) )

if (ics<=0)

ics_det = 0;

ics = 0;

vcs = ecs;

else

ics_det = 1;

vcs = -vdc/2;

end

elseif ( ( (del_thr>=0)&&(mode==5) )||( (del_thr<0)&&(mode==2) ) )

if (ics>=0)

ics_det = 0;

ics = 0;

vcs = ecs;

else

ics_det = 1;

vcs = vdc/2;

end

end

% runge-kutta 4th order method to find ias

% seq_iabcs1 = @(t,x) ((-rs/ls_lm)*x)-eas/ls_lm+(1/ls_lm)*vas;

if (ias_det==1)

phase = 1;

x=ias;

grad_1 = ((-rs*x)-eas+vas)/ls_lm;

x=ias+dt*grad_1/2;

grad_2 = ((-rs*x)-eas+vas)/ls_lm;

x=ias+dt*grad_2/2;

grad_3 = ((-rs*x)-eas+vas)/ls_lm;

x=ias+dt*grad_3;

grad_4 = ((-rs*x)-eas+vas)/ls_lm;

ias = ias + (grad_1+2*grad_2+2*grad_3+grad_4)*dt/6;

end

% runge-kutta 4th order method to find ibs

%seq_iabcs2 = @(t,x) ((-rs/ls_lm)*x)-ebs/ls_lm+(1/ls_lm)*vbs;

if (ibs_det==1)

phase = 2;

x=ibs;

grad_1 = ((-rs*x)-ebs+vbs)/ls_lm;

x=ibs+dt*grad_1/2;

Page 40: LAPORAN PENELITIAN FAKULTAS

52

grad_2 = ((-rs*x)-ebs+vbs)/ls_lm;

x=ibs+dt*grad_2/2;

grad_3 = ((-rs*x)-ebs+vbs)/ls_lm;

x=ibs+dt*grad_3;

grad_4 = ((-rs*x)-ebs+vbs)/ls_lm;

ibs = ibs + (grad_1+2*grad_2+2*grad_3+grad_4)*dt/6;

end

% runge-kutta 4th order method to find ics

%seq_iabcs3 = @(t,x) ((-rs/ls_lm)*x)-ecs/ls_lm+(1/ls_lm)*vcs;

if (ics_det==1)

phase = 3;

x=ics;

grad_1 = ((-rs*x)-ecs+vcs)/ls_lm;

x=ics+dt*grad_1/2;

grad_2 = ((-rs*x)-ecs+vcs)/ls_lm;

x=ics+dt*grad_2/2;

grad_3 = ((-rs*x)-ecs+vcs)/ls_lm;

x=ics+dt*grad_3;

grad_4 = ((-rs*x)-ecs+vcs)/ls_lm;

ics = ics + (grad_1+2*grad_2+2*grad_3+grad_4)*dt/6;

end

% compute electromagnetic torque

tas = (pole/2)*kb*fas_thr*ias;

tbs = (pole/2)*kb*fbs_thr*ibs;

tcs = (pole/2)*kb*fcs_thr*ics;

te = tas+tbs+tcs;

%seq_wr = @(t,x)

(eas/inertia)*ias+(ebs/inertia)*ibs+(ecs/inertia)*ics-

(b_fric/inertia)*x-(1/inertia)*(te-tl);

% runge-kutta 4th order method to find [wr thr]

x=wr;

grad_1 = ((-b_fric*x)+(te-tl))/inertia;

tgrad_1 = (pole/2)*x;

x=wr+dt*grad_1/2;

grad_2 = ((-b_fric*x)+(te-tl))/inertia;

tgrad_2 = (pole/2)*x;

x=wr+dt*grad_2/2;

grad_3 = ((-b_fric*x)+(te-tl))/inertia;

tgrad_3 = (pole/2)*x;

x=wr+dt*grad_3;

grad_4 = ((-b_fric*x)+(te-tl))/inertia;

tgrad_4 = (pole/2)*x;

wr = wr + (grad_1+2*grad_2+2*grad_3+grad_4)*dt/6;

thr = thr + (tgrad_1+2*tgrad_2+2*tgrad_3+tgrad_4)*dt/6;

% save some variables

count = count+1;

p_vabcs(count,:) = [vas vbs vcs];

p_fabcs(count,:) = [fas_thr fbs_thr fcs_thr];

p_eabcs(count,:) = [eas ebs ecs];

p_isc(count,:) = [ias_cmd ibs_cmd ics_cmd ip_cmd];

p_iabcs(count,:) = [ias ibs ics];

p_torq(count,:) = [te_cmd te tas tbs tcs];

p_thr(count,:) = thr;

Page 41: LAPORAN PENELITIAN FAKULTAS

53

p_wr(count,:) = wr;

p_t(count,:) = tt;

p_hall(count,:)=mode;

% time is increased by dt

tt = tt+dt;

end

subplot(2,1,1);plot(p_t,p_wr*30/pi);

subplot(2,1,2);plot(p_t,rem(p_thr,2*pi));

%subplot(4,1,1);plot(p_t,p_hall);

%subplot(4,1,2);plot(p_t,p_eabcs(count,1));

%subplot(4,1,3);plot(p_t,p_eabcs(count,2));

%subplot(4,1,4);plot(p_t,p_eabcs(count,3));

Page 42: LAPORAN PENELITIAN FAKULTAS

54

Lampiran 3 Publikasi