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