Anda di halaman 1dari 26

PROPOSAL SKRIPSI

ALAT PENGENDALI PERANGKAT ELEKTRONIKA YANG DAPAT


DIPROGRAM DENGAN KOMBINASI MASUKAN DAN PEWAKTU

(Programmable Electronic Equipment Controller with Inputs and Timer


Combination)

Oleh:
IRFAN BAGUS S.
NIM. 9701060286-63

DEPARTEMEN PENDIDIKAN NASIONAL


UNIVERSITAS BRAWIJAYA
FAKULTAS TEKNIK
MALANG
2002
1. Judul
Alat Pengendali Perangkat Elektronika Yang Dapat Diprogram Dengan
Kombinasi Masukan Dan Pewaktu (Programmable Electronic Equipment Controller
with Inputs and Timer Combination)

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.

6.1.1 Arsitektur AVR


AVR menggunakan konsep arsitektur Harvard dengan memori dan bus terpisah
untuk data dan program. Lebar bus program pada AVR adalah 16 bit sedangkan lebar
bus data 8 bit. Memori program dieksekusi dengan pipeline satu tingkat. Saat instruksi
sedang dieksekusi, instruksi yang berikutnya dibaca dari memori program. Konsep ini
memungkinkan instruksi untuk dieksekusi dalam tiap-tiap siklus clock..

Gambar 1. Arsitektur AVR


Sumber : Atmel, 1999 : 5

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.

Gambar 2. Peta memori AVR


Sumber : Atmel, 1999 : 6

Selama interrupt dan pemanggilan subroutine, alamat pada Program Counter


(PC) disimpan pada stack. Pada tipe AVR yang memiliki SRAM internal atau eksternal,
stack dialokasikan di SRAM sehingga ukuran stack hanya terbatas oleh total ukuran dan
pemakaian SRAM. Semua program harus menginisialisasi Stack Pointer (SP) di dalam
rutin reset, sebelum subroutines atau interrupt dieksekusi. Sedangkan tipe AVR yang
tidak memiliki SRAM, alamat pada PC disimpan di stack hardware yang memiliki
ukuran terbatas.

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

Gambar 5. Sampling data pada penerima UART AVR


Sumber : Atmel, 2001 : 54

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)

 Baud = baud rate


 fCK = frekuensi kristal clock
 UBRR = isi register UBRR (0 - 255)
Sumber : Atmel, 2001 : 57

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 6. Blok diagram clock timer/counter


Sumber : Atmel, 2001 : 32
Tabel 1. Pemilihan clock timer/counter pada AVR

CSX2 CSX1 CSX0 KETERANGAN


0 0 0 Stop
0 0 1 CK
0 1 0 CK/8
0 1 1 CK/64
1 0 0 CK/256
1 0 1 CK/1024
1 1 0 Pin TX, sisi turun
1 1 1 Pin TX, sisi naik
Keterangan : X = 0 atau 1
Sumber : Atmel, 2001 : 33

Saat timer/counter menggunakan clock eksternal, sinyal eksternal disinkronkan


dengan frekwensi osilator CPU. Untuk mendapatkan sampling clock eksternal yang
sesuai, waktu minimum antara dua transisi clock eksternal harus sedikitnya satu periode
clock internal CPU. Sinyal clock eksternal disampling pada tepi naik clock internal
CPU.
Timer/Counter0 merupakan up counter 8 bit (TCNT0) dengan akses baca dan
tulis. Saat Timer/Counter0 overflow, akan dibangkitkan sinyal TOV0 yang dapat
digunakan untuk membangkitkan interrupt dengan men-set bit TOIE dalam Timer
Interrupt Mask Register (TIMSK). Blok diagram Timer/Counter0 dapat dilihat dalam
Gambar 7.

Gambar 7. Blok diagram Timer/Counter0


Sumber : Atmel, 2001 : 33
Timer/Counter1 merupakan up/down counter 16 bit (down counter hanya bisa
digunakan saat mode PWM). Timer/Counter1 dapat dibaca atau ditulisi dengan
mengakses Timer/Counter1 High (TCNT1H) dan Timer/Counter1 Low (TCNT1L). Saat
CPU menulis ke TCNT1H, data disimpan ke register TEMP. Saat CPU menulis ke
TCNT1L, data dari CPU dikombinasikan dengan data di register TEMP ditulis ke
Timer/Counter1, sehingga penulisan ke Timer/Counter1 harus diawali dengan penulisan
ke TCNT1H. Sedangkan saat pembacaan TCNT1L, data TCNT1L dikirimkan ke CPU
dan data TCNT1H di simpan ke register TEMP. Saat CPU membaca data dari
TCNT1H, CPU menerima data dari register TEMP, sehingga pembacaan ke
Timer/Counter1 harus diawali dengan pembacaan ke TCNT1L.

Gambar 8. Blok diagram Timer/Counter1


Sumber : Atmel, 2001 : 34

Timer/Counter1 mendukung fungsi pembandingan (compare) keluaran


timer/counter dengan Timer/Counter1 Output Compare Register (OCR1). Pemilihan
mode pembandingan dapat dilihat dalam Tabel 2. Dengan men-set bit Clear
Timer/Counter1 on Compare Match (CTC1) pada Timer/Counter1 Control Register B
(TCCR1B), Timer/Counter1 akan di-clear saat nilai counter sama dengan OCR1.
Fungsi Timer/Counter1 yang lain adalah pulse width modulation (PWM) dan
input capture. Lebih lanjut tentang dua fungsi ini dapat dilihat dalam datasheet.

Tabel 2. Mode compare pada Timer/Counter1

COM1X1 COM1X0 Description


0 0 Timer/Counter1 tidak terhubung dengan OC1X
0 1 Toggle keluaran OC1X
1 0 Clear keluaran OC1X
1 1 Set keluaran OC1X
Keterangan : X = A atau B
Sumber : Atmel, 2001 : 36

6.1.3 Pemrograman AVR


AVR memiliki 118 buah instruksi. Sebagian besar instruksi dieksekusi dalam
satu siklus clock. Secara umum instruksi-instruksi dalam AVR dapat dibagi menjadi 4
kelompok yaitu : aritmatika dan logika, percabangan, transfer data, serta bit dan bit-test.
Instruksi dalam AVR disimpan dalam memori flash internal dalam pasangan 16
bit. Besarnya memori flash bergantung dari tipe AVR, berkisar antara 1k sampai 128k
byte. Memori flash AVR memiliki endurance 1,000 siklus write/erase.

Gambar 9. Pemrograman paralel (A) dan pemrograman serial (B) pada AVR
Sumber : Atmel, 2001 : 79

AVR mempunyai dua mode pemrograman berbeda yaitu mode pemrograman


paralel (mode paralel) dan mode pemrograman serial (mode ISP). Pada mode
pemrograman paralel, alat yang akan diprogram dipasang pada soket programmer dan
tegangan pemrograman sebesar +12 volt dikenakan pada pin RESET. Komunikasi antar
programmer dan AVR dilakukan secara paralel, sehingga kecepatan program lebih
cepat dari mode serial.
Pada mode serial, komunikasi antara AVR dan programmer dilakukan secara
serial. Mode ini hanya memerlukan tiga jalur sinyal tanpa tegangan +12V, sehingga
AVR dapat program saat masih berada dalam sistem. Mode serial juga biasa disebut
sebagai mode ISP (In-System Programming). Pada banyak kasus mode serial
mempermudah pengembangan program karena program dapat diganti sewaktu-waktu
tanpa melepas mikrokontroler dari sistem. Namun, mode pemrograman serial tidak bisa
digunakan untuk memprogram fuse bit pada beberapa tipe AVR dan beberapa tipe tidak
mempunyai fasilitas ISP. Pada kasus seperti itu pemrograman harus dilakukan dalam
mode paralel. Sebagai pengecualian, tipe-tipe AVR yang hanya memiliki 8 pin
menggunakan mode pemrograman serial yang menggunakan tegangan pemrograman
+12V. Detil pemrograman masing-masing tipe AVR dapat dilihat pada datasheet.

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".

Gambar 10. Tingkat logika RS232


Sumber : Dallas, 1998 : 2

Untuk mengurangi kemungkinan terjadinya gangguan ‘cross talk’ antara kabel


saluran sinyal RS232, kecuraman perubahan tegangan sinyal dibatasi tidak boleh lebih
dari 30 V/μS. Di samping itu ditentukan pula kecepatan transmisi data seri tidak boleh
lebih besar dari 20 KBit/S.

Tabel 3. Spesifikasi elektrik standar RS232E

PARAMETER LIMIT & UNIT


Driver Loaded Output Voltages (3 kΩ) ≥ | 5.0V |
Driver Open Circuit Voltage ≤ | 25V |
Driver Short Circuit Current ≤ | 100mA |
Maximum Driver Slew Rate ≤ 30V/μS
Driver Output Resistance (Power Off) ≥ 300Ω
Receiver Input Resistance 3kΩ to 7kΩ
Maximum Receiver Input Voltage ± 25V
Receiver Thresholds ± 3V
Sumber : National, 1996 : 2
Dalam standard RS232 yang pertama ditentukan pula panjang kabel tidak boleh
lebih dari 15 Meter (50 feet), tapi ketentuan ini sudah direvisi pada standard RS232
versi ‘D’. Dalam ketentuan baru tidak lagi ditentukan panjang kabel maksimum, tapi
ditentukan nilai kapasitan dari kabel tidak boleh lebih besar dari 2500 pF, sehingga
dengan menggunakan kabel kwalitas baik bisa dicapai jarak yang lebih dari 15 Meter.
Spesifikasi elektrik standard RS232-E dapat dilihat dalam Tabel 3.

6.2.2 Karakteristik Fungsional


Selain mendeskripsikan level tegangan seperti yang dibahas di atas, standard
RS232 menentukan pula jenis-jenis sinyal yang dipakai mengatur pertukaran informasi
antara DTE dan DCE, semuanya terdapat 24 jenis sinyal tapi yang umum dipakai
hanyalah 9 jenis sinyal. Sinyal-sinyal dalam RS232 dibagi menjadi empat kategori:
common, data, kontrol, dan timing.

Tabel 4. Sinyal-sinyal RS232

MNEMONIC NAMA SINYAL ARAH TIPE


AB Signal Common - Common
BA Transmitted Data (TD) Ke DCE Data
BB Received Data (RD) Dari DCE
CA Request to Send (RTS) Ke DCE Control
CB Clear to Send (CTS) Dari DCE
CC DCE Ready (DSR) Dari DCE
CD DTE Ready (DTR) Ke DCE
CE Ring Indicator (RI) Dari DCE
CF Received Line Signal Detector (DCD) Dari DCE
CG Signal Quality Detector Dari DCE
CH Data Signal Rate Detector from DTE Ke DCE
CI Data Signal Rate Detector from DCE Dari DCE
CJ Ready for Receiving Ke DCE
RL Remote Loopback Ke DCE
LL Local Loopback Ke DCE
TM Test Mode Dari DCE
DA Transmitter Signal Element Timing Ke DCE
DB Transmitter Signal Element Timing Dari DCE Timing
from DCE
DD Receiver Signal Element Timing Dari DCE
from DCE
SBA Secondary Transmitted Data Ke DCE Data
SBB Secondary Received Data Dari DCE
SCA Secondary Request to Send Ke DCE Control
SCB Secondary Clear to Send Dari DCE
Keterangan: Sinyal dengan singkatan dalam tanda kurung adalah sinyal-sinyal
yang umum dipakai
Sumber : Dallas, 1998 : 3
Sangat sedikit aplikasi yang memanfaatkan semua sinyal-sinyal standart dalam
RS232. Sebagai contoh modem standart hanya menggunakan 8 sinyal. Aplikasi yang
lain mungkin hanya menggunakan empat sinyal (dua untuk data dan dua untuk
handshaking) atau bahkan tanpa menggunakan handshaking. Bahkan sebagian besar PC
saat ini hanya menyediakan 8 sinyal yang umum dipakai

6.2.3 Karakteristik Mekanik


Konektor yang dipakai pun ditentukan dalam standard RS232. Untuk sinyal
yang lengkap dipakai konektor DB25, sedangkan konektor DB9 hanya bisa dipakai
untuk 9 sinyal yang umum dipakai.
Sinyal-sinyal tersebut ada yang menuju ke DCE ada pula yang berasal dari DCE.
Bagi sinyal yang menuju ke DCE artinya DTE berfungsi sebagai keluaran dan DCE
berfungsi sebagai masukan, misalnya sinyal TD, pada sisi DTE kaki TD adalah
keluaran, dan kaki ini dihubungkan ke kaki TD pada DCE yang berfungsi sebagai
masukan. Kebalikan sinyal TD adalah RD, sinyal ini berasal dari DCE dan dihubungkan
ke kaki RD pada DTE yang berfungsi sebagai keluaran.
Susunan sinyal RS232 pada konektor DB9 dan konektor DB25 berlainan,
susunan kaki ini dan bahasan di atas semuanya diringkas dalam Tabel 5.

Tabel 5. Susunan kaki konektor RS232


No. Pin
Nama Sinyal Arah Sinyal
DB 25 DB 9
Transmit Data (TD) Ke DCE 2 3
Receive Data (RD) Dari DCE 3 2
Request To Send (RTS) Ke DCE 4 7
Clear To Send (CTS) Dari DCE 5 8
DTE Ready (DTR) Ke DCE 20 4
DCE Ready (DSR) Dari DCE 6 6
Signal Ground - 7 5
Carrier Detect (CD) Dari DCE 8 1
Ring Indicator (RI) Dari DCE 22 9
Sumber : http://alds.stts.edu/DIGITAL/Modem.htm

6.3 EEPROM Serial


EEPROM serial dikembangkan untuk mengatasi keterbatasan jumlah I/O pada
mikroprosesor/mikrokontroller. Yang membedakan antara EEPROM serial dengan
EEPROM paralel adalah antar muka EEPROM serial yang diakses secara serial. Sebuah
IC memori dengan kapasitas 2 kByte yang dibentuk dengan teknik transfer data secara
pararel paling tidak mempunyai 24 kaki, 8 kaki untuk jalur data, 11 kaki untuk jalur
alamat, 3 kaki untuk jalur kontrol, 2 kaki untuk catu daya. Memori yang sama kalau
dibentuk dengan teknik transfer data secara seri mempunyai 8 kaki, dan hanya 2 atau 3
kaki yang perlu dihubungkan ke mikroprosesor/mikrokontroller. Keunggulan lainnya
adalah daya yang dibutuhkan lebih rendah dan ukuran fisik yang lebih kecil.
Teknik transfer data secara seri antar IC dikembangkan oleh 3 perusahaan IC,
yang pertama adalah teknik I2C (Inter Integrated Circuit) yang dikenalkan oleh Philips,
teknik SPI (Serial Peripheral Interface) dari Motorola dan teknik MicroWire dari
National Semiconductor. Protokol I2C memakai 2 jalur untuk keperluan transfer data
secara seri, sedangkan SPI dan MicroWire memakai 3 jalur. Semua protokol
mempunyai 1 jalur untuk clock, I2C hanya punya satu jalur data 2 arah, sedangkan SPI
dan MicroWire mempunyai 2 jalur data satu arah, masing-masing untuk jalur data
masuk dan jalur data keluar. Protokol yang paling sering digunakan pada EEPROM
serial adalah I2C.

6.3.1 Protokol I2C


I2C versi 1.0 dikenalkan oleh Philips pada tahun 1992, direvisi menjadi versi 2.0
pada tahun 1998, kemudian direvisi lagi menjadi versi 2.1 pada tahun 2000.
Komunikasi data secara I2C dilakukan melalui dua saluran, masing-masing adalah
saluran data secara seri (SDA) dan saluran clock (SCL), kedua saluran ini dikenal
sebagai bus I2C yang dipakai menghubungkan banyak IC I2C untuk berbagai macam
keperluan. IC-IC I2C itu dibedakan menjadi master dan slave. yang dimaksud dengan
master adalah peralatan I2C yang memulai transfer data dan yang membangkitkan clock
(SCK). Yang bertindak sebagai master umumnya adalah mikroprosesor/mikrokontroler
yang bertugas mengendalikan bus I2C.
Pada kondisi normal, SDA hanya boleh berubah selama SCL low. Pengecualian
kondisi ini adalah saat kondisi start dan stop. Kondisi start menandakan master akan
memulai proses pertukaran data dengan ditandai transisi high ke low pada saluran SDA
saat saluran SCL high. Sedangkan kondisi stop menandakan master akan menghentikan
proses pertukaran data dengan ditandai transisi low ke high pada saluran SDA saat
saluran SCL high.
Lebar data yang dikirimkan melalui SDA harus sebanyak 8 bit atau 1 byte.
Banyaknya byte yang dapat dikirimkan tidak dibatasi. Masing masing byte harus diikuti
bit acknowledge oleh pihak penerima data dengan menahan saluran SDA pada kondisi
low saat pulsa clock acknowledge sedang dalam periode high. Jika pihak penerima tidak
memberikan acknowledge, berarti pihak penerima tidak sedang dalam kondisi siap
bertukar data. Data ditransfer dengan MSB terlebih dahulu. Jika slave tidak dapat
menerima atau mengirimkan byte data selama melakukan beberapa fungsi lain, sebagai
contoh melayani interupt internal, slave dapat memaksa master ke kondisi wait dengan
menahan saluran SCL pada kondisi low. Perpindahan data kemudian dilanjutkan jika
slave siap untuk bertukar data dan melepasan saluran SCL. Proses pengiriman data
dapat dihentikan dengan memberikan kondisi stop walaupun proses pengiriman belum
lengkap satu byte. Dalam kasus ini, tidak ada sinyal acknowledge. Timing diagram
protokol I2C dapat dilihat dalam Gambar 11.

Gambar 11. Timing diagram protokol I2C


Sumber : Philips, 2000 : 10

6.3.2 Pengalamatan EEPROM Serial


Karena IC I2C hanya dikendalikan lewat kaki SDA dan SCK saja, tidak ada
sarana lainnya dari master yang bisa dipakai untuk mengendalikan I2C, maka alamat
yang dipakai untuk memilih isi IC I2C dikirimkan secara serial pula, persis seperti
halnya pengiriman data.
Pengalamat dasar IC I2C dilakukan dengan Nomor Group dan Nomor Chip.
Nomor group adalah nomor yang diberikan oleh Philips sebagai pencipta I 2C pada
kelompok-kelompok IC I2C. Sebagai contoh nomor group untuk EEPROM serial adalah
1010 (biner). Nomor chip adalah nomor yang diberikan pada masing-masing chip lewat
kaki A0, A1, dan A2 dari masing-masing IC. Dalam IC I 2C tertentu, A0..A2 tidak
dihubungkan ke kaki IC, tapi dipakai didalam IC untuk menomori register atau memori
di dalam IC bersangkutan.
Setelah master I2C mengirimkan sinyal start, byte pertama yang dikirim berisi
nomor group, nomor chip dan 1 bit lagi sebagai penentu arah data (low = write, high =
read), seperti yang digambarkan dalam Gambar 3. Setelah master mengirimkan byte
pertama, IC I2C yang memiliki nomor group dan chip yang bersesuaian menyisipkan
sinyal acknowledge sebagai kesiapannya bertukar data. Selanjutnya master akan
melakukan pertukaran data dengan slave sesuai dengan bit penentu arah data. Jika
pertukaran data telah selesai, master mengakhiri hubungan dengan mengirimkan sinyal
stop.
Dengan cara pengalamatan diatas master dapat mengendalikan 128 (7 bit)
alamat. Untuk EEPROM serial, dimana dibutuhkan jumlah alamat yang lebih banyak,
digunakan cara pengalamatan yang lain. EEPROM dengan kapasitas 2 kB kebawah,
misal 24C16 yang memiliki kapasitas 2 kB, menggunakan 3 bit nomor chip dan 1 byte
alamat yang dikirim setelah byte pertama sehingga dapat mengalamati 11 bit alamat
pada EEPROM. Sedangkan EEPROM dengan kapasitas lebih dari 2 kB, misal 24C256
yang memiliki kapasitas 32 kB, menggunakan 2 byte alamat yang masing-masing
dikirim setelah byte pertama.

6.3.3 Operasi Penulisan


Operasi penulisan pada EEPROM serial dapat dibagi menjadi dua jenis, yaitu
penulisan perbyte dan penulisan perhalaman. Pada penulisan perbyte, 8 bit data
dikirimkan setelah master mengirimkan kondisi start, 4 bit alamat group, 3 bit alamat
chip atau alamat EEPROM, bit “0” untuk mode write, acknowledge dari EEPROM, 8
bit alamat EEPROM, dan acknowledge dari EEPROM. Setelah 8 bit data diterima
EEPROM akan memberikan acknowledge dan master mengakhiri operasi penulis
dengan kondisi stop. Setelah kondisi stop, EEPROM memasuki siklus penulisan ke
memori nonvolatile selama waktu siklus tulis. Semua masukan tidak berfungsi selama
siklus penulisan dan EEPROM tidak akan menjawab panggilan sampai proses penulis
selesai. Proses penulisan perbyte dapat dilihat dalam Gambar 12A.
Langkah-langkah penulisan perhalaman hampir sama dengan penulisan perbyte,
namun setelah data 8 bit dikirim dan mendapat acknowledge dari EEPROM, master
tidak mengirimkan kondisi stop tetapi mengirimkan data yang akan di tulis pada alamat
selanjutnya. Pada akhir pengiriman masing-masing byte EEPROM memberikan
acknowledge. Masing-masing tipe EEPROM serial biasanya mempunyai ukuran
halaman tertentu, misalnya AT24C16 memiliki halaman sebesar 16 byte. Setiap selesai
menerima data, empat bit LSB alamat EEPROM otomatis dinaikkan, sedangkan bit
yang lain tetap. Setelah batas akhir halaman terlampaui, alamat akan kembali ke awal
halaman. Proses penulisan perhalaman dapat dilihat dalam Gambar 12B.

Gambar 12. Operasi penulisan pada EEPROM serial AT24C16


Sumber : Atmel, 2002 : 11

6.3.4 Operasi Pembacaan


EEPROM serial memiliki counter alamat internal yang menyimpan satu alamat
sesudah alamat terakhir yang diakses dengan operasi write atau read. Alamat pada
counter alamat internal akan tetap valid selama EEPROM masih mendapat catu daya.
Untuk memulai operasi pembacaan, master mengirimkan kondisi start diikuti byte
pertama. Setelah mengirimkan acknowledge, EEPROM mengirimkan data ke master.
Untuk mengakhiri hubungan, master tidak memberikan acknowledge setelah bit data
terakhir dikirimkan oleh EEPROM, kemudian disusul dengan mengirimkan kondisi
stop. Proses pembacaan EEPROM serial dapat dilihat dalam Gambar 13A.
Untuk melakukan pembacaan secara acak (random read), dibutuhkan urutan
penulisan semu untuk memuat alamat ke counter alamat EEPROM. Master memulai
dengan urutan operasi penulisan. Setelah alamat EEPROM dikirim dan mendapat
acknowledge dari EEPROM, master tidak mengirimkan data, tetapi mengirimkan
kondisi start baru dan memulai proses pembacaan. Proses pembacaan secara acak dapat
dilihat dalam Gambar 13B.
Pembacaan juga dapat dilakukan secara berurutan (sequential read) dengan
memberikan acknowledge setelah EEPROM mengirimkan byte data. Secara otomatis
EEPROM menaikkan alamat counter internal dan mengirimkan data pada alamat
berikutnya. Sama seperti proses pembacaan diatas, untuk mengakhiri pembacaan,
master tidak memberikan acknowledge setelah bit data terakhir dikirimkan oleh
EEPROM, kemudian disusul dengan mengirimkan kondisi stop. Proses pembacaan
secara berurutan dapat dilihat dalam Gambar 13C.

Gambar 13. Operasi pembacaan pada EEPROM serial AT24C16


Sumber : Atmel, 2002 : 12

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:

7.1. Penentuan Spesifikasi Alat


Sebelum melakukan perencanaan dan perealisasian alat, maka ditentukan
spesifikasi alat yang akan dibuat. Adapun spesifikasi alat yang akan direalisasikan
sebagai berikut:
 sumber tegangan adalah DC 12 V
 8 masukan digital dengan level tegangan TTL
 8 keluaran berupa 4 buah relay dan 4 buah keluaran digital
 antarmuka dengan PC menggunakan port serial RS232
 kapasitas EEPROM 2kB.

7.2. Perancangan dan Perealisasian Alat


Agar perancangan dan perealisasian alat berjalan secara sistematis maka perlu
dirancang diagram blok yang menjelaskan sistem yang dirancang dibuat secara garis
besar. Gambar 14 menunjukkan diagram blok sistem.

Driver Relay
Driver Relay

Masukan Mikrokontroler Interface


Masukan Mikrokontroler TTLInterface
- RS232
TTL - RS232

EEPROM Kristal PC
EEPROM Kristal PC

Gambar 14. Blok diagram alat pengendali perangkat elektronika yang dapat diprogram
dengan kombinasi masukan dan pewaktu
Sumber : Perancangan

Keterangan diagram blok :


 masukan dapat berupa sensor atau saklar
 mikrokontroler berfungsi untuk mengendalikan keseluruhan proses kerja sistem
 EEPROM berfungsi untuk menyimpan program
 kristal berfungsi sebagai clock untuk mikrokontroler dan acuan waktu bagi
sistem (penentuan jam/hari)
 driver berfungsi untuk menyangga keluaran microcontroller agar dapat
menggerakkan relay
 relay berfungsi untuk menggerakkan beban yang dikendalikan
 interface TTL-RS232 berfungsi untuk menyesuaikan level tegangan serial port
PC dengan keluaran/masukan microcontroller
 PC digunakan untuk memprogram alat, saat mikrokontroler sedang menjalankan
program keberadaan PC tidak diperlukan.
7.3. Metode Pengujian
Untuk mengetahui unjuk kerja piranti apakah sesuai dengan yang direncanakan
maka dilakukan pengujian rangkaian. Pengujian dilakukan pada masing-masing blok
dan secara keseluruhan. Pengujian antara lain berupa pengukuran tegangan, arus, dan
frekuensi sesuai sesuai dengan spesifikasi yang diinginkan serta pengujian kerja
masing-masing blok. Setelah masing-masing blok bekerja, dilakukan mengujian
keseluruan sistem dengan memberikan contoh kasus.

7.4. Realisasi Alat


Skema masing-masing blok yang terdapat dalam gambar 14 direalisasikan dalam
bentuk PCB. Setelah PCB selesai dibuat, dilanjutkan dengan pemasangan komponen,
penyolderan dan pengemasan rangkaian.

7.5. Pengambilan Kesimpulan


Kesimpulan didapat berdasarkan dari hasil perealisasian dan pengujian Alat
Pengendali Perangkat Elektronika Yang Dapat Diprogram Dengan Kombinasi Masukan
Dan Pewaktu.

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:

Tabel 6. Tabel rencana kegiatan


Bulan ke
No. Kegiatan
I II III IV V
1 Seminar Proposal
2 Studi Literatur
3 Pembuatan Alat
4 Pengujian Alat
5 Penyusunan Laporan
6 Seminar Hasil
Sumber : Perancangan
DAFTAR PUSTAKA

Atmel. 1999. AVR Embedded RISC Microcontroller Core. Atmel Corporation.


Atmel. 1999. AVR Embedded RISC Microcontroller Core Peripheral – Timer/Counter.
Atmel Corporation.
Atmel. 1999. AVR Embedded RISC Microcontroller Core Peripheral - UART. Atmel
Corporation.
Atmel. 2001. AT90S8515 – 8-bit AVR Microcontroller with 8K Bytes In-System
Programmable Flash Datasheet. Atmel Corporation.
Atmel. 2002. AT24C01 AT24C02 AT24C04 AT24C08 AT24C16 – 2 wire Serial
EEPROM. Atmel Corporation.
Atmel. 2003. AT24C128 AT24C256 – 2 wire Serial EEPROM. Atmel Corporation.
Budhy Sutanto. 2001. RS232 dan Modem. http://alds.stts.edu/DIGITAL/Modem.htm.
Dallas. 1998. Application Note 83 Fundamentals of RS-232 Serial Communication.
Maxim Integrated Products.
National. 1996. Summary of Well Known Interface Standards. National Semiconductor
Peacock, Craig. 1998. Interfacing the Serial / RS232 Port.
http://www.senet.com.au/~cpeacock/.
Philips. 2000. The I2C-Bus Specification. Philips Semiconductors.
Suko Winoto. 2001. Pemanfaatan Mikrokontroler 80C31 Sebagai Penontrol Lampu
Penerangan dan Pemantau Kemanan Pada Perkantoran. Skripsi Tidak
Diterbitkan. Malang: Jurusan Teknik Elektro FT Unibraw.

Anda mungkin juga menyukai