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

dokumen-dokumen yang mirip
PERANCANGAN PENGENDALI POSISI LINIER UNTUK MOTOR DC DENGAN MENGGUNAKAN PID

DT-51 Application Note

BAB 3 PERANCANGAN SISTEM. Computer. Parallel Port ICSP. Microcontroller. Motor Driver Encoder. DC Motor. Gambar 3.1: Blok Diagram Perangkat Keras

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN PERANGKAT KERAS MOBILE-ROBOT

BAB III DESAIN DAN IMPLEMENTASI

BAB 4 IMPLEMENTASI DAN EVALUASI. (secara hardware).hasil implementasi akan dievaluasi untuk mengetahui apakah

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEMKENDALI PADA EXHAUST FAN MENGGUNAKAN SMS GATEWAY

BAB 3 PERANCANGAN SISTEM

III. METODE PENELITIAN. Penelitian dan perancangan tugas akhir ini telah dimulai sejak bulan Agustus

BAB III PERANCANGAN ALAT

BAB II TINJAUAN PUSTAKA

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

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN ALAT

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

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERANCANGAN ALAT

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

BAB IV PENGUJIAN ALAT DAN ANALISA

III. METODOLOGI PENELITIAN. Penelitian dan perancangan tugas akhir ini telah dimulai sejak bulan Juli 2009

BAB III PERENCANAAN DAN REALISASI SISTEM

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

BAB 3 PERANCANGAN SISTEM

BAB III PERANCANGAN DAN PEMBUATAN ALAT

melibatkan mesin atau perangkat elektronik, sehingga pekerjaan manusia dapat dikerjakan dengan mudah tanpa harus membuang tenaga dan mempersingkat wak

BAB III PERENCANAAN DAN PEMBUATAN ALAT

BAB III ANALISA DAN PERANCANGAN

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN DAN REALISASI

BAB 4 IMPLEMENTASI DAN EVALUASI. perangkat keras untuk mengoperasikan rangkaian DC servo pada mesin CNC dan

BAB 3 PERANCANGAN SISTEM. sederhana, ditunjukan pada blok diagram dibawah ini.

BAB IV PENGUJIAN ALAT DAN ANALISA

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

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

BAB III DESKRIPSI MASALAH

BAB IV ANALISA DAN PENGUJIAN ALAT

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

BAB III ANALISA DAN PERANCANGAN. Blok Diagram adalah alur kerja sistem secara sederhana yang

PENGENDALIAN KECEPATAN MOTOR DC MENGGUNAKAN SENSOR ENCODER DENGAN KENDALI PI

BAB III PERANCANGAN ALAT

BAB IV ANALISIS RANGKAIAN ELEKTRONIK

BAB 3 PERANCANGAN KENDALI MOTOR DC. Perancangan kendali motor DC dalam skripsi ini meliputi perancangan motor

BAB IV PENGUJIAN ALAT DAN ANALISA

BAB 3 PERANCANGAN SISTEM

BAB II DASAR TEORI Arduino Mega 2560

BAB III PERANCANGAN SISTEM

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

BAB IV ANALISIS DAN PENGUJIAN. Berikut ini adalah diagram blok rangkaian secara keseluruhan dari sistem alat ukur curah hujan yang dirancang.

BAB III ANALISA SISTEM

PC-Link. PC-Link. Application Note AN202

BAB III PERANCANGAN SISTEM. untuk efisiensi energi listrik pada kehidupan sehari-hari. Perangkat input untuk

II. PERANCANGAN SISTEM

BAB III PERANCANGAN Gambaran Alat

UNIVERSITAS BINA NUSANTARA KONTROL POSISI PADA MOTOR DC DENGAN FPGA

BAB II DASAR TEORI. Gambar 2.1 Sensor Ultrasonik HCSR04. Gambar 2.2 Cara Kerja Sensor Ultrasonik.

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM

BAB III PERANCANGAN SISTEM

BAB IV PENGUJIAN DAN ANALISIS

BAB III METODE PENELITIAN. Pada pengerjaan tugas akhir ini metode penelitian yang dilakukan yaitu. dengan penelitian yang dilakukan.

BAB 3 PERANCANGAN SISTEM

BAB 3 PERANCANGAN SISTEM

BAB III PERANCANGAN. Gambar 3.1. Blok sistem secara keseluruhan. Sensor tegangan dan sensor arus RTC. Antena Antena. Sensor suhu.

PENGATURAN KECEPATAN DAN POSISI MOTOR AC 3 PHASA MENGGUNAKAN DT AVR LOW COST MICRO SYSTEM

BAB III PERENCANAAN PERANGKAT KERAS DAN LUNAK

SISTEM PENGATURAN MOTOR DC UNTUK STARTING DAN BREAKING PADA PINTU GESER MENGGUNAKAN PID

BAB III PERANCANGAN ALAT

Pemodelan Sistem Kontrol Motor DC dengan Temperatur Udara sebagai Pemicu

BAB III PERANCANGAN DAN CARA KERJA RANGKAIAN

BAB III PERANCANGAN SISTEM

BAB IV PENGUJIAN DAN ANALISIS SISTEM. didapat suatu sistem yang dapat mengendalikan mobile robot dengan PID

BAB III ANALISIS DAN PERANCANGAN

BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS

BAB 2 LANDASAN TEORI. robotika. Salah satu alasannya adalah arah putaran motor DC, baik searah jarum jam

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM. Metode penelitian yang digunakan adalah studi kepustakaan dan

III. METODE PENELITIAN. Penelitian ini mulai dilaksanakan pada bulan April 2015 sampai dengan Mei 2015,

BAB 3 PERANCANGAN SISTEM

BAB III PERANCANGAN DAN PEMODELAN

BAB IV ANALISA DAN PENGUJIAN SISTEM

BAB III PERANCANGAN SISTEM

BAB 2 LANDASAN TEORI

NASKAH PUBLIKASI KARYA ILMIAH PEMASANGAN MOTOR DC PADA SEKUTER DENGAN PENGENDALI PULSE WIDTH MODULATION

TUGAS MATAKULIAH APLIKASI KOMPUTER DALAM SISTEM TENAGA LISTRIK FINAL REPORT : Pengendalian Motor DC menggunakan Komputer

BAB IV PENGUJIAN SISTEM. Pengujian minimum system bertujuan untuk mengetahui apakah minimum

BAB III METODE PENELITIAN

Bab III Perancangan Sistem

DT-AVR Application Note

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

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III SISTEM PENGUKURAN ARUS & TEGANGAN AC PADA WATTMETER DIGITAL

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

BAB III PERENCANAAN DAN PEMBUATAN ALAT

III. METODE PENELITIAN. Teknik Elektro Universitas Lampung dilaksanakan mulai bulan Desember 2011

BAB III PERANCANGAN ALAT

BAB IV PROTOTYPE ROBOT TANGGA BERODA. beroda yang dapat menaiki tangga dengan metode pengangkatan beban pada roda

BAB III PERANCANGAN. Pada bab ini akan dibahas mengenai beberapa hal dasar tentang bagaimana. simulasi mobil automatis dirancang, diantaranya adalah :

Bab IV Pengujian dan Analisis

PC-Link Application Note

Transkripsi:

27 BAB 3 PERANCANGAN SISTEM 3.1 Perancangan Perangkat Keras Perancangan sistem pengendalian posisi linier motor DC dengan algoritma PID berbasiskan mikrokontroler ini mempunyai main modul untuk pengendalian motor DC dan modul mekanik. Gambar 3.1 Diagram Blok Sistem Perancangan sistem ini merupakan sistem pengendali single input dan single output dimana nilai set point sebagai inputan dan putaran motor sebagai outputnya. Perancangan awal dari sistem yang akan dibangun ini adalah algoritma PID yang dipakai sepenuhnya berdasarkan implementasi dari sebuah algoritma matematika yang dituangkan kedalam bahasa pemograman mikrokontroler. Mikrokontroller merupakan pusat pemrosesan data. Dalam modul driver akan menerima sinyal input yang dikirim dari mikrokontroler berupa clock dan arah pergerakan. Modul driver ini akan mengirim sinyal ke motor DC yang akan menggerakkan axis. Dan encoder dari motor DC menjadi feedback untuk mikrokontroller dalam pengaturan perputaran motor DC dan

28 akan dilihat output set point akan sama dengan nilai set point inputan dengan pengukuran secara manual. Ouput pergerakan benda didalam modul mekanik dari titik awal sampai titik akhir atau sesuai dengan jarak inputan. 3.1.1 Perancangan Power Supply Power supply diperlukan untuk memenuhi konsumsi daya listrik untuk modul kontroller motor DC. Power supply yang diperlukan mempunyai tegangan +25 volt, - 25 volt, +12 volt, -12 volt, +5 volt. 3.1.2 Modul Kontroller Motor DC Untuk modul kontroller DC diambil dari dari internet, yang dikenal dengan nama modul UHU Kontroller. Modul ini digunakan karena sesuai dengan kriteria yang akan digunakan pada sistem ini yaitu: - Kontroller dengan Attiny 2313 - Operating frequency: 24 MHz - Kecepatan : mencapai 250.000 steps/s (4-fold encoder steps) - Standard output : Tegangan = 100 volts Arus = 20 ampere -@70 degrees - Communication interface: RS232 34.800, 8 Bit, 1 Stop, No Parity - Inputs PC: step/dir - encoder : A/B 90, 4-fold - emergency stop: Active Low - Outputs: Ready (LED)

29 - PWM (10 Bit, symmetric) - power enable error (LED) - Power stage: - MOS-FET technology - adjustable maximum current option 1: IRF540 max 10A/60V option 2: IRFP260N max.30a/150v Kontroller ini dapat bekerja dengan motor DC yang memiliki encoder dengan resolusi tinggi. Untuk masalah daya, kontroller ini dapat di sesuaikan dalam mengontrol motor DC dengan daya sampai 1 kw. Kontroller ini juga mempunyai pembatas arus(current limiter) sehingga arus maksimum dapat dibatasi yang mengalir pada motor DC, dengan begitu motor DC akan terlindung dari kelebihan arus. Jika terjadi kesalahan, misalnya ketika waktu motor DC bergerak, maka akan ada feedback ke sistem dan sistem akan berhenti. Dengan ini sistem tidak rusak atau tetap stabil dan khususnya motor DC tidak dipaksakan dan tidak timbul kerusakan. Dalam kontroller ini algoritma PID dapat digunakan. Dalam modul kontroller ini terdapat bagian-bagian, yang setiap bagian mempunyai fungsi yaitu : Blok Regulator Komputer Blok Konverter Serial Blok Kontroller Blok H-Bridge Motor DC Blok Pembagi Arus Gambar 3.2 Diagram Blok Modul Kontroller Motor DC

30 a. Blok konverter serial Gambar 3.3 Skematik Blok Konverter Serial Blok ini terdapat IC MAX232 yang berguna sebagai level konverter untuk melakukan konversi dua arah antara serial port dari PC (RS232) dan serial port dari mikrokontroler. Komunikasi serial yang digunakan memakai IC MAX232, IC 232 berfungsi sebagai konverter tegangan dari PC ke microcontroller, yaitu dari logic PC kedalam logic TTL 5V. Rangkaian dari IC 232 menggunakan konfigurasi cross null modem, dimana bagian TX dari microcontroller akan dihubungkan dengan RX dari PC, dan RX dari microcontroller akan dihubungkan dengan TX dari PC. Rangkaian komunikasi serial digunakan untuk mengirim data secara satu per satu dengan menggunakan satu jalur kabel data, sehingga hanya menggunakan 2 kabel data yaitu kabel data yang digunakan untuk pengiriman data atau disebut juga transmit (TX) dan kabel data yang digunakan untuk penerimaan data atau disebut juga receive (RX). Kelebihan dari komunikasi serial adalah pengiriman dan penerimaan data dapat dilakukan untuk jarak yang cukup jauh, sedangkan kekurangan dari komunikasi serial adalah kecepatan lambat. Komunikasi serial digunakan untuk

31 melakukan pengiriman dan penerimaan data dari mikrokontroller AVR ATtiny 2313 ke PC atau sebaliknya b. Blok Kontroller Blok Konverte Serial Blok H bridge Gambar 3.4 Skematik Blok Kontroller Blok Pembatas Arus

32 Mikrokontroller Attiny 2313 digunakan sebagai kontroller digital untuk mengendalikan motor DC dengan waktu yang cepat dan dengan keslahan yang sangat kecil. Algoritma PID akan diprogram di AVR ini dan algoritma ini juga yang mengatur PWM yang berguna untuk mengatur perputaran motor. Kontroller ini berbentuk closed loop sistem dengan adanya feedback kecepatan dan posisi oleh encoder motor sampai mencapai posisi yang diinginkan atau set point yang diberikan oleh user. Di blok ini terdapat IC flip-flop yang berguna untuk mengaktifkan IC halfbridge IR 2184. Jadi IC ini yang menentukan salah satu IC 2184 yang harus aktif. Dengan menggunakan metode PID, hasil dari perhitungan dari PID harus dikonversikan ke PWM. Sinyal kontrol dikalibrasikan ke sebuah nilai variabel yang mempunyai rentang misalnya 0-255. Sebelum untuk mendapat nilai PWM maka dilakukan perhitungan dengan rumus PID, lalu hasil dari perhitungan tersebut yang merupakan sinyal kontrol dimasukkan ke dalam rumus untuk mencari nilai PWM sebagai berikut : PWM = nilai maksimum sinyal kontrol Jadi ketika nilai kontrol yang didapat sama dengan nilai maksimum (255), maka PWM bernilai 0, yang berarti perputaran motor DC dalam kecepatan penuh. Jadi untuk nilai PWM tergantung dari hasil sinyal kontrol yang dihasilkan. Nilai maksimum dapat diubah sesuai dengan keinginan. Sinyal kontrol itu sendiri adalah keluaran dari rumus PID atau dapat disebut merupakan nilai yang mengontrol PWM.

33 c. Blok H-Bridge Blok Kontroller Blok Pembatas Arus Blok Kontroller Gambar 3.5 Blok H-bridge

34 Blok ini berfungsi sebagai penggerak (driver) untuk motor DC. Terdiri dari dua IC halfbridge (IR2184) yang berguna sebagai trigger mosfet (pemicu mosfet). Empat buah mosfet (IRFP260) yang terdapat pada blok ini berguna sebagai saklar aliran arus yang menuju motor DC. Dalam blok ini terdapat resistor dengan daya 5 watt. Resistor juga berguna menentukan tegangan di blok ini, sesuai dengan arus maksimum motor DC. IC IR2184 untuk memilih mosfet mana yang harus aktif pada saat putaran motor DC searah jarum jam (CW) atau berlawanan jarum jam (CCW). IC IR2184 yang atas mengtrigger mosfet T1 dan T4, sedangkan IC IR2184 yang bawah mengtrigger mosfet T2 dan T3. Mosfet yang harus aktif antara T1 dan T4 atau T2 dan T3. Jika yang aktif T1 dan T3 atau T2 dan T4 yang aktif maka sistem akan rusak. H-Bridge adalah gabungan antara sirkuit digital dan mekanik. Biasanya H- Bridges digunakan untuk mengkendalikan arah putaran motor DC. Pemakaian MOSFET ini lebih baik daripada transistor. Dalam blok dipakai Mosfet IRFP260N yang mempunyai arus maksimal 30A dan tegangan maksimal 150V. MOSFET lebih efisien dan mudah untuk mengkalkulasi matematikanya. Dan dalam pemakaian PWM, MOSFET lebih optimal. Jadi untuk mengoperasikannya dengan menyulut gerbang gate dengan tegangan (bisa dari mikrokontroller).

35 d. Blok pembatas arus (current limiter) Gambar 3.6 Skematik Pembatas Arus Blok ini terdapat OP-AMP (TL082) yang berguna sebagai komparator untuk membandingkan arus yang mengalir di motor DC dengan tegangan yang diset di trimpot. Blok ini bekerja setelah IC halfbridge (IR2184) di blok H-bridge telah mengtrigger mosfet yang ada untuk menjalankan motor DC. Oleh karena itu, blok ini berguna untuk membatasi arus maksimum yang boleh mengalir pada motor DC, dengan begitu motor DC akan terlindung dari kelebihan arus. Jika motor DC kelebihan arus, maka IC op-amp yang ada di blok akan memberi sinyal kepada IC halbridge untuk berhenti meng-trigger mosfet, sehingga motor DC berhenti berputar. Ini yang dapat menyebabkan sistem tetap stabil dan terhindar dari kerusakan sistem.

36 e. Blok Regulator Gambar 3.7 Skematik Blok Regulator Blok ini berguna untuk mengkonversi dari tegangan 12 volt menjadi 5 volt. Tegangan 5 volt ini akan digunakan sebagai tegangan supply (Vcc) untuk IC halfbridge (IR2184) yang memicu mosfet. Tegangan yang dikonversi ini juga menjadi tegangan suply buat mikrokontroller dan juga IC TTL yang ada. 3.1.3 Perancangan Sistem Mekanik Sistem mekanik dirancang untuk pengimplementasian posisi linier dari motor DC. Sistem mekanik ini terbuat dari bahan besi. Motor DC dihubungkan ke katrol yang akan memutar belt yang terbuat dari karet. Skema perancangan sistem mekanik dapat dilihat pada gambar :

37 Gambar 3.8 Perancangan Sistem Mekanik Komponen-komponen mekanik yang diperlukan dalam perancangan sistem mekanik ini terdiri dari : Sebuah besi yang dibentuk dengan berukuran 160 mm x 1200 mm sebagai landasan keseluruhan sistem mekanik, 1 buah karet yang berbentuk lingkaran yang dipasang di katrol. 2 buah katrol yang diletakkan dimasing-masing pelat dan dari satu katrol ke katrol lainnya berjarak 1 meter, yang diukur dari titik tengah. 2 buah lempengan pelat besi sebagai tempat dari katrol dan salah satunya terhubung ke motor DC. 1 buah BB (Ball Bearing) di salah satu pelat yang berfungsi untuk memperlancar perputaran katrol.

38 3.2 Perancangan Perangkat Lunak Perancangan perangkat lunak meliputi perancangan file berekstensi.prj menggunakan bahasa pemrograman CodeVision AVR yang bertujuan agar sistem dapat menggerakan motor DC bergerak. Algoritma PID akan diprogram di dalam mikrokontroller. Inputan yang berupa nilai jarak, Kp, Ki, Kd, dan set point dimasukkan melalui komputer, kemudian dikirim melalui usb to serial yang terhubung ke modul kontroller. Start konfigurasi timer0 dan timer1 serial port parallel terima var jarak, set point,kp,ki,kd dan terima periode sampling Rutin PID terima perintah untuk berhenti Ya Tidak Gambar 3.9 Diagram Alir Program Utama

39 Program akan mengkonfigurasi Timer0 untuk penghitungan PWM dan Timer1 sebagai pemprosesan sampling. Timer1 berfungsi sebagai pewaktu periode sampling T sehingga ketika Timer1 overflow, maka akan terjadi interupsi dan rutin perhitungan sinyal kontrol dengan metode PID akan dipanggil. Pada listing program rutin ini dinamakan rutin PID dan akan dijelaskan secara tersendiri. Periode sampling T merupakan selang waktu dari diaktifkannya Timer1 (start Timer1) sampai Timer1 overflow. Periode sampling yaitu untuk mengukur berapa banyak pulse yg berputar. Setelah nilai set point, Kp, Ki, dan Kd serta periode sampling dimasukkan, lalu Timer1 diisi dengan nilai awal, Timer0 dan Timer1 diaktifkan sehingga Timer1 mulai menghitung dan Timer0 mulai mencacah pulsa keluaran rangkaian speed encoder. Ketika Timer1 overflow, maka rutin PID dipanggil dan motor akan mulai berputar di akhir rutin PID. Hal ini akan dijelaskan lebih lanjut pada rutin PID. Jika terjadi kesalahan user dapat memberhentikan motor dan akan kembali ke awal. 3.2.1 Perancangan Algoritma PID Dalam merancang PID dengan menggunakan mikrokontroller, langkah awal yang dilakukan adalah menjabarkan rumus PID yang akan digunakan, yang masih berupa PID analog sebagai berikut : de(t) = Kp e(t) + Ki e(t)dt + Kd dt u(t)...persamaan (3.1) (Application Note AN116, Tim IE )

40 sehingga dari persamaan PID analog tersebut diubah menjadi bentuk digital sebagai berikut : e( n) e( n 1) u(n) = Kp e(n) + Ki e( n) T + Kd T dimana : (Application Note AN116, Tim IE )...Persamaan(3.2) u(n) = Kp = Ki = Kd = e(n) = Sinyal kontrol (output dari PID) Konstanta penguatan propotional Konstanta penguatan integral Konstanta penguatan derivative Error posisi sekarang e(n -1) = Error posisi sebelum e(n) T = Waktu sampling Dalam pemrograman akan dibuat dalam mikrokontroller terdapat dua proses utama yaitu : - Kp, Ki, Kd, set point - PID arithmatic processing Kp, Kd, Ki adalah konstanta yang diberikan pada algoritma PID sesuai karakteristik 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 dimasukkan ke dalam algoritma PID haruslah berdasarkan karakteristik motor yang dipakai, akan tetapi karena pada motor DC yang digunakan tidak diketahui nilai-nilai karakteristiknya, maka nilai konstanta tersebut akan dicoba-

41 coba dengan memasukkan 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. Set point merupakan harga atau keadaan tertentu yang ingin dicapai. Nilai set point berupa satuan centimeter. Karena dalam sistem ini encoder sebagai feedback dari sistem. Dalam PID aritmathic proccesing, akan dilakukan perhitungan untuk mendapatkan sinyal kontrol. Proses ini berulang terus sampai sinyal error sama dengan 0 dan sesuai dengan set point yang diinginkan. Setelah nilai Kp, KI, Kd dimasukkan, maka akan terjadi proses perhitungan dengan menggunakan rumus PID digital. Rutin PID akan dikerjakan setiap kali Timer1 overflow. Laju overflow Timer1 inilah yang merupakan periode sampling T sistem kontrol. Selama Timer1 belum overflow, interupsi tidak akan terjadi dan rutin PID tidak akan dikerjakan. Timer 0 merupakan keluaran PWM. Error diperoleh dengan set point dikurang dengan posisi aktual. Pada listing program nilai error disimpan dalam variabel error. Yang dimaksud suku integral adalah suku KiΣe[n]T. Pada persamaan ini periode sampling T dapat dikeluarkan dari notasi sigma sebab nilainya konstan, sehingga suku integral (pada listing program disimpan dalam variabel intgrl_term) menjadi : intgrl_ter m = Ki T e(n)...persamaan (3.3) Pada program nilai Ki langsung dikalikan dengan periode sampling T segera setelah user memasukkan nilai Ki. Akumulasi error Σe[n] disimpan dalam variabel acc_error dan dihitung sebagai berikut : acc_error = acc_error + error...persamaan (3.4)

42 Pada akhirnya suku integral menjadi : intgrl_ter m = Ki x acc_error...persamaan (3.5) dimana Ki = Ki x T. Yang dimaksud suku diferensial adalah suku e( n) e( n 1) Kd T...Persamaan (3.6) Pada program nilai Kd langsung dibagi dengan periode sampling T segera setelah user memasukkan nilai Kd. e[n] adalah nilai error saat ini dan e[n-1] adalah nilai error sebelumnya. Pada program e[n-1] disimpan dalam variabel prev_error, sehingga suku diferensial (disimpan dalam variabel derv_term) menjadi : derv_term = Kd x (error - prev_error )...Persamaan (3.7) dimana Kd = Kd / T. Nilai error, suku integral dan suku diferensial dijumlahkan membentuk suku yang berada dalam tanda kurung pada persamaan e( n) e( n 1) = Kp e(n) + Ki e( n) T + Kd T u(n)...persamaan (3.8) dan disimpan dalam variabel sum. sum error + intgrl_term + derv_term =...Persamaan (3.9) Variabel sum dikalikan dengan Kp membentuk sinyal kontrol. control = Kp x Sum...Persamaan (3.10) Beberapa variabel di atas nilainya dibatasi oleh suatu angka maksimum (batas saturasi) agar hasil perhitungan tidak melebihi nilai maksimum yang dapat diakomodasi oleh suatu tipe data. Sebagai contoh variabel control dideklarasikan dengan tipe data long. Tipe data long dapat mengakomodasi nilai -2147483648

43 sampai dengan 2147483647. Nilai maksimum beberapa variabel dalam program dibatasi agar nilainya terletak diantara -10000 sampai 10000. Nilai maksimum ini dipakai untuk menentukan nilai PWM yang harus dikirimkan ke motor DC. Perhitungan untuk PWM adalah sebagai berikut : PWM = 255 - control...persamaan (3.11) Nilai variabel control dikalibrasikan ke rentang nilai 0 255. Sekali lagi nilai baru variabel control disimpan dalam variabel yang sama dengan tujuan menghemat pemakaian memori internal mikrokontroller. Jika nilai control = nilai maksimum, maka PWM akan bernilai 0, yang berarti putar motor DC pada kecepatan penuh. Rutin PID akan terus berulang sampai nilai error sama dengan nol atau sesuai dengan set point.

Gambar 3.10 Diagram Alir rutin PID 44