2. DASAR TEORI
2.1 Pneumatik
Semua sistem yang menggunakan tenaga yang disimpan dalam bentuk udara yang dimampatkan, serta dimanfaatkan untuk menghasilkan suatu kerja disebut sistem pneumatik.
Gambar 2.1 Diagram Blok Sistem Pneumatik Sumber : Festo (2000, p.5)
Pneumatik silinder mempunyai beberapa karakteristik umum antara lain:
• Diameter : 6 sampai 320 mm
• Panjang stroke : 1 sampai 2000 mm
• Available forces : 2 sampai 50000 N
• Piston Speed : 0.02 sampai 1 m/s
Komponen pneumatik mempunyai berbagai macam gerak:
• Linear : piston pneumatik yang bergerak lurus, contohnya adalah single
acting dan double acting cylinder.
Actuator
Final Control Elemen
Signal processor
Signal input
• Rotary : piston pneumatik yang gerak pistonnya berputar , contohnya adalah piston motors dan sliding vane motors.
Elemen dalam pneumatik mempunyai simbol yang menunjukkan fungsi dari element tersebut.
Gambar 2.2 Element Of Pneumatics Sumber : Festo (2000, p.17)
Elemen pneumatik terdiri dari energy supply dimana komponennya
Actuating Device Actuators
Outputs Silinder pneumatik
Rotary Actuators
Final Control Element control
Element Directional Control
Sinyal Kontrol
PROCESSING PROCESSORS
ELEMENT Directional control
valves Logic elements
INPUT ELEMENTS SENSORS
Directional control valves Limit switches
Input signals Pushbuttons Proximity sensors
ENERGY SUPPLY ENERGY SUPPLY
Compressor
Source Receiver
Pressure regulator Air service equipment
menerima udara dari kompresor disebut receiver, pressure regulator sebagai alat untuk membaca dan mengatur tekanan udara dari kompresor, air service
equipment untuk mengatur tekanan setelah dari pressure regulator. Untuk dapat
mengalirkan dan menghentikan aliran udara ke silinder maka maka dibutuhkan
input elements antara lain adalah directional control valves yang umumnya diberi supply agar coil bergerak sehingga dapat membuka dan menutup valve, ada juga
yang diberi limit switch, push buttons dan proximity sensors untuk membuka dan menutup aliran udara ke silinder.
Valves atau katup dapat dibagi menjadi beberapa bagian kelompok
menurut fungsinya. Fungsi utama dari valve adalah untuk mengubah, menghasilkan, atau membatalkan isyarat untuk tujuan pengolahan dan pengendalian.
Beberapa kategori dari valves antara lain:
• Directional control valves
• Signalling elements
• Processing elements
• Power elements
• Non-return valves
• Flow control valves
• Pressure control valves
• Combination valves
Directional control valves mengontrol keluar masuk udara dengan cara
menambahkan, membatalkan, mengalihkan signal. Aliran valve dideskripsikan sebagai berikut :
• Jumlah aliran : 2 aliran, 3 aliran , 4 aliran dan seterusnya. • Jumlah posisi : 2 posisi, 3 posisi dan seterusnya.
• Metode penggerak katup : Manual, air pilot dan lain - lain.
• Metode pembalik : Spring return, air return dan lain - lain. Dalam sistem pneumatik terdapat bagian-bagian yang menyusun sistem tersebut, bagian-bagian tersebut diantaranya adalah:
• Kompresor : merupakan pompa khusus yang digerakkan oleh motor, yang memompa udara atsmosfer yang dimampatkan.
• Receiver : tangki penyimpan yang sangat kuat untuk penyimpan udara yang
dimampatkan dari kompresor.
• Katup pneumatis : berguna untuk mengatur keluar masuk udara yang akan menggerakkan piston pada silinder pneumatik.
• Piston : bagian yang bergerak jika ada udara masuk kedalam tabung. • Tabung pneumatik : tempat piston.
Gambar 2.3 Silinder Pneumatik
2.2 Mikrokontroler Atmel 89S51
Mikrokontroler AT89S51 merupakan mikrokontroler yang dikembangkan dari 8051 standar (semua pin dan Instruksi assembler sesuai dengan standar 8051) oleh Atmel Corporation. Mikrokontroler ini dirancang dengan teknologi CMOS dan memori Non-Volatile dari Atmel dengan memori program internal (memori Flash) sebesar 4 KB yang bisa diprogram dalam sistem
(in-System Programmable Flash Memory-ISP). Berikut adalah fitur standar dari
MCS – 51 :
• CPU 8-bit yang kompatibel dengan keluarga MCS – 51.
• Memori Flash 4 KB yang bisa diprogram ulang sampai 1000 siklus baca/tulis.
• Random Access Memory ( RAM ) internal 128 x 8-bit.
• Memiliki 32 pin I/O yang programmable. • Dua buah timer / counter 16-bit.
• Enam buah jalur interupsi ( 3 interupsi eksternal dan 3 interupsi internal ). • Sebuah port serial yang yang programmable.
• Kecepatan pelaksanaan intruksi per-siklus sama dengan satu mikrodetik, pada frekuensi clock 12 MHz.
Gambar 2.4 Diagram Blok AT89S51 Sumber : San Jose, ATMEL (2008 p. 5)
2.2.1 Deskripsi pin AT89S51
AT89S51 mempunyai 40 kaki, 32 kaki di antaranya digunakan sebagai
port paralel. Satu port paralel terdiri dari 8 kaki, dengan demikian 32 kaki tersebut
Gambar 2.5 Diagram Pin Mikrokontroler Atmel Keluarga 51 Sumber : Usman (2008, p. 5)
4 buah port paralel dikenal sebagai Port 0, Port 1, Port 2 dan Port 3. Tetapi setiap port memiliki fungsi yang berbeda.
• Port 0 mempunyai fungsi sebagai port data alamat. Jika mikrokontroler
sedang mengakses alamat, maka port P0 aktif sebagai pembawa lower
address 8-bit (A0-A7). Ketika mengakses data (bisa input maupun outpu ) port 0 akan berfungsi sebagai jalur data atau data bus (D0 – D7).
• Port 1 tidak memiliki fungsi lainnya sebagai port I/O sehingga port ini
sering digunakan untuk mengontrol piranti lain pada sistem antar muka.
• Port 2 berfungsi sebagai pembawa upper address 8-bit (A8 – A15). Berbeda
dengan port P0, port ini tidak bersifat sebagai jalur data hanya sebagai pembawa alamat AT89S51 menyediakan 16-bit jalur alamat dan 8-bit untuk jalur data.
• Port 3 selain sebagai port I/O juga memiliki fungsi khusus pada setiap
pin-nya. Tabel 2.1 berikut ini akan memperlihatkan fungsi-fungsi special dari
port 3 pada mikrokontroler AT89S51.
Tabel 2.1. Fungsi-Fungsi Khusus Kaki-Kaki Port 3
Sumber : Usman (2008, p. 6) 2.2.2 Interrupt
Masing-masing interrupt dapat diaktifkan atau di non aktifkan dengan menggunakan control bit satu register dalam SFR yaitu IE (Interrupt Enable). Register ini juga mempunyai global bit yang dapat langsung mematikan semua
Interrupt sekaligus.
Gambar 2.6 Interrupt Enable ( IE ) Sumber: : San Jose, ATMEL ( 2005, p. 2-26 )
Tiap kali ada interrupt masuk maka register PC (Program Counter) akan disimpan dalam stack dan PC akan diisi dengan alamat yang menunjukkan sumber interrupt tersebut. Tiap-tiap sumber interrupt memiliki vector address yang tetap (berbeda untuk tiap-tiap sumber interrupt) sehingga service routine yang digunakan untuk masing-masing interrupt dapat ditempatkan pada alamat (program memori) yang telah ditentukan.
Tabel 2.2 Alamat Interrupt
Sumber: San Jose, ATMEL (2005, p. 27)
Untuk menemukan prioritas interrupt digunakan register IP (terletak pada SFR interrupt dengan prioritas lebih rendah) dapat diinterupsi oleh interrupt yang mempunyai prioritas yang lebih tinggi. Sedangkan interrupt dengan prioritas yang lebih tinggi tidak dapat diinterupsi oleh interrupt lain.
Jika 2 interrupt dengan prioritas berbeda secara bersamaan diterima, maka request dari interrupt yang lebih tinggi secara langsung dijalankan dengan mengabaikan interrupt level rendah. Jika request dari interrupt dengan prioritas yang sama terjadi, maka interrupt yang dijalankan mengunakan seleksi internal
polling ( dimana polling untuk masing – masing prioritas kedua telah ditentukan).
Tabel 2.3 Tingkatan Prioritas Interrupt
TINGKATAN SOURCE 1 IE 0 ( HIGHEST) 2 TF0 3 IE1 4 TF1 5 R1 + T1
6 TF2 + EXTF2 ( LOWEST )
Sumber: San Jose, ATMEL (2005 p. 48)
Tiap sumber juga mempunyai dua tingkat prioritas yang dapat diatur dalam SFR IP (Interrupt Priority) pada alamat 0B8H.
Gambar 2.7 Interrupt Priority (IP) Sumber: San Jose, ATMEL (2005, p. 59)
2.3 Optical Rotary Encoder
Pada optical rotary encoder menghasilkan data posisi secara langsung dalam bentuk digital, sehingga tidak dibutuhkan lagi tambahan ADC. Konsep ini digambarkan pada gambar 2.8, dimana gambar itu memperlihatkan saat disk berputar pada posisi slot, light source dapat mengirimkan cahaya sehingga
photocell dapat menerima cahaya tetapi pada saat disk berputar pada posisi
terhalang, photocell tidak dapat menerima cahaya yang dipancarkan light source.
Gambar 2.8 Prinsip Kerja Optical Rotary Encoder Sumber : Kilian (2001, p. 222)
Ada dua tipe optical rotary encoder yaitu absolute encoder dan
incremental encoder.
2.3.1 Absolute Optical Encoder
Absolute optical encoder menggunakan piringan transparan yang telah
ditandai dengan concentriks tracks Gambar 2.9
Gambar 2.9 Binary Code Sumber : Kilian (2001, p. 223)
Masing-masing photo sensor mewakili 1 bit untuk output digital. Pada gambar 2.10, output-nya ada 4 bit dengan LSB dimulai dari tracks piringan bagian luar. Piringan tersebut dibagi dalam 16 bagian, jadi resolusi dari pinggiran ini 360о/16 = 22,5о . Untuk resolusi yang lebih baik, dibutuhkan lebih banyak lagi
360о/256 = 1,4о/bagian, kalau 10 tracks mempunyai 1024 bagian dengan resolusi 360о/1024 = 0,35о/bagian.
Keuntungan dari tipe encoder ini terdapat pada output-nya dengan nilai kebenaran digitalnya, selalu memberikan posisi yang sebenarnya. Hal ini sangat bertentangan dengan incremental encoder, yang hanya akan menunjukkan posisi yang bersifat relative. Ketidakuntungan dari absolute encoder harganya yang relatif lebih mahal, hal ini dikarenakan dibutuhkan photocell yang cukup banyak tingkat kepresisiannya.
Jika absolute optical encoder tidak lurus secara tepat, mungkin saja ada kalanya data yang dihasilkan data error, Gambar 2.10 mengambarkan situasi tersebut, dan tentu saja ketika pergantian lebih dari 1 bit pada waktu yang bersamaan, misalnya pada bagian 7 (0111) ke bagian 8 (1000).
Gambar 2.10 Erroneous State Sumber : Kilian (2001, p. 225)
Di dalam gambar , photo sensors tentu saja tidak berada dalam satu garis lurus secara tepat. Dalam permasalahan ini, sensor B1 tidak lurus dan berubah dari 1 ke 0 sebelum yang lainnya. Ini menyebabkan error sesaat dengan output 5 (0101). Jika komputer meminta data pada saat perubahan ini, maka akan didapatkan data yang salah. Salah solusi untuk mengatasi permasalahan tersebut adalah dengan menggunakan Grey Code pada disk sebagai pengganti binary code seperti pada gambar 2.11
Gambar 2.11 Grey Code Sumber : Kilian (2001, p. 226)
Dengan Grey Code, hanya 1 bit yang berubah diantara 2 bagian. Jika
photocell keluar dari garis, yang paling buruk yang akan terjadi adalah output
akan berubah cepat atau lambat, Bagaimanapun caranya, error tidak akan bisa lebih dari 1 LSB ketika menggunakan Grey Code.
2.3.2 Incremental Optical Encoder
Incremental Optical Encoder hanya akan membutuhkan 1 pola yaitu
jumlah slot seperti gambar 2.12, posisi Incremental Optical Encoder ditandai dengan banyaknya jumlah slot yang akan dilewati oleh photo sensor, dimana setiap slot menyatakan besaran sudut. Pada sistem ini membutuhkan titik, bisa berasal dari sensor kedua yang berada pada bagian dalam disk seperti yang ditunjukkan pada gambar 2.12, yang disebut sebagai reference sensor. Misalnya pada incremental rotary encoder terdapat 360 slot, dimulai dari reference sensor, disk berputar clockwise sejauh 100 slot berdasarkan pembacaan photo sensor, lalu berputar counter clock wise sejauh 30 slot, kemudian 45 slot clock wise karena setiap slot mewakili 1 derajat yang didapatkan dapat dihitung yaitu 100 - 30 + 45 = 115 derajat clock wise dilihat dari reference sensor.
Gambar 2.12 Incremental Optical Encoder Sumber : Kilian (2001 p. 227)
Satu photo sensor tidak bisa menyampaikan arah putaran dimana dengan menggunakan 2 photo sensor yaitu sensor V1 dan V2, maka arah putaran dapat diketahui seperti pada gambar 2.13.
Gambar 2.13 Output Channel V1dan Channel V2 Sumber : Kilian (2001, p. 228)
Arah rotasi dapat ditentukan dengan pola 2 sinyal yang terlihat seperti pada gambar 2.13 point a, yang mana beda fase adalah 90 derajat. Pada gambar 2.13 point b pada saat V1 on, V2 on tetapi pada saat V2 off, 90 derajat kemudian baru V1 off, 90 derajat kemudian V2 baru off hal ini menunjukkan rotasi clockwise.
2.4 Liquid Crystal Diplay ( LCD )
Pada umumnya sebuah LCD karakter akan mempunyai 14 pin untuk mengendalikannya. Pin-pin LCD terdiri dari atas 2 catu daya ( Vcc dan Vss ), 1
pin untuk mengatur contrast LCD ( Vee ), 3 pin kendali ( RS, R/W, dan E ), 8 pin
data ( DB0-DB7 ). Pada LCD yang mempunyai back light, disediakan 2 pin untuk memberikan tegangan ke dioda back light ( disimbolkan dengan A dan K ).
2.4.1 Fitur
Fitur – fitur yang dimiliki oleh Liquid Crystal Display (LCD) tipe 16x2 adalah:
• Dua baris 16 karakter TN Liquid Crystal Display (LCD) dengan tampilan yang terdiri dari 5x7 dot matrix dengan kursor.
• Duty ratio sebesar 1/16.
• Character generator ROM untuk 192 tipe karakter.
• Character generator RAM untuk 8 karakter yang dapat deprogram.
• 80 x 8 bit Display Data RAM (kapasitas maksimum 80 karakter). • Dapat menggunakan 4 pin maupun 8 pin untuk data.
Tabel 2.4 Tabel Susunan Pin LCD Type LM1602
Pin Nama Fungsi Deskripsi
1 Vss Catu Daya ( 0V atau GND ) 2 Vcc Catu Daya +5V
3 Vee Tegangan LCD
4 RS Register Select ‘0’ memilih register perintah
‘1’ register data
pengendali baca atau tulis ( Input)
‘1’baca
6 E Enable, untuk mengaktifkan
LCD untuk memulai operasi baca atau tulis
Pulsa: Rendah-tinggi-rendah 7-14 DB0-DB7
Bus data ( input/output ) Pada operasi 4 bit hanya
DB4-DB7 yang dipakai, yang lain dihubungkan ke ground. DB7 bisa digunakan sebagai bit status sibuk atau busy flag.
Sumber : Usman (2008, p. 212)
Pin catu daya (Vcc dan Vss) dihubungkan dengan catu daya TTL, 5 volt
dan 0 volt (ground) yang akan menyediakan catu daya bagi IC pengendali. Pin Vee akan menyediakan tegangan untuk LCD untuk mengatur contrast LCD.
Pin-pin pengendali (RS, R/W, dan E) dihubungkan dengan port mikrokontroler. Pin
RS (Register Select) digunakan untuk memilih apakah data yang dikirimkan ke LCD berupa instruksi atau data. Jika RS = 0, berarti mikrokontroler sedang mengirimkan data. Pin R/W (Read/Write) digunakan untuk menentukan apakah operasi baca atau tulis. Jika R/W = 0 berarti akan menuliskan data atau instruksi ke LCD sedangkan jika R/W = 1 berarti akan membaca data dari LCD. Pin E (Enable) berfungsi untuk mengeksekusi data atau instruksi yang dikirimkan dari mikrokontroler.
Pin DB0-DB7 merupakan bus data untuk mengirimkan atau membaca
data dan instruksi ke LCD (dua arah). Dalam mode 4 bit hanya DB4-DB7 yang dipakai, sedangkan pin DB0-DB1 dibiarkan terbuka. DB7 juga bisa digunakan sebagai bit status LCD (busy flag = BF).
Sebelum bisa menerima data atau instruksi, LCD perlu diinisialisasi terlebih dahulu. Proses inisialisasi ini akan mengatur mode kerja LCD (mode 8 bit atau 4 bit), mengatur ukuran font, dan juga mengatur mode entry (posisi kursor dan posisi display). Proses inisialisasi diawali dengan mereset LCD. Pada dasarnya proses reset LCD bisa dilakukan dengan mengatur tegangan Vcc pada
saat pertama kali catu daya dihidupkan. Jika kondisi ini dipenuhi, LCD akan mereset sendiri, jika tidak LCD harus direset secara software.
2.4.2 Instruction Code pada LCD
Kode – kode instruksi pada Liquid Crystal Display (LCD) dapat dilihat pada gambar berikut ini.
Gambar 2.14 Instruction Code Sumber: Tokyo, HITACHI (2000, p. 10)
Proses inisialisai LCD dilakukan sebagai berikut. Setelah catu daya dihidupkan, mikrokontroler harus menunggu setidaknya 15 milidetik sebelum mengirim instruksi untuk inisialisasi. Inisialisasi diawali dengan mereset LCD secara software dengan mengirim instruksi 30h sebanyak 3 kali. Pada saat ini LCD masih bekerja pada mode kerja 8 bit. Instruksi untuk mengatur konfigurasi LCD ditetapkan sebagai berikut:
Tabel 2.5 Mode dan font pada LCD
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 1 M N F X X
Sumber : Usman (2008, p. 217)
Untuk mode 8 bit DB4 (M) akan selalu 1 dan untuk mode 4 bit DB4 akan selalu 0. Bit N akan menentukan apakah kedua baris display akan digunakan atau tidak, N = 1 akan mengaktifkan kedua baris display dan N = 0 berarti hanya 1 baris yang digunakan. Bit F akan menemukan ukuran font, F = 1 ukuran font yang dipilih adalah 5x10 dan F = 0 ukuran font yang dipakai adalah 5x7.
Setelah menentukan konfigurasi LCD, instruksi inisialisasi selanjutnya adalah mengirimkan instruksi untuk mematikan display (Display OFF), byte instruksinya adalah 08h. Lalu dikirimkan instruksi untuk membersihkan display ( Display Clear ), 01h. Instruksi terakhir yang harus dikirimkan pada proses inisialisasi LCD adalah instruksi untuk mengatur mode entry (Entry Set Mode), yang ditetapkan sebagai berikut :
Tabel 2.6 Entry Set Mode
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 1 I/D S
Sumber : Usman (2008, p. 217)
Bit I/D ( increment / decrement mode ) akan menentukan apakah kursor
kursor bertambah) setelah pengiriman data. I/D = 1 akan membuat posisi kursor bergeser ke kanan (increment) dan I/D = 0 akan membuat posisi kursor bergeser ke kiri (decrement), setelah pengiriman data display. Bit S = 1 akan membuat display bergeser dan S = 0 akan membuat display tidak bergeser. Setelah proses
mode entry dikirimkan maka proses inisialisasi selesai. Namun display masih
dalam keadaan mati ( karena instruksi Display Off ), untuk itu perlu dikirimkan instruksi untuk menghidupkan display agar data yang dikirimkan ke LCD bisa tertampil. Instruksinya ditentukan sebagai berikut:
Tabel 2.7 Kursor pada LCD
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 1 1 C B
Sumber : Usman. (2008, p. 217)
Bit C mengatur apakah kursor ditampilkan atau tidak, C = 1 kursor akan
ditampilkan dan C = 0 kursor tidak ditampikan. Bit B dipakai untuk mengatur apakah karakter di posisi kursor berkedip atau tidak, B = 1 karakter akan berkedip dan B = 0 karakter tidak berkedip.
2.4.3 Kode – kode Bentuk Karakter
Kode – kode bentuk karakter ( Character Font Codes ) dapat dilihat pada tabel berikut ini
Tabel 2.8 Kode Karakter
Sumber: Tokyo,HITACHI (2000, p. 12) 2.5 D Flip-Flop
D flip-flop merupakan rangkaian logika sekuensial yang tersusun dari flip – flop RS dengan menambahkan gerbang pembalik. D flip – flop mempunyai masukan data tunggal (D) dan masukan clock (CK). IC yang digunakan pada umumnya adalah IC 7474. Flip – flop ini juga disebut flip – flop tunda, karena masukan data (D) akan tertunda selama satu pulsa detak untuk mencapai keluaran normal (Q).
Tabel 2.9 Tabel Fungsi dari IC 7474
Sumber: California, FAIRCHILD (2000, p. 1)
Dari tabel dapat dilihat, bahwa untuk dapat menetukan output Q dari 7474 maka yang perlu diatur adalah logic untuk PR dan CLR,
Gambar 2.15 Diagram IC 7474
Sumber: California, FAIRCHILD (2000, p. 2)
2.6 Serial RS 232
Untuk mengirim data dari mikrokontroler ke komputer, dibutuhkan sebuah rangkaian serial tambahan agar fungsi serial dalam single chip mikrokontroler dapat bekerja dengan benar. Berbeda dengan mikrokontroler, dimana level digital untuk port serial adalah level TTL (logika 1 dinyatakan
menggunakan level RS-232. RS adalah singkatan dari Recommended Standart. Dalam RS-232, logika 1 dinyatakan sebagai Mark dengan level -3 dan -25 Volt (negatif). Sedangkan logika 0 dinyatakan sebagai space dengan level antara 3 dan 25 Volt (positif). Dengan adanya perbedaan level logika ini, Port serial mikrokontroler tidak bisa secara langsung dihubungkan dengan port serial komputer. Diperlukan sebuah pengubah level logika dari TTL ke RS-232 dan sebaliknya.
Gambar 2.16 Pengiriman Mode UART 10 bit. Sumber: Usman (2008, p. 312)
2.7 Regulator Tegangan
Rangkaian penyearah sudah cukup bagus apabila tegangan ripple-nya kecil, namun ada masalah mengenai stabilitas. Jika tegangan PLN naik turun maka tegangan outputnya juga naik turun. Untuk beberapa aplikasi perubahan ini cukup menganggu, sehingga diperlukan komponen aktif yang dapat meregulasi tegangan keluaran ini menjadi lebih stabil. Ada beberapa regulator yang dapat digunakan antara lain diode zener dan IC 78XX. Pada kali ini saya memakai IC 78XX karena tidak membutuhkan rangkaian tambahan seperti diode zener.
Tabel 2.10 Karakteristik Elektrik Tipe Regulator Tegangan
Sumber : Usman (2008, p. 105) 2.7.1 LM 7824
LM7824 merupakan regulator dengan level tegangan 24 volt. Berikut merupakan gambar dari IC LM7824.
Gambar 2.17 LM 7824
Untuk koneksi antar pin kakinya dapat dilihat pada gambar dibawah ini:
Gambar 2.18 Typical Application LM7824
2.7.2 LM 7809
LM7809 merupakan regulator dengan level tegangan 9 volt. Berikut merupakan gambar dari IC LM7809.
Gambar 2.19 LM 7809
Sumber: Taipei, UNISONIC (2000, p. 4)
Gambar 2.20 Typical Application LM7809
2.7.3 LM 7805
LM7824 merupakan regulator dengan level tegangan 5 volt. Berikut merupakan gambar dari IC LM7805.
Gambar 2.21 LM 7805 Sumber : Taipei, UNISONIC (2000, p. 4)