UNIVERSITAS BINA NUSANTARA
Jurusan Sistem Komputer Skripsi Sarjana computer Semester Genap tahun 2005/2006
KONTROL POSISI PADA MOTOR DC DENGAN FPGA Harry
0500589552
Bunny Diredja
0500593392
Wadi
0500582294
Abstrak Kontrol posisi pada motor DC merupakan salah satu bagian yang sangat penting dalam dunia perindustrian. Perkembangan teknologi digital yang begitu pesat sekarang ini memungkinkan pengontrolan dilakukan secara digital. FPGA adalah salah satu media pendukung yang dapat digunakan untuk merancang algoritma pengontrolan PID digital. Dengan menggunakan FPGA, perancangan sistem yang dibuat dapat lebih mudah untuk dikembangkan, dan pada perancangannya menggunakan bahasa pemograman VHDL. Kesimpulan yang diperoleh dari sistem yang dirancang adalah kontrol posisi dari tiga buah motor DC secara bergantian dengan kecepatan tinggi dan dapat dikategorikan simultan sudah dapat dilakukan, akan tetapi tingkat kestabilannya perlu ditingkatkan, karena pada respon sistem masih terdapat overshoot dan error posisi. Sistem sudah dapat dikatakan stabil karena tidak terdapat osilasi yang simpangannya tetap atau membesar dengan maksimum time sampling 4,85376 ms pada setiap motor DC. Motor DC hanya mampu mengangkat beban sebesar ±50 gr yang berjarak ±5 centimeter dari titik poros putaran pada motor DC.
Kata kunci : Kontrol posisi, FPGA, kestabilan, time sampling, beban.
iv
Kata Pengantar
Pertama-tama penulis mengucapkan puji dan syukur kepada Tuhan Yang Maha Esa, atas berkat rahmat-Nya sehingga skripsi ini dapat diselesaikan dengan baik. Judul skripsi yang dibuat penulis adalah ‘Kontrol Posisi Pada Motor DC Dengan FPGA’. Skripsi ini dibuat sebagai syarat dalam menyelesaikan studi strata 1 (S1) pada Jurusan Sistem Komputer Universitas Bina Nusantara. Penulis sadar bahwa karya ilmiah ini jauh dari sempurna, sehingga masukanmasukan guna pengembangan dan penyempurnaan lebih lanjut dengan senang hati penulis persilahkan. Dalam kesempatan ini juga penulis ingin mengucapkan terima kasih kepada berbagai pihak yang telah memberikan bantuan dan dukungan moril selama pembuatan skripsi sehingga dapat menyelesaikannya dengan baik, mereka adalah: 1.
Seluruh anggota keluarga penulis, yang memberikan dukungan baik moril maupun materil secara terus menerus dalam segala hal.
2.
Bapak Satrio Dewanto Drs., M.Eng., Selaku Dosen Pembimbing dan Dosen Kepala Bagian Inti Jurusan Sistem Komputer yang telah memberikan dukungan moril, mengorbankan waktu dan tenaganya untuk memberikan bimbingan, nasihat, saran dan kritik yang membangun selama pembuatan skripsi ini.
3.
Bapak Wiedjaja, S.Kom., selaku Kepala Jurusan Tehnik Komputer yang telah memberikan dukungan moril, mengorbankan waktu dan tenaganya untuk memberikan nasihat, saran dan kritik yang membangun selama pembuatan skripsi ini.
4.
Bapak Prof. Dr. Gerardus Polla, M.App.Sc., selaku Pj. rektor Universitas Bina Nusantara, yang telah memberikan kepercayaan dan kesempatan kepada penulis selama pembuatan skripsi ini.
5.
Rekan-rekan mahasiswa yang tidak dapat disebutkan satu-persatu yang telah memberikan dorongan semangat kepada penulis.
v
6.
Para asisten UPT PK Universitas Bina Nusantara, yang membantu penulis dalam menyelesaikan skripsi ini.
7.
Civitas Akademika Universitas Bina Nusantara tempat penulis menimba ilmu selama ini.
Akhir kata dengan segala kerendahan hati, penulis mohon maaf apabila ada kata yang kurang berkenan dihati. semoga skripsi ini dapat bermanfaat bagi para pembaca dan almamater dalam studi akademik dimasa yang akan datang.
Jakarta, 23 January 2006
Penulis
vi
DAFTAR ISI
Halaman Judul Luar………………………………………………………………......i Halaman Judul Dalam……………………………………………………….……......ii Halaman Persetujuan Hardcover………….……………………………………….....iii Halaman Pernyataan Dewan Penguji...........................................................................iv Abstrak…………………………………………………………….............................v Kata Pengantar…………………………………………………………….................vi Halaman Penulis……………………………………………………..……...….........viii Daftar Isi…………………………………………………………………………......ix Daftar Tabel……………………………………………………………………….....xiv Daftar Gambar……………………………………………………………..……...….xv Daftar Lampiran……………………………………………………………………..xvii
BAB 1 PENDAHULUAN 1.1
Latar Belakang............................................................................................1
1.2
Ruang Lingkup...........................................................................................3
1.3
Tujuan dan Manfaat....................................................................................4
1.4
Metodologi.................................................................................................5
1.5
Sistematika Penulisan.................................................................................5
BAB 2 LANDASAN TEORI 2.1
Langkah-Langkah Dalam Merancang Sistem Control ..............................7
2.2
Sistem Control............................................................................................8
viii
2.2.1
Penggolongan Sistem Control……………………………......…..8 2.2.1.1 Sistem Untaian Terbuka ( Loop Terbuka)…………….….8 2.2.1.2 Sistem Untaian Tertutup ( Loop Tertutup)………............9
2.3
Kestabilan Sistem…………………………………………………..…...10
2.4
Beberapa Model Conntroller…………………………….…...…….…...10 2.4.1
Controller " on " dan " off "………………………........………..11
2.4.2
Controller Proporsional ( P )…………………...………...……..11
2.4.3
Controller Integral ( I )…………………………...………...…...12
2.4.4
Controller Diferensial ( D )……………………….....……….…14
2.4.5 Pengontrolan Controller Dengan Integral DenganDerivative (PID)………………………………………………..16 2.5
2.6
2.7
Motor DC................................................................................................19 2.5.1
Perkembangan Motor DC……………………………..…….….19
2.5.2
Cara Kerja dan Persamaan Matematik dari Motor DC................20
Analog to Digital Converter – ADC………………………………...…..21 2.6.1
Sampling…………………………………………...….………...22
2.6.2
Quantisasi………………………………………………….……23
2.6.3
Coding…………………………………………………………..24
2.6.4
Tahapan dari ADC………………………………………...…….24
2.6.5
Error dalam ADC.........................................................................24
Digital to Analog Converter – DAC.........................................................25 2.7.1
Weighted Resistor………………………………………………25
2.7.2
R-2R Ladder…………………………………………………….26
2.7.3
Error……………………………………………….….…………27 ix
2.8
2.9
2.10
FPGA………………………………………………………….………...29 2.8.1
Sejarah Perkembangan FPGA…………………………………..29
2.8.2
Keuntungan Menggunakan FPGA………………….......………30
2.8.3
Aplikasi Dari FPGA…………………………………………….30
2.8.4
Pengenalan VHDL…………………………………….………...32
2.8.5
Beberapa Syntax yang terdapat dalam VHDL…………….……33
2.8.6
Data Object………………………………………………..…….33
2.8.7
Standard Data Types…………………………………………….34
2.8.8
IEEE Standard Logic Type std_logic…………………………...34
Op-Amp……………………………………………………….………...35 2.9.1
Karateristik Op-Amp yang ideal………………………………..35
2.9.2
Macam-Macam Penguatan………………………………...……37
2.9.3
Cara kerjanya dari Penguatan Operasional……………...………38
Sensor Posisi…………………………………………………….………39
BAB 3 PERANCANGAN SISTEM 3.1
Power Supply............................................................................................41 3.1.1
3.2
ADC (Analog to Digital Converter).........................................................42 3.2.1
3.3
Perancangan Power Supply..........................................................41
Perancangan ADC………………………………………….......43
DAC (Digital to Analog Converter)…………………….........................47 3.3.1 Perancangan DAC (Digital To Analog Converter).........................48
3.4
Modul Penguat Tegangan dan Penguat Arus...........................................51 3.4.1 Perancangan Penguat Tegangan dan Penguat Arus.........................52
3.5
Modul Interconnection……………………………………………....…..53 x
3.6
Modul FPGA……………………………………………………………53 3.6.1 Perancangan Implementasi Algoritma PID Pada FPGA…….……54 3.6.1.1 Clock Controller dan KP, KI, KD, Set Point……………55 3.6.1.1.1 Clock Controller……………………………….57 3.6.1.1.2 Register Kp, Ki, Kd, Set Point...........................62 3.6.1.2 PID Arithmatic…..……………………………………....67
3.7
Metode –Metode Pembuatan Operasi Aritmatik ......................................73 3.7.1 Operasi Pengurangan .......................................................................73 3.7.2 Operasi Perkalian..............................................................................76 3.7.3 Operasi Penjumlahan 1………………………………………….…77 3.7.4 Operasi Penjumlahan 2………………………………………….…79
BAB 4 IMPLEMENTASI DAN EVALUASI 4.1
4.2
4.3
Implementasi Hardware.............................................................................84 4.1.1
Implementasi Power Supply..........................................................84
4.1.2
Implementasi Sinyal Converter......................................................84
4.1.3
Implementasi Modul Set Point………………….………………..85
4.1.4
Implementasi Modul Keypad………………….….….…………..85
4.1.5
Implementasi Modul Penguat arus…………….….….…………..85
4.1.6
Implementasi Modul Interconnection………….….……………..86
4.1.7
Implementasi Sistem Control PID Pada Modul FPGA……….….86
Implementasi Software...............................................................................87 4.2.1
Implementasi Software pada FPGA……………...........................87
4.2.2
PID Controller................................................................................88
Cara Mengoperasikan Sistem Dengan Keypad..........................................88 xi
4.4
Data Hasil Percobaan.................................................................................89 4.4.1
Hasil percobaan untuk mencari nilai Kp…………………………89
4.4.2
Hasil percobaan untuk mencari nilai Kd…………………………91
4.4.3
Hasil percobaan untuk mencari nilai K1…………………………92
4.5
Data hasil percobaan dengan menggunakan Osiloskop Digital……...…109
4.6
Evaluasi Sistem……………………………………………………...….111
BAB 5 KESIMPULAN DAN SARAN 5.1
Kesimpulan.............................................................................................112
5.2
Saran.......................................................................................................113
DAFTAR PUSTAKA.....................................................................................................115 RIWAYAT HIDUP........................................................................................................117 LAMPIRAN LAMPIRAN LISTING PROGRAM.................................................................LA1 LAMPIRAN TABEL........................................................................................LB1
xii
DAFTAR TABEL
Tabel 3.1
Selector Internal DAC..............................................................................49
Tabel 3.2
Lookup Table Instruksi Decoder..............................................................58
Tabel 3.3
Tabel Kebenaran modul Select store........................................................64
Tabel 3.4
Fungsi input untuk Register motor...........................................................64
Tabel 3.5
Fungsi input dan output decoder 2 to 3………………………………....66
Tabel 4.1
Tabel hasil percobaan untuk mencari nilai Kp…………………….……90
Tabel 4.2
Tabel hasil percobaan untuk mencari nilai Kd………………………….91
Tabel 4.3
Tabel hasil percobaan untuk mencari nilai Ki…………………………..92
Tabel 4.4
Tabel hasil percobaan output dari respon motor......................................93
xiii
DAFTAR GAMBAR
Gambar 2.1
Sistem Pengendalian lup terbuka...............................................................9
Gambar 2.2
Sistem Pengendalian lup tertutup ............................................................10
Gambar 2.3
Blok Diagram Controller Proporsional ...................................................12
Gambar 2.4
Blok diagram Controller Integral ............................................................13
Gambar 2.5
Blok.Diagram Controller Diferensial …………...……………………...14
Gambar 2.6
Kurva waktu hubungan input-output Controller Diferensial …………...15
Gambar 2.7
blok diagram Controller Proporsional dengan Integral dan dengan Derivative ( PID )……………………………………………………….17
Gambar 2.8
Perbandingan hasil Controller Proporsional ( P ) dengan Controller Proporsional ditambah Derivative ( PD ) dengan Proporsional ditambah Integral ditambah Derivative ( PID )……………………………………18
Gambar 2.9
ADC dengan output n-bit.........................................................................22
Gambar 2.10 Sinyal Analog sebelum dan sesudah disampling.....................................22 Gambar 2.11 Sinyal Analog yang memiliki waktu sampling yang minimum……...…23 Gambar 2.12 Tahapan konversi dari analog ke sinyal digital .......................................24 Gambar 2.13 Rangkaian Weighted Resistor……………………………………….….26 Gambar 2.14 Rangkaian R-2R Ladder...........................................................................27 Gambar 3.1
Blok Diagram Keseluruhan......................................................................40
Gambar 3.2
Skematik Power Supply..........................................................................42
xiv
Gambar 3.3
Skematik Modul ADC.............................................................................44
Gambar 3.4
Skematik Modul DAC…………………………………………………..49
Gambar 3.5
Rangkaian Penguat Tegangan dan Penguat Arus.....................................52
Gambar 3.6
Skematik Clock Controller.......................................................................57
Gambar 3.7
Skematik Input KP, KI, KD, Set Point.....................................................62
Gambar 3.8
Skematik feedback Posisi.........................................................................65
Gambar 3.9
Skematik dari PID Arithmatic..................................................................68
Gambar 3.10 Diagram Alir Sistem.................................................................................82 Gambar 4.1
Respon feedback motor DC 1 dengan beban………………………….109
Gambar 4.2
Respon feedback motor DC 2 dengan beban………………………….110
Gambar 4.3
Respon feedback motor DC 3 dengan beban………………………….110
xv
Daftar Lampiran
Lampiran A ADDER1.vhd................................................................................................................LA1 ADDER2.vhd................................................................................................................LA2 ADDER3.vhd................................................................................................................LA3 clk_div.vhd....................................................................................................................LA3 count1.vhd.....................................................................................................................LA4 count_com.vhd..............................................................................................................LA5 dec2to3.vhd...................................................................................................................LA6 dec_commander.vhd.....................................................................................................LA6 dec_sel_reg.vhd.............................................................................................................LA8 min1.vhd........................................................................................................................LA9 min2.vhd......................................................................................................................LA10 mul1.vhd......................................................................................................................LA11 mul2.vhd......................................................................................................................LA11 mul3.vhd......................................................................................................................LA12 mul4.vhd......................................................................................................................LA13 mux2to1.vhd................................................................................................................LA14 PIDsystem.vhd............................................................................................................LA14 red1.vhd.......................................................................................................................LA24 red2.vhd.......................................................................................................................LA25 reg_error0.vhd.............................................................................................................LA26
xvi
reg_error1.vhd.............................................................................................................LA28 reg_error2.vhd.............................................................................................................LA30 reg_error3.vhd.............................................................................................................LA32 reg_kd.vhd...................................................................................................................LA33 reg_ki.vhd....................................................................................................................LA35 reg_kp.vhd...................................................................................................................LA37 reg_sp.vhd...................................................................................................................LA39 Lampiran B Tabel 3.1
Selector Internal DAC...........................................................................LB1
Tabel 3.2
Lookup Table Instruksi Decoder...........................................................LB1
Tabel 3.3
Tabel Kebenaran modul Decoder Select Register ................................LB3
Tabel 3.4
fungsi input untuk Register motor.........................................................LB3
Tabel 3.5
Fungsi input dan output decoder 2 to 3.................................................LB4
Tabel 4.1
Tabel hasil percobaan untuk mencari nilai Kp......................................LB4
Tabel 4.2
Tabel hasil percobaan untuk mencari nilai Kd .....................................LB5
Tabel 4.3
Tabel hasil percobaan untuk mencari nilai Ki………………...….…...LB6
Tabel 4.4
Tabel hasil percobaan output dari respon motor....................................LB7
Lampiran C Data Sheet
xvii