counter dan transporter barang berbasis mikrokontroller at89c51

advertisement
COUNTER DAN TRANSPORTER BARANG BERBASIS MIKROKONTROLLER
AT89C51
ABSTRAKSI
Amri Arifianto, 20100307
COUNTER DAN TRANSPORTER BARANG BERBASIS MIKROKONTROLLER AT89C51
Skripsi, Fakultas Ilmu Komputer, 2005
Kata Kunci : Mikrokontroller AT89C51, Sensor Infra Merah, Seven Segment.
( x + 49 + Lampiran )
Counter barang berbasis mikrokontroller AT89C51 ini merupakan suatu alat yang dapat
memindahkan barang dari suatu tempat ke tempat lain serta sekaligus melakukan penghitungan dari
jumlah barang yang telah dipindahkan yang ditampilkan pada dua buah seven segment display. Counter
barang ini menggunakan dua buah sensor infra merah untuk mendeteksi barang atau benda yang akan
dipindahkan. Jika alat ini dihidupkan namun tidak ada barang yang melewati sensor pertama, maka alat
ini akan berada dalam kondisi standby dan hanya akan bekerja memindahkan barang hanya jika ada
benda yang melewati sensor pertama. Selain memindahkan dan melakukan perhitungan, alat ini juga
dilengkapi dengan alarm atau buzzer yang berfungsi untuk memberi tanda atau sinyal berupa suara
bahwa barang yang dipindahkan telah maksimum. Program yang digunakan sebagai pengendali dari
sistem ini adalah program bahasa rakitan atau assembly, di mana program ini mengatur secara
keseluruhan kerja dari sistem. Pada sistem ini jumlah barang yang bisa dipindahkan maksimal adalah
sebanyak 99 barang.
Latar Belakang
Dari zaman yang paling kuno sampai pada zaman sekarang, manusia telah ditakdirkan untuk
bekerja, baik sebagai proses untuk bertahan hidup ataupun dengan tujuan untuk mengembangkan
kreativitas. Hanya saja bedanya pada zaman terdahulu, kerja yang dilakukan kurang terorganisir dan
media atau alat bantu yang digunakan masih tergolong minim. Sedangkan pada saat sekarang, para
individu bekerja dan berlomba untuk mengembangkan daya kreatifitasnya. Tentu saja mereka lebih
terencana dalam melaksanakan kerja serta alat bantu yang digunakan sudah tergolong efisien karena
mengurangi faktor tenaga manusia yang telah digantikan peranannya oleh mesin serta alat bantu lainnya
yang pada akhirnya akan meningkatkan efektivitas dan akurasi dalam prosesnya. Juga dikarenakan
mesin lebih berdaya tahan jika dibandingkan dengan tenaga manusia.
Dengan didasari pernyataan di atas, maka penulis berusaha membuat suatu alat dari rangkaian
elektronika sederhana yang dapat melakukan dan menggantikan tugas manusia yang juga pada akhirnya
akan mempermudah proses kerja manusia itu sendiri.
Alat ini merupakan alat sederhana yang dapat memindahkan suatu barang dari satu titik tertentu ke
titik lain yang diinginkan, serta melakukan proses penghitungan yang dilengkapi tampilan dari jumlah
1
barang yang telah dipindahkan. Alat tersebut dinamakan “Counter dan Transporter Barang Berbasis
Mikrokontroller AT89C51”.
Manusia terus membuat alat yang dapat mempercepat proses kerja. Namun kesemua itu tidak
terlepas dari keberadaan elemen-elemen pembentuk yang beroperasi bersama agar alat yang diinginkan
dapat bekerja sesuai dengan keinginan dan tujuan. Pada bab ini akan dibahas mengenai komponenkomponen elektronika yang digunakan pada alat counter barang berbasis Mikrokontroller AT89C51.
Seven Segment
Seven Segment merupakan sebuah komponen yang terdiri dari 7 buah led yang diatur dan
dirangkai sedemikian rupa sehingga dapat membentuk angka 0 sampai dengan angka 9 dan dapat juga
menampilkan huruf.
Fungsi dari seven segment pada rangkaian counter barang ini adalah sebagai indikator tampilan
dari jumlah barang yang telah dipindahkan oleh mesin penggerak.
D1
TIL309
A
B
C
D
E
F
G
Gambar Seven Segment
Terdapat 2 jenis seven segment, yaitu Seven Segment Common Anode dan Seven Segment
Common Cathode. Jenis seven segment yang digunakan pada rangkaian counter barang ini adalah
seven segment jenis Common Anode.
Untuk seven segment common anoda, semua kaki-kaki anodanya dihubungkan dengan Vcc,
sedangkan semua kaki-kaki katodanya berfungsi sebagai input. Seven segment ini merupakan active
low, dengan arti bahwa komponen ini akan aktif jika diberi masukan bernilai low (0).
Gambar Rangkaian diskrit Seven Segment Common Anoda
2
Mikrokontroller AT89C51
Pada rangkaian counter barang ini, prosesnya banyak dilakukan di mikrokontroller AT89C51.
Namun sebelum melanjukan pembahasan mengenai mikrokontroller AT89C51 ini, ada baiknya kita
mengetahui terlebih dahulu perbedaan antara mikrokontroller dan mikroprosessor. Suatu microprosessor
adalah bagian dari CPU (Central Processing Unit) dari sebuah komputer, tanpa memori, tanpa I/O dan
tanpa peripheral yang dibutuhkan oleh sebuah sistem lengkap. Sebagai contoh, IBM 8088 dan 80X86
yang hanya bekerja apabila mendapat dukungan berupa RAM, ROM dan I/O.
Bila sebuah mikroprosessor dikombinasikan dengan I/O dan memori (RAM/ROM), akan dihasilkan
sebuah mikrokomputer. Pada kenyataannya, mengkombinasikan CPU (Central Processing Unit) dengan
memori serta I/O dapat juga dilakukan dalam level chip, yang menghasilkan Single Chip Microcomputer
(SCM) yang kemudian diberi nama mikrokontroller karena digunakan untuk mengendalikan hardware.
Karena mikrokontroller telah memiliki peripheral yang terdapat pada satu chip IC, maka
mikrokontroller memiliki kelebihan dalam hal:
9
Kemudahan dalam merancang system berbasis Mikrokontroller.
9
Keandalan yang tinggi.
9
Tingkat keamanan yang terjamin.
9
Ukuran fisik yang ringkas.
9
Harga yang ekonomis.
VCC
P1.0
1
40
P1.1
2
39
P0.0 (AD 0)
P1.2
3
38
P0.1 (AD 1)
P1.3
4
37
P0.2 (AD 2)
P1.4
5
36
P0.3 (AD 3)
P1.5
6
35
P0.4 (AD 4)
P1.6
7
34
P0.5 (AD 5)
P1.7
8
33
P0.6 (AD 6)
9
32
P0.7 (AD 7)
(RXD)P3.0
10
31
EA
RESET
(TXD)P3.1
11
30
ALE
(INT0)P3.2
12
29
PSEN
(INT1)P3.3
13
28
P2.7 (A 15)
(T0)P3.4
14
27
P2.6 (A 14)
(T1)P3.5
15
26
P2.5 (A 13)
(WR)P3.6
16
25
P2.4 (A 12)
(RD)P3.7
17
24
P2.3 (A 11)
XTAL2
18
23
P2.2 (A 10)
XTAL1
19
22
P2.1 (A 9)
GROUND
20
21
P2.0 (A 8)
Konfigurasi Kaki-Kaki Mikrokontroller AT89C51 PDIP 40 Pin
Mikrokontroller yang digunakan pada rangkaian counter barang ini adalah Mikrokontroller jenis
AT89C51 yang konfigurasi kaki-kakinya terlihat pada gambar Mikrokontroller AT89C51 ini memiliki
feature-feature antara lain:
a. Sebuah Central Processing Unit 8 bit.
3
b. RAM internal 128 byte (On Chip).
c.
2 buah timer/counter 16 bit.
d. Oscilator internal dan rangkaian pewaktu.
e. 5 buah jalur interupsi (3 buah interupsi internal dan 2 buah interupsi external).
f.
Sebuah port serial dengan Full Duplex UART.
g. 32 buah jalur I/O yang dapat diprogram.
h. Mempunyai kemampuan dalam melakukan operasi perkalian, pembagian dan Boolean (bit).
i.
EPROM yang berkapasitas 4 Kbyte untuk program memori.
Kecepatan maksimum dalam pelaksanaan instruksi per siklus adalah 0,5
µs
pada frekuensi
clock 24 MHz. Apabila frekuensi clock mikrokontroller yang digunakan adalah 12 MHz, maka
kecepatan pelaksanaan instruksi per siklus adalah 1 µ s.
Lihat diagram bloknya pada Gambar di bawah ini
Diagram Blok Mikrokontroller AT89C51
4
Berikut adalah penjelasan dari tiap kaki pada Mikrokontroller AT89C51 :
a.
Port 0
Port 0 merupakan dual-purpose port (port yang memilki dua kegunaan). Pada desain yang
minimum (sederhana) digunakan sebagai port I/O (Input/Output). Pada desain lebih lanjut port 0 juga
dapat dikonfigurasikan sebagai bus data selama proses pengaksesan memori data dan program
eksternal. Port 0 terdapat pada pin 32 sampai dengan pin 39.
b.
Port 1
Port 1 terdapat pada pin 1 sampai dengan pin 8 yang berfungsi hanya sebagai port I/O.
c.
Port 2
Port 2 merupakan dual-purpose port. Pada desain minimum digunakan sebagai port I/O. Pada
desain lebih lanjut port 2 digunakan sebagai high byte dari address. Port 2 terdapat pada pin 21
sampai dengan pin 28.
d.
Port 3
Port 3 merupakan dual-purpose port. Selain berfungsi sebagai port I/O, port 3 juga memiliki
fungsi-fungsi khusus yang ditunjukkan pada Tabel berikut :
Fungsi Khusus Port 3
Port Pin
Fungsi Alternatif
P3.0
Rxd (serial input port)
P3.1
Txd (serial output port)
P3.2
_INT0 (external interrupt 0)
P3.3
_INT1 (external Interrupt 1)
P3.4
T0 (timer 0 external input)
P3.5
T1 (timer 1 external input)
P3.6
_WR (external data memory write strobe)
P3.7
e.
_RD (external data memory read strobe)
PSEN (Program Store Enable)
PSEN merupakan kendali sinyal untuk mengakses program (code) memori eksternal. Pin ini
dihubungkan ke pin OE (Output Enable) dari EPROM. Sinyal PSEN akan bernilai 0 pada tahap
fetch (penjemputan) instruksi. PSEN akan selalu bernilai 0 pada pembacaan program memori
internal. PSEN terdapat pada pin 29.
f.
ALE (Address Latch Enable)
ALE digunakan untuk men-demultiplex alamat dan data bus. Ketika menggunakan program
memori eksternal, port 0 akan berfungsi sebagai address data bus. Pada setengah paruh pertama
memori cycle, ALE akan bernilai 1 sehingga mengijinkan penulisan alamat pada register eksternal
dan pada paruh berikutnya akan bernilai 0 sehingga port 0 dapat digunakan sebagai data bus
memori eksternal. ALE terdapat pada pin 30.
5
g.
EA (External Access)
Jika EA diberi masukan 0 atau dihubungkan ke ground, maka mikrokontroller akan
mengeksekusi program dari memori eksternal. Jika EA dihubungkan dengan Vcc maka
mikrokontroller mengakses program secara internal.
h.
RST (Reset)
Masukan reset. Jika pada pin ini diberi masukan 1 selama minimal 2 siklus mesin selama
oscilator bekerja, maka akan mereset mikrokontroller yang bersangkutan.
i.
On-Chip Oscillator
Pada mikrokontroller dengan arsitektur 8051, memiliki on-chip oscilator yang dapat bekerja jika
digerakkan dengan menggunakan kristal. Tambahan kapasitor diperlukan untuk menstabilkan
sistem. Kecepatan maksimum pelaksanaan instruksi per siklus adalah 0,5 µs pada frekuensi clock
24 MHz. Apabila frekuensi clock mikrokontroller yang digunakan adalah 12 MHz, maka kecepatan
pelaksanaan intsruksi persiklus adalah 1µs. On-chip oscilator terdapat pada pin 18 (XTAL2) dan
pin 19 (XTAL1).
j.
Koneksi Power
Supply tegangan sebesar 5 Volt. Pin Vcc terdapat pada pin 40 sedangkan ground terdapat
pada pin 20.
Reset
Reset dapat dilakukan secara manual maupun otomatis saat power diaktifkan (Power on Reset).
Saat terjadi reset isi dari register akan berubah sesuai yang ada pada tabel.
Skema Rangkaian Reset
Reset terjadi dengan adanya logika 1 selama minimal 2 cycle pada kaki RST. Setelah kondisi pin
RST kembali low, mikrokontroller akan mulai menjalankan program dari alamat 0000H. Kondisi pada
internal RAM tidak terjadi perubahan selama reset.
Gambar di atas merupakan gambar rangkaian reset yang bekerja secara manual maupun otomatis
saat sumber daya diaktifkan. Pada saat sumber daya diaktifkan, maka kapasitor C1, sesuai dengan sifat
kapasitor akan terhubung singkat pada saat itu sehingga rangkaian ekivalennya tampak pada gambar
2.16A . Arus mengalir dari VCC langsung ke kaki RST sehingga kaki tersebut berlogika 1, kemudian
6
kapasitor terisi hingga kapasitor C1 dan resistor R2 mencapai VCC, otomatis tegangan pada R2 atau
tegangan RST akan turun menjadi nol sehingga kaki RST akan berlogika 0 dan proses reset selesai.
Aliran arus dan perubahan tegangan pada reset otomatis
Jika saklar S1 ditekan, reset bekerja secara manual, aliran arus akan mengalir dari VCC melalui R1
menuju ke kaki RST. Tegangan pada kaki RST atau VR2 akan berubah menjadi:
yaitu 4,94 Volt dengan nilai VCC = 5 Volt.
Saat S1 Ditekan
Op-Amp 741
Op-Amp atau Operating Amplifier adalah penguat operasional dan merupakan rangkaian elektronik
yang dirancang dan dikemas sacara khusus sehingga dengan menambahkan komponen luar sedikit saja
dapat dipakai untuk berbagai keperluan.
7
Op-Amp adalah peranti solid-state yang mampu mengindera dan memperkuat sinyal masukan DC
maupun AC. Dalam rangkaian counter barang ini, IC Op-Amp yang digunakan adalah IC Op-Amp 741.
Keterangan Pin :
1. Offset null
2. Inverting input
3. Non Inverting input
4. – Vcc : tegangan aktivator negatif
5. Offset null
6. Output
7. + Vcc : tegangan aktivator positif
8. No conection (NC)
Gambar Op-Amp 741
Fungsi Masing-Masing Pin
•
Pin 1 & Pin 5 : Offset null
Æ Tegangan Offset (tegangan kesalahan) atas masukan yang diberikan untuk mengembalikan
tegangan output ke posisi nol.
•
Pin 2 : Inverting
Æ Input pembalik (dimana output yang dihasilkan berlawanan dengan input).
•
Pin 3 : Non-inverting
Æ Input tak membalik (dimana output yang dihasilkan sama dengan input).
•
Pin 4 : -Vcc
Æ Tegangan catu negatif untuk pengaktifan Op-Amp.
•
Pin 6 : Output
Æ Terminal untuk keluaran dari Op-Amp.
•
Pin 7 : + Vcc
Æ Tegangan catu positif untuk pengaktifan Op-Amp.
•
Pin 8 : NC (No Connection)
Æ Tak dihubungkan, disertakan dengan tujuan agar kemasan Op-Amp lebih simetris dan lebih
kokoh.
Pada rangkaian counter barang ini, IC Op-Amp 741 berfungsi sebagai rangkaian Non Inverting
Amplifier dan Komparator. Rangkaian non-inverting amplifier dapat juga disebut sebagai rangkaian
penguat tak membalik. Input pada rangkaian ini berada pada kaki non-inverting.
8
Rf
+ Vcc
Ib
Rin
Ia
Ic
Vout
Vin
+
- Vcc
Gambar Rangkaian Non-Inverting Amplifier
Rumus Vout Non-Inverting Amplifier:
 Rf

Vout = 
+ 1.Vin
 Rin 
Fungsi lain IC Op-Amp 741 adalah sebagai komparator atau pembanding, di mana fungsi komparator
adalah untuk membandingkan tegangan input yang berada pada kaki Inverting dan kaki NonInverting.
+ Vcc
Va
-
Vb
+
Vout
- Vcc
Gambar Op-Amp 741 Sebagai Komparator
Rumus Vout untuk rangkaian komparator:
Vout = ( Vb – Va ) . 90 % VCC
Terlihat pada rumus, terdapat operasi (Vb – Va). Fungsi dari operasi tersebut pada rangkaian
Komparator adalah sebagai penanda, dimana hasil dari pengurangan tersebut hanya menandakan
Vout bernilai positif atau negatif dari hasil 90 % Vcc.
9
Motor Stepper
Motor stepper banyak digunakan untuk aplikasi-aplikasi yang menggunakan torsi yang kecil
seperti pada penggerak piringan disket yang dapat dijumpai pada disk drive atau piringan CD. Kecepatan
motor stepper relatif lebih lambat daripada motor DC. Perbedaan antara motor stepper dan motor DC
terletak pada proses pengendaliannya. Hanya dengan memberikan sumber tegangan yang relatif
terhadap ground maka motor DC sudah dapat berputar, sedangkan pada motor stepper harus
memberikan data terlebih dahulu. Motor stepper dibagi menjadi dua jenis yaitu unipolar dan bipolar.
Secara fisik unipolar dan bipolar hampir tidak dapat dibedakan, yang menjadi perbedaannya adalah data
yang dibutuhkan untuk menggerakan motor stepper tersebut. Penulis menggunakan motor stepper jenis
unipolar.
Analisis Rangkaian Secara Blok
Analisis adalah salah satu cara yang digunakan oleh penulis untuk mengetahui cara kerja dari
rangkaian. Analisis rangkaian secara blok dimaksudkan untuk mengetahui cara kerja pada bagian blokblok rangkaian tersebut. Pada rangkaian counter barang berbasis mikrokontroller AT89C51 penulis
membagi rangkaian menjadi 6 blok, yaitu : Sensor masuk, sensor keluar, mikrokontroller AT89C51,
indikator display, motor penggerak dan indikator alarm atau buzzer.
Display
Seven Segment
Sensor
Masuk
Mikrokontroller
AT89C51
Sensor
Keluar
Indikator
Alarm
Gambar Blok Diagram
10
Motor
Penggerak
Blok Sensor Masuk
Sensor masuk merupakan sensor yang akan digunakan sebagai sensor acuan penghitung maju.
Apabila sensor masuk ini terkena aksi barang yang melintas (ada barang yang melintas menghalangi
sensor masuk) maka mikrokontroller akan melakukan penghitungan maju.
+5V
+12V
7
Sensor1
2
+
+12V
6
3
Gnd
2
+
741
-
R11
4
R41
10K
U11
741
4
R9
10K
+12V
7
3
R7
330R
U14
Gnd
VR-Multiturn/10K
VR-Multiturn/10K
6
R13
1k
4,7V
+5V
R25
1k
D7
R19
Q5
VCS1
BC547 P3.2
R15
R17
10K
10K
VCS1
Gambar Blok Sensor Masuk
Cara kerja sensor masuk ini adalah sebagai berikut, apabila cahaya infra merah yang dipancarkan
oleh transmitter mengenai photo transistor atau dengan kata lain, sensor tidak terhalang oleh barang
maka photo transistor akan bekerja saturasi, dan titik A akan mendapat + 5V. Output yang berada pada
titik A akan dilanjutkan kedalam rangkaian non inverting amplifier sebagai input. Fungsi rangkaian non
inverting amplifier adalah sebagai penguat tidak membalik. Output yang dihasilkan dari rangkaian non
inverting amplifier adalah sebesar 10 Volt, dan selanjutnya output tersebut akan digunakan sebagai input
pada rangkaian komparator. Rangkaian komparator berfungsi sebagai pembanding input pada kaki
inverting dan input pada kaki non inverting. Input pada kaki non inverting adalah hasil dari output
rangkaian non inverting amplifier, sedangkan input pada kaki inverting adalah hasil dari pembagi
tegangan dari resistor R17 dan R19. Dalam rangkaian komparator input di kaki non inverting lebih besar
dibandingkan dengan input di kaki inverting, maka output yang dihasilkan dari rangkaian komparator
adalah 10,8 Volt dan dibatasi oleh zenner 4,7 Volt.
Output tersebut kemudian akan dijadikan input pada kaki basis dari transistor Q5. Transistor yang
digunakan dalam rangkaian sensor masuk adalah transistor jenis NPN dan fungsi dari transistor Q5
adalah sebagai saklar. Kaki basis pada transistor Q5 mendapat input sebesar 4,7V Volt. Hal ini
menyebabkan transistor Q5 menjadi saturasi (sebagai saklar tertutup) dan tegangan yang dihasilkan
pada kaki kolektor adalah sebesar 5 Volt.
Sebaliknya apabila cahaya infra merah tidak mengenai photo transistor atau sensor terhalang oleh
barang maka photo transistor akan bekerja cut off, dan dititik A akan mendapatkan ground atau sama
dengan nol (0). Output yang berada pada titik A akan dilanjutkan kedalam rangkaian non inverting
11
amplifier sebagai input, dalam rangkaian non inverting amplifier jika inputnya nol maka output yang
dihasilkan akan nol juga.
Selanjutnya output dari rangkaian non inverting amplifier akan digunakan sebagai input pada
rangkaian komparator. Dalam rangkaian komparator input di kaki inverting lebih besar dibandingkan
input di kaki non inverting, sehingga output yang dihasilkan dari rangkaian komparator adalah 0 Volt.
Kaki basis pada transistor Q5 akan mendapat input sebesar 0 Volt. Hal ini menyebabkan transistor Q5
menjadi cut off (sebagai saklar terbuka) dan tegangan yang dihasilkan pada kaki kolektor adalah sebesar
0 Volt.
Blok Sensor Keluar
Secara umum, cara kerja pada sensor keluar ini sama seperti pada sensor masuk, perbedaannya
hanyalah pada fungsinya. Jika pada sensor masuk digunakan sebagai sensor acuan penghitung maju,
maka prinsip kerja pada sensor keluar ini sebagai sensor acuan penghitung mundur.
+5V
+12V
7
Sensor2
R42
10K
+12V
6
-
3
2
Gnd
7
2
U13
741
U15
+
6
741
-
R12
4
R10
10K
+
4
3
R8
330R
+12V
Gnd 1k
VR-Multiturn/10K
4,7V
R20
R26
1k
D8
VR-Multiturn/10K
+5V
R14
Q5
BC547 P3.3
VCS2
R16
10K
R18
10K
VCS2
Gambar Blok Sensor Keluar
Cara kerja sensor keluar ini, apabila cahaya infra merah yang dipancarkan oleh transmitter
mengenai photo transistor atau sensor tidak terhalang oleh barang maka photo transistor akan bekerja
saturasi, dan titik B akan mendapat +5V. Output pada titik B akan digunakan sebagai input pada
rangkaian non inverting amplifier. Dengan input tersebut maka dihasilkan output sebesar 10 Volt. Pada
rangkaian komparator besarnya input pada kaki non inverting lebih besar dibandingkan input pada kaki
inverting dan output yang dihasilkan adalah sebesar 10,8 Volt dan dibatasi oleh zenner menjadi 4,7 Volt.
Kemudian kondisi tersebut akan menyebabkan transistor Q6 akan menjadi saturasi (saklar tertutup) dan
tegangan yang dihasilkan pada kaki kolektor adalah sebesar 5 Volt.
Sebaliknya apabila cahaya infra merah tidak mengenai photo transistor atau sensor terhalang oleh
barang maka photo transistor akan bekerja cut off, dan di titik B akan tersambung ke ground atau sama
dengan nol. Jika pada rangkaian non inverting amplifier inputnya nol maka output yang dihasilkan akan
nol juga. Pada rangkaian komparator input di kaki inverting lebih besar dibandingkan input di kaki non
12
inverting, maka output yang dihasilkan dari rangkaian komparator adalah 0 Volt. Kondisi tersebut akan
menyebabkan transistor Q6 akan cut off (saklar terbuka) dan tegangan yang dihasilkan pada kaki
kolektor adalah sebesar 0 Volt.
Blok Mikrokontroller AT89C51
Mikrokontroller AT89C51 merupakan pusat pengendali atau jantung rangkaian sebagai pengendali
utama seluruh rangkaian di mana sebagai pengendali digunakan IC Mikrokontroller 89C51.
Mikrokontroller ini mempunyai 4 buah port yang difungsikan untuk berbagai hal
+5V
100R
+5V
C1
SW1
RESET
U1
C2
10uf/16V
8K2
R1
33pf
C3
33pf
9
19
X'Tal
18
12 MHZ
39
38
37
36
35
34
33
32
17
16
15
14
13
12
11
10
ALE/PROG
PSEN
EA/VPP
RST
XTAL1
XTAL2
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
AT89C51
R2
P3.7
P3.6
P3.5
P3.4
P3.3/INT1
P3.2/INTO
P3.1
P3.0
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P2.0
P2.1
P2.2
P2.3
P2.4
P2.5
P2.6
P2.7
30
29
31
1
2
3
4
5
6
7
8
21
22
23
24
25
26
27
28
Gambar Blok Mikrokontroller AT89C51
Supaya mikrokontroller dapat bekerja dengan baik, dibutuhkan suatu rangkaian osilator yang
digunakan sebagai sumber clock dan dalam hal ini digunakan osilator internal yang sudah tertanam
dalam kemasan mikrokontroller AT89C51, dan tinggal dihubungkan dengan sebuah kristal. Dalam hal ini
kristal yang digunakan adalah 12 MHz agar mikrokontroller bekerja dengan kecepatan maksimum. C2
dan C3 merupakan penstabil clock dan merupakan saran atau rekomendasi dari pabrik pembuat
mikrokontroller ini, yaitu perusahaan ATMEL. Prinsip kerja dari mikrokontroller ini sesuai dengan program
yang dibuat sehingga penjelasan menyeluruh akan dijelaskan bersama dengan diagram alur atau
flowchart program yang dibuat pada sub pembahasan pembuatan software. Supaya mikrokontroller ini
dapat mengeksekusi program dari awal program (alamat 00H), maka mikrokontroller akan direset secara
otomatis saat catu daya pertama kali dihidupkan di mana untuk reset otomatis ini dilakukan oleh C1 dan
R1 (Power On Reset). Dengan cara ini maka reset akan berlangsung secara otomatis, namun demikian
reset manual tetap diperlukan untuk keadaan tertentu misalnya untuk memulai kembali program dari awal
tanpa harus mematikan catu daya. Prinsip kerja dari reset otomatis ini adalah proses pengisian dan
pengosongan C1 di mana pin reset membutuhkan logika high. Pada saat catu daya dihidupkan maka C1
mulai diisi sementara pada pin reset belum ada tegangan. Setelah C1 penuh maka tegangan dari C1
akan menyulut pin reset high sehingga terjadi reset. Pada saat catu dimatikan maka akan berlangsung
13
pengosongan C1 melalui R1 sehingga saat catu dihidupkan kembali maka akan terjadi lagi proses
pengisian sehingga terjadi reset kembali. [2]
Blok Display Seven Segment
Blok display atau tampilan seven segment digunakan untuk menampilkan jumlah barang yang
sudah dipindahkan. Karena hanya terdapat 2 tampilan, maka keadaan akan dianggap penuh jika seven
segment menampilkan angka 99 dan rangkaian akan berhenti secara otomatis. Jika dalam keadaan ini
masih ada barang yang akan dipindahkan, maka buzzer atau alarm akan menyala yang memberitahu
bahwa keadaan sudah maksimum.
+5V
R12
100R
U2
7
1
2
6
A
B
C
D
E
F
G
1
2
4
8
+5V
16
C11
47 /16V
C10
100n
8
13
12
11
10
9
15
14
A
B
C
D
E
F
G
VCC
+5V
GND
U3
A
B
C
D
E
F
G
1
2
4
8
+5V
16
C11
47 /16V
100n
C10
8
R13
100R
74LS47
7
1
2
6
D1 TIL309
13
12
11
10
9
15
14
D2
TIL309
A
B
C
D
E
F
G
VCC
GND
74LS47
Gambar Blok Tampilan Seven Segment Display
Rangkaian 7447 merupakan dekoder, yakni suatu rangkaian logika yang mengubah N bit bilangan
biner menjadi M saluran keluaran sedemikian setiap saluran keluaran hanya ada satu kombinasi yang
diaktifkan dari beberapa kemungkinan masukan yang ada. Dekoder yang digunakan pada rangkaian ini
adalah BCD to seven segment dekoder (dekoder prioritas) yang diwakili oleh IC 7447 yang terdiri dari 4
bit dan masing masing mempinyai bobot 1248, dengan out put a hingga g. pada perinsipnya dekoder ini
digunakan untuk menjembatani bilangan biner hingga dapat dimengerti manusia melalui display (seven
segment).
Yang dimaksud dengan display di sini adalah tampilan angka desimal yang ditampilkan oleh seven
segment. Seven segment yang dimaksud adalah seven segment common anoda. Seven segment ini
tidak dapat berdiri sendiri dan membutuhkan sebuah dekoder, penjelasan mengenai dekoder ini telah
dibahas pada sub bab sebelumnya. Pada kaki common seven segment dihubungkan dengan tegangan
catu (Vcc) +5V melalui sebuah hambatan (resistor) 100 ohm. Adapun fungsi dari hambatan tersebut
adalah untuk mengurangi arus yang masuk ke dalam seven segment. Dengan demikian arus yang
masuk ke dalam seven segment tidak terlalu besar.
14
Blok Motor Penggerak
Dalam blok motor penggerak, digunakan motor stepper jenis unipolar untuk menggerakan belt.
U1A
1
P1.0
2
R4
1k
BD 139
Q3
74LS04
3
P1.1
MOTOR STEPPER
4
R5
1k
1
2
3
BD139
Q4
MG1
+5V
R3
P1.2
6
1k
BD139
Q5
6
5
R6
5
4
74LS04
FULL
680R
STEP
74LS04
9
P1.3
8
R7
1k
BD139
Q6
74LS04
Gambar Blok Motor Penggerak
Blok Indikator Alarm
Pada blok indikator alarm digunakan sebuah buzzer yang berfungsi sebagai alarm yang nantinya
akan memberitahukan bahwa kapasitas dari tempat penyimpanan barang sudah terisi penuh atau barang
yang telah dipindahkan sudah maksimal dan barang yang selanjutnya tidak dapat masuk ke dalam area
penyimpanan atau tidak dapat dipindahkan.
P2.6
R33
2Q11
BC557
LS2
1
1k
3
+12V
1
2
BUZZER
Gambar Blok Indikator Alarm
Jika input yang diberikan pada blok indikator alarm (P2.6) adalah 1 (high) maka transistor Q11
akan cut off (saklar terbuka). Dengan kondisi tersebut maka tegangan +12 Volt dari catu daya tidak akan
memberi arus ke dalam buzzer dan tidak akan mengaktifkannya (tidak bunyi). Sebaliknya jika input yang
diberikan pada blok indikator alarm (P2.6) adalah 0 (low) maka transistor Q11 akan saturasi (saklar
tertutup). Dengan kondisi tersebut maka tegangan +12 Volt dari catu daya akan memberi arus, sehingga
input pada buzzer adalah +12V (high) dan buzzer akan aktif (berbunyi).
15
Analisa Rangkaian Secara Keseluruhan
Saat rangkaian counter barang diaktifkan maka kapasitor C1 mulai diisi sementara pada pin reset
belum ada tegangan. Setelah kapasitor C1 penuh maka tegangan dari kapasitor C1 akan menyulut pin
reset high sehingga terjadi reset. Pada saat catu dimatikan maka akan berlangsung pengosongan C1
melalui R1 sehingga saat catu dihidupkan kembali maka akan terjadi lagi proses pengisian sehingga
terjadi reset kembali. Selain itu saklar 1 (push on) juga dapat digunakan untuk mereset mikrokontroler
secara manual. Tahap selanjutnya mikrokontroler akan menjalankan program yang terdapat di dalam
PEROM.
Apabila sensor terhalang oleh barang atau cahaya infra merah tidak mengenai photo transistor
maka photo transistor akan bekerja cut off. Karena kondisi photo transistor cut off maka tegangan +5 Volt
dari catu daya tidak akan memberi arus dan output pada titik A mendapatkan tegangan ground (0).
Output tersebut akan digunakan sebagai input pada rangkaian non inverting amplifier yang berfungsi
sebagai penguat, dengan input tersebut maka akan didapat output pada rangkaian non inverting amplifier
saat VR-multiturn (R11) maksimum.
 R11 
Vout = 
+ 1.Va
 R 41 
 10kΩ 
=
+ 1.0V
 10kΩ 
= 0Volt
Pada rangkaian non inverting amplifier jika inputnya nol (0) maka output yang dihasilkan adalah nol
(0) juga. Selanjutnya output dari rangkaian non inverting amplifier akan digunakan sebagai input pada
rangkaian komparator.
Rangkaian komparator digunakan untuk membandingkan input yang berada pada kaki inverting
dengan input pada kaki non inverting. Input pada kaki non inverting didapat dari output rangkaian non
inverting amplifier yaitu nol (0), sedangkan input pada kaki inverting didapat dari pembagi tegangan
antara resistor R19 dan R17.
Besarnya input pada kaki inverting dalam rangkaian komparator saat VR-multiturn (R19)
maksimum adalah:
R17
.Vcc
R17 + R19
4,7kΩ
=
.12V
4,7kΩ + 10kΩ
4,7kΩ
=
.12V
14,7kΩ
= 3,84Volt
Vout =
16
Dari kedua input yang didapat pada rangkaian komparator maka dapat diketahui besarnya output
pada rangkaian komparator, yaitu :
Vout = (VNonInverting − VInverting ).90%Vcc
= (0V − 3,84V ).90%12V
= 0Volt
Input yang dihasilkan dari rangkaian komparator adalah 0 Volt (low), hal ini disebabkan karena
pada IC 741 tegangan catu daya yang digunakan adalah +12 Volt dengan ground (0), sehingga batas
maksimum output yang dihasilkan adalah 10,8 Volt dan batas minimun output yang dihasilkan adalah 0
Volt.
Selanjutnya output dari rangkaian komparator akan dilanjutkan sebagai input pada kaki basis
transistor Q5, karena input pada kaki basis adalah 0 (low) maka transistor Q5 akan cut off (saklar
terbuka) dan tegangan yang dihasilkan pada kaki kolektor adalah sebesar 0 Volt. Selanjutnya output
yang dihasilkan tersebut akan digunakan sebagai input pada port 3.2 dalam mikrokontroler.
Saat port 3.2 mendapatkan inputan 0 (0 Volt) maka mikrokontroler akan mencacah maju
(penambahan) dan pada seven segment nilai tersebut akan bertambah. Untuk menampilkan sebuah nilai
pada seven segment maka dibutuhkan IC 7447 (dekoder) sebagai pengubah biner ke decimal. Input
pada IC 7447 didapat dari port 0.0 sampai dengan port 0.7 pada mikrokontroler. Untuk menampilkan
suatu nilai pada seven segment maka output dari port 0 harus berlogika 1 (high). Output tersebut akan
digunakan sebagai input pada IC 7447. Kondisi tersebut menyebabkan led-led yang berada dalam seven
segment menyala (aktif), dan untuk mendapatkan tampilan yang diinginkan pada seven segment maka
dibutuhkan output yang sesuai dari port 0.0 sampai dengan port 0.7 sebagai input pada IC 7447.
Kondisi lain yang akan terjadi saat sensor terhalang oleh barang (port 3.2 mendapatkan inputan 0
(low) adalah motor stepper bergerak searah jarum jam (cw). Pergerakan motor stepper ini dimaksudkan
untuk menggerakan belt pada alat ini untuk menghantarkan barang sampai ke tujuan, yaitu hingga
mengenai sensor keluar (P3.3).
Selanjutnya kondisi yang berbeda akan terjadi, yaitu saat cahaya infra merah pada sensor masuk
mengenai photo transistor (sensor tidak terhalang barang) dan menyebabkan photo transistor bekerja
saturasi, maka titik A akan mendapatkan tegangan +5 Volt (high) dari catu daya. Output yang berada
pada titik A akan digunakan sebagai input pada rangkaian non inverting amplifier. Fungsi dari rangkaian
non inverting amplifier adalah sebagai rangkaian penguat, dan output yang dihasilkan dari rangkaian non
inverting amplifier jika nilai VR-multiturn (R11) maksimum adalah :
 R11 
Vout = 
+ 1.Va
 R 41 
 10kΩ 
=
+ 1.5V
 10kΩ 
= 10Volt
17
Selanjutnya output dari rangkaian non inverting amplifier akan digunakan sebagai input pada
rangkaian komparator. Rangkaian komparator digunakan untuk membandingkan input pada kaki inverting
dan input pada kaki non inverting. Input pada kaki non inverting adalah hasil dari output rangkaian non
inverting amplifier yaitu 10 Volt, sedangkan input pada kaki inverting adalah hasil dari pembagi tegangan
dari resistor R19 dan R17, besarnya input pada kaki inverting dari hasil pembagi tegangan saat nilai VRmultiturn (R19) maksimum adalah :
R17
.Vcc
R17 + R19
4,7kΩ
.12V
=
4,7kΩ + 10kΩ
4,7kΩ
=
.12V
14,7kΩ
= 3,84Volt
Vout =
Dari kedua input tersebut maka akan didapat output dari rangkaian komparator yang besarnya
adalah :
Vout = (VNonInverting − VInverting ).90%Vcc
= (10V − 3,84V ).90%12V
= 10,8Volt
Selanjutnya output dari rangkaian komparator akan digunakan sebagai input pada kaki basis dari
transistor Q5, tetapi sebelumnya tegangan 10,8 akan dibatasi oleh zenner 4,7 Volt sehingga tegangan
menjadi 4,7 Volt. Karena input pada kaki basis adalah 4,7 Volt maka transistor Q5 menjadi satutasi
(saklar tertutup) dan tegangan yang dihasilkan pada kaki kolektor adalah sebesar 5 Volt., output tersebut
akan digunakan sebagai input pada port 3.2.
Karena port 3.2 dalam mikrokontroler mendapatkan inputan 1 (high) maka motor stepper akan
berhenti bekerja. Jika kondisi di atas terus berulang, yaitu banyak barang yang masuk kedalam area
parkir maka mikrokontroler akan terus melakukan pencacah maju (penambahan). Dan bila kapasitas dari
penyimpanan barang telah terisi penuh maka barang selanjutnya yang datang tidak dapat masuk
kedalam penyimpanan tersebut. Karena motor tidak akan bekerja lagi maka alarm akan berbunyi.
Selanjutnya mikrokontroller akan mengeluarkan output dari port 2.6 bernilai 0 (low) yang akan
menyebabkan transistor Q11 akan saturasi dan tegangan +5 Volt dari catu daya akan mengalir ke dalam
buzzer dan akan mengaktifkannya (buzzer akan berbunyi).
Kondisi pada sensor keluar akan sama dengan sensor masuk, namun yang membedakan hanya
pada port 3.3 yang akan aktif, karena pada port 3.3 mendapatkan inputan 0 (low) maka mikrokontroler
akan memerintahkan motor stepper untuk berhenti bekerja, sampai ada inputan lagi yang masuk dan
menghalangi sensor masuk pada pin P3.2.
Seperti alat elektronik yang lainnya, counter barang ini juga telah melewati beberapa tahapan dalam
pembuatan. Tiap-tiap tahapan tersebut memiliki kendala dan permasalahan tersendiri. Oleh sebab itu
setelah apa yang dibahas pada bab-bab sebelumnya penulis telah menarik beberapa kesimpulan
18
mengenai alat yang telah dibuat. Selain kesimpulan, penulis juga memberikan beberapa saran yang
meliputi saran penggunaan maupun pemasangan agar mendapat hasil yang diinginkan.
Kesimpulan
Seperti yang penulis inginkan, counter barang berbasis mikrokontroller AT89C51 ini merupakan
suatu alat yang dapat menghitung jumlah barang yang melewatinya dengan menggunakan sebuah
sensor.
Pada hasil pengujian pada rangkaian non inverting sensor masuk, dapat dilihat bahwa nilai
hambatan pada foto dioda, tegangan sensor di kaki 3 dan di kaki 6 pada saat sensor tidak terhalang
mempunyai nilai ouput yang berbeda-beda pada tiap jarak pengukuran sensor yang berbeda. Hal ini
dikarenakan sensor berpengaruh pada jarak apabila tidak ada benda yang menghalanginya dan seperti
yang telah disebutkan bahwa sensor tidak akan bekerja jika jarak antara transmitter dan receivernya lebih
dari 12 cm yang dikarenakan karakteristik dari sensor tersebut.
Namun juga diketahui bahwa apabila jarak antara transmitter dan receivernya lebih kecil atau sama
dengan 12 cm dan ada benda yang menghalangi sensor, maka output di kaki 3 dan di kaki 6 pada sensor
tersebut akan memiliki nilai yang sama. Hal ini dikarenakan adanya benda yang menghalangi sensor
pada jarak tertentu yang mengakibatkan outputnya akan selalu tetap selama jarak antara transmitter dan
receivernya lebih kecil atau sama dengan 12 cm. Hasil pengujian tersebut juga berlaku pada hasil
pengujian pada rangkaian non inverting sensor keluar.
Untuk hasil pengujian pada rangkaian komparator sensor masuk dan sensor keluar, hanya
dilakukan sekali pengukuran. Hal ini dikarenakan rangkaian komparator tersebut akan memberikan
output yang sama dan tidak dipengaruhi jarak sensor.
Saran
Di dalam alat ini penulis telah menarik beberapa kesimpulan, selain kesimpulan penulis hendak
memberikan beberapa saran saran untuk mendapatkan nilai yang efektif dari alat ini, antara lain :
a. Pemasangan jarak sensor, dalam hal ini jarak transmitter dan receiver hendaknya harus
dalam jarak yang benar, yakni tidak melebihi 12 cm.
b. Pemasangan sensor harus mempertimbangkan tinggi barang yang akan melewatinya.
Karena apabila pemasangan sensor yang terlalu tinggi, besar kemungkinan barang yang
melewati sensor tidak akan terdeteksi.
c.
Karena alat ini menggunakan IC TTL 7447 (pada bagian decoder), dan IC TTL sangat
sensitif terhadap tegangan kejut (spike), diharapkan sebaiknya tegangan catu (input) yang
digunakan merupakan tegangan DC murni yang tidak memiliki tegangan kejut. Selain
tegangan input, medan magnet juga dapat menghasilkan tegangan kejut (spike) dalam
rangkaian ini, oleh sebab itu usahakan agar alat ini terhindar dari medan magnet (terutama
pada rangkaian di PCB/IC TTLnya).
19
Download