PENGENDALI DIGITAL UNIVERSAL BERBASIS FPGA
UNIVERSAL DIGITAL CONTROLLER BASED FPGA
Nanang Roni Wibowo, Rhiza S Sadjad, Syafaruddin
Program Studi Teknik Elektro, Konsentrasi Teknik Komputer, Kendali dan Elektronika, Fakultas Teknik, Universitas Hasanuddin Makassar
Alamat Korespondensi : Nanang Roni Wibowo Program Studi Teknik Elektro Konsentrasi Teknik Komputer, Kendali dan Elektronika Fakultas Teknik Universitas Hasanuddin Makassar HP: 082292306658 Email:
[email protected]
Abstrak Penelitian ini bertujuan merancang chip pengendali digital yang mampu dikonfigurasi jenis dan parameter pengendalinya dengan menggunakan teknologi FPGA sehingga dapat digunakan untuk mengendalikan plant berbeda. Perancangan ini menggunakan metode Top-Down dengan menyusun spesifikasi dari pengendali digital secara menyeluruh yang dilanjutkan dengan perancangan bagian modul-modul penyusun sebelum diimplementasikan dilakukan pengujian dengan functional simulation dan timing simulation terhadap modul. Proses selanjutnya prototipe dengan mengimplementasikan arsitektur sistem kedalam chip. Pengujian dilakukan dengan thermal plant. Penelitian ini berhasil merancang modul user interface dan modul pengendali on-off pada chip Altera Cyclone IV EP4CE22F17C6N pada DE0-Nano Board yang terintegrasi dengan ADC128S022, representasi data yang dipergunakan 10 bit fixedpoint 2’s complements, modul ADC beroperasi pada frekuensi 2MHz (periode 0,5µs), modul pengendali digital on-off beroperasi pada frekuensi maksimum 723,07MHz sehingga waktu komputasi minimumnya adalah 1,38ns. Hasil functional simulation pengendali on-off mampu beroperasi sesuai dengan state machine yang direncanakan dan setiap terjadi reset mampu kembali ke initial state. Pengendali digital dapat ditambahkan untuk melengkapinya.
Kata kunci : FPGA, ADC, digital Controller, on-off Controller. Abstract This research aimed to design the digital controller chip which could configure the type and the parameter of its controller by using the FPGA technology so that it could be used to control a different plant. The design used the Top-Down method by composing the spesification of the whole digital controller. Then it was continued by designing the parts of the module compiler. Before the implementation, a test was conducted with the functional simulation and the timing simulation againts the module. The next process was the implementation of the system architecture into the chip in order to test the thermal plant. The research succeded to design the user interface module and on-off controller module on the Altera Cyclone IV EP4CE22F17C6N on DE0-Nano Board which was integrated with ADC128S022 chip. The data representation used 10 bit fixedpoint 2’s complements, the ADC module operated on the frequency of 2MHz (period 0.5µs), the on-off digital controller operated on maximum frequency of 723.07MHz, so that its minimum time computation was 1.38ns. The result of the functional simulation of the on-off controller was able to operate according to the planned state machine and at every reset it could return to the initial state. The digital controller could be added to complete the set. Keywords: FPGA, ADC, digital Controller, on-off Controller.
PENDAHULUAN Teknik kendali mempunyai pengaruh yang besar dalam mengambil peranan terhadap perkembangan ilmu pengetahuan dan teknologi, banyak hal telah dilakukan dengan teknik pengendalian yang awalnya banyak dipergunakan dalam pengendalian pesawat ruang angkasa, peluru kendali serta pengemudian pesawat, seiring waktu teknik kendali kemudian banyak dimanfaatkan pula terhadap proses pabrik dan industri modern, disamping pula dimanfaatkan untuk bidang keilmuan lainya. Dalam menjalankan suatu teknik pengendalian dibutuhkan adanya suatu perangkat atau tools yang biasa disebut Pengendali/ Controller. Salah satu contoh aplikasi teknik kendali pertama dibuat dalam bentuk sistem mekanik seperti Governor sentrifugal yang dipergunakan untuk pengendalian kecepatan mesin uap yang dibuat oleh James Watt pada abad ke-18, perkembangan teknik kendali selanjutnya dilanjutkan oleh Minorsky, Hazen, dan Nyquist sebagai awal perkembangan teori kendali (Ogata, 1996). Dengan ditemukannya komputer, teknik pengendalian mengalami perkembangan pesat, dengan kemampuan untuk melakukan perhitungan – perhitungan kompleks sehingga dalam penerapannya langsung menjadi bagian dalam sistem kendali (Basri, 2011). Utamanya komputer digital dengan komponen digital yang mempunyai kelebihan tahan terhadap noise dan kemudahan dalam pengembangan sistem pada bagian perangkat lunak tanpa banyak merubah perangkat kerasnya (Ogata, 1995). Dalam aplikasinya pengendali digital dengan komponen- komponen digital dirangkai sedemikian rupa yang disesuaikan dengan kondisi bagian yang akan dikendalikan. Namun kendalanya adalah tidak semua kendalian/ plant memiliki kondisi masukan dan keluaran yang sama. Sehingga setiap rangkaian pengendali yang dirancang hanya dipergunakan untuk sebuah kendalian/ plant yang telah ditentukan sebelumnya (Basri, 2011). Dalam pembuatan pengendali digital terdapat dua metode perancangan yang didasarkan pada hasil akhirnya, metode perancangan yang pertama adalah metode perancangan dengan memanfaatkan suatu perangkat keras yang mempunyai arsitektur tertentu dengan menyusun suatu kode bahasa program yang kode tersebut dijadikan acuan perangkat keras dalam beroperasi. Perangkat keras yang dipergunakan dalam metode pertama seperti mikroprosesor, mikrokontroler, chip digital signal processing (Khan, 2012). Metode perancangan kedua dengan menggunakan perangkat keras yang terdiri atas block logika, I/O block dan wire dan switches (Brown et al., 2003). Dengan membuat suatu kode program dengan bahasa pemrograman hardware, setelah dilakukan sintesis selanjutnya diperoleh hasil berupa rangkaian gerbang logika yang selanjutnya diimplementasikan kedalam FPGA
sehingga terbentuk arsitektur yang beroperasi berdasarkan logika yang direncanakan (Chu, 2008). metode kedua mempunyai kelebihan waktu operasi lebih cepat jika dibandingkan metode pertama yang beroperasi secara squencial, kelebihan lain dapat dirancang arsitektur dengan operasi paralel dalam sebuah chip (Khan, 2012) dan (Abdelati, 2008). Penelitian sebelumnya telah dilakukan oleh (Basri, 2011) dengan diimplementasikan pengendali PID menggunakan metode perancangan dengan menggunakan komponen Mikrokontroler AT89S51 dengan hasil waktu komputasi pengendali PID sebesar 1585µs, perancangan dari penelitian sebelumnya masih menggunakan metode perancangan dengan hasil berupa kode program yang dijalankan secara tersetruktur sehingga mempunyai keterbatasan karena kecepatan ditentukan oleh kemampuan dari perangkat keras yang digunakan. Tujuan dari penelitian ini adalah merancang chip pengendali digital yang mampu dikonfigurasi jenis dan parameter pengendalinya dengan menggunakan teknologi FPGA sehingga dapat digunakan untuk mengendalikan kendalian/ plant berbeda. Jenis pengendali yang akan direncanakan adalah pengendali yang banyak dipergunakan di industri seperti pengendali on-off dan pengendali PID.
METODOLOGI PENELITIAN DAN BAHAN Lokasi dan Waktu Penelitian Penelitian akan dilaksanakan dari bulan Februari 2012 - Februari 2013, dengan lokasi penelitian adalah Laboratorium Sistem Kendali dan Instrumentasi (LSKI) dan Laboratorium Devais Elektronika Universitas Hasanuddin Makassar, Indonesia. Metode Pengumpulan Data Dalam penelitian ini metode pengumpulan data dilakukan dengan pengukuran variabel, Terdapat dua sumber data dalam penelitian ini, yaitu sumber data primer yang merupakan data yang diperoleh oleh peneliti selama menjalankan penelitian serta data sekunder yang merupakan data pendukung yang diperoleh dari penelitian lainya. Peralatan dan Bahan Pada perancangan ini dipergunakan beberapa peralatan dan bahan yang terbagi dalam dua bagian, yaitu Peralatan dan Bahan yang berupa perangkat keras seperti : Perangkat Komputer, Modul DE0-Nano dan kelengkapannya, Modul Filter dan Anti Aliasing, catu daya tegangan, box mika dengan ukuran 23cm x 7cm x 7cm tebal 5mm sebagai plant, beberapa komponen elektronika seperti pushbutton, dipswitch , LCD dan sensor suhu LM35, lampu bolam 12Vdc dan kipas 12Vdc sebagai pemanas dan pendingin udara untuk plant.
Perancangan diperlukan perangkat lunak Quartus II Version 10.1 Web Edition dan MultisimAltera Version 6.6c yang dikeluarkan oleh Altera. Modul DE0-Nano adalah modul yang diproduksi oleh pabrikan dari Taiwan Terrasic corp (Terrasic, 2003). Modul board ini diperuntukan untuk proses prototipe pengembangan sistem berbasis chip FPGA dengan beberapa fitur berikut : terdapat chip FPGA Altera Cyclone IV EP4CE22F17C6N, 12 bit ADC 8 channel NS ADC128S022, 50ksps 200kspsCrystal Oscilator 50MHz, 8 LED, 2 pushbutton dan 4 dipswitch dan komponen pelengkap lainya (Terrasic, 2003). Sensor Suhu Sensor suhu LM35 berfungsi untuk mengubah besaran fisis yang berupa suhu menjadi besaran elektrik tegangan. Sensor ini memiliki karakteristik bahwa setiap terjadi perubahan suhu 1oC maka sensor akan menghasilkan kenaikan tegangan sebesar 10mV, sensor LM35 mampu
beroperasi
pada
rentang
suhu
-55oC
sampai
dengan
150oC.
http://www.biltek.tubitak.gov.tr/gelisim/elektronik/dosyalar/5/LM35.pdf, diakses 4 Agustus tahun 2014. Quartus II Version 10.1 Web Edition Program Quartus II Version 10.1 Web Edition adalah program yang dipergunakan dalam proses perancangan sistem digital yang dikeluarkan oleh perusahaan pembuat Chip FPGA Altera.corp untuk mendukung proses perancangan sistem digital menggunakan Chip FPGA Cyclone IV dan lainya, program ini mempunyai banyak fungsi perancangan dengan beberapa metode design entry, seperti metode design entry Schematic Capture, metode design entry menggunakan Verilog dan VHDL dan metode design entry dengan tabel kebenaran. Program dapat diakses di http://www..altera.com/mySupport. Diakses 24 Juli tahun 2013. Multisim-Altera Version 6.6c Program simulasi yang dikeluarkan perusahaan Mentor Grafik Corporation yang untuk simulasi fungsional dan simulasi timing untuk memperoleh gambaran dari operasi sistem digital bekerja seperti yang diinginkan, metode simulasi yang dipergunakan menggunakan metode testbench yaitu pengujian modul device under test (DUT) dengan membuatkan sebuah modul testbench yang memberikan inputan ke DUT berupa isyarat stimulus dan membaca respons DUT pada keluaranya. Program dapat diakses di http://www..altera.com/mySupport. Diakses 24 Juli tahun 2013. Perancangan Kendalian Untuk mendapatkan karakteristik dinamis maka perlu dirancang sebuah kendalian yang nantinya akan di kendalikan menggunakan pengendali digital universal untuk diamati
respon dinamis dan untuk proses validasi pengendali yang dirancang dibuat sistem kendali suhu. Kendalian dibangun dengan menggunakan bahan mika atau acrylics 5mm berbentuk balok dengan dimensi 23cm x7cm x7cm (Suryadi, 2005) dan (Suryadi dkk., 2007). Variabel keadaan dari kendalian adalah Tud (suhu udara dalam kotak) dan Tm ( suhu kotak mika), masukan panas ke sistem Q(t) diberikan oleh pemanas berupa bola lampu pijar dan suhu udara luar (Tul), hal ini menimbulkan transfer panas terhadap kotak mika sebagai bahan yang mengisolasi udara luar dan dalam, kendalian mempunyai dua aktuator :pemanas dengan lampu pijar 5W/12Vdc dan pendingin menggunakan kipas 12Vdc/0,12W. yang akan diatur oleh pengendali untuk menjaga agar suhu didalam kotak sesuai atau mendekati isyarat acuan. Perancangan Pengendali On-off Pengendali on/off adalah pengendali yang bekerja hanya dalam dua posisi dengan mengacu pada isyarat kesalahan e(k) yang menghasilkan isyarat aktuasi (u(k)) pada suatu kondisi yang tetap pada nilai maksimum dan minimumnya, persamaan umum pengendali digital on-off adalah
Persamaan diatas merupakan kondisi ideal sebuah pengendali on-off ( Astrom, 1995). untuk mengurangi proses perubahan kondisi on dan off yang cepat maka dibutuhkan parameter tambahan berupa hysteresis (h), sehingga diperoleh persamaan berikut
Berdasarkan persamaan diatas dapat dibuat finite state machine seperti pada Gambar 1. Ketika terjadi reset pengendali on-off menuju pada state S0 yang mempunyai kondisi sebagai berikut.
Operasi selanjutnya bandingkan nilai |e(k)| < hatas dan hbawah jika terpenuhi state tetap di state S0 dan jika e(k) < hbawah maka state berpindah ke state S1 yang mempunyai kondisi seperti berikut.
Pada state S1 dilakukan pengujian jika nilai |e(k)| < hatas dan hbawah maka state tetap di state S1, jika e(k) > hatas maka state berpindah kembali ke state S0. Perancangan Pengendali PID Pengendali PID merupakan pengendali yang melakukan proses perhitungan dengan tiga parameter proportional, integral dan derivative , untuk mengimplementasikan pengendali PID terdapat 2 algoritma yang bisa diimplementasikan, yaitu : positional algorithm dan incremental algorithm/ velocity algorithm (Khan, 2012) dan (Triyanto, 2008). Dalam penelitian dipergunakan incremental algorithm dengan algoritma persamaan berikut.
Dengan nilai konstanta dari K0, K1, K2 merupakan nilai parameter pengendali PID Incremental Algorithm yang diperoleh dari persamaan positional Algorithm dengan hubungan sebagai berikut.
Kp, Kd, Ki merupakan nilai konstanta dari positional Algorithm untuk parameter proportional, integral dan derivative. Dari persamaan diatas dirancang arsitektur pengendali PID seperti Gambar 2. Pengendali PID dengan menggunakan incremental algorithm, isyarat kesalahan e(kT) diperoleh dari selisih isyarat acuan SP(kT) dengan isyarat umpan balik u(kT), seluruh komponen bekerja dengan menggunakan isyarat clock yang mengatur frekuensi sampling dari pengendali PID digital, pada setiap perubahan isyarat clock menyebabkan nilai isyarat e(k) akan di latch oleh Reg1 sehingga pada siklus ini nilai e(k) disimpan menjadi nilai e(k-1) dan siklus selanjutnya lagi nilai e(k) di latch oleh Reg2 sehingga diperoleh nilai e(k-2) begitu pula dengan nilai u(k) akan di latch oleh Reg3 sehingga menjadi u(k-1). Diagram pada Gambar 2 merupakan diagram rancangan paralel yang selanjutnya diimplementasikan kedalam chip FPGA. Pengendali PID digital dengan incremental Algorithm mampu menghindari terjadinya akumulasi isyarat e(k) serta dapat beralih dari mode operasi manual ke otomatis secara lebih halus.
HASIL PENELITIAN Pengimplementasian dari pengendali digital hasil perancangan membutuhkan komponen lain untuk melengkapi sehingga dapat dioperasikan secara nyata, modul yang dipergunakan adalah DE0-Nano dari Terrasic yang didalamnya sudah dilengkapi dengan chip
FPGA Cyclone EP4C22F17C6 dan komponen ADC 12bit ADC128S022, 2 pushbutton, dan 4 dip switch untuk melengkapinya ditambahkan perangkat keras yang berfungsi sebagai user interface, yaitu : LCD 16X2 dan dip switch dan pushbutton tambahan serta konverter RS232 menggunakan MAX232, Komponen lainya adalah Driver pemanas dan kipas. Untuk mengoperasikan perangkat tersebut perlu dibuatkan modul interface yang diimplementasikan kedalam FPGA sehingga didalamnya terbentuk arsitektur sistem pengendali digital universal yang mampu mengakomodasi pengendali on-off digital dan pengendali PID digital. Bagian user interface yang terbentuk adalah bagian debouncer untuk membersihkan pengaruh debounce dari operasi mekanis komponen pushbutton, 2 modul decoder yang bekerja untuk menaikan dan menurunkan nilai modul counter yang berakibat perubahan nilai register dengan tergantung pin select(A/B) pada modul multiplekser sebagaimana tabel 1. Implementasi Pengendali On-Off Pengendali on-off yang telah dibuat sebelum diimplementasikan kedalam FPGA perlu dilakukan pengujian functional simulation untuk memperoleh informasi apakah pengendali digital beroperasi dengan logika yang diinginkan dan timing simulation untuk memperoleh informasi frekuensi clock maksimum yang dapat diberikan pada pengendali digital. Timing simulation dilakukan dengan menggunakan TimeQuest timing analyzer yang disediakan oleh Quartus II dari hasil simulasi diperoleh frekuensi maksimum sebesar 723.07MHz (periode 1,38 ns) langkah selanjutnya dilakukan Functional simulation dilakukan dengan membuat hardware testbench yang memberikan stimulus ke pengendali on-off digital berupa isyarat clk, rst, err, bts_up, bts_down. Isyarat clk merupakan isyarat clock untuk mengsinkroniasikan operasi seluruh komponen, isyarat rst (reset) dipergunakan untuk menempatkan pengendali on-off digital kembali ke state0. Err merupakan isyarat kesalahan (error), bts_up dan bts_down adalah nilai histeresys yang diinginkan. Dengan memberikan stimulasi maka diperoleh hasil respon dari pengendali digital onoff untuk kondisi isyarat kesalahan e(kT) dan isyarat reset yang dilakukan perubahan. Dengan menggunakan aplikasi ModelSIM Altera 6.6 diperoleh hasil pengujian fungsional seperti pada gambar 3. Kondisi isyarat kesalahan dikondisikan menyerupai respon plant sebenarnya, menunjukan kondisi awal di berikan isyarat stimulus err =0, bts_up = 1 dan bts_down = -1 maka pengendali on-off digital memberikan respon pada keluaran heater = 1 atau on dan fan = 0 atau off, kondisi ini sudah memenuhi finite state machine, dimana setelah terjadi reset maka pengendali menuju state 0, pada langkah selanjutnya isyarat rst diberikan nilai 1 menyebabkan pengendali mulai bekerja dengan membandingkan nilai isyarat kesalahan e(k) dengan bts_up dan bts_down, diketahui bahwa state berubah pada saat nilai err = -1 dari state
0 ke state 1 kondisi heater = 0 atau off dan fan = 1 atau on sesuai dengan perancangan yaitu berada pada state 1 dimana err < bts_down, perubahan state juga terjadi pada saat err > bts_up yaitu dari state 1 ke state 0. State tidak akan berubah pada saat nilai isyarat bts_down ≤ e(k) ≤ bts_up sesuai dengan kondisi state sebelumnya. Functional simulation selanjutnya dilakukan untuk mengetahui apakah fungsi dari isyarat rst dapat mengembalikan pengendali -on-off digital- dapat beroperasi sebagaimana yang direncanakan yaitu setiap terjadi rst = 0 maka state kembali state 0. Pengujian dilakukan dengan memberikan isyarat rst=0. Dengan memberikan isyarat stimulus yaitu memberikan isyarat rst = 0 ketika pengendali sedang beroperasi. Functional simulation pada gambar 4 dilakukan untuk kondisi isyarat rst = 0 diberikan pada kondisi pengendali sedang beroperasi. Pada saat awal kondisi rst = 0, err = 6 memberikan respon keluaran pengendali heater=1 fan = 0 atau kondisi pengendali berada pada state 0 terjadi operasi pemanasan terhadap plant, pada saat masih berada didalam state 0 kemudian terjadi isyarat rst = 0 maka pengendali menuju state 0 karena kondisi plant menunjukan kondisi isyarat bts_down ≤ e(k) ≤ bts_up, maka state masih tetap berada di state 0, bagaimana jika terjadi kondisi rst = 0 dengan pengendali berada pada state 1, state akan berpindah dari state 1 ke state 0 selama isyarat rst = 0, jika isyarat rst = 1 dan kondisi isyarat bts_down ≤ e(k) ≤ bts_up masih terpenuhi maka pengendali akan kembali ke state 1.
PEMBAHASAN Penelitian ini menunjukan bahwa perancangan sistem digital dengan mengunakan teknologi FPGA merupakan teknologi untuk proses prototipe sebelum dilakukan proses fabrikasi rancangan chip pengendali digital, hasil sintesis dari kode Verilog-HDL adalah rangkaian yang terdiri atas gerbang - gerbang logika dengan arsitektur pada sebuah chip yang beroperasi sesuai denga algoritma pengendali yang dirancang, karena implementasi merupakan rancangan perangkat keras sehingga diperoleh kecepatan operasi lebih tinggi dibandingkan dengan teknologi mikroprosesor/ mikrokontroler yang operasinya dilakukan secara squencial tergantung jumlah Arithmatics and Logic Unit. Penelitian ini memperlihatkan bahwa pengendali digital yang dirancang terdapat dua bagian utama, yaitu bagian user interface yang dipergunakan oleh operator pengendali digital untuk melakukan konfigurasi jenis pengendali yang diinginkan dan parameter pengendalianya, dengan kemampuan operasi pengendali dapat dilakukan konfigurasi pengendali digital dapat dipergunakan untuk kendalian/ plant dengan fungsi alih yang berbeda.
Pada penelitian ini memperlihatkan bahwa hasil functional simulation diperoleh operasi bahwa state initial adalah state 0 yaitu kondisi heater =on dan fan =off dengan mengasumsikan kondisi awal suhu ruang berada dibawah nilai suhu setpoint sehingga perlu dilakukan operasi pemanasan, disamping sebagai state 0 adalah state initial operasi yang menyebabkan kondisi pengendali digital berada pada state 0 adalah terjadinya kondisi isyarat rst berlogika low atau 0. Hasil dari timing simulation diperoleh nilai periode minimum yaitu waktu minimum yang diperlukan oleh pengendali digital untuk menjalan operasi dari state 0 ke state 1 sebesar 1,38ns, namun dalam sistem pengendali digital terdapat komponen lainya yang harus diperhatikan adalah kemampuan operasi dari komponen ADC, dalam penelitian ini diperlihatkan bahwa komponen ADC dioperasikan pada frekuensi 2MHz atau periode sebesar 0,5µs. Dalam kenyataannya kecepatan operasi ini sebenarnya kurang bagus jika diimplementasikan untuk pengendalian kendalian berupa thermal plant, mengingat perubahan dari suhu relatif lambat, lebih sesuai pengendali digital yang dirancang diperlukan untuk pengendalian dengan kendalian motor yang membutuhkan respon pengendali yang cepat.
KESIMPULAN DAN SARAN Pengendali digital universal dapat diimplementasikan menggunakan perangkat keras FPGA Altera Cyclone IVE tipe EP4CE22F17C6N yang terdapat pada modul DE0-Nano buatan Terrasic.corp dengan perangkat tambahan ADC, untuk user interface dipergunakan pushbutton dan switch sebagai inputan dan LCD 16x2 sebagai tampilan. Dari hasil penelitian telah dibangun sistem user interface yang dipergunakan oleh pengguna untuk melakukan konfigurasi parameter dan jenis pengendali yang diinginkan, sistem user interface mampu menghasilkan 4 konstanta pengendali dan 4 jenis pengendali. Dengan menggunakan representasi data 10 bit fixedpoint 2’s complements dan modul ADC dioperasikan pada frekuensi 2MHz atau waktu proses sebesar 0,5µs, sedangkan hasil pengujian functional simulation dan timing simulation diperoleh hasil Pengendali digital on-off
dari hasil
pengujian fungsional pengendali sudah bekerja seperti yang diharapkan pada state machine dalam perancangan dan hasil timing simulation diperoleh frekuensi maksimum 723,07MHz yang dapat dipergunakan oleh pengendali digital on-off¸ sehingga pengendali on-off mempunyai periode operasi minimum 1,38ns.
DAFTAR PUSTAKA Abdelati, Mohamed. (2008). FPGA-Based PID Controller Implementation, Gaza. The Islamic University of Gaza. Astrom. K, Hagglund. T. (1995). PID controllers: theory design and tuning. Research Triangle Park, NC: Instrument Society. Basri, Muh. (2011) Pengendali Digital Universal. Makassar: Teknik Elektro Universitas Hasanuddin,. Brown. Stephen, Vranesic. Zvonko. (2003). Fundamentals of Digital Logic with Verilog Design. Avenue of Americas, NY: McGraw-Hills. Chu. Pong P. (2008). FPGA Prototyping by Verilog Examples. Hoboken, NJ: John Wiley and Sons. Khan, Hammad. (2012) PID Controller: Comparative Analysis and Design of Diverse Realizations . Saarbrucken, Germany: LAP LAMBERT Academic. Ogata, Katsuhiko. (1996). Teknik kontrol automatic jilid I edisi kedua. Jakarta: Erlangga. Ogata, Katsuhiko. (1995). Discrete time control signal second edition Englewood Cliffs, NJ: Prentice Hall. Suryadi. (2005). Perancangan dan implementasi modul kontrol temperature berbasis mikrokontroler PIC16F877. Bandung: Skripsi Sarjana Fisika, ITB. Suryadi, dan Khairurijal. (2007). Implementasi modul kontrol temperatur menggunakan digital PI controller. Prosiding seminar Nasional Teknologi dan Rekayasa Industri SNTRI 07 (Serpong, 11-12 April 2007), pp.TI-17-1-TI-17-4,2007. Terrasic. (2003). DE0-Nano user manual. Taiwan: Terrasic Technologies.inc. Triyanto, Dedy. (2008). Perancangan Pengendali PID Digital dan Implementasinya Menggunakan FPGA. , Bandung: Sekolah Teknik Elektro dan Informatika ITB.
Tabel. 1 Switch Pemilih Fungsi counter dan register Select (A/B) 00 01 10 11
Counter Counter _SP Counter_C0 Counter_C1 Counter_C2
Gambar 1. Finite State Machine Pengendali on-off
Gambar 2. Arsitektur Pengendali PID
Register aktif Reg SP Reg Konstanta 0 Reg Konstanta 1 Reg Konstanta 2
Gambar 3. Functional simulation pengendali digital on-off respon terhadap isyarat kesalahan
Gambar 4. Functional simulation Pengendali digital on-off respon terhadap reset