Senin, 15 Juni 2009

Mikrokontroler

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











Sistem Input Komputer
Piranti input menyediakan informasi kepada sistem komputer dari dunia luar. Dalam sistem komputer pribadi, piranti input yang paling umum adalah keyboard. Komputer mainframe menggunakan keyboard dan pembaca kartu berlubang sebagai piranti inputnya. Sistem dengan mikrokontroler umumnya menggunakan piranti input yang jauh lebih kecil seperti saklar atau keypad kecil.
Hampir semua input mikrokontroler hanya dapat memproses sinyal input digital dengan tegangan yang sama dengan tegangan logika dari sumber. Level nol disebut dengan VSS dan tegangan positif sumber (VDD) umumnya adalah 5 volt. Padahal dalam dunia nyata terdapat banyak sinyal analog atau sinyal dengan tegangan level yang bervariasi. Karena itu ada piranti input yang mengkonversikan sinyal analog menjadi sinyal digital sehingga komputer bisa mengerti dan menggunakannya. Ada beberapa mikrokontroler yang dilengkapi dengan piranti konversi ini, yang disebut dengan ADC, dalam satu rangkaian terpadu.

Sistem Output Komputer
Piranti output digunakan untuk berkomunikasi informasi maupun aksi dari sistem komputer dengan dunia luar. Dalam sistem komputer pribadi (PC), piranti output yang umum adalah monitor CRT. Sedangkan sistem mikrokontroler mempunyai output yang jauh lebih sederhana seperti lampu indikator atau beeper. Frasa kontroler dari kata mikrokontroler memberikan penegasan bahwa alat ini mengontrol sesuatu.
Mikrokontroler atau komputer mengolah sinyal secara digital, sehingga untuk dapat memberikan output analog diperlukan proses konversi dari sinyal digital menjadi analog. Piranti yang dapat melakukan konversi ini disebut dengan DAC (Digital to Analog Converter).

CPU (Central Processing Unit)
CPU adalah otak dari sistem komputer. Pekerjaan utama dari CPU adalah mengerjakan program yang terdiri atas instruksi-instruksi yang diprogram oleh programmer. Suatu program komputer akan menginstruksikan CPU untuk membaca informasi dari piranti input, membaca informasi dari dan menulis informasi ke memori, dan untuk menulis informasi ke output.
Dalam mikrokontroler umumnya hanya ada satu program yang bekerja dalam suatu aplikasi. CPU M68HC05 mengenali hanya 60 instruksi yang berbeda. Karena itu sistem komputer ini sangat cocok dijadikan model untuk mempelajari dasar dari operasi komputer karena dimungkinkan untuk menelaah setiap operasi yang dikerjakan.

Clock dan Memori Komputer
Sistem komputer menggunakan osilator clock untuk memicu CPU mengerjakan satu instruksi ke instruksi berikutnya dalam alur yang berurutan. Setiap langkah kecil dari operasi mikrokontroler memakan waktu satu atau beberapa clock untuk melakukannya.
Ada beberapa macam tipe dari memori komputer yang digunakan untuk beberapa tujuan yang berbeda dalam sistem komputer. Tipe dasar yang sering ditemui dalam mikrokontroler adalah ROM (Read Only Memory) dan RAM (Random Access Memory). ROM digunakan sebagai media penyimpan program dandata permanen yang tidak boleh berubah meskipun tidak ada tegangan yang diberikan pada mikrokontroler. RAM digunakan sebagai tempat penyimpan data sementara dan hasil kalkulasi selama proses operasi. Beberapa mikrokontroler mengikutsertakan tipe lain dari memori seperti EPROM (Erasable Programmable Read Only Memory) dan EEPROM (Electrically Erasable Programmable Read Only Memory).

Program Komputer
Program digambarkan sebagai awan karena sebenarnya program adalah hasil imajinasi seorang programmer. Komponen utama dari program adalah instruksi-instruksi dari instruksi set CPU. Program disimpan dalam memori dalam sistem komputer di mana mereka dapat secara berurutan dikerjakan oleh CPU.

Sistem Mikrokontroler
Setelah dipaparkan bagian-bagian dari suatu sistem komputer, sekarang akan dibahas mengenai mikrokontroler. Digambarkan sistem komputer dengan bagian yang dikelilingi oleh garis putus-putus. Bagian inilah yang menyusun mikrokontroler. Bagian yang dilingkupi kotak bagian bawah adalah gambar lebih detail dari susunan bagian yang dilingkupi garis putus-putus. Kristal tidak termasuk dalam sistem mikrokontroler tetapi diperlukan dalam sirkuit osilator clock.
Suatu mikrokontroler dapat didefinisikan sebagai sistem komputer yang lengkap termasuk sebuah CPU, memori, osilator clock, dan I/O dalam satu rangkaian terpadu. Jika sebagian elemen dihilangkan, yaitu I/O dan memori, maka chip ini akan disebut sebagai mikroprosesor.







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 persamaan
jarak = 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)

Semoga bermanfaat.


Tidak ada komentar:

Posting Komentar