Proposal Edited
Proposal Edited
Oleh:
IRFAN BAGUS S.
NIM. 9701060286-63
2. Latar Belakang
Pada masa modern ini, perkembangan ilmu elektronika berkembang dengan
sangat pesat, baik secara teoritis maupun aplikasi sistem elektronika. Perkembangan di
bidang elektronika ini secara langsung mempengaruhi kehidupan manusia, berbagai
kemudahan dan otomatisasi di segala bidang dapat dinikmati karena perkembangan
ilmu elektronika terapan ini.
Pada masa terdahulu penggunaan peralatan elektronika hanya dikendalikan
melalui saklar nyala-mati (on-off), sehingga pengguna peralatan ini harus menyalakan
dan mematikan peralatan elektronika tersebut secara manual. Untuk penggunaan
peralatan yang tidak memiliki jadwal tetap atau penggunaannya bersifat insidental, hal
ini tentunya tidak terlalu mengganggu. Namun, apabila peralatan elektronika yang
dipergunakan tersebut harus dinyalakan atau dimatikan setiap periode waktu tertentu,
atau setiap syarat keadaan tertentu, maka pengendalian peralatan dengan cara manual ini
tentunya cukup merepotkan.
Secara parsial, beberapa peralatan elektronika modern saat ini telah dilengkapi
dengan pengendalian otomatis, misalnya mesin cuci yang otomatis berhenti bekerja
setelah masa 15 menit, kipas angin elektrik yang dapat disetel agar menyala selama
rentang waktu tertentu, perangkat pengkondisi udara (air conditioner) yang secara
otomatis menyala apabila temperatur ruangan naik hingga suhu tertentu dan otomatis
mati apabila temperatur ruangan turun hingga suhu tertentu, motor penggerak gerbang
rumah yang menyala secara otomatis apabila ada mobil yang tiba di depan gerbang,
bahkan lampu tidur yang secara otomatis menyala apabila lampu utama dimatikan.
Contoh lainnya adalah “Pemanfaatan Mikrokontroler 80C31 Sebagai Pengontrol Lampu
Penerangan Dan Pemantau Keamanan Pada Perkantoran” (Suko Winoto, 2001).
Namun pada akhirnya, otomatisasi pada peralatan-peralatan tersebut masih
bersifat parsial untuk setiap alat saja, bahkan jenis pengendalian pada alat tertentu
dirasa masih kurang memenuhi kebutuhan pengguna peralatan tersebut. Beberapa alat
bahkan sama sekali belum memiliki sistem otomatisasi ini, misalnya lampu halaman
pada pabrik atau lampu ruangan pada suatu sekolah, masih harus dinyalakan dan
dimatikan secara manual olah penjaga pabrik atau sekolah tersebut pada jam-jam
tertentu setiap harinya.
Seorang ahli elektronika yang membutuhkan otomatisasi tertentu pada peralatan
yang dimilikinya seperti dicontohkan di atas, tentu dapat dengan mudah membuat
sistem otomatisasi elektronik sesuai kebutuhannya. Tetapi sistem ini tentunya harus
diperbaharui apabila kebutuhan otomatisasinya berubah, misalnya lampu halaman yang
sebelumnya harus dinyalakan setiap jam 6 sore kemudian jadwalnya dirubah menjadi
jam 5 sore, maka perangkat otomatisasi ini harus disesuaikan kembali. Terlebih lagi
apabila peralatan yang digunakan adalah peralatan kuno seperti televisi atau radio lama
yang hanya memiliki tombol on-off tanpa adanya perangkat antarmuka ke peralatan
lain. Otomatisasi khusus untuk penggunaan tunggal seperti ini tentunya akan
menyulitkan orang awam untuk memodifikasi ulang perangkat otomatisasinya agar
dapat menyesuaikan diri dengan kebutuhannya.
Pada lingkungan tertentu juga dibutuhkan kombinasi-kombinasi keadaan
tertentu sebagai syarat diaktifkannya suatu peralatan elektronika, misalnya apabila pintu
depan suatu rumah dibuka sedangkan sistem alarm aktif maka, perangkat otomatisasi
akan menyalakan alarm, sedangkan apabila pintu tersebut dibuka dengan sistem alarm
dalam keadaan tidak aktif maka perangkat otomatisasi justru akan menyalakan lampu
ruang tamu. Kombinasi-kombinasi yang berbeda seperti ini secara umum belum bisa
kita dapatkan dari peralatan elektronik yang ada di pasaran.
Kekurangan lain dari peralatan dengan perangkat otomatisasi yang ada di
pasaran adalah harganya yang cukup tinggi.
3. Perumusan Masalah
Dari latar belakang masalah di atas dapat dirumuskan permasalahan sebagai
berikut:
1. Bagaimana membuat suatu perangkat otomatisasi yang dapat diprogram berdasar
jadwal, waktu tunda, atau kombinasi masukan.
2. Bagaimana membuat antarmuka dan pengkondisian masukan bagi perangkat
otomatisasi.
3. Bagaimana membuat metode pemrograman perangkat otomatisasi yang mudah
digunakan dan diprogram ulang.
4. Bagaimana membuat antarmuka keluaran bagi perangkat otomatisasi.
5. Bagaimana mengintegrasikan keseluruhan perangkat otomatisasi agar mudah dalam
pengoperasiannya dan meminimalkan biaya pembuatannya.
4. Ruang Lingkup
Dalam perencanaan dan pembuatan skripsi ini perlu dilakukan pembatasan
masalah. Pembatasan masalah yang diajukan dalam skripsi ini antara lain:
1. Perangkat otomatisasi memiliki 8 sinyal keluaran.
2. Perangkat otomatisasi memiliki 8 sinyal masukan.
3. Perangkat otomatisasi mampu menerima program berdasar jadwal kerja tertentu
(misal: setiap hari, setiap hari tertentu, dan lain-lain).
4. Perangkat otomatisasi mampu menerima program berdasar waktu tunda (misal:
peralatan menyala selama 1 jam saja).
5. Perangkat otomatisasi mampu menerima program berdasar kombinasi masukannya.
6. Jenis sinyal masukan yang dapat diterima adalah sinyal digital.
7. Perangkat keluaran yang digunakan adalah relay yang dapat digunakan untuk
menyalakan atau mematikan peralatan-peralatan elektronika.
8. Tidak membahas interferensi dari luar pada perangkat.
5. Tujuan
Tujuan penyusunan skripsi ini adalah merealisasikan suatu alat pengendali
perangkat elektronika yang dapat diprogram dengan kombinasi masukan dan pewaktu.
6. Tinjauan Pustaka
Dalam merencanakan dan merealisasikan perangkat otomatisasi dibutuhkan
pemahaman tentang berbagai hal yang mendukung. Pemahaman ini akan bermanfaat
untuk merancang perangkat keras dan perangkat lunak sistem yang dirancang.
Pengetahuan yang mendukung perencanaan dan realisasi alat meliputi AVR, RS232,
dan EEPROM serial.
6.1 AVR
AVR merupakan mikrokontroler produksi Atmel yang menggunakan arsitektur
RISC (Reduced Instruction Set Computing) 8 bit. AVR pertama kali diperkenalkan pada
tahun 1996. AVR mengkombinasikan arsitektur RISC, memori flash internal dan
jumlah register yang besar (32 buah) untuk memperoleh ukuran code program, kinerja,
dan konsumsi daya yang optimal. Sebagian besar instruksi AVR dieksekusi dalam satu
siklus clock. Kelebihan lainnya, arsitektur AVR dirancang untuk bekerja secara efisien
menggunakan bahasa tingkat tinggi C.
AVR memiliki jumlah register yang relatif besar untuk ukuran mikrokontroller
8 bit, yaitu 32 buah general purpose registers. AVR tidak memiliki accumulator seperti
yang dimiliki sebagian besar mikroprosesor/mikrokontroler. Seluruh register terhubung
ke ALU (Arithmetic Logic Unit) sehingga operasi ALU dapat dilaksanakan dengan
menggunakan general purpose registers sebagai operand. Dua operand diambil dari
register, operasi ALU dijalankan, dan hasil operasi disimpan ke dalam register,
semuanya dilakukan dalam satu siklus clock. Dalam skala operasi yang relatif besar,
operasi ALU dapat dijalankan dengan lebih cepat. Semua general purpose registers
juga dapat digunakan untuk mengakses data dari dan ke memori dengan instruksi load
dan store.
Enam dari 32 register dapat digunakan sebagai pasangan register 16 bit.
Pasangan register 16 bit dapat digunakan sebagai register pointer untuk pengalamatan
area data sehingga memungkinkan perhitungan alamat menjadi lebih efisien. Ketiga
register tersebut adalah register X (R26 dan R27), Y (R28 dan R28), dan Z (R30 dan
R31).
Peta memori data AVR dapat dilihat dalam Gambar 2. Memori data dibagi
menjadi 4 bagian. 32 alamat paling bawah (0000 – 001F) ditempati oleh general
purpose registers. 64 alamat berikutnya (0020 – 005F) ditempati oleh register I/O yang
mengatur piranti CPU seperti register kontrol, timer/counter, ADC, dan fungsi I/O
lainnya. Alamat berikutnya digunakan oleh SRAM internal dan eksternal. Perlu dicatat,
ukuran SRAM internal tidak sama untuk masing-masing tipe AVR, dan tidak semua
tipe memiliki SRAM internal atau SRAM eksternal.
6.1.2 Periperal
AVR memiliki beberapa jenis periperal internal, diantaranya komparator analog,
timer/counter, UART, watchdog timer, dan ADC/DAC. Periperal yang ada dalam chip
AVR tergantung tipe AVR. Berikut ini akan dibahas dua jenis periperal AVR yang
sering digunakan, yaitu UART dan timer/counter.
6.1.2.1 UART
UART (Universal Asynchronous Receiver and Transmitter) digunakan untuk
melakukan komunikasi secara serial. UART pada AVR dapat digunakan untuk
melakukan komunikasi serial dengan panjang karakter 8 bit dan 9 bit. UART memiliki
3 jenis interrupt terpisah yaitu TX Complete, TX Data Register Empty, dan RX
Complete.
Untuk mengaktifkan transmisi dan penerima UART bit RXEN dan TXEN pada
UART Control Register (UCR) harus di-set. Jika RXEX dan TXEN di-clear, pin TXD
dan RXD berfungsi sebagai IO biasa. Transmisi data diaktifkan dengan menulisan data
yang akan dikirimkan ke register data I/O UART, UDR. UDR adalah dua register yang
terpisah, satu untuk data yang ditransmisikan dan satu untuk data yang diterima. Saat
UDR dibaca, register penerima diakses, dan saat UDR ditulisi, register pengirim
diakses.
Jika karakter ditulis ke UDR saat bit stop dari karakter yang sebelumnya telah
digeser ke luar dari shift register, karakter dipindahkan dari UDR ke shift register
seketika. Jika karakter ditulis ke UDR sebelum bit stop dari karakter yang sebelumnya
digeser ke luar, karakter dipindahkan dari UDR ke shift register saat bit stop dari
karakter yang sedang dikirim telah digeser ke luar. Pada saat data ditransfer dari UDR
ke shift register, bit UDRE (UART Data Register Empty) di register UART Status
Register (USR) di-set dan UART siap untuk menerima karakter berikutnya. Pada waktu
yang sama bit 0 shift register di-clear (bit start) dan bit 9 atau 10 di-set (bit stop). Jika
dipilih format data 9 bit (bit CHR9 UCR di-set), bit TXB8 didalam UCR ditransfer ke
bit 9 didalam shift register.
Gambar 3. Blok pengirim UART pada AVR
Sumber : Atmel, 2001 : 52
Bit start digeser ke luar pada pin TXD sesuai dengan clock baud rate, kemudian
diikuti data dengan LSB terlebih dahulu. Saat bit stop telah digeser ke luar, shift
register diisi bila ada data baru dituliskan ke UDR selama transmisi itu berlangsung.
Selama masa transmisi UDRE di-set. Saat tidak ada data baru dituliskan dan bit stop
telah dikirimkan ke pin TXD selama periode satu bit, flag TX Complete (TXC) di USR
di-set.
Penerima pada UART mengambil sampel data pada pin RXD dengan frekwensi
16 kali baud rate. Saat saluran dalam kondisi idle, sampel dengan logika "0" akan
ditafsirkan sebagai sisi turun dari bit start dan urutan pendeteksian bit start diaktipkan.
Setelah transisi 1 ke 0, penerima menyampling pin RXD pada sampel ke-8, 9 dan 10.
Jika dua atau lebih tiga sample berlogika "1", bit start dianggap sebagai noise dan
penerima mencari transisi 1 ke 0 yang berikutnya.
Jika suatu bit start valid dideteksi, sampling bit data yang mengikuti bit start
dilakukan. Bit ini adalah juga disampel pada sampel ke-8, 9, dan 10. Sedikitnya
sebanyak dua dari tiga sampel yang sama diambil sebagai nilai bit. Semua bit digeser ke
dalam shift register. Sampling dari suatu karakter ditunjukkan dalam Gambar 5.
Gambar 4. Blok penerima UART pada AVR
Sumber : Atmel, 2001 : 53
Saat bit stop masuk ke penerima, mayoritas dari tiga sampel harus berlogika "1"
untuk dapat diterima sebagai bit stop . Jika dua atau lebih sampel berlogika "0", flag
Framing Error (FE) di UART Status Register (USR) di-set. Sebelum membaca register
UDR, program harus selalu memeriksa bit FE untuk mendeteksi framing error. Valid
atau tidak bit stop yang diterima, pada akhir siklus penerimaan karakter data ditransfer
ke UDR dan flag RXC di USR di-set. Jika dipilih format data 9-bit, bit RXB8 di UCR
terisi dengan bit ke-9.
Jika setelah menerima suatu karakter, register UDR belum dibaca setelah
penerimaan data sebelumnya, flag OverRun (OR) di USR di-set. Hal ini berarti data
yang diterima di shift register tidak dapat ditranfer ke UDR dan telah hilang. Bit OR di
buffer dan diperbaharui saat data valid di UDR dibaca. Program perlu memeriksa bit
OR setelah membaca register UDR untuk mendeteksi overrun jika baud rate tinggi atau
beban CPU tinggi.
Baud rate dibangkitkan dengan men-set nilai UART Baud Rate Register
(UBRR) sesuai dengan persamaan :
f CK
Baud
16(UBRR 1)
(1)
Karena nilai UBRR berupa bilangan bulat, kadangkala tidak diperoleh nilai baud rate
yang sama 100% dengan nilai baud rate yang diinginkan. Nilai error baud rate lebih dari
1% tidak disarankan karena menghasilkan kekebalan noise yang rendah.
6.1.2.2 Timer/Counter
Timer/counter pada AVR dibagi menjadi dua, yaitu 8 bit (Timer/Counter0) dan
16 bit (Timer/Counter1). Clock timer/counter dapat berupa clock internal CPU atau
clock eksternal dari pin T0/T1. Timer/counter pada AVR memiliki pembagi frekuensi
clock dari CPU (CK). Dengan menggunakan clock internal CPU, dapat dipilih frekuensi
CK, CK/8, CK/64, CK/256, dan CK/1024.
Gambar 9. Pemrograman paralel (A) dan pemrograman serial (B) pada AVR
Sumber : Atmel, 2001 : 79
6.2 RS232
Dalam kaitan kesederhanaan dan harga perangkat keras yang relatif rendah
dibandingkan dengan interfacing paralel, komunikasi serial digunakan secara luas di
dalam industri elektronika. Standard komunikasi serial yang paling populer digunakan
adalah spesifikasi EIA/TIA-232 atau yang lebih dikenal dengan nama RS232.
Standard RS232 ditetapkan oleh Electronic Industry Association dan
Telecomunication Industry Association pada tahun 1962. Nama lengkapnya adalah
“EIA/TIA-232 Interface Between Data Terminal Equipment and Data Circuit-
Terminating Equipment Employing Serial Binary Data Interchange”. Standard ini
mengatur komunikasi data antara komputer (Data Terminal Equipment – DTE) dengan
alat-alat perlengkapan komputer (Data Circuit-Terminating Equipment – DCE). Ada 3
hal pokok yang diatur dalam standard RS232 :
bentuk sinyal dan level tegangan yang dipakai
penentuan jenis sinyal dan konektor yang dipakai, serta susunan sinyal pada
kaki-kaki di konektor
penentuan tata cara pertukaran informasi antara komputer dan alat-alat
perlengkapannya
6.2.1 Karakteristik Elektrik
Pada komunikasi RS232, level tinggi untuk keluaran driver didefinisikan
sebagai tegangan antara +5 sampai +15V dan level rendah untuk keluaran driver antara
-5 sampai -15V. Tingkatan logika receiver memiliki noise margin sebesar 2V, sehingga
level tinggi untuk penerima didefinisikan sebagai +3 untuk +15V dan level rendah
adalah -3 sampai –15V. Gambar 10 menunjukkan tingkatan logika yang digunakan oleh
standard RS232. Perlu dicatat bahwa pada komunikasi RS232, level rendah (-3 sampai
-15V) didefinisikan sebagai suatu logika 1 dan dikenal sebagai "mark". Dan sebaliknya,
level tinggi (+3 sampai +15V) didefinisikan sebagai suatu logika 0 dan dikenal sebagai
"space".
7. Metodologi
Penyusunan skripsi ini didasarkan pada masalah yang bersifat aplikatif, yaitu
perencanaan dan perealisasian alat agar dapat menampilkan unjuk kerja sesuai dengan
yang direncanakan dengan mengacu pada rumusan masalah. Data dan spesifikasi
komponen yang digunakan dalam perencanaan merupakan data sekunder yang diambil
dari buku data komponen elektronika. Pemilihan komponen berdasarkan perencanaan
dan disesuaikan dengan komponen yang ada di pasaran.
Langkah-langkah yang perlu dilakukan untuk merealisasikan alat yang akan
dibuat adalah sebagai berikut:
Driver Relay
Driver Relay
EEPROM Kristal PC
EEPROM Kristal PC
Gambar 14. Blok diagram alat pengendali perangkat elektronika yang dapat diprogram
dengan kombinasi masukan dan pewaktu
Sumber : Perancangan
8. Sistematika Penulisan
Sistematika penulisan dalam skripsi ini sebagai berikut:
BAB I Pendahuluan
Memuat latar belakang, rumusan masalah, tujuan, batasan masalah,
metodologi pembahasan, dan sistematika pembahasan.
BAB II Teori Penunjang
Membahas teori-teori yang mendukung dalam perencanaan dan pembuatan
alat.
BAB III Metodologi
Berisi tentang metode penelitian dan perencanaan alat serta pengujian.
BAB IV Perencanaan dan Pembuatan Alat
Perancangan dan perealisasian Alat Pengendali Perangkat Elektronika Yang
Dapat Diprogram Dengan Kombinasi Masukan Dan Pewaktu.
BAB V Pengujian Alat
Memuat hasil pengujian terhadap alat yang telah direalisasikan.
BAB VI Kesimpulan dan Saran
Memuat kesimpulan dan saran-saran.
9. Rencana Kegiatan
Kegiatan ini direncanakan dikerjakan dalam waktu lima bulan dengan kegiatan
setiap bulannya sebagai berikut: