Selasa, 08 November 2011

Menghidupkan LED melalui Port Parallel AT89C51 (contoh 2)

Berikut ini adalah contoh sederhana bagaimana cara memprogram mikrokontroller AT89C51/52/55 untuk menghidupkan Led melalui port parallel. Simulasi dilakukan dengan menggunakan software Proteus 7.1 SP2
Rangkaian minimum untuk menghidupkan 8 LED melalui port 1 ditunjukkan pada gambar di bawah ini.

Konfigurasi yang digunakan pada rangkaian LED di atas adalah konfigurasi Common Anode (CA). Dimana untuk menghidupkan LED pada port 1 maka pada port tersebut harus diberikan nilai "0". Jika "0" kita berikan ke port 0 maka keluaran dari latch akan menghidupkan FET sehingga baik kaki port 0 maupun resistor pullup internal akan di pull-low(secara internal juga), sehingga LED yang terhubung secara Common Anode bisa menyala. Sedangkan jika menggunakan rangkaian Common Kathode maka untuk menyalakan LED butuh penulisan "1". Namun penulisan "1" ini menyebabkan port 0 menjadi masukan berimpedansi tinggi(karena adanya resistor pullup internal) dan hanya cocok untuk masukan, bukan keluaran(arus dari pullup internal tidak kuat untuk menyalakan LED karena ordenya mikroampere sedangkan keluaran bisa mencapai sekitar 3,8 mA). Hal ini berlaku juga untuk port 2 dan port 3. Penggunaan resistor 330 ohm sebagai pembatas arus, sehingga dengan tegangan Vcc 5 Volt maka arusnya sekitar 15 mA dan ini cukup untuk menghidupkan LED (yang biasanya hanya membutuhkan 10 mA).
Program pertama: Menghidupkan LED berkelompok empat LED mati-hidup secara bergantian (flip-flop).
Baris 9-13 merupakan program utama, sedangkan baris 1-5 dan 15-20 merupakan baris komentar sekaligus berisi keterangan program, baris 7 digunakan agar instruksi ditulisakan mulai alamat 0h. Baris 9 digunakan untuk mengirimkan data biner ke port 1 agar lampu LED4-LED7 (P1.4-P1.7) menyala, kemudian diikuti dengan delay lalu bergantian LED0-LED3 (P1.0-P1.3) dinyalakan. Kemudian delay lagi. Proses ini diulang dari awal dengan instruksi SJMP MULAI pada baris 13. Baris 22-29 merupakan subrutin DELAY. Adapun perhitungan waktu delay-nya adalah sebagai berikut:

1:          DELAY:           MOV    R0,#5H                                      ; 1 x (1 cycle)
2:          DELAY1:         MOV    R1,#0FFH                                 ; 5 x (1 cycle)
3:          DELAY2:         MOV    R2,#0                                         ; 255 x 5 = 1.275 (1 cycle)
4:                                  DJNZ    R2,$                                           ; 256 x 255 x 5 = 326.400 (2 cycle)
5:                                  DJNZ    R1,DELAY2                              ; 255 x 5 = 1.275 (2 cycle)
6:                                   DJNZ    R0, DELAY1                             ; 5 x (2 cycle)
7:                                   RET    
          
Baris ke-4  dikerjakan sebanyak 326.400 kali karena instruksi tersebut dikerjakan selama dua siklus maka waktu totalnya adalah 326.400 x 2 = 652.800 siklus, masih ditambahkan dengan pengulangan kedua (baris 2 dan 5) sebesar 1.275 x 3 siklus = 3.825 siklus dan pengulangan ketiga, DELAY1, sebesar 5 x 3 siklus = 15 siklus. Sehingga total siklus = 652.800 + 3.825 + 15 = 656.640 siklus.
Jika kristal yang kita gunakan memiliki frekuensi 12 MHz maka waktu yang dibutuhkan untuk menyelesaikan subrutin delay ini adalah 656.640 siklus 1 mikrodetik = 0,656 detik. Untuk pewaktuan yang lebih akurat bisa digunakan timer (dibahas nanti saja).
Adapun hasil simulasinya menggunakan software Proteus adalah sebagai berikut :
Pada program LED di atas diketik dengan menggunakan Notepad++ dan disimpan dengan ekstensi .a51, bisa juga disimpan dengan ekstensi yang lain seperti .asm dan lain-lain. Pada kesempatan ini disimpan sebagai .a51 karena program ini akan di-compile menjadi hex dengan bantuan compiler ASEM-51. Kemudian program yang semula berekstensi .a51 akan menjadi .hex sehingga bisa dimasukkan pada simulasi dengan Proteus seperti di atas. Jika simulasi dengan Proteus berhasil maka jika kita mencetak PCB kemudian memproduksi rangkaiannya bisa dipastikan 90% berhasil. Dengan demikian kita bisa mengurangi kerugian akibat kegagalan rangkaian.
Berikut ini adalah simulasi pada saat meng-compile program.a51 menjadi program.hex yang kemudian akan dimasukkan ke dalam mikrokontroller 89C51 pada simulasi proteus maupun pada keadaan sebenarnya.

 sumber : http://www.blog.depohar50.info/2009/11/menghidupkan-led-melalui-port-parallel.html

Pembuatan Skematik dan Simulasi dg Proteus (Contoh 1)

Cara Menggunakan Aplikasi

Aplikasi Proteus terdiri dari dua aplikasi yang terpisah yaitu ISIS dan ARES. ISIS digunakan untuk merancang skematik dari rangkaian yang ingin kita buat sedangkan ARES digunakan untuk perancangan PCB. Pada dokumen ini, penulis akan mencoba memberikan contoh penggunaan kedua aplikasi ini untuk membuat suatu rangkaian LED. Penulis akan mencontohkan bagaimana cara untuk membuat rancangan, membuat komponen, melakukan simulasi dan juga membuat rancangan PCB. Berikut adalah contoh rangkaian sederhana yang akan di rancang:

Sebagai tambahan, akan dibuat sebuah header untuk menerima input dari luar (T-BLOK).




Perancangan Skematik

Seperti telah disinggung sebelumnya, untuk melakukan perancangan skematik, gunakan ISIS. Jalankan ISIS hingga muncul tampilan sebagai berikut:



Toolbar yang ditandai dengan no.1 (P dan L) digunakan untuk:
  • P –> Mengambil sebuah komponen. 
  • L –> Menambah/menghapus Library.
Toolbar yang ditandai dengan no.2 digunakan untuk simulasi.
Bagian No.3 digunakan untuk menunjukkan list komponen ketika kita akan memilih memilih komponen.
Bagian No.4 digunakan untuk meletakkan rancangan skematik rangkaian yang akan kita buat. Selain itu, perhatikan toolbar yang memanjang dari atas ke bawah pada bagian pojok kiri dari aplikasi karena toolbar-toolbar itu merupakan toolbar yang penting dan sering digunakan dalam aplikasi ini.

Pengambilan komponen

Dari rangkaian berarti kita membutuhkan 1 buah LED, 1 buah Resistor, dan Header (TBLOK) untuk input tegangan 5 V. Di sini penulis menganggap Header belum ada dalam library sehingga perlu dibuat terlebih dahulu (untuk memberikan contoh bagaimana pembuatan suatu package yang belum ada sebelumnya). Tapi sebelumnya, penulis membuat rangkaian yang langsung terhubung dengan poweruntuk melakukan simulasi dan melihat apakah rancangan berjalan dengan benar atau tidak.

Pertama, pilih toolbar paling kiri ke mode terminal, kemudian pilih Ground. Untuk menempatkan terminal, cukup klik pada bagian No.4 seperti ditunjukkan pada gambar sebelumnya.



Untuk terminal ini, pada contoh digunakan terminal POWER dan GROUND.

Langkah berikutnya, pilih toolbar “component” kemudian pilih ‘P’ pada toolbar yang ditandai dengan no.1 pada gambar sebelumnya. Kemudian cari komponen LED dan RESISTOR.





Perlu diperhatikan, bahwa untuk komponen LED tidak diberikan footprint yang benar (gambar yang di-highlight). Untuk LED, isi PCB Package dengan LED. Untuk membuka window edit component di atas, cukup double klik pada komponen LED. Selanjutnya, lakukan hal yang sama seperti sebelumnya untuk pengambilan komponen resistor. Untuk resistor, footprint sudah tersedia dengan nama RES40.

Wiring
Wiring adalah pembentukan interkoneksi antar komponen yang telah kita ambil tadi sehingga sesuai dengan rangkaian yang kita inginkan. Caranya cukup menggunakan mouse, namun sebelumnya pilih toolbar ke gambar panah . Untuk menarik wire, cukup arahkan pointer mouse anda ke ujung salah satu komponen, klik kemudian tarik ke arah komponen lain yang ingin dihubungkan, kemudian klik lagi.



Hasil dan simulasi :


sumber : http://www.blog.depohar50.info/2009/11/pembuatan-skematik-dan-simulasi-dg.html

Pengenalan Proteus (Software simulasi & desain PCB)

Proteus adalah sebuah software untuk mendesain PCB yang juga dilengkapi dengan simulasi pspice pada level skematik sebelum rangkaian skematik diupgrade ke PCB shingga sebelum PCBnya di cetak  kita  akan tahu apakah PCB yang akan kita cetak sudah benar atau tidak. Proteus mengkombinasikan program ISIS untuk membuat skematik desain rangkaian dengan program ARES untuk membuat layout PCB dari skematik yang kita buat. Pengalaman saya menggunakan Proteus ini, software ini  bagus digunakan untuk desain rangkaian mikrokontroller. Proteus juga bagus untuk belajar elektronika seperti dasar2 elektronika sampai pada aplikasi mikrokontroller. Software ini jika di install menyediakan banyak contoh aplikasi desain yang disertakan sehingga kita bisa belajar dari contoh2 yang sudah ada.
Kata kunci: Proteus, ISIS, ARES, Protel, Pspice, Desain, PCB, Elektronika, Mikrokontroller, Komputer, Software
Jika anda ingin mencoba menggunakan Software Proteus bisa di download versi demonya di sini : labcenter.co.uk
Sedangkan buat anda yang ingin menggunakan versi gratisannya bisa di download di sini : Proteus 7.1 SP2
Pengenalan PROTEUS.   Fitur-fitur dari PROTEUS adalah sebagai berikut :
  1. Memiliki kemampuan untuk mensimulasikan hasil rancangan baik digital maupun analog maupun gabungan keduanya,Mendukung simulasi yang menarik dan simulasi secara grafis,
  2. Mendukung simulasi berbagai jenis microcontroller seperti PIC, 8051 series.
  3. Memiliki model-model peripheral yang interactive seperti LED, tampilan LCD, RS232, dan berbagai jenis library lainnya,
  4. Mendukung instrument-instrument virtual seperti voltmeter, ammeter, oscciloscope, logic analyser, dll,
  5. Memiliki kemampuan menampilkan berbagi jenis analisis secara grafis seperti transient, frekuensi, noise, distorsi, AC dan DC, dll.
  6. Mendukung berbagai jenis komponen-komponen analog,
  7. Mendukung open architecture sehingga kita bisa memasukkan program seperti C++ untuk keperluan simulasi,
  8. Mendukung pembuatan PCB yang di-update secara langsung dari program ISIS ke program pembuat PCB-ARES.
Pengenalan ISIS. ISIS dipergunakan untuk keperluan pendidikan dan perancangan. Beberapa fitur umum dari ISIS adalah sebagai berikut :
  1. Windows dapat dioperasikan pada Windows 98/Me/2k/XP dan Windows terbaru.
  2. Routing secara otomatis dan memiliki fasilitas penempatan dan penghapusan dot.
  3. Sangat powerful untuk pemilihan komponen dan pemberian properties-nya.
  4. Mendukung untuk perancangan berbagai jenis bus dan komponen-komponen pin, port modul dan jalur.
  5. Memiliki fasilitas report terhadap kesalahan-kesalahan perancangan dan simulasi elektrik.
  6. Mendukung fasilitas interkoneksi dengan program pembuat PCB-ARES.
  7. Memiliki fasilitas untuk menambahkan package dari komponen yang belum didukung.
Pengenalan ARES. ARES (Advanced Routing and Editing Software) digunakan untuk membuat modul layout PCB. Adapun fitur-fitur dari ARES adalah sebagai berikut :
  1. Memiliki database dengan tingkat keakuratan 32-bit dan memberikan resolusi sampai 10 nm, resolusi angular 0,1 derajat dan ukuran maksimim board sampai kurang lebih 10 m. ARES mendukung sampai 16 layer.
  2. Terintegrasi dengan program pembuat skematik ISIS, dengan kemampuan untuk menentukan informasi routing pada skematik.
  3. Visualisasi board 3-Dimensi.
  4. Penggambaran 2-Dimensi dengan simbol library.

sumber : http://suker.blogdetik.com/2009/09/03/pengenalan-proteus-software-simulasi-desain-pcb/

DASAR PEMBUATAN ROBOT

Secara garis besar, tahapan pembuatan robot dapat dilihat pada gambar berikut:
tutorial membuat robot cerdas tahapan pembuatan
Ada tiga tahapan pembuatan robot, yaitu:
  1. Perencanaan, meliputi: pemilihan hardware dan design.
  2. Pembuatan, meliputi pembuatan mekanik, elektonik, dan program.
  3. Uji coba.

    1. TAHAP PERENCANAN

Dalam tahap ini, kita merencanakan apa yang akan kita buat, sederhananya, kita mau membuat robot yang seperti apa? berguna untuk apa? Hal yang perlu ditentukan dalam tahap ini:
  • Dimensi, yaitu panjang, lebar, tinggi, dan perkiraan berat dari robot. Robot KRI berukuran tinggi sektar 1m, sedangkan tinggi robot KRCI sekitar 25 cm. 
  • Struktur material, apakah dari alumunium, besi, kayu, plastik, dan sebagainya. 
  • Cara kerja robot, berisi bagian-bagian robot dan fungsi dari bagian-bagian itu. Misalnya lengan, konveyor, lift, power supply. 
  • Sensor-sensor apa yang akan dipakai robot. 
  • Mekanisme, bagaimana sistem mekanik agar robot dapat menyelesaikan tugas. 
  • Metode pengontrolan, yaitu bagaimana robot dapat dikontrol dan digerakkan, mikroprosesor yanga digunakan, dan blok diagram sistem. 
  • Strategi untuk memenangkan pertandingan, jika memang robot itu akan diikutkan lomba/kontes robot Indonesia/Internasional.

    2. TAHAP PEMBUATAN

    Ada tiga perkerjaan yang harus dilakukan dalam tahap ini, yaitu pembuatan mekanik, elektronik, dan programming. Masing-masing membutuhkan orang dengan spesialisasi yang berbeda-beda, yaitu:
    • Spesialis Mekanik, bidang ilmu yang cocok adalah teknik mesin dan teknik industri.
    • Spesialis Elektronika, bidang ilmu yang cocok adalah teknik elektro.
    • Spesialis Programming, bidang ilmu yang cocok adalah teknik informatika.
    Jadi dalam sebuah tim robot, harus ada personil-personil yang memiliki kemampuan tertentu yang saling mengisi. Hal ini diperlukan dalam membentuk Tim Kontes Robot Indonesia (KRI) atau Kontes Robot Cerdas Indonesia (KRCI). Bidang ilmu yang saya sebutkan tadi, tidak harus diisi mahasiswa/alumni jurusan atau program studi tersebut, misalnya boleh saja mahasiswa jurusan teknik mesin belajar pemrograman.
    Untuk mengikuti lomba KRI/KRCI dibutuhkan sebuah tim yang solid. Tetapi buat Anda yang tertarik membuat robot karena hobby atau ingin belajar, semua bisa dilakukan sendiri, karena Anda tidak terikat dengan waktu atau deadline. Jadi Anda bisa melakukannya dengan lebih santai.
    Pembuatan mekanik
    Setelah gambaran garis besar bentuk robot dirancang, maka rangka dapat mulai dibuat. Umumnya rangka robot KRI terbuat dari alumunium kotak atau alumunium siku. Satu ruas rangka terhubung satu sama lain dengan keling alumunium. Keling adalah semacam paku alumunium yang berguna untuk menempelkan lembaran logam dengan erat. Rangka robot KRCI lebih variatif, bisa terbuat dari plastik atau besi panjang seperti jeruji.
    Pembuatan sistem elektronika
    Bagian sistem elektronika dirancang sesuai dengan fungsi yang diinginkan. Misalnya untuk menggerakkan motor DC diperlukan h-brigde, sedangkan untuk menggerakkan relay diperlukan saklar transistor. Sensor-sensor yang akan digunakan dipelajari dan dipahami cara kerjanya, misalnya:
    1. Sensor jarak, bisa menggunakan SRF04, GP2D12, atau merakit sendiri modul sensor ultrasonik atau inframerah.
    2. Sensor arah, bisa menggunakan sensor kompas CMPS03 atau Dinsmore.
    3. Sensor suhu, bisa menggunakan LM35 atau sensor yang lain.
    4. Sensor nyala api/panas, bisa menggunakan UVTron atau Thermopile.
    5. Sensor line follower / line detector, bisa menggunakan led & photo transistor.
    Berikut ini gambar sensor ultrasonik, inframerah, UVTron, dan kompas:
    tutorial membuat robot cerdas srf 04tutorial membuat robot cerdas gp2d12kompas CMPS03


    Pembuatan sistem elektronika ini meliputi tiga tahap:
    • Design PCB, misalnya dengan program Altium DXP.
    • Pencetakan PCB, bisa dengan Proboard.
    • Perakitan dan pengujian rangkaian elektronika.
    tutorial membuat robot cerdas design pcb
    Pembuatan Software/Program
    Pembuatan software dilakukan setelah alat siap untuk diuji. Software ini ditanamkan (didownload) pada mikrokontroler sehingga robot dapat berfungsi sesuai dengan yang diharapkan.
    tutorial membuat robot cerdas pemrograman
    Tahap pembuatan program ini meliputi:
    Perancangan Algoritma atau alur program
    1. Untuk fungsi yang sederhana, algoritma dapat dibuat langsung pada saat menulis program. Untuk fungsi yang kompleks, algoritma dibuat dengan menggunakan flow chart.
    2. Penulisan Program
      Penulisan program dalam Bahasa C, Assembly, Basic, atau Bahasa yang paling dikuasai.
    3. Compile dan download, yaitu mentransfer program yang kita tulis kepada robot.

    3. UJI COBA

    Setelah kita mendownload program ke mikrokontroler (otak robot) berarti kita siap melakukan tahapan terakhir dalam membuat robot, yaitu uji coba. Untuk KRCI, ujicoba dilakukan pada arena seluas sekitar 4×4 meter dan berbentuk seperti puzzle. Dalam arena KRCI ini diletakkan lilin-lilin yang harus dipadamkan oleh robot cerdas pemadam api. Contoh gambar robot pemadam api Ted Larsorn dan arena Kontes Robot Cerdas Indonesia (KRCI).
    tutorial membuat robot cerdas contoh robot cerdas
    arena-lomba-krci
    arena kri
    Untuk lomba robot KRI, dibutuhkan ruangan yang lebih besar, yaitu sekitar 15×15 meter.
    Karya : Teguh Junianto

    sumber : http://robotika.blog.gunadarma.ac.id/?p=154