BAB 3 PERANCANGAN SISTEM. PID berbasiskan FPGA yang bekerja secara multiplexing untuk pemberian data set point

dokumen-dokumen yang mirip
BAB 4 IMPLEMENTASI DAN EVALUASI. selanjutnya perancangan tersebut diimplementasikan ke dalam bentuk yang nyata

UNIVERSITAS BINA NUSANTARA KONTROL POSISI PADA MOTOR DC DENGAN FPGA

ANALOG TO DIGITAL CONVERTER

BAB III PERANCANGAN SISTEM

LAB PTE - 05 (PTEL626) JOBSHEET 8 (ADC-ANALOG TO DIGITAL CONVERTER)

INSTRUMENTASI INDUSTRI (NEKA421)

PENGENDALIAN KECEPATAN MOTOR DC MENGGUNAKAN SENSOR ENCODER DENGAN KENDALI PI

PERANCANGAN PENGENDALI POSISI LINIER UNTUK MOTOR DC DENGAN MENGGUNAKAN PID

INSTRUMENTASI INDUSTRI (NEKA421) JOBSHEET 14 (DAC 0808)

BAB III DESKRIPSI MASALAH

BAB 3 PERANCANGAN SISTEM. pada sistem pengendali lampu telah dijelaskan pada bab 2. Pada bab ini akan dijelaskan

BAB III RANCANG BANGUN SISTEM KARAKTERISASI LED. Rancangan sistem karakterisasi LED diperlihatkan pada blok diagram Gambar

BAB III PERANCANGAN DAN PEMBUATAN ALAT Flow Chart Perancangan dan Pembuatan Alat. Mulai. Tinjauan pustaka

ANALISA ADC 0804 dan DAC 0808 MENGGUNAKAN MODUL SISTEM AKUISISI DATA PADA PRAKTIKUM INSTRUMENTASI ELEKTRONIKA

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN SISTEM

BAB 3 PERANCANGAN SISTEM

BAB III PERANCANGAN ALAT

BAB III DESAIN DAN IMPLEMENTASI

ADC-DAC 28 IN-3 IN IN-4 IN IN-5 IN IN-6 ADD-A 5 24 IN-7 ADD-B 6 22 EOC ALE msb ENABLE CLOCK

TUJUAN : Setelah mempelajari bab ini mahasiswa diharapkan mampu : Menjelaskan pengertian dasar dari DAC dan ADC secara prinsip

$'&$QDORJWR'LJLWDO&RQYHUWLRQ

BAB III PERANCANGAN ALAT

BAB III METODE PENELITIAN

BAB III PERENCANAAN DAN REALISASI

BAB 3 PERANCANGAN SISTEM. Perancangan sistem pengendalian posisi linier motor DC dengan algoritma

ADC ( Analog To Digital Converter Converter konversi analog ke digital ADC (Analog To Digital Convertion) Analog To Digital Converter (ADC)

BAB III KEGIATAN PENELITIAN TERAPAN

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

DAFTAR ISI ABSTRAKSI KATA PENGANTAR DAFTAR TABEL DAFTAR GAMBAR DAFTAR LAMPIRAN DAFTAR ISTILAH DAN SINGKATAN. 1.1 Latar Belakang Masalah 1

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERENCANAAN DAN REALISASI SISTEM

Beberapa istilah dalam ADC

BAB III PERANCANGAN SISTEM

BAB 2 LANDASAN TEORI. input mengendalikan suatu sumber daya untuk menghasilkan output yang dapat

BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS DAN PERANGKAT LUNAK SISTEM. Dari diagram sistem dapat diuraikan metode kerja sistem secara global.

BAB IV HASIL PENGUKURAN DAN PENGUJIAN ALAT SISTEM PENGONTROL BEBAN DAYA LISTRIK

BAB III PERANCANGAN DAN REALISASI ALAT

BAB III PERANCANGAN SISTEM

III. METODE PENELITIAN

BAB III PERANCANGAN SISTEM. sebuah alat pemroses data yang sama, ruang kerja yang sama sehingga

BAB III METODOLOGI PENELITIAN. Adapun blok diagram modul baby incubator ditunjukkan pada Gambar 3.1.

III. METODE PENELITIAN. Penelitian tugas akhir ini akan dilakukan di Laboratorium Terpadu Teknik Elektro

BAB IV PENGUJIAN DAN ANALISA DATA

BAB III PERANCANGAN SISTEM

APLIKASI PENGOLAHAN DATA DARI SENSOR-SENSOR DENGAN KELUARAN SINYAL LEMAH

BAB 3 PERANCANGAN SISTEM

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN ALAT. Gambar 3.1 Diagram Blok Pengukur Kecepatan

MULTIPLEKSER BERBASIS PROGRAMMABLE LOGIC DEVICE (PLD)

BAB 3 PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN

Percobaan 4. ADC & DAC Based I2C

BAB III ANALISA DAN CARA KERJA RANGKAIAN

BAB III METODE PENELITIAN. Penelitian ini menggunakan metode eksperimen, yaitu membuktikan hasil

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB II KWH-METER ELEKTRONIK

BAB IV ANALISA DAN PENGUJIAN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB III DESAIN BUCK CHOPPER SEBAGAI CATU POWER LED DENGAN KENDALI ARUS. Pada bagian ini akan dibahas cara menkontrol converter tipe buck untuk

BAB 3 PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN DESAIN POMPA AIR BRUSHLESS DC. DENGAN MENGGUNAKAN dspic30f2020

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB IV CARA KERJA DAN PERANCANGAN SISTEM. ketiga juri diarea pertandingan menekan keypad pada alat pencatat score, setelah

DT-51 Application Note

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN PERANGKAT KERAS MOBILE-ROBOT

BAB II DASAR TEORI. mikrokontroler yang berbasis chip ATmega328P. Arduino Uno. memiliki 14 digital pin input / output (atau biasa ditulis I/O,

BAB III PERANCANGAN DAN PENGUKURAN

ABSTRAK. Kata kunci : Sinyal analog, Motor servo, Mikrokontroler, LED RGB

DAC - ADC Digital to Analog Converter Analog to Digital Converter

1. FLIP-FLOP. 1. RS Flip-Flop. 2. CRS Flip-Flop. 3. D Flip-Flop. 4. T Flip-Flop. 5. J-K Flip-Flop. ad 1. RS Flip-Flop

Dalam kondisi normal receiver yang sudah aktif akan mendeteksi sinyal dari transmitter. Karena ada transmisi sinyal dari transmitter maka output dari

BAB IV ANALISIS RANGKAIAN ELEKTRONIK

III. METODE PENELITIAN. Penelitian ini dilaksanakan mulai pada November 2011 hingga Mei Adapun tempat

BAB III METODOLOGI PENELITIAN

Jurnal Skripsi. Mesin Mini Voting Digital

A/D, D/A CONVERTER ASSEMBLY USER S MANUAL

BAB I PENDAHULUAN BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB III PERANCANGAN. Microcontroller Arduino Uno. Power Supply. Gambar 3.1 Blok Rangkaian Lampu LED Otomatis

LAPORAN PRAKTIKUM DIGITAL DISUSUN OLEH: ARDITYA HIMAWAN EK2A/04 ARIF NUR MAJID EK2A/05 AULIADI SIGIT H EK2A/06

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III PERANCANGAN SISTEMKENDALI PADA EXHAUST FAN MENGGUNAKAN SMS GATEWAY

INSTRUMENTASI INDUSTRI (NEKA421) JOBSHEET 2 (PENGUAT INVERTING)

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB III PERANCANGAN SISTEM. Secara garis besar rangkaian pengendali peralatan elektronik dengan. blok rangkaian tampak seperti gambar berikut :

BAB III METODE PENELITIAN

BAB III PERANCANGAN SISTEM

BAB IV HASIL DAN PEMBAHASAN. ketepatan masing-masing bagian komponen dari rangkaian modul tugas akhir

BAB III PERANCANGAN DAN REALISASI ALAT

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. memudahkan penggunaan elektronik dalam berbagai

BAB III PERANCANGAN. bayi yang dilengkapi sistem telemetri dengan jaringan RS485. Secara umum, sistem. 2. Modul pemanas dan pengendali pemanas

BAB III PERANCANGAN Bahan dan Peralatan

Gambar 3. 1 Diagram blok system digital

BAB II KONSEP DASAR PERANCANGAN

BAB V PENGUJIAN DAN ANALISIS. dapat berjalan sesuai perancangan pada bab sebelumnya, selanjutnya akan dilakukan

BAB III PERANCANGAN SISTEM

BAB 3 PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM

Transkripsi:

BAB 3 PERANCANGAN SISTEM Perancangan sistem pengendalian posisi 3 buah motor DC dengan algoritma PID berbasiskan FPGA yang bekerja secara multiplexing untuk pemberian data set point tiap masing-masing motor DC, sehingga perancangan sistem ini dapat dikatakan sistem pengendali single input dan single output (SISO) dimana nilai set point sebagai inputnya dan putaran motor sebagai outputnya. Algoritma PID yang dipakai sepenuhnya berdasarkan implementasi dari sebuah algoritma matematika yang di tuangkan kedalam rangkaian elektronika. Untuk membuat sistem pengontrolan PID dalam rangkaian elektronika, dalam perancangannya sistem ini dibagi-bagi menjadi beberapa sub sistem untuk melakukan kerja sama dengan fungsi-fungsi khusus. Gambar 3. : Blok Diagram Keseluruhan dari Perancangan Sistem Kontrol Posisi 3 buah motor DC dengan FPGA 4

4 Berikut ini adalah bagian-bagian dari sistem yang diperlukan untuk membangun sistem pengendalian posisi motor DC dengan algoritma PID berbasiskan FPGA. 3. Power Supply Power Supply yang diperlukan untuk memenuhi konsumsi daya listrik dari DAC (Digital to Analog Converter), ADC (Analog to Digital Converter), Op-Amp (Operasional Amplifier), Penguat Arus dan FPGA(Field Programable Gate Array). Power Supply yang digunakan untuk modul DAC, ADC, Op-Amp, Penguat Arus diperlukan tegangan sebesar +5Volt, -5Volt,+2Volt, -2Volt, +5Volt. Sedangkan power supply yang digunakan untuk modul FPGA sudah disediakan oleh vendor dari FPGA sebesar 5Volt 4mA. 3.. Perancangan Power Supply Dalam perancangan modul Power Supply ini dibuat dengan cara setiap modul diberikan regulator tegangan yang terpisah, hal ini dimaksudkan agar pada setiap modul mendapat tegangan yang teregulasi masing-masing, sehingga pada saat seluruh modul elektronika ini dijalankan, daya yang tersedia antara setiap modul dengan modul-modul lainnya tidak saling mempengaruhi, karena pada keadaan yang sebenarnya, perbedaan kondisi yang berubah-ubah setiap saat tertentu pada masing-masing modul, menyebabkan daya yang dipakai oleh masing-masing modul juga berubah-ubah, sehingga hal ini dapat menyebabkan naik dan turunnya daya yang tersedia. Sedangkan pada modul ADC, bila terjadi kenaikan atau penurunan daya yang kecil saja pada bagian pembagi tegangan untuk analog input, yang di akibatkan oleh modul lain, dapat

42 menyebabkan output sinyal diskrit pada ADC berubah-ubah, hal ini tentu saja harus dihindari. Begitu juga pada modul DAC, yang memiliki tegangan referensi yang kecil, sehingga perubahan daya yang kecil dapat membuat konversi sinyal diskrit ke sinyal analog terjadi penyimpangan. Gambar 3.2 : Skematik Power Supply 3.2 ADC (Analog to Digital Converter) ADC berfungsi untuk mengkonversi input sinyal analog menjadi sinyal diskrit. setelah sinyal analog di konversi ke dalam sinyal diskrit, maka sinyal diskrit tersebut akan menjadi data umpan balik untuk modul FPGA yang selanjutnya akan diproses di dalam modul FPGA.

43 3.2. Perancangan ADC (Analog To Digital Converter) Pada perancangan modul ADC ini yang digunakan adalah ADC 744 2 bit, dimana ADC ini memproses sinyal analog yang berasal dari rangkaian pembagi tegangan, yang dikendalikan dengan sebuah potensiometer, yang tuas pengatur hambatannya dihubungkan pada poros putaran motor DC yang menyebabkan sinyal analog berubah-ubah mengikuti pergerakan motor DC, dan kemudian sinyal analog tersebut dikonversikan menjadi sinyal diskrit, yang selanjutnya sinyal diskrit pada output ADC ini dimasukan ke dalam modul FPGA sebagai umpan balik posisi motor DC. Dalam merancang Modul ADC ini, tipe data pada output sinyal diskrit adalah bilangan tidak bertanda (unsign) dan dibuat menjadi bilangan binary bertanda (sign) dengan cara pada bit MSB dari data diskrit dijadikan penanda untuk mengenali apakah output data berupa bilangan negative atau bilangan positive, contohnya bila bit pada MSB berlogic high (), maka bilangan binary dikenal sebagai bilangan negative, dan bila bit pada MSB berlogic low (), maka bilangan binary dikenal sebagai bilangan positive. Dan output sinyal diskrit pada ADC, yang hendak di hubungkan kedalam FPGA haruslah terlebih dahulu di pulldown dan tegangannya di turunkan, sehingga untuk membuat logic high () tegangan yang di gunakan adalah 3.3Volt, oleh karena itu pada pin output data pada IC ADC harus dimasukan ke dalam rangkaian resistor pembagi tegangan terlebih dahulu sebelum terhubung dengan Modul FPGA.

44 Gambar 3.3 : Skematik Modul ADC Cara kerja IC ADC diatas adalah: Pin : Digunakan untuk Vcc, dimana konsumsi daya ADC 744 sehingga dapat beroperasi membutuhkan Vcc sebesar +5V. Pada Vcc diberikan transistor tantalum μf yang berfungsi untuk menghilangkan noise pada Vcc. Pin 2 : Digunakan untuk mengendalikan metode pembacaan data binary yang sama fungsinya sebagai output enable pada suatu IC, bila interface untuk membaca binary hanya terdapat 8 bit maka pin ini dihubungkan ke ground (GND) sehingga nantinya data dikirim 2 kali, bila interface untuk membaca binary output pada ADC terdapat 2 bit maka pin ini diberikan logic high ().

45 Pin 3 : Digunakan sebagai chip select dari ADC dinama konversi data akan beroperasi bila Chip Select aktif. Karena Chip Select ini aktif low maka dihubung ke ground (GND). Pin 4 : Cara pengontrolan pin ini bergantung pada input yang diberikan pada pin 2, dimana bila pin 2 berlogic low () maka pin ini digunakan untuk mengontrol pengiriman data pada data output ADC dalam 2 kali pengiriman, caranya ketika Pin ini diberi logic low (), maka output data yang valid adalah 8 bit dari MSB kemudian pada clock berikutnya untuk mengirim 4 bit sisanya maka pin ini diberikan logic high (). Pin 5 : merupakan pin read/convert (R/C). read akan aktif bila diberikan logic high (), dan convert akan aktif bila terjadi perubahan dari logic high () menuju low () atau dinamakan falling edge. Pin 6 : Merupakan pin Chip Enable, jadi pada saat diberikan logic high () maka output IC ADC akan mengeluarkan logic high () atau logic low (), dan pada saat pin ini diberikan logic low() maka output diskrit pada IC ADC tidak aktif. Pada saat IC ADC tidak aktif maka output diskrit memiliki hambatan yang sangat tinggi. Fungsi ini diberikan agar pada saat penggabungan output diskrit pada ADC tidak terjadi hubungan singkat yang disebabkan salah satu output yang berlogic high () tidak bertemu langsung dengan salah satu output yang berlogic low (), karena bila hal ini terjadi maka serupa dengan terjadinya hubungan singkat yang mengakibatkan IC ADC rusak. Pin 7 : tidak terhubung / Not Connected (NC).

46 Pin 8 dan : Merupakan Pin Full Scale Adjust. Full Scale ini digunakan untuk mensetting agar output diskrit dapat mencapai output maksimal yaitu setiap bit pada output diskrit memiliki logic high () semua pada saat input analog diberikan nilai yang maksimal yaitu dengan cara mengunakan potensiometer KΩ yang berfungsi untuk mengatur tegangan analog dari V V. Pin : ketika pin ini diberikan logic low () maka IC bekerja dalam keadaan emulation mode, keadaan ini digunakan untuk menjaga kesetabilan analog input IC ADC pada saat melakukan konversi, karena pada faktanya ketika menyambung IC dengan menggunakan soket dapat membuat analog input menjadi kurang stabil dengan kata lain analog input lebih besar kemungkinan untuk menyerap noise disekitarnya, akan tetapi keadaan emulation mode ini memiliki kerugian, yaitu membutuhkan waktu yang lebih lama untuk melakukan konversi setelah pin pada read/convert (R/C) mendapat sinyal falling edge. Bila pin ini diberikan logic high () maka IC bekerja dalam keadaan control mode keadaan ini digunakan untuk mendapatkan selang waktu untuk melakukan konversi setelah pin pada read/convert mendapat sinyal falling edge menjadi lebih cepat dengan kata lain kerja IC juga akan lebih cepat dalam menkonversi dari sinyal analog ke sinyal diskrit. Pin 2 : Merupakan pin offset adjust. offset Adjust ini digunakan untuk men-setting agar output diskrit mengeluarkan logic low () pada setiap bitnya yaitu setiap bit pada output diskrit memiliki logic low () semua pada saat input analog diberikan nilai yang minimum yaitu dengan cara mengunakan pontensiometer KΩ yang berfungsi untuk mengatur tegangan analog pada pin ini.

47 Pin 3 : merupakan pin input analog dimana pin input ini diberikan tegangan analog yang berasal dari rangkaian pembagi tegangan (potensiometer KΩ), untuk membaca posisi motor DC, dimana tegangan maksimum input analog sebesar V dan tegangan minimumnya V. Pada pin ini digunakan dua buah resistor KΩ dikarenakan untuk menjaga arus yang lewat dari sumber tegangan +2V pada catu daya, melalui potensiometer. Pin 5 : merupakan pin ground (GND) Pin 6 27 : merupakan pin output sinyal diskrit 2 bit dimana pin 6 (LSB) dan Pin 27 (MSB). Pada output diskrit dari seluruh pin ini akan di hubungkan kedalam Modul FPGA, melalui rangkaian resistor pembagi tegangan. Pin 28 : merupakan pin convertion status. Pin ini akan aktif ketika proses konversi beroperasi, dan dapat digunakan sebagai media visual dengan cara dihubungkan dengan komponen led. 3.3 DAC (Digital to Analog Converter) DAC berfungsi untuk mengkonversi input sinyal diskrit menjadi sinyal analog. Setelah sinyal diskrit di konversi ke dalam sinyal analog, maka sinyal analog tersebut akan digunakan untuk menggerakan posisi pada motor DC. Sebelum sinyal analog yang berupa tegangan listrik ini di gunakan untuk menggerakan motor DC, maka tegangan listrik pada sinyal analog harus disesuaikan dengan kebutuhan tegangan listrik pada motor DC dengan cara menggunakan pengali tegangan dan arus listrik pada sinyal analog

ini juga perlu dikuatkan terlebih dahulu oleh rangkaian penguat arus, agar arus listrik yang masuk kedalam motor DC cukup kuat untuk menggerakan motor DC. 48 3.3. Perancangan DAC (Digital To Analog Converter) Pada perancangan modul DAC ini, komponen yang digunakan adalah DAC 7624P 2 bit. DAC ini memproses sinyal diskrit dari proses algoritma PID pada Modul FPGA menjadi sinyal analog, dimana sinyal analog yang berupa tegangan listrik tersebut digunakan untuk mengatur pergerakan pada motor DC. Pada IC DAC ini dapat mengeluarkan tegangan maksimal +2.5Volt sampai dengan 2.5 Volt, sedangkan motor DC yang di gunakan membutuhkan tegangan maksimal +2Volt sampai dengan 2Volt, oleh karena itu hasil sinyal output analog pada DAC perlu di sesuaikan terlebih dahulu dengan memberikan pengali tegangan agar output sinyal analog pada modul DAC dapat mencapai +2Volt sampai 2Volt. Untuk mengalikan sinyal analog yang berupa tegangan listrik tersebut, maka pada modul DAC ditambahkan rangkaian penguat diferensial dengan menggunakan komponen Op-Amp LF356N. Setelah modul DAC ini sudah dapat menghasilkan output sinyal analog yang berupa tegangan listrik dengan maksimum +2Volt sampai dengan 2Volt, selanjutnya akan dihubungkan kedalam modul Penguat Arus, hal ini di perlukan karena output sinyal analog pada rangkaian penguat diferensial dalam modul DAC memiliki arus listrik yang sangat kecil dan tidak cukup kuat untuk menggerakan motor DC.

49 Gambar 3.4 : Skematik Modul DAC Cara kerja IC DAC 7624 adalah: Pin :merupakan pin tegangan referensi maksimum dari DAC dimana tegangannya diberikan sebesar +2,5V, maka dengan demikian tegangan output maksimum dari DAC ini adalah +2,5V. Pada Vrefh ini diberikan kapasitor, μf yang digunakan untuk menghilangkan noise pada Vrefh. Pin 2 : merupakan pin output DAC (B) yang berupa output sinyal analog. Pin 3 : merupakan pin output DAC (A) yang berupa output sinyal analog. Pin 4 dan Pin 25 : pin 4 adalah pin Vss dan pin 25 adalah pin Vdd. Pada pin ini membutuhkan supply tegangan analog negatif (Vss) sebesar 5V dan supply tegangan analog positif (Vdd) sebesar +5V. Pada Vss dan Vdd masing-masing diberikan dua buah kapasitor yang besar μf dan,μf yang berfungsi untuk menghilangkan noise.

5 Pin 5 : merupakan pin Ground (GND). Pin 6 : merupakan pin Reset DAC, dimana pin Reset akan aktif bila diberikan logic low () atau active low. Pin 7 : merupakan pin Load DAC, dimana pin ini digunakan sebagai latch enable dari internal latch dalam IC DAC. Pin 8 9 : merupakan pin data input DAC, dimana pin 8 merupakan nilai LSB dan pin 9 merupakan nilai MSB dari 2 bit data input yang ada. Pin 2 : merupakan pin read/write (R/W). read akan aktif bila diberikan logic high (), dan write akan aktif bila terjadi perubahan dari logic low (). Pin 2 dan pin 22 : pin 2 merupakan pin A dan pin 22 merupakan pin A. Pada DAC 7624 ini memiliki 4 buah output analog, yang didalam satu buah IC DAC ini memiliki 4 buah internal DAC, dimana pin 2 dan 22 ini berfungsi sebagai selector internal DAC yang akan digunakan. Tabel 3. Selector Internal DAC. A A DAC yang aktif (low) (low) DAC (A) (low) (high) DAC (B) (high) (low) DAC (C) (high) (high) DAC (D)

5 Pada perancangan sistem PID yang dibuat, dibutuh 3 buah DAC yang masing-masing digunakan untuk mengontrol 3 buah motor DC. Pin 23 : Digunakan sebagai Chip Select dari DAC dimana konversi data akan beroperasi bila Chip Select aktif. Karena Chip Select ini aktif low maka dihubung ke ground (GND). Pin 24 : tidak terhubung / Not Connected (NC). Pin 26 : merupakan pin output DAC (D) yang berupa output sinyal analog. Pada pin ini tidak digunakan karena hanya dibutuhkan 3 buah DAC saja dalam perancangan sistem PID ini. Pin 27 : merupakan pin output DAC (C) yang berupa output sinyal analog. Pin 28 : merupakan pin tegangan referensi minimum dari DAC dimana tegangannya diberikan sebesar -2,5V, maka dengan demikian tegangan output maksimum dari DAC ini adalah -2,5V. Pada Vrefl ini diberikan kapasitor, μf yang digunakan untuk menghilangkan noise pada Vrefl. 3.4 Modul Penguat Tegangan dan Penguat Arus Pada IC DAC 7624 hanya dapat mengeluarkan tegangan maksimal +2.5Volt sampai dengan 2.5 Volt, sedangkan motor DC yang di gunakan membutuhkan tegangan maksimal +2Volt sampai dengan 2Volt, oleh karena itu hasil sinyal output analog pada DAC perlu di sesuaikan terlebih dahulu dengan memberikan pengali tegangan agar output sinyal analog pada modul DAC dapat mencapai +2Volt sampai 2Volt. Untuk mengalikan sinyal analog yang berupa tegangan listrik tersebut, maka modul DAC ditambahkan rangkaian penguat diferensial dengan menggunakan komponen Op-Amp

52 LF356N. Setelah modul DAC ini sudah dapat menghasilkan output sinyal analog yang berupa tegangan listrik dengan maksimum +2Volt sampai dengan 2Volt, selanjutnya akan dihubungkan kedalam modul Penguat Arus, hal ini di perlukan karena output sinyal analog pada rangkaian penguat diferensial dalam modul DAC memiliki arus listrik yang sangat kecil dan tidak cukup kuat untuk menggerakan motor DC yang besarnya,5 Amp. 3.4. Perancangan Penguat Tegangan dan Penguat Arus Gambar 3.5 : Rangkaian Penguat Tegangan dan Penguat Arus Rangkaian diatas adalah rangkaian penguat diferensial dimana sinyal input yang berupa tegangan analog akan dikuatkan dengan membagi nilai Rf dengan nilai R lalu dikalikan dengan sinyal input, dimana penjabaran rumusnya adalah : Output dari penguat diferensial masih memiliki arus yang kecil sehingga dibutuhkan penguat arus. Penguat arus yang digunakan adalah model penguat arus tarikdorong (Push-Pull) dimana menggunakan 2 buah transistor PNP dan NPN dengan cara

53 menggabungkan pin emitter pada 2 buah transistor melalui dua buah resistor. Transistor yang digunakan dalam membuat penguat arus ini adalah transistor 2N355 dengan transistor 2N2955, dimana kedua transistor diatas mampu menguatkan arus listrik sampai 3 Amper, dan keunggulan lainnya adalah pada fisik dari transistor tersebut dibuat dengan bahan besi khusus yang dapat dengan mudah menghantarkan panas, sehingga membuat komponen transistor ini lebih tahan panas. 3.5 Modul Interconnection Modul interconnection digunakan sebagai terminal penghubung dari semua modul-modul rangkaian elektronik yang memiliki fungsi yang berlainan dan saling mendukung antara satu modul dengan modul lainnya, sehingga dalam perancangan sistem ini dapat terbentuk suatu kerja sama antara suatu sub sistem dengan sub sistem lainnya. Keuntungan lainnya yang didapat dengan menggunakan modul ini adalah dalam merancang alat dapat dengan mudah untuk mencari kemungkinan adanya kesalahan pada setiap modul yang dirancang, sehingga bila ada kesalahan perancangan pada sebuah modul, maka tidak perlu merubah modul lainnya yang sudah baik, dan dalam menggabungkan atau memisahkan antara satu modul dengan modul lainnya dapat dilakukan dengan mudah. 3.6 Modul FPGA Modul FPGA digunakan sebagai media untuk mengimplementasikan sebuah sistem pengontrolan yang berdasarkan algoritma PID. Algoritma PID akan memproses data pada input set point yang masuk dan menerima data umpan balik error posisi dari hasil pemrosesan sebelumnya sampai tercapainya hasil output yang sesuai. Output dari

hasil pemrosesan akan diubah menjadi sinyal analog dengan menggunakan DAC dan selanjutnya dipakai untuk mengendalikan tiga buah motor DC. 54 3.6. Perancangan Implementasi Algoritma PID Pada FPGA Dalam merancang PID dengan menggunakan FPGA, langkah awal yang dilakukan adalah menjabarkan rumus PID yang akan dipakai, dimana rumus PID yang yang digunakan dalam perancangan ini masih berupa analog, yang dapat dituliskan sebagai berikut: U(t)= Kp + (Ki.(/s)) + (Kd. s) (Ogata, 996, p23) Sehingga dari persamaan PID analog yang tersebut dapat dicari bentuk persamaan PID diskrit yang terpisah (Parsial), dimana persamaannya adalah : (Sofyan Tan, Lie Hian, 24-25, p4) Setelah rumus PID sudah dalam bentuk diskrit terpisah (Parsial) barulah algoritma PID ini dapat dibuat dengan menggunakan FPGA. Dimana atribut-atribut dari rumus PID diskrit diatas berupa: U(t): output PID sekarang. Kp : Proportional output gain. P : nilai konstanta Proportional.

55 Ki I Kd D : Integral output gain. : nilai konstanta integral. : Differensial output gain. : nilai konstanta differensial. E(t) : error posisi sekarang. E(t-): error sebelum E(t). Operasi-operasi yang digunakan yaitu: perkalian (multiplier) pengurangan (substractor) penjumlahan (adder) Setelah atribut-atribut dan operasi-operasi aritmatik dari rumus PID diskrit diinisialisasi maka langkah selanjutnya membuat gambar skematik proses PID. Yang mana skematik tersebut akan dijadikan acuan untuk membuat coding program (PID system) didalam modul FPGA. Program yang akan dibuat menggunakan bahasa VHDL. Coding program yang akan dibuat didalam modul FPGA dibagi atas 2 proses utama, proses-proses itu adalah: Clock Controller dan Kp, Ki, Kd, Set Point. PID Arithmatic Processing. 3.6.. Clock Controller dan KP, KI, KD, Set Point Dalam merancang arsitektur proses ini modul-modul yang akan digunakan dan akan dibuat adalah:

56 Reset. Clock source. Decoder select register Kp, Ki, Kd dan set point 2 to 4. Counter instruction decoder (7 bit). Counter clock divider ( bit). Decoder select motor 2 to 3 (2 bit). Multiplexer select motor 2 to. Multiplexer select 2 to. Register KP, KI, KD dan Set Point. Instruction Decoder. Dalam merancang arsitektur proses ini dibutuhkan total keseluruhan 28 bit input. Dimana 28 bit tersebut digunakan untuk: bit untuk clock source. 2 bit untuk reset. 2 bit untuk Decoder select register Kp, Ki, Kd dan Set Point. 2 bit untuk input select motor (Dalam perancangan ini menggunakan 3 buah motor DC yaitu R, R2, R3 ). 2 bit untuk data input. 7 bit untuk input konstanta tetapan. bit untuk read/write register Kp, Ki, Kd dan Set Point. bit untuk input run/stop.

57 3.6... Clock Controller Hal yang terpenting dalam merancang PID sistem adalah sinkronisasi clock, karena setiap modul yang dibutuhkan didalam merancang sistem PID didalam FPGA memiliki clock yang berbeda-beda dan urutan dari penggunaan clock sangatlah berpengaruh terhadap hasil output. Sebagai contoh ADC read/convert (R/C) dalam perancangan ini membutuhkan kali clock, register error dan proses perkalian, penjumlahan, pengurangan membutuhkan 3 kali clock untuk menyelesaikan prosesnya karena sebelum nilai tersebut diproses nilainya dilatch terlebih dahulu. Dan modul-modul yang dibuat saling berkaiatan satu sama lainnya. Oleh karena itu maka dibuat instruction decoder, dimana merupakan sebuah lookup table atau instruction decoder memiliki fungsi mengeluarkan clock yang digunakan untuk modul yang berbeda-beda dan pengurutan pengunaan clock diatur di sini. Gambar 3.6 : Skematik Clock Controller Dari gambar diatas Clock Controller terdiri dari Clock Source, Counter clock devider bit, Counter Instruction Decoder 7 bit, Instruction Decoder. Cara kerja rangkaian diatas adalah Clock Source yang berasal dari komponen kristal sebagai clock generator didalam modul FPGA, dan pemberian logic high () pada keypad Run/Stop akan mengaktifkan Counter Clock Devider, sehingga Counter Clock Devider akan melakukan proses Counting yaitu menjumlahan nilai output binary dengan setiap adanya clock. Counter ini memiliki lebar data sebesar bit, tetapi pada counter ini

58 hanya bit MSB saja yang dijadikan output, sehingga pada output akan mengalami perubahan dari logic low () ke logic high () mengikuti nilai MSB dari counter bit. Metode tersebut digunakan untuk membuat delay time. Kemudian Output dari Counter Clock Devider akan digunakan sebagai input clock untuk Counter Instruction Decoder. Maka dengan aktifnya Clock pada Counter Instruction Decoder maka proses counting 7 bit berjalan. Output dari Counter instruction Decoder yang berupa data 7 bit hasil counting tersebut akan digunakan sebagai input untuk Instruction Decoder. Instruction Decoder yang berfungsi sebagai lookup table yang menggunakan 7 bit input dari Counter instruction Decoder sebagai selector ouput untuk mengurutkan clock pada bagian -bagian yang ada dalam modul FPGA. Pada lookup table dibawah ini akan dijabarkan kegunaan dan urutan dari setiap input pada Instruction Decoder. Tabel 3.2 Lookup Table Instruksi Decoder. Input Output ke- Output Dipakai untuk Clock Read/Conv Command ADC Clock register

59 2 2 2 2 2 2 2 Clock Substractor 3 3 3 3 3 3 3 Clock Register 2 4 4 4 4 4 4 4 Clock Register

6 5 Clock Substractor 2, Clock Adder 5, Clock Multiplier 5 5 5 5 5 6 Clock Reducer bit 4 to 7, Clock 6 Register 3, Clock Multiplier 2 6 6 6 6 6 7 Clock Multiplier 3, Clock Adder 2 7 7 7 7 7 7 8 Clock Multiplier 4 8

6 8 8 8 8 8 9 Clock Adder 3 9 9 9 9 9 9 Clock Reducer 27 to 2 Clock Read/Conv Command DAC

62 2 Clock Counter 2 bit selector 2 register 2 Motor DC, Motor DC2, Motor DC3 3.6...2 Register Kp, Ki, Kd, Set Point Gambar 3.7 : Skematik Input KP, KI, KD, Set Point

63 Kp, Kd, Ki adalah konstanta yang diberikan pada algoritma PID sesuai karateristik motor yang digunakan dimana nilainya mempengaruhi keoptimalan dari algoritma PID itu sendiri dalam mengontrol posisi pada setiap motor DC. Input Kp, Ki, Kd yang akan dimasukan ke dalam algoritma PID haruslah berdasarkan karateristik motor yang dipakai, Akan tetapi, berhubung pada motor DC yang digunakan tidak di ketahui nilai - nilai karakteristiknya, maka nilai konstanta tersebut akan dicoba-coba dengan memasukan nilai pemisalan, dan dilakukan berulang ulang sehingga output respon dari motor DC untuk menuju ke suatu posisi yang ditentukan dapat mendekati pada respon yang baik. Cara kerja dari rangkaian diatas adalah ketika input data (2 bit) diberikan dengan menggunakan saklar geser, input data tidak langsung masuk ke dalam register, tetapi data akan menunggu sinyal read/write aktif dan input Chip select register aktif. kemudian di ikuti select register R, R2, R3 mana yang aktif untuk menentukan data akan disimpan pada R, R2 atau R3 dalam register tersebut. Chip select berfungsi untuk memilih memilih register (Kp, Ki, Kd atau Set Point) mana yang aktif berdasarkan input 2 bit dari user, sebagai contoh ketika input select register yang diberikan bernilai maka input tersebut akan masuk kedalam decoder 2 to 4(Decoder Select Register), ketika inputnya bernilai maka output decoder pada bit yang pertama dari empat bit yang ada, akan bernilai (high). Pada kasus ini output decoder pada bit pertama digunakan untuk mengaktifkan Chip select pada register Kp. Berikut adalah tabel kebenaran untuk modul decoder 2 to 4(Decoder Select Register).

64 Tabel 3.3 Tabel Kebenaran modul Select store Input Select store Output Dipakai untuk mengaktifkan Out decoder () = Chip Select Register Kp Out decoder () = Chip Select Register Ki Out decoder (2) = Chip Select Register Kd Out decoder (3) = Chip Select Register Set Point Setelah ditentukan register mana yang akan aktif selanjutnya user juga harus memberikan sinyal input untuk selector register motor (R, R2, R3) untuk menentukan nilai setiap motor DC yang masing-masing memiliki konstanta tetap pada register Kp, Ki, Kd, dan Set Point. Ketika selector Multiplexer Select 2 to diberikan logic low (), maka counter akan mati (off) sehingga proses counting berhenti. Dengan demikian maka user baru dapat memberikan sinyal input dengan switch geser untuk menentukan register motor (R, R2, R3) untuk motor DC yang ingin diaktifkan, dimana lebar data selectornya sebesar 2 bit. Sebagai contoh, misal pada input selector register motor (R, R2, R3) yang dimasukan bernilai maka output Multiplexer Select 2 to bernilai. Pada kasus ini nilai digunakan untuk mengaktifkan semua register R dalam sistem ini. Berikut adalah tabel fungsi input untuk register motor. Tabel 3.4 fungsi input untuk Register motor Input untuk Selector Register R, R2, R3 Output Dipakai untuk mengaktifkan Seluruh R untuk motor DC

65 Seluruh R2 untuk motor DC 2 / / Seluruh R3 untuk motor DC 3 Dengan telah ditentukannya Chip select Register KP, KI, KD, Set Point dan register motor (R, R2, R3) selanjutnya data input yang sebelumnya masih menunggu, sekarang sudah bisa dimasukan ke dalam register yang telah ditentukan dengan memberikan logic high () sesaat pada input read/write. Input read/write juga digunakan untuk mengaktifkan led Set Point sebagai media visualisasi untuk nilai Set Point yang dimasukan oleh user, untuk memilih modul set point yang berupa tampilan led ini, sinyal Input read/write dan sinyal output dari Decoder Select ADC dimasukan kedalam gerbang AND dan outputnya digunakan untuk mengaktifkan pin latch enable pada komponen latch dalam modul Set Point. Gambar 3.8 : Skematik feedback Posisi

66 ADC memberikan inputan untuk PID Arithmatic yang berupa inputan umpan balik yang menunjukan posisi dari motor DC, dimana cara kerja gambar diatas adalah sinyal analog yang berasal dari rangkaian pembagi tegangan yang di atur oleh pergerakan motor DC akan masuk ke ADC (Analog to Digital Converter), didalam ADC sinyal analog dikonversi ke dalam bentuk diskrit. Karena menggunakan 3 buah motor DC maka diperlukan 3 buah ADC pula. ADC akan aktif ketika sinyal convert dan chip select di dalam ADC aktif. Chip select ADC ini digunakan untuk memilih salah satu ADC dari tiga buah ADC yang ada untuk aktif. Sebagai contoh ketika decoder 2 to 3 mendapatkan input dari counter select register (2 bit) atau pemberian 2 bit input dari user yang bernilai maka output decoder pada bit () akan benilai (high). Pada kasus ini decoder pada bit () digunakan untuk mengaktifkan ADC pada motor DC. Tabel 3.5 Fungsi input dan output decoder 2 to 3 Input Output di- Fungsi Bit () = Mengaktifkan Chip Select ADC Bit () = Mengakifkan Chip Select ADC 2 Bit (2) = Mengaktifkan Chip Select ADC 3 Untuk sinyal convert pada ADC berasal dari output instruction decoder bit (). Ketika output instruction decoder bit () berlogic high () maka output tersebut nilainya akan dibalik menjadi logic low () dengan gerbang NOT. Hal tersebut dikarenakan sinyal convert didalam ADC adalah saat terjadi perubahan dari logic high () menuju logic low () atau disebut juga pada saat falling edge. Dengan aktifnya Chip select dan sinyal

67 Convert ADC tersebut, maka IC ADC akan memproses sinyal analog input dari rangkaian pembagi tegangan untuk diubah menjadi sinyal diskrit, dan selanjutnya sinyal diskrit tersebut dimasukan ke dalam modul PID Arithmatic Processing yang digunakan sebagai data umpan balik dari posisi motor DC. Counter Select Register juga digunakan untuk memilih (selector) dari DAC. dimana Counter Select Register dihubungkan ke pin 2 (A) dan pin 22 (A) pada IC DAC sebagai selector dari 4 buah internal DAC dalam buah IC DAC7624P. 3.6..2 PID Arithmatic Dalam merancang arsitektur proses ini modul-modul yang akan dibuat adalah: 4 buah register error 4 buah multiplier 2 buah subtractor 3 buah adder modul reducer bit (4 bit ke 7 bit) modul reducer bit (27 bit ke 2 bit) PID Arithmetic adalah modul yang digunakan untuk melakukan perhitungan Algoritma PID, dimana nilai input yang masuk ke dalam modul FPGA yang diberikan oleh user akan diproses berdasarkan rumus algoritma PID yang sudah diimplementasikan kedalam bentuk rangkaian diskrit, selain itu karena algoritma PID merupakan sistem loop tertutup maka nilai error umpan balik akan dibandingkan kembali dengan nilai inputnya, yang selanjutnya diproses kembali sampai nilai error.

68 Gambar 3.9 : Skematik dari PID Arithmatic Cara kerja dari rangkaian diatas adalah setiap bagian yang dibuat didalam PID Arithmetic bekerja berdasarkan urutan dari instruction decoder yang dibuat, dimana langkah-langkah pemrosesannya bekerja secara berurutan mengikuti pemberian clock dari instruction decoder. Ketika user telah memberikan nilai konstanta Kp, Ki, Kd dan Set Point untuk motor, selanjutnya nilai konstanta Kp, Ki, Kd dan Set Point akan diproses secara terpisah (Parsial) dimana nilai Kp akan langsung dikalikan dengan nilai error sekarang (E(t)), untuk nilai Ki akan dikalikan dengan nilai dari penjumlahan error dari t= sampai t sekarang, untuk nilai Kd akan dikalikan dengan nilai dari hasil pengurangan error sekarang (E(t)) dengan nilai error sebelumnya (E(t-)) dan kemudian dikalikan dengan konstanta tetap, Maka berdasarkan rumus PID terpisah (Parsial) tersebut dibuatlah rancangan skematik dari modul PID Arithmatic seperti pada gambar diatas.

69 Ketika output instruction decoder bit () aktif maka ADC melakukan konversi sinyal analog yang berupa tegangan yang berasal dari rangkaian pembagi tegangan (potensiometer) ke dalam bentuk diskrit lalu selanjutnya nilai hasil konversi yang berupa nilai diskrit sebanyak 2 bit, pada MSB-nya di-not untuk mengubah tipe bilangan tak bertanda (Unsign) yang berasal dari ADC kedalam bentuk tipe bilangan bertanda (Sign), karena didalam perancangan modul PID Arithmatic semua bilangan mengunakan tipe bilangan bertanda (Sign). Setelah itu nilai error 2 bit bilangan bertanda (Sign) tersebut digunakan sebagai input untuk register (), dimana register () akan aktif ketika mendapatkan clock dari output instruction decoder bit (). Selanjutnya output dari register () akan digunakan untuk input ke 2 dari Operasi pengurangan (Substractor) (), pada modul pengurangan ini nilai Set Point (2bit) akan dikurangi nilai umpan balik dari ADC sehingga didapatkan nilai error sekarang (E(t)). Operasi pengurangan (Substractor) ini akan mengeluarkan hasil pengurangannya setelah mendapatkan clock, dimana clock tersebut berasal dari aktifnya output instruction decoder bit (2). Output dari Operasi pengurangan (Substractor) () sebanyak 3 bit, akan digunakan sebagai input untuk register (). tetapi input tersebut tidak langsung masuk ke dalam register dimana menunggu adanya clock. Selanjutnya output instruction decoder bit (3) mengaktifkan register (2), sehingga nilai error (E(t-)) akan masuk dan akan menjadi output dari register (2). Output dari register (2) akan digunakan sebagai input ke untuk Operasi pengurangan (Substractor) (2), dimana nilai error sekarang (E(t)) akan dikurangkan dengan dengan nilai error sebelumnya (E(t-)) tetapi operasi pengurangan ini akan menunggu waktu untuk mendapatkan clock untuk melakukan operasinya. Selanjutnya output instruction decoder bit (4) akan aktif, yang digunakan untuk mengaktifkan register (). dengan aktifnya register () maka nilai error sekarang (E(t)) akan masuk ke

7 dalam register dan menjadi output dari register ini. Output register () akan digunakan untuk input pada operasi perkalian (Multiplier) (), dimana nilai error (E(t)) akan dikalikan dengan nilai Kp selain itu output dari register akan dijadikan sebagai input ke dari operasi pengurangan (Subtractor) (2) dan digunakan sebagai nilai error (E(t-)) yang baru. Urutan clock selanjutnya adalah berasal dari aktifnya output instruction decoder bit (5). Dalam hal ini output instruction decoder bit (5) digunakan untuk clock operasi perkalian (Multiplier) (), operasi penjumlahan (Adder) () dan operasi pengurangan (Subtractor) (2). dengan demikian maka operasi perkalian (Multiplier) () akan aktif dan nilai error (E(t)) (3 bit) akan dikalikan dengan nilai penguatan (propotional) (2bit) dimana pada output operasi perkalian (Multiplier) () akan menghasilkan nilai Kp sebanyak 24 bit, operasi penjumlahan (Adder) () juga melakukan operasi penjumlahannya dimana nilai error sekarang (E(t)) akan dijumlahkan dengan nilai error sebelumnya (E(t-)), dimana nilai (E(t-)) masih karena pada siklus pertama dari PID sistem nilai error sebelumnya belum ada. Dan modul operasi pengurangan (Subtractor) (2) juga melakukan operasi pengurangannya dimana nilai error yang sekarang (E(t)) (3bit) akan dikurangkan dengan nilai error sebelumnya (E(t-)) (3bit) dimana akan menghasilkan output sebanyak (4bit). Pada proses selanjutnya output instruction decoder bit (6) akan aktif dalam hal ini output instruction decoder ini digunakan untuk clock operasi perkalian (Multiplier) (2), register (2) dan modul bit reducer 24 to 7. Dengan demikian maka nilai output dari operasi penjumlahan (Adder) () akan masuk kedalam register (3) dan outputnya akan di umpan balik input ke dalam operasi penjumlahan (Adder) () sehingga fungsinya menjadi hasil penjumlahan nilai error dari t = sampai t yang sekarang. Begitu pula pada operasi perkalian (Multiplier) (2) modul ini akan aktif dan akan mengkalikan nilai output dari

7 operasi penjumlahan (Adder) () (4bit) dengan nilai konstanta integral (2bit) dimana pada output operasi perkalian (Multiplier) (2) akan menghasilkan nilai Ki. Pada bit reducer 4 to 7 akan melakukan operasinya dengan cara membatasi nilai bilangan yang masuk dengan maksimal, minimal dan kemudian membulatkan pada 4 bit LSB dengan membulatkannya selalu ke atas dan output MSB diambil mulai pada bit ke hingga LSB diambil pada bit ke 4, sehingga dari 4 bit data pada input menjadi 7 bit pada output yang mana tujuannya yaitu mereduksi banyaknya bit- bit yang tidak terlalu berpengaruh dalam sistem pengontrolan ini, dan dengan adanya bit-bit yang hilang maka bit-bit tersebut dianggap error dari sistem. Pada reducer () bit yang dihilangkan adalah bit pada MSB, sebanyak 3 bit, hal ini disebabkan karena 3 bit pada MSB nilainya akan selalu sama dan hasil pengurangan dari E(t) dengan E(t-) memiliki selisih yang kecil yang disebabkan time sampling yang cepat. Dan 4 bit pada LSB selalu dibulatkan ke atas dengan cara setiap ada bilangan yang bernilai maka output selalu ditambahkan dengan nilai. Pada proses selanjutnya output instruction decoder bit (7) akan aktif dalam hal ini output instruction decoder ini digunakan untuk clock operasi perkalian (Multiplier) (3) dan operasi penjumlahan (Adder) (2). dengan demikian maka operasi perkalian (Multiplier) (3) akan aktif dimana nilai output dari reducer bit 4 to 7 (7bit) akan dikalikan dengan nilai konstanta tetap (7bit) oleh user dengan menggunakan saklar geser dari modul FPGA, pada operasi perkalian (Multiplier) ini akan menghasilkan output dengan 3 lebar bit dan selanjutnya akan digunakan untuk nilai input ke (2) dari operasi perkalian (Multiplier) (4). Pada operasi penjumlahan (Adder) (2) nilai Kp (24bit) dan nilai Ki (25bit) akan ditambahkan juga. Pada proses selanjutnya output instruction

72 decoder bit (8) akan aktif dalam hal ini output instruction decoder ini digunakan untuk clock operasi perkalian (Multiplier) (4) dengan demikian maka operasi perkalian (Multiplier) (4) akan aktif dimana nilai turunan (differensial) akan dikalikan dengan nilai (konstanta tetap. ((E(t))-(E(t-))) dimana pada output operasi perkalian (Multiplier) (4) akan menghasilkan nilai Kd (24bit). Pada proses selanjutnya output instruction decoder bit (9) akan aktif dalam hal ini output instruction decoder ini digunakan untuk clock operasi penjumlahan (Adder) (3). dengan demikian maka operasi penjumlahan (Adder) (3) akan aktif dimana nilai (Kp+Ki) (26bit) akan dijumlahkan dengan nilai Kd (24bit). Sehingga output pada operasi penjumlahan (Adder) ini akan menghasilkan nilai Kp + Ki + Kd. Modul yang terakhir adalah modul reducer bit, dimana modul ini digunakan sebagai pembulatan nilai bit dari total keseluruhan operasi-operasi aritmatik yang ada di dalam PID Arithmatic. Dimana banyaknya bit dari output PID Arithmatic adalah 27 bit. Sedangkan DAC (digital to analog converter) yang digunakan adalah 2 bit sehingga perlu dilakukan pengurangan bit. Dimana pada rancangan pengurangan bit dilakukan dengan cara mereduksi banyaknya bit dari 27 menjadi 2 bit. Dalam mereduksi bit dari input dilakukan dengan cara membatasi nilai bilangan yang masuk dengan maksimal, minimal dan kemudian membulatkan pada 8 bit LSB dengan membulatkannya selalu ke atas dan output MSB diambil mulai pada bit ke 2 hingga LSB diambil pada bit ke 8, sehingga dari 27 bit data pada input menjadi 2 bit pada output yang mana tujuannya yaitu mereduksi banyaknya bit- bit pada output PID Arithmatic. Dengan adanya bit-bit yang dihilangkan maka bit-bit tersebut dianggap error dari sistem.

73 Pada perancangan system PID yang dibuat didalam FPGA bilangan yang digunakan adalah bilangan bertanda (Sign) dimana dari 2 bit yang digunakan dalam perancangan system ini nilai bit maksimum adalah 247 dalam desimal atau dalam biner. Sedangkan nilai bit minimum adalah -248 dalam desimal atau dalam biner. Dengan demikian nilai bilangan bertanda (Sign) ini harus disesuaikan dengan tipe data untuk DAC yang bekerja dengan menggunakan bilangan tidak bertanda (Unsign) dimana output sinyal analog yang berupa tegangan, nilai maksimalnya dari +2,5V sampai dengan -2,5V, ketika diberikan input maka outputnya +2,5V, dan ketika diberikan input maka nilai outputnya 2,5V, dan bila diberikan input maka outputnya adalah selisih dari tengangan Vref yaitu mendekati V. sehingga untuk menyesuaikan tipe data pada DAC maka output MSB yang berasal dari FPGA diberikan gerbang NOT, sehingga tipe data Sign pada FPGA menjadi tipe data Unsign. 3.7 Metode Metode Pembuatan Operasi Aritmatik Pada PID Arithmatic operasi-operasi yang dilakukan adalah penjumlahan (Adder), pengurangan (subtractor) dan Perkalian (Multiplyer), dimana pada operasioperasi ini memiliki metode penyelesaian aritmatik masing-masing yang dapat dijelaskan dari listing program yang ada dibawah ini: 3.7. Operasi Pengurangan entity min is Port ( in : in std_logic_vector( downto ); in2 : in std_logic_vector( downto );

74 clk : in std_logic; rst : in std_logic; out : out std_logic_vector(2 downto )); end min; architecture Behavioral of min is signal a :std_logic_vector(2 downto ); signal b :std_logic_vector(2 downto ); begin process (in, in2, clk, rst) begin if rst ='' then out<= ""; elsif clk' event and clk = '' then a ( downto ) <= in; b ( downto ) <= in2; a(2) <= in () and ''; b(2) <= in2 () and ''; out <= a - b; end if; end process; end Behavioral;

75 Pada listing program pengurangan (subtractor) diatas kedua input yang akan dikurangkan, nilai MSB-nya di- AND dengan kemudian hasil input AND-nya dijadikan sebagai input MSB bit ke-3, Metode ini digunakan sebagai tempat untuk menyimpan carry out dari hasil pengurangan agar dapat mempertahankan tanda nilai (+) atau (-) pada output dari hasil pengurangan tersebut, karena pada PID Arithmatic System bilangan yang digunakan adalah bilangan bertanda (Sign). Sebagai contoh: Input biner A : bilangan desimal bertanda (sign) : 247 Input biner B : bilangan desimal bertanda (sign) : -248 Maka : sehingga hasil operasi bilangan adalah dikurang dengan.

76 3.7.2 Operasi Perkalian entity mul is Port ( in : in std_logic_vector( downto ); in2 : in std_logic_vector(2 downto ); clk : in std_logic; rst : in std_logic; out : out std_logic_vector(23 downto )); end mul; architecture Behavioral of mul is signal reduce : std_logic_vector(24 downto ); begin process (in,in2,clk,rst) begin if rst ='' then out <= ""; elsif clk'event and clk = '' then reduce <= in*in2; out (22 downto )<= reduce (22 downto ); out (23) <= reduce(23) or reduce(24); end if; end process; end Behavioral;

77 Pada operasi perkalian (multiplier) diatas dilakukan dengan menggunakan pipeline multiplier yang disediakan oleh FPGA dalam bentuk rangkaian hardware didalam IC FPGA, dimana bila input sebanyak n-bit dikalikan dengan input sebanyak n- bit, maka banyak bit outputnya adalah n-bit pada input ditambah dengan n-bit input 2, dan 2 bit MSB pada outputnya berfungsi sebagai bit tanda (Sign bit), oleh karena itu 2 bit MSB pada output dimasukan kedalam gerbang OR karena kedua-duanya sama-sama berfungsi sebagai bit penanda (Sign bit). 3.7.3 Operasi Penjumlahan entity plus is Port ( in : in std_logic_vector( downto ); in2 : in std_logic_vector( downto ); out : out std_logic_vector(2 downto ); clk : in std_logic; rst : in std_logic); end plus; architecture Behavioral of plus is signal a :std_logic_vector(2 downto ); signal b :std_logic_vector(2 downto ); begin process (in, in2, clk, rst) begin if rst ='' then out<= "";

78 elsif clk' event and clk = '' then a ( downto ) <= in; b ( downto ) <= in2; a(2) <= in () and ''; b(2) <= in2 () and ''; out <= a + b; end if; end process; end Behavioral; Pada listing program penjumlahan biner (Binary Adder) diatas kedua input yang akan dijumlahkan, nilai MSB-nya di- AND dengan kemudian hasil input AND-nya dijadikan sebagai input MSB bit ke-3, Metode ini digunakan sebagai tempat untuk menyimpan carry out dari hasil penjumlahan agar dapat mempertahankan tanda nilai (+) atau (-) pada output dari hasil penjumlahan tersebut, karena pada PID Arithmatic bilangan yang digunakan adalah bilangan bertanda (Sign). Sebagai contoh : Input biner A : bilangan desimal bertanda (sign) : -248 Input biner B : bilangan desimal bertanda (sign) : -248 Maka :

79 sehingga pada operasi penjumlahan biner adalah dijumlahkandengan dan hasilnya menjadi atau menjadi -496 dalam bilangan desimalnya. 3.7.4 Operasi Penjumlahan 2 entity ADDER is Port ( in : in std_logic_vector(2 downto ); in2 : in std_logic_vector(3 downto ); out : out std_logic_vector(3 downto ); clk : in std_logic; rst : in std_logic); end ADDER;

8 architecture Behavioral of ADDER is signal a :std_logic_vector(3 downto ); signal outplus2 :std_logic_vector(3 downto ); begin process (in,a,outplus2, in2, clk, rst) begin if rst ='' then out<= ""; a<= ""; outplus2<= ""; elsif clk' event and clk = '' then a ( 2 downto ) <= in; a(3) <= in (2) and ''; outplus2 <= a + in2; if a(3)= '' and in2(3)='' and outplus2(3)='' then out<= ""; elsif a(3)= '' and in2(3)='' and outplus2(3)='' then out<= ""; else out<=outplus2; end if; end if; end process; end Behavioral;

8 Pada operasi penjumlahan (Adder) model ini berguna untuk membatasi nilai output sehingga tidak terjadi overflow atau underflow karena output pada penjumlahan ini dimasukan kembali pada input penjumlahan itu sendiri sehingga nilai hasil penjumlahan akan bertambah terus-menerus, oleh karena itu pada penjumlahan ini dibutuhkan suatu pembatas nilai tertentu yang menyebabkan bila hasil penjumlahan melewati batas yang ditentukan maka hasil output hanya sampai pada batasnya saja.

Start 82 Mengambil nilai feedback dari ADC Data disimpan diregister Nilai SP dikurangkan dengan nilai feedback dari ADC Register 2 menyimpan E(t-) Register meyimpan E(t) Kp = p. E(t) t t= E( t) E(t) - E(t-) Ki = I. t t= E( t) Bit Reducer 4to7 Kp + Ki Hasil reduksi dikalikan dengan konstanta tetap Kd = d. Konstanta tetap. E(t) - E(t-) Kp + Ki + Kd Bit reducer 27to2 Gambar 3.: Diagram Alir Sistem