L2F006047 Mta

Anda mungkin juga menyukai

Anda di halaman 1dari 7

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

@abdi.mslm@gmail.com
setiaone.iwan@gmail.com
#3
Budisty@gmail.com

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.

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.

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)

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 .

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)

1071

1071

2071

2071

3071

3071

4071

4071

5071

5071

6071

6071

7071

7071

8071

8071

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.

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.

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.

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, Micrim, 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.

Budi Setiyono, ST, MT


NIP.197005212000121001
Tanggal: ___________

Anda mungkin juga menyukai