L2F006047 Mta
L2F006047 Mta
L2F006047 Mta
#2
@abdi.mslm@gmail.com
setiaone.iwan@gmail.com
#3
Budisty@gmail.com
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.
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).
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.
(2)
ISR
(4)
(3)
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
(7)
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.
Ki
s
(1)
( ) ( )
(2)
atau
( )=
. ( )+
(4)
( )+
( ( ))
III. PERANCANGAN
Perancangan alat pada tugas akhir ini meliputi
perancangan perangkat keras dan perancangan perangkat
lunak.
F. Pengendali PI (Proporsional-Integral)
( )=
Kp
. ( )+
(3)
1.
Porting
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.
Gambar 9. Karakter yang muncul pada LCD dan motor dc yang berputar
sesuai dengan senarai.
2.
Clock Tick
systime_ttime = chTimeNow();
time += (time for scheduling);
chThdSleepUntil(time);
Waktu awal
eksekusi
(dalam tick)
1071
1071
2071
2071
3071
3071
4071
4071
5071
5071
6071
6071
7071
7071
8071
8071
9071
9071
10
10071
10071
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
Perioda = 20ms
Frekuensi = 50 Hz
Duty cycle = 25%
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.
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
ITAE
120
378
1038
BIODATA MAHASISWA
V. PENUTUP
A. Kesimpulan
1.
2.
3.
4.
B. Saran
1
2
3
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.