MIKROKONTROLER
Mikrokontroler
adalah salah satu dari bagian dasar dari suatu sistem komputer. Meskipun
mempunyai bentuk yang jauh lebih kecil dari suatu komputer pribadi dan komputer
mainframe, mikrokontroler dibangun dari elemen-elemen dasar yang sama. Secara
sederhana, komputer akan menghasilkan output spesifik berdasarkan inputan yang
diterima dan program yang dikerjakan.
Seperti umumnya komputer, mikrokontroler adalah alat yang mengerjakan instruksi-instruksi yang diberikan kepadanya. Artinya, bagian terpenting dan utama dari suatu sistem terkomputerisasi adalah program itu sendiri yang dibuat oleh seorang programmer. Program ini menginstruksikan komputer untuk melakukan jalinan yang panjang dari aksi-aksi sederhana untuk melakukan tugas yang lebih kompleks yang diinginkan oleh programmer.
Seperti umumnya komputer, mikrokontroler adalah alat yang mengerjakan instruksi-instruksi yang diberikan kepadanya. Artinya, bagian terpenting dan utama dari suatu sistem terkomputerisasi adalah program itu sendiri yang dibuat oleh seorang programmer. Program ini menginstruksikan komputer untuk melakukan jalinan yang panjang dari aksi-aksi sederhana untuk melakukan tugas yang lebih kompleks yang diinginkan oleh programmer.
Beberapa keluarga mikrokontroler
adalah PIC dari Microchip, Intel MCS-51 dan Atmel 89CXX /89CXX51.
1.
Mikrokontroler MCS-51 dan Atmel 89CXX, 89CXX51
Mikrokontroler MCS-51 dan Atmel
89CXX, 89CXX51 adalah mikrokontroler 8-bit. Atmel 89CXX dan 89CXX51 kompatibel
dengan keluarga MCS-51. Oleh karena itu, ketika mempelajari MCS-51 seseorang
juga dapat mempelajari mikrokontroler Atmel versi tersebut.
2.
Keluarga MCS-51
MCS-51
merupakan keluarga mikrokontroler 8-bit, beroperasi pada frekuensi 12 MHz, dan
mikrokontroler ini diperkenalkan sebagai pengganti generasi mikrokontroler
sebelumnya, MCS-48. Desain mikrokontroler ini menggunakan dasar teknologi HMOS
(High-Speed Metal Oxide Semiconductor).
Perangkat keluarga ini juga menyediakan
versi CHMOS (Complementary High-Speed Metal Oxide Semiconductor) yang
dipresentasikan dengan penambahan huruf ‘C’ pada nomer part serinya, contoh
80C51, 87C51, dsb. CHMOS merupakan nama yang diberikan untuk proses high-speed
CMOS yang dimiliki intel.
Ada beberapa keuntungan menggunakan
versi CHMOS dari mikrokontroler MCS-51 dibanding dengan versi HMOS. Konsumsi
power versi CHMOS lebih rendah, ketahanan noise yang lebih tinggi dan kecepatan
yang lebih tinggi pula. Dari segi arsitektur perangkat CHMOS kompatibel dengan
HMOS.
Perbedaannya hanya pada perangkat
CHMOS telah ditambahkan beberapa fitur seperti idle mode, power down dsb.
Kriteria pemilihan antara mikrokontroler ini hanya berdasarkan kebutuhan fungsional atas batasan
power suply, ruang yang tersedia pada board untuk pencetakan sirkuit rangkaian,
jumlah pin dan biaya produksinya.
Untuk produksi masal, desainer
mikrokontroler dapat memilih versi ROM. Tetapi untuk produksi yang lebih
sedikit lebih cocok menggunakan versi EPROM atau versi CPU dengan memori
program eksternal. Banyak juga yang memilih versi EPROM/ROM untuk menghindari
koneksi ke memori eksternal, yang menyajikan ukuran kode program lebih kecil
dari ukuran memori program internal. Tetapi satu catatan yang harus
diperhatikan bahwa EPROM memiliki daur tulis/hapus yang terbatas, biasanya 1000
kali tulis/hapus.
Dari sudut pandang perawatan
seseorang lebih memilih versi EPROM atau ROM, karena hanya butuh menempatkan
satu IC saja dari board mikrokontroler tersebut untuk menggantikan IC
yang rusak. Dan untuk menghindari pencurian atau penkopian software secara
ilegal maka disarankan menggunakan fasilitas ‘securuty fuse’ yang terdapat pada
mikrontroler.
3.
Mikrokontroler Atmel
Beberapa
perangkat dari keluarga mikrokontroler Atmel dapat dilihat pada tabel dibawah
ini.
Pembahasan utama pada artikel ini adalah tentang
‘reprogramable flash device’. Mikrokontroler Atmel ini mendukung penuh operasi
statis mulai dari 0 sampai 24 MHz. Operasi frekuensi rendah sangat penting
disaat pengkonsumsian power harus tetap terjaga untuk selalu minimum.
Sebagai contoh, dalam kasus
penggunaan batrai pada operasi instrumentasi, pengkonsumsian power sangat
krusial. Sebagai catatan, kecepatan eksekusi juga berkurang ketika frekuensinya
menjadi rendah. Periode timer-clocking juga bergantung pada frekuensi saat
beroperasi. Mode power-down dan mode idle dapat digunakan untuk menjaga
konsumsi power untuk tetap pada jenjang yang minimum.
Beberapa device diantaranya dapat
dipilih karena tegangan operasinya sangat rendah, biasanya dalam
jangkauan 2,7-6 V. Atmel 89C1051/2051 merupakan salah satunya. Untuk Atmel
89C4051 jangkauannya adalah 3-6 V.
Mikrokontroler Atmel dengan 20 pin
sangat cocok ketika ruang PCB yang tersedia sangat kecil, dan membutuhkan
saluran I/O terisi dengan 15 I/O.
Komparator analog yang presisi
berhubungan dengan pewaktu dapat digunakan untuk membangun ADC type pencacah.
Flash PEROM (Programable and Erasable Read Only Memory) adalah salah satu fitur
yang sangat berguna lainnya. Device ini tidak memerlukan penghapus EPROM
ultraviolet karena device ini dapat diprogram dan dihapus secara elektrik.
Atmel 89LV52 adalah mikrokontroler low-voltage dengan 8K flash memori yang
kompatibel dengan 8032. Jangkauan tegangan operasinya adalah 2,7 V-6 V.
Untuk lebih detil lagi kita dapat
mengacu pada literatur mikrokontroler Atmel yang sudah banyak tersedia di
internet. Selain itu menarik juga untuk menyimak Atmel keluarga AVR yang
merupakan prosesor RICS.
4.
Mikrokontroler PIC
Mikrokontroler 8-bit PIC16CXX dan PIC17CXX dari Microchip
menggunakan teknologi CMOS. Mikrokontroler PIC terkenal karena performanya yang
tinggi, biaya yang rendah dan ukuran yang kecil. Mikrokontroler ini menggunakan
arsitektur RICS. PIC16CXX hanya memiliki 33 single-word instruksi. Frekuensi
operasi untuk 16CXX berjarak dari DC hingga 20 MHz. Seri ini dapat
ditambahkan program memori eksternal hingga 64K word. PIC 17C42 memiliki
beberapa pencacah/pewaktu dan kemampuan penanganan I/O, dan 16C71 telah tedapat
4 kanal 8-bit ADC.
Untuk
memperoleh 12 kanal 10-bit ADC kita dapat memperolehnya pada 17C752. Masih
banyak lagi perangkat mikrokontroler PIC lainnya yang tidak tertulis pada
tabel. Fitur-fitur umum termasuk pewaktu, watchdog, ADC, memori data tambahan,
komunikasi serial, keluaran pulse width modulated (PWM), dan memori ROM, EPROM
dan EEPROM.
Program
Mikrokontroler AVR Untuk Sensor SRF04 Menggunakan CVAVR
SRF04 adalah sensor non-kontak pengukur jarak menggunakan ultrasonik.
Prinsip kerja sensor ini adalah transmitter mengirimkan seberkas gelombang
ultrasonik, lalu diukur waktu yang dibutuhkan hingga datangnya pantulan dari
obyek. Lamanya waktu ini sebanding dengan dua kali jarak sensor dengan obyek,
sehingga jarak sensor dengan obyek dapat ditentukan persamaanjarak = kecepatan_suara × waktu_pantul/2
SRF04 dapat mengukur jarak dalam rentang antara 3 cm – 3 m dengan output panjang pulsa yang sebanding dengan jarak obyek. Sensor ini hanya memerlukan 2 pin I/O untuk berkomunikasi dengan mikrokontroler, yaitu TRIGGER dan ECHO. Untuk mengaktifkan SRF04 mikrokontroler mengirimkan pulsa positif melalui pin TRIGGER minimal 10 us, selanjutnya SRF04 akan mengirimkan pulsa positif melalui pin ECHO selama 100 us hingga 18 ms, yang sebanding dengan jarak obyek.
Dibandingkan dengan sensor ultrasonik lain, seperti PING, SRF04 mempunyai kemampuan yang setara, yaitu rentang pengukuran antara 3 cm – 3 m, dan output yang sama, yaitu panjang pulsa. Meski cara pengoperasiannya juga mirip, namun kedua sensor tersebut berbeda jumlah pin I/O-nya, yaitu 2 untuk SRF04 dan 1 untuk PING. Jika boleh memilih di antara keduanya, penulis cenderung untuk memilih PING dengan pertimbangan harga dan juga adanya lampu indikator yang menunjukkan kondisi PING sedang aktif, selain juga jumlah pin I/O yang lebih sedikit.
Selain SRF04 Devantech juga mengeluarkan beberapa macam sensor ultrasonik lain. Tidak seperti kebanyakan saudaranya yang mempunyai 2 transduser ultrasonik sebagai transmitter dan receiver, SRF02 hanya mempunyai 1 transduser ultrasonik yang berfungsi sekaligus sebagai transduser dan receiver dengan output I2C dan serial UART. SRF05 mirip dengan SRF04, hanya jangkauan maksimumnya 4 m dan terdapat 2 mode operasi menggunakan 1 atau 2 pin I/O. SRF08 mampu mengukur jarak dalam rentang 3 cm – 6 m dengan antarmuka I2C.
Inti program yang dibuat adalah fungsi baca_srf04 yang disesuaikan dengan timing diagram dari datasheet.
unsigned char baca_srf04(){
count=0;
//pemberian pemicu berupa pulsa positif minimal 10us utk aktivasi sensor
PORTA.1=1;
delay_us(15);
PORTA.1=0;
//menunggu hingga ECHO = 1
while(PINA.0==0){};
//mencacah untuk mengukur waktu lamanya pulsa 1 dari ECHO
while(PINA.0==1)
{count++;
};
//mengkonversikan hasil cacahan menjadi jarak dalam cm
jrk=count*10/232;
return jrk;
}
Berikut adalah program selengkapnya untuk membaca data dari SRF04 dan menampilkannya pada LCD menggunakan ATMEGA8535 dan kristal 4 MHz dengan penggunaan pin mikrokontroler sebagai beikut :
- Echo – PINA.0 (sebagai input bagi mikrokontroler)
- Trigger – PINA.1 (sebagai output bagi mikrokontroler)
- LCD – PORTC (susunan pin disesuaikan dengan wizard LCD pada CVAVR)
Sumber : Mikrokontroler
Komersil - Mikrokontroler - ndoWare.htm
Tidak ada komentar:
Posting Komentar