DESAIN DAN IMPLEMENTASI PERANGKAT LUNAK PADA SISTEM MIKROKONTROLER BERBASIS CHIBIOS/RT (STUDI KASUS PENGONTROLAN MOTOR DC) Haryo Pamungkas S.#1, Iwan Setiawan,ST,MT#2, Budi Setiyono,ST,MT#3 #
Jurusan Teknik Elektro, Fakultas Teknik Universitas Diponegoro jl. Prof Sudharto, Tembalang, Semarang, Indonesia #1
#2
@
[email protected] [email protected] #3
[email protected]
Abstrak — Penggunaan perangkat lunak dalam perancangan sistem kontrol bukan merupakan hal yang baru. Seiring dengan banyaknya perangkat keras yang menggunakan sistem kontrol maka akan semakin kompleks juga sistem pengontrolan yang akan dirancang. Untuk mempermudah perancangan sistem kontrol tersebut maka pada proses perancangan ikut dimasukkan sebuah perangkat lunak yang bernama real time operating systems (RTOS). RTOS sendiri merupakan hasil pengembangan pada bidang IT yang kemudian bisa diadaptasikan untuk bidang otomatisasi, salah satunya digunakan untuk merancang sistem kontrol secara real time. Dengan sistem real time maka sebuah task (proses) dapat diselesaikan dalam waktu tertentu yang bisa ditentukan sendiri. Selain itu terdapat scheduling yang memungkinkan pengerjaan beberapa task secara teratur sehingga kemungkinan untuk bertabrakannya beberapa task bisa dihindarkan. Tujuan dari penelitian tugas akhir ini adalah mendesain dan mendekomposisi multitasking pada perangkat lunak sistem mikrokontroler yang akan digunakan dan menguji pengontrolan yang digunakan dalam hal ini parameter PI. Pada tugas akhir ini, dbuat suatu sistem pengontrolan untuk mengatur kecepatan motor yang nilainya agar sesuai dengan yang diinginkan,. Pengontrolan yang digunakan adalah metode Proporsional-Integral (PI). Dari hasil pengujian didapatkan hasil bahwa waktu pada sistem yang didesain dalam mikrokontroler jenis AVR dengan tipe ATmega128L ini memiliki perbedaan sebesar 71 tick . Parameter pada kontrol PI terbaik memiliki nilai Kp=0,072 dan Ti=0,1.
II. DASAR TEORI A. Konsep Sistem Real Time Karakter dasar dari sistem real time adalah sebuah sistem yang mempunyai beberapa konsekuensi yang akan berpengaruh pada sistem apabila deadline (batas akhir waktu pelaksanaan task) tidak terpenuhi. Sistem real time sendiri terdiri dari 2 jenis yaitu, sistem soft real time dan sistem hard real time. Soft real time bisa dideskripsikan sebagai sistem yang hampir selalu menyelesaikan task dengan waktu yang telah ditentukan. Kemungkinan penyelesaian task melewati batas waktu pelaksanaan task masih bisa terjadi. Apabila terjadi kegagalan mencapai deadline maka sistem akan mengalami efek yang tidak begitu berbahaya bagi sistem, contohnya seperti penurunan performa sistem. Sedangkan hard real time merupakan sistem yang dipastikan selalu menyelesaikan task dalam waktu yang telah ditentukan. Dikatakan pasti selalu menyelesaikan task karena hard real time selalu menyelesaikan task sebelum deadline dan apabila terjadi kegagalan menyelesaikan task maka sistem akan mengalami efek berbahaya yang dapat merusak sistem secara keseluruhan. B. Task Sebuah task, merupakan sebuah objek/program yang dapat dieksekusi dan beranggapan mempunyai CPU untuk task itu sendiri. Salah satu proses perancangan aplikasi dengan RTOS yaitu membagi semua pekerjaan dalam aplikasi tersebut menjadi beberapa bagian task. Tiap task merupakan loop yang akan terus berulang. Dalam proses pengulangan tersebut, task akan mengalami tiga buah keadaan seperti pada Gambar 2.1 yaitu: Running, merupakan keadaan di mana sebuah task dengan prioritas tertinggi berjalan Ready, merupakan keadaan yang dialami sebuah task jika terdapat sebuah task lain sedang running dan task yang berada pada ready akan melanjutkan pengerjaan task yang sempat tertunda oleh task yang lebih tinggi prioritasnya. Blocked, merupakan keadaan di mana jika sebuah task membutuhkan event atau data maka akan masuk ke dalam blocked hingga event atau data yang dibutuhkan telah tersedia.
Kata kunci — RTOS, task, scheduling, kontrol PI, ATmega128L.
I. PENDAHULUAN Dewasa ini embedded systems (sistem tertanam) menjadi hal yang penting. Hal ini dapat dilihat dari perkembangannya yang sangat pesat dari aplikasi yang sederhana hingga aplikasi yang kompleks dan penggunaannya pada hampir semua peralatan elektronik dan kendaraan. Di sisi lain perkembangan perangkat lunak pada perancangan sistem tertanam juga sudah semakin banyak digunakan salah satunya adalah penggunaan real time operating systems (RTOS) pada beberapa perancangan sistem tertanam. Hal ini dikarenakan aplikasi sistem tertanam yang semakin kompleks. Oleh karena itu dibutuhkan bantuan perangkat lunak untuk mengordinasikan aplikasi sistem tertanam agar sistem tersebut bukan hanya dapat berjalan dengan baik saja tetapi juga bisa tepat jadwal, deterministik dan efisien.
1
mempunyai respons yang lebih bagus daripada nonpreemptive kernel. Dari Gambar 3 dapat dijelaskan prinsip kerja dari preemptive kernel. Task dengan prioritas tertinggi yang sudah siap dieksekusi akan langsung berjalan. Jika saat itu ada task dengan prioritas yang lebih rendah berjalan maka task dengan prioritas rendah tersebut akan ditunda. Jadi dapat disimpulkan bahwa preemptive kernel selalu mendahulukan task dengan prioritas tertinggi yang siap untuk dieksekusi. Dengan preemptive kernel respons sistem bisa mencapai optimal dan waktu untuk menjalankan task dengan prioritas tertinggi bisa ditentukan berbeda dengan non-preemptive kernel yang tidak bisa ditentukan.
Gambar 1 Siklus state pada sebuah RTOS
C. Kernel Kernel merupakan salah satu bagian dari sistem multitasking yang mempunyai fungsi sebagai manajemen dari seluruh task, mengatur komunikasi tiap task dan yang terpenting adalah mengatur pewaktuan untuk CPU sehingga tidak terjadi crash pada CPU. Untuk kernel sendiri terdiri dari dua jenis yaitu, non-preemptive dan preemptive. 1.
Non-preemptive Kernel Non-preemptive scheduling biasa dikenal dengan nama lain cooperative multitasking, di mana task bekerja sama satu sama lain untuk berbagi CPU. ISR bisa membuat sebuah task dengan prioritas tertinggi menjadi siap untuk dieksekusi, tetapi kemudian ISR akan kembali ke task yang sebelumnya mendapat interupsi. Task yang sudah siap tadi akan berjalan apabila task yang mendapat interupsi tadi sudah selesai berjalan atau dengan kata lain task yang sudah selesai berjalan akan menyerahkan CPU kepada task dengan prioritas tertinggi (seperti konsep pada lari estafet, di mana pelari sebelumnya menyerahkan tongkat estafet kepada pelari selanjutnya).
Gambar 3 Skema prinsip kerja preemptive kernel
D. Clock Tick Clock tick merupakan interupsi spesial yang muncul secara periodik. Clock tick bisa dianggap sebagai detak jantung dari sistem yang berfungsi sebagai dasar untuk menentukan timer pada sistem real time dengan RTOS. Waktu untuk tiap munculnya clock tick bisa ditentukan oleh pada saat merancang sistem RTOS. Semakin cepat clock tick, semakin besar beban yang ditanggung oleh CPU.
LOW PRIORITY TASK (1)
(2)
ISR
(4)
(3)
ISR makes the high priority task ready
E. ChibiOS/RT ChibiOS/RT merupakan salah satu dari sekian banyaknya RTOS yang ada pada saat ini. Kata chibi yang ada pada ChibiOS/RT merupakan bahasa Jepang yang mempunyai arti kecil. ChibiOS/RT merupakan RTOS yang menggunakan bahasa pemrograman C dan C++. Untuk lebih jelasnya dapat dilihat pada homepage ChibiOS/RT http://www.chibios.org.
TIME (5)
(6)
HIGH PRIORITY TASK
Low priority task relinquishes CPU
(7)
Gambar 2 Skema prinsip kerja non-preemptive kernel
Dari penjelasan di atas dapat diambil kesimpulan, bahwa non-preemptive kernel menjalankan task berurutan sehingga tidak akan terjadi tabrakan antar task. Hal ini dikarenakan untuk menjalankan tiap task dibutuhkan CPU dan CPU hanya bisa didapat apabila task sebelumnya sudah selesai melakukan tugasnya. 2. Preemptive Kernel Preemptive kernel banyak digunakan untuk membuat aplikasi dengan RTOS. Hal ini karena preemptive kernel
Gambar 4 Logo dari ChibiOS/RT
Berikut merupakan fitur-fitur pada ChibiOS/RT antara lain: a. Perangkat lunak gratis dengan lisensi GPL3. b. Dirancang untuk aplikasi RTOS. c. Portable.
2
d. Preemptive scheduling. e. Mempunyai 256 tingkat prioritas, di mana bisa terdapat dua atau lebih task dengan prioritas yang sama. f. Round robin scheduling untuk task dengan prioritas yang sama. g. Terdapat task/thread, virtual timers, semaphores, mutexes, condvars, event flags, messages, mailboxes, I/O queues. h. Perancangan bisa dilakukan pada PC dengan Windows atau Linux. i. Terdapat fungsi opsional heap allocator subsystem dan memory pools allocator subsystem. j. Blocking dan non-blocking jalur I/O dengan kemampuan timeout dan pembuat event. k. Hampir semua tertulis dalam bahasa C dengan sedikit bahasa assembler untuk porting. l. Terdapat hardware abstraction layer (HAL) yang mendukung untuk berbagai macam peralatan seperti, serial, ADC, CAN I2C, MAC, MMC, PWM, SPI, UART, uIP, lwIP, dan FatFs.
Sedangkan dalam kawasan sistem diskret, pengendali PI dapat dituliskan dalam bentuk persamaan beda sebagai berikut. ( )=
Gambar 6. Blok diagram sistem.
Tiap-tiap bagian blok dari diagram blok tersebut dapat dijelaskan sebagai berikut: 1. Modul push button berfungsi sebagai masukkan untuk MCU. Masukkan tersebut bisa berupa interrupt untuk sistem, event untuk sebuah task. 2. Modul LED dan motor dc berfungsi sebagai keluaran di mana nantinya akan dilihat task yang berjalan atau jika terdapat sebuah event yang terjadi. 3. Modul LCD berfungsi untuk melihat task berapa yang sedang berjalan dan tingkat prioritas dari task tersebut. 4. Modul sistem minimum ATmega128L merupakan MCU di mana sistem real time akan ditanamkan. Dan semua proses kernel terjadi di dalam modul ini. 5. Modul k125 merupakan modul 3 in 1 di mana selain dapat untuk memprogram MCU, modul ini juga dapat berfungsi sebagai catu daya dan penghubung koneksi serial antara MCU dengan laptop. 6. Komputer berfungsi untuk melihat hasil pengiriman data serial dari MCU.
Ki s
Gambar 5 Diagram blok pengendali PI.
Gambar 5 menunjukkan struktur kontrol PID ideal. Persamaan (1) memperlihatkan bentuk umum dari kontrol PI ideal tersebut dalam bentuk waktu kontinyu. ∫ ( ) ( )
(1)
∫ ( ) ( )
(2)
atau ( )=
. ( )+
B. Perancangan Perangkat Lunak Sistem yang dibuat pada tugas akhir ini berupa pengontrolan kecepatan motor dc. Sistem ini akan terdiri dari lima buah task dengan prioritas yang berbeda dan pada saat berjalan nantinya akan dilihat respon sistemnya . Untuk membuat sistem seperti yang dijelaskan sebelumnya, pada
Jadi, fungsi alih pengendali PI (dalam domain S) dapat dinyatakan sebagai berikut. ( )=
+
(4)
A. Perancangan Perangkat Keras Secara umum perancangan perangkat keras sistem ditunjukan pada Gambar 6.
Kontrol PI merupakan gabungan dari pengontrol proporsional (Proportional Controller) dan pengontrol integral (Integral Controller).
( )+
( ( ))
III. PERANCANGAN Perancangan alat pada tugas akhir ini meliputi perancangan perangkat keras dan perancangan perangkat lunak.
F. Pengendali PI (Proporsional-Integral)
( )=
. ∑
Realisasi kontrol PI digital akan ditemukan dalam sistem berbasis mikroprosesor. Sistem kontrol PI digital bekerja dalam basis-basis waktu diskret, sehingga persamaan matematis diskret diperlukan untuk aplikasi kontrol PI ke dalam sistem mikroprosesor.
Sedangkan untuk menggunakan ChibiOS/RT diperlukan mikrokontroler yang memenuhi spesifikasi minimum sebagai berikut: a. Arsitektur minimum CPU dengan 8-bits. b. Mendukung untuk bahasa standar C89 dan C99. c. Mendukung untuk maskable interrupt sources. d. Memiliki RAM minimal sebesar 2 KB. e. Memiliki memori untuk program sebesar 16 KB.
Kp
. ( )+
(3)
3
tugas akhir ini digunakan diagram pendekatan berupa diagram fungsional.
1.
Porting
Pada pengujian porting ini yang diuji adalah porting pwm. Sebelum porting dilakukan, PWM diaktifkan terlebih dahulu pada konfigurasi HAL dalam file halconf.h . Ubah penggunaan PWM menjadi TRUE. #if !defined(HAL_USE_PWM) || defined(__DOXYGEN__) #define HAL_USE_PWM FALSE #endif
Pada mainfile pilih channel,prescaler,dan mode yang akan digunakan. Gambar 7. Diagram alir data sistem level 0. static PWMConfig pwmcfg = { pwmpcb, { {PWM_OUTPUT_ACTIVE_HIGH, {PWM_OUTPUT_ACTIVE_HIGH, {PWM_OUTPUT_ACTIVE_HIGH, }, 8, FAST, PWM_COMPUTE_FAST(50, 8)
pwmc1cb}, pwmc2cb}, pwmc3cb} /* 1uS period. */ /* Fast Mode PWM */ /* 50Hz PWM Frequency */
};
Lalu masukkan pwmEnableChannel.
nilai
yang
diinginkan
pada
pwmEnableChannel(&PWMD1, 0, 19999); Gambar 8. Diagram alir data sistem level 1.
Dimana &PWMD1 adalah PWM driver yang digunakan, 0 adalah channel yang di pilih, sedangakan 19999 adalah nilai PWM yang dipilih.
ChibiOS pada Gambar 8 diatas menunjukkan isi dari mainfile yang bisa disebut juga sebagai main task. Main task sendiri merupakan perubahan dari fungsi main pada senarai program. Setelah proses inisialisasi pada fungsi main selesai maka fungsi main akan berubah menjadi main task dengan prioritas normal dengan keadaan current running state. Sistem yang didesain pada tugas akhir ini mempunyai lima buah task yang merupakan hasil dari dekomposisi pada Gambar 8. Task 1 mempunyai fungsi untuk komunikasi serial. Waktu eksekusi masing-masing task akan dimasukkan ke dalam serial buffer dan selanjutnya akan diproses untuk dilanjutkan pengiriman menuju computer. Task 2 merupakan masukan yg berasal dari penekanan tombol . Task 3 merupakan perhitungan kecepatan dan perhitungan kontrol PI serta sebagai penggerak motor dc. Task 4 merupakan tampilan LCD berupa set point dan kecepatan motor sebenarnya. Sedangkan task 5 merupakan keluaran berupa lampu LED.
Jika sukses motor akan berputar sesuai dengan nilai yang dipilih tadi.
Gambar 9. Karakter yang muncul pada LCD dan motor dc yang berputar sesuai dengan senarai.
2.
Clock Tick
Clock tick, yang akan dibahas adalah mengenai persamaan 2.7 dan penggunaannya dalam scheduling. Dengan membuktikan dengan persamaan 2.7 akan didapatkan nilai 1 tick senilai dengan 1 milidetik. Pada pengujian persamaan 2.7 akan digunakan sebesar 8.000.000 Hz, senilai 64 dan senilai 1000 Hz. Jika semua nilai tersebut dimasukkan ke dalam persamaan 2.7 maka akan didapatkan hasil yaitu 124. Kemudian nilai 124 akan digunakan untuk acuan timer 0 dalam menentukan nilai 1 tick. 8000000 64 −1 1000 125000 −1 1000 125 − 1 124
IV. PENGUJIAN DAN ANALISA Pengujian sistem yang dibuat pada tugas akhir ini meliputi beberapa pengujian. Pengujian tersebut yaitu pengujian sistem RTOS yang berisi porting aplikasi real time dengan RTOS ke dalam MCU, clock tick,pwm driver, dan pengujian pengontrolan yang berisi pengujian bump test dan pengujian parameter PI. A. Pengujian sistem RTOS Pengujian ini berisi porting aplikasi real time dengan RTOS ke dalam MCU, clock tick, dan pwm driver .
4
Untuk mengetahui nilai 124 tersebut memang benar menunjukkan 1 tick senilai dengan 1 milidetik maka akan dilihat lewat perhitungan berikut. Karena MCU menghasilkan sinyal clock tergantung dengan frekuensi yang digunakan dan pada tugas akhir ini frekuensi yang digunakan adalah sebesar 8.000.000 Hz dan juga digunakan senilai 64 maka nilai frekuensi yang digunakan MCU menjadi 125.000 Hz. 8000000 = 125000 64 Karena frekuensi yang digunakan yaitu 125.000 Hz maka untuk nilai periodenya bisa dicari dengan cara 1/ 125000 sehingga didapatkan nilai 8 µs. Jadi MCU akan menghasilkan satu buah sinyal clock tiap 8 µs. Kemudian nilai 124 dijadikan nilai acuan timer 0 untuk menghasilkan nilai 1 tick. Counter pada timer 0 mulai menghitung dari nilai 0 sehingga jika acuan yang digunakan 124 maka jumlah tahapan yang diperlukan untuk nilai 1 tick yaitu 125. Jika nilai 125 dikalikan dengan waktu yang dibutuhkan MCU untuk menghasilkan sebuah sinyal clock maka akan didapatkan hasil bahwa timer 0 akan menghasilkan nilai 1 tick yang senilai dengan 1 milidetik. 125 × 8 = 1000 1000 =1 1000
Gambar 12. Timeline dari task 2.
Gambar 13. Timeline dari task 3.
Gambar 14 Timeline dari task 4.
Clock tick digunakan pada scheduling untuk tiap task. Di mana dengan menggunakan fungsi API chTimeNow(), maka user dapat menyimpan tick yang sudah terjadi dari awal mula sistem berjalan hingga seterusnya.
Gambar 15. Timeline dari task 5.
systime_ttime = chTimeNow(); time += (time for scheduling); chThdSleepUntil(time);
Tick dari sistem akan disimpan ke dalam variabel time. Kemudian akan ditambahkan sesuai dengan periode yang user inginkan. Maka tick dari sistem akan ditambahkan dengan waktu periode yang diinginkan. Kemudian fungsi API chThdSleepUntil() akan membuat task tertunda selama periode yang diinginkan.
Gambar 16. Timeline dari semua task. Tabel 1. Waktu sebenarnya dan waktu task 5 dalam tick (1 tick = ± 1 ms). Waktu sebenarnya (detik)
Gambar 10. Timeline fungsi API chThdSleepUntil().
Berikut adalah gambar timeline dari tiap-tiap task.
Waktu awal eksekusi (dalam tick)
Waktu selesai eksekusi (dalam tick)
0
0
0
1
1071
1071
2
2071
2071
3
3071
3071
4
4071
4071
5
5071
5071
6
6071
6071
7
7071
7071
8
8071
8071
9
9071
9071
10
10071
10071
Dalam tugas akhir ini, kita akan melihat waktu antara waktu task dalam tick dan waktu sebenarnya dengan menggunakan jam analog. Task 5 akan dijadikan
Gambar 11. Timeline dari task 1.
5
Gambar 18. Pengujian Bump Test dengan nilai CO sebesar 100%.
perbandingannya karena mudah dilihat dan mempunyai waktu tunda 1 detik. Dari Tabel 1 dapat dilihat bahwa perbedaan antara waktu sebenranya dan waktu task sebenarnya tidaklah terlalu besar, dimana selisih nilai 71 tick merupakan waktu pengeksekusian task 5. 3. PWM Driver Pada tugas akhir ini, pengujian PWM driver dilakukan dengan menguji pin2 PORT B 5, 6, dan 7 pada osiloskop. Pengujian tiap channel dilakukan dengan 3 varisasi duty cycle. Pada channel 1 dilakukan 3 pengujian, yaitu duty cyle 25%, 50%, dan 75%. Berikut salah satu gambar hasil pengujian.
K
PV PV 1 PV 0 CO CO1 CO 0
(5)
1380 0 K 13,8 100 0 L 775 775 0ms Sedangkan nilai T ditentukan dari 63% ΔPV yang didapatkan dari perhitungan berikut: 63% ΔPV = 63% x 1380 = 869,4 rpm Sehingga pada 63% ΔPV , nilai T = 875-775 = 100 ms = 0,1s Berdasarkan pengujian dapat diperoleh persamaan matematis fungsi alih sistem.
5 volt/div 5 ms/div
H (s)
pv(s) K e sL co(s) Ts 1
(10)
13,8 H ( s) 0,1s 1
5 vdc
Pada tugas akhir ini , akan dilakukan 3 variasi nilai TCL. Yaitu TCL=100ms, TCL=200ms, dan TCL=300ms. Dengan nilai parameter Kp dan Ti sebagai berikut.
Perioda = 20ms Frekuensi = 50 Hz Duty cycle = 25%
Tabel 2. Parameter PI.
Gambar 17. Duty cycle 25% pada channel 1.
Dari gambar 17 dapat dilihat bahwa senarai program telah sesuai dengan hasil pengujian. pwmEnableChannel(&PWMD1,0, PWM_PERCENTAGE_TO_WIDTH(&PWMD1, 2500));
Variasi
Kp
Ti
TCL=100ms
0,072
0,1s
TCL=200ms
0,036
0,1s
TCL=300ms
0,024
0,1s
2.
Pengujian Parameter PI Pengujian ini dilakukan dengan memberikan setpoint tetap sebesar 1000 rpm dengan kecepatan awal 0 rpm. Beberapa respon sistem yang diambil memiliki variasi antara lain respon sistem dengan TCL=100ms, respon sistem dengan TCL=200ms dan respon sistem dengan TCL=300ms.Berikut ini adalah hasil pengujiannya.
B. Pengujian Pengontrolan 1. Bumptest Pengujian bump test dilakukan untuk mendapatkan parameter-parameter dari karakteristik sistem. Hubungan antara CO (sinyal kontrol) dan PV (deviasi output proses) pada hasil eksperimen bump test ditunjukkan pada Gambar 18.
Gambar 20. Respon sistem dengan TCL=100ms.
6
Tabel 3 Perbandinganc respon sistem
Parameter PI
Ref.
Kec. awal
Waktu Naik (tr)
Kp : 0,072 Ti : 0,1 Kp : 0,036 Ti : 0,1 Kp : 0,024 Ti : 0,1
1000 rpm 1000 rpm 1000 rpm
0 rpm 0 rpm 0 rpm
120 ms 400 ms 600 ms
Lewat an Maks. (Mp) 0% 2% 2%
Waktu Peneta pan (ts) 400 ms 1000 ms 1400 ms
[6] Betz, Robert, Introduction to Real Time Operating Systems, Class note – ELEC371, University of Newcastle, Australia, 2001. [7] Labrosse, Jean J., µC/OS-II, The Real-Time Kernel, R & D Publications, Kansas, 1998. [8] Labrosse, Jean J, The 10-Minute Guide to RTOS, Application note AN-1004, Micriµm, Inc., 2001. [9] Pont, Michael J., Patterns fot Time-Triggered Embedded Systems, TTE Systems Ltd., 2008. [10] Simon, David E., An Embedded Software Primer, Pearson Education, Inc., India, 2005. [11] -------, Atmega128L Data Sheet, http://www.atmel.com, Oktober 2009. [12] -------, ChibiOS/RT Documentation and Guides, http://www.chibios.org/dokuwiki/doku.php?id=chibios:do cuments, Oktober 2010. [13] -------, Selected topics in Embedded Systems Design : Roadmaps for Research, ARTIST project IST-200134820, http://www.artist-embedded.org/, 2004.
ITAE
120 378 1038
Dari ketiga variasi TCL yang digunakan yaitu TCL=100ms, TCL=200ms dan TCL=300ms, respon sistem yang baik di tunjukkan oleh TCL=100ms. Hal ini dapat dilihat dari hasil respon sistem masing-masing variasi. Variasi TCL=200ms dan TCL=300ms respon sistemnya lebih lambat dan memiliki ITAE yang lebih besar dari variasi TCL=100ms yaitu 120. Parameter PI pada TCL=100ms adalah Kp = 0,072 dan Ti = 0,1s.
BIODATA MAHASISWA
V. PENUTUP
Haryo Pamungkas S. (L2F 006 047) Saat ini sedang melanjutkan studi pendidikan strata I di Jurusan Teknik Elektro, Fakultas Teknik Universitas Diponegoro Konsentrasi Kontrol.
A. Kesimpulan 1. 2. 3. 4.
Nilai 1 tick dalam tugas akhir ini sekitar 1 milidetik. Tingkat prioritas tertinggi dimiliki oleh task 3 dan terendah dimiliki oleh task 5. Perbedaan antara waktu sebenarnya dengan waktu task 5 berkisar 71 tick. Parameter PI yang memiliki respon terbaik adalah saat TCL=100ms dengan Kp=0,072 dan Ti =0,1s.
B. Saran 1
2 3
Mengetahui dan mengesahkan, Dosen Pembimbing I Dosen Pembimbing II
Untuk penelitian selanjutnya sebaiknya menggunakan mikrokontroler yang mempunyai memori (SRAM bukan Flash) lebih besar dari pada yang dimiliki ATmega128. Untuk penelitian selanjutnya bisa dilakukan pengujian untuk fitur ADC, PAL, MMC, I2C, SPI, dll. Untuk penelitian selanjutnya sebaiknya digunakan mikrokontroler jenis ARM karena ChibiOS/RT ini memfokuskan pengembangannya pada mikrokontroler jenis tersebut.
Iwan Setiawan, ST, MT NIP.197309262000121001 Tanggal:____________
DAFTAR PUSTAKA [1] Setiawan,Iwan.2008.Kontrol PID untuk Proses Industri. Jakarta: Elex Media Komputindo. [2] Leksono, Bayu Pujo, Penerapan Real Time Operating Systems (RTOS) pada Mikrokontroler AVR (Studi Kasus ChibiOS/RT), Skripsi S-1, Teknik Elektro, Universitas Diponegoro, Semarang. [3] Ariyanto, Endo, Sistem Operasi Waktu-Nyata, Institut Teknologi Telkom, Bandung, 2010. [4] Setiawan, Iwan, Fungsi Soft Timer Untuk Keperluan Operasi Tundaan Dan Penjadwalan (Schedulling) Pada Sistem Embedded, http://iwan.blog.undip.ac.id. Juni 2009. [5] Barry, Ricahrd, Using The FreeRTOS Real Time Kernel, http://www.FreeRTOS.org, 2009.
7
Budi Setiyono, ST, MT NIP.197005212000121001 Tanggal: ___________