PENGERTIAN DAN PENERAPAN APLIKASI MIKROKONTROLER

Artikel terkait : PENGERTIAN DAN PENERAPAN APLIKASI MIKROKONTROLER


PENGERTIAN DAN PENERAPAN APLIKASI MIKROKONTROLER
Mikrokontroler adalah single chip computer yang memiliki kemampuan untuk diprogram dan digunakan untuk tugas-tugas yang berorientasi kontrol. Mikrokontroler datang dengan dua alasan utama, yang pertama adalah kebutuhan pasar (market need) dan yang kedua adalah perkembangan teknologi baru. Yang dimaksud dengan kebutuhan pasar adalah kebutuhan yang luas dari produk-produk elektronik akan perangkat pintar sebagai pengontrol dan pemroses data. Sedangkan yang dimaksud dengan perkembangan teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun membutuhkan ruang yang kecil sehingga memungkinkan pembuatan chip dengan kemampuan komputasi yang sangat cepat, bentuk yang semakin mungil, dan harga yang semakin murah.

Mikrokontroler AVR :: Artikel Berbasis Mikrokontroller AVR – Hadir kembali di blog Elektronika Industri yang kali ini akan mengupas tentang  Artikel Berbasis Mikrokontroller AVR setelah kemarin kita sudah bahas Pengertian Mikrokontroller.
Sebenarnya apakah yang disebut dengan pengertian mikrokontroler ?  Sebuah kontroler digunakan untuk mengontrol suatu proses atau aspek-aspek dari lingkungan. Satu contoh aplikasi mikrokontroler adalah untuk memonitor rumah. Ketika suhu naik, kontroler membuka jendela dan sebaliknya. Pada masanya, kontroler dibangun dari komponen-komponen logika secara keseluruhan, sehingga menjadikannya besar dan berat. Setelah itu barulah dipergunakan mikrokprosesor sehingga keseluruhan kontroler masuk kedalam PCB yang cukup kecil. Hingga saat ini masih sering kita lihat kontroler yang dikendalikan oleh mikroprosesor biasa (Zilog Z80, Intel 8088, Motorola 6809, dan sebagainya).
Proses pengecilan komponen terus berlangsung, semua komponen yang diperlukan guna membangun suatu kontroler dapat dikemas dalam satu keping. Maka lahirlah komputer keping tunggal (one chip microcomputer) atau disebut juga mikrokontroler. Mikrokontroler adalahsuatu IC dengan kepadatan yang sangat tinggi, dimana semua bagian yang diperlukan untuk suatu kontroler sudah dikemas dalam satu keping, biasanya terdiri dari:
o    CPU (Central Processing Unit)
o    RAM (Random Access Memory)
o    EEPROM/EPROM/PROM/ROM
o    I/O, Serial & Parallel
o    Timer
o    Interupt Controller
o    Dan lain-lain
Biasanya mikrokontroler memiliki instruksi untuk manipulasi bit, akses ke I/O secara langsung dan mudah, dan proses interupt yang cepat dan efisien. Dengan kata lain mikrokontroler adalah ” Solusi satu Chip” yang secara drastis mengurangi jumlah komponen dan biaya disain (harga relatif murah).
Mikrokontroller juga bisa dikatakan sebagai piranti elektronik berupa IC(Integrated Circuit)yang memiliki kemampuan manipulasi data (informasi) berdasarkan suatu urutan instruksi (program) yang dibuat oleh programmer. Mikrokontroller merupakan contoh suatu sistem komputer sederhana yang masuk dalam kategori embedded komputer. Dalam sebuah struktur mikrokontroller akan ditemukan juga komponen-komponen seperti: processor, memory, I/O, clock,  dan lain-lain. Gambar dibawah ini merupakan beberapa bentuk paket mikrokontroller keluaran ATMEL.


Dan Berikut Contoh Aplikasi Mikrokontroler pada penerapannya :

Aplikasi Mikrokontroler dan Programnya

Tahap pertama adalah merancang perangkat keras (hardware), yang meliputi rangkaian – rangkaian
elektronika dan alat putar keramik. Tahap kedua adalah perancangan algoritma, listing program pada software Code Vision AVR dan penanaman listing program pada mikrokontroler AVR ATMega16 dengan menggunakan software ISP Programmer.

Perancangan Perangkat Keras
Seluruh perangkat atau komponen yang digunakan dalam perancangan pengaturan
kecepatan pada alat putar keramik menggunakan motor AC ini, tersusun seperti pada
blok diagram di bawah ini.

Gambar Blok Diagram Pengaturan Kecepatan Motor AC
  Pada Alat Putar Keramik

Blok diagram diatas, secara garis besar dapat dijelaskan sebagai berikut.
1. Keypad digunakan sebagai alat untuk memasukkan nilai kecepatan putaran yang diinginkan (nilai setpoint). Keypad dihubungkan ke PORTB mikrokontroler AVR ATMega16. Nilai dari keypad tersebut mewakili nilai kecepatan putaran dengan satuan rotation per minute (rpm). Nilai yang diijinkan sebesar antara 60–150rpm.

2. Nilai setpoint akan diolah sedemikian rupa dengan menggunakan suatu program yang ditanamkan pada mikrokontroler AVR ATMega16, sehingga nilai tersebut dapat ditampilkan pada LCD dan digunakan pada register OCR1A yang berfungsi untuk membangkitkan sinyal PWM.

3. Sinyal PWM dibangkitkan setelah nilai pada register OCR1A terisi (OCR1A ≠ 0) dan sinyal PWM dikeluarkan melalui Pin 19 PORTD.5 (OC1A) pada mikrokontroler AVR ATMega16.

4. Sinyal PWM tersebut akan memicu TRIAC Optoisilator pada rangkaian driver motor AC. Rangkaian zero crossing detector telah tersedia dalam satu paket (Onpackage) IC TRIAC Optoisolators MOC3041, sehingga titik acuan sinyal PWM pada saat mengatur sinyal sinusoidal (tegangan AC) dimulai pada saat perpotongan titik nol (zero crossing). Keluaran dari TRIAC Optoisolators tersebut (pin 6) akan memicu gate TRIAC (Q4004LT) sehingga memberikan arus pada motor AC.

5. Motor AC akan menggerakkan alat putar keramik dan alat putar tersebut akan dideteksi putarannya setiap 1 detik (Timer 0) oleh sensor putaran (phototransistor). Pendeteksian putaran alat putar ini bertujuan untuk mengetahui apakah kecepatan putaran alat putar sama dengan nilai setpoint yang diberikan. Kecepatan alat putar akan dipengaruhi oleh beban (tanah liat) yang bervariasi. Kecepatan akan berkurang apabila beban semakin berat, oleh karena itu sensor pun berfungsi untuk mengetahui kecepatan alat putar terhadap beban.
fitur interupsi eksternal mikrokontroler akan mengetahui setiap kali sensor memberikan respon (logika 0).

6. Program pengaturan alat putar pada mikrokontroler ATMega16 akan mengatur dan membandingkan antara kecepatan setpoint dan kecepatan yang sesungguhnya (real time). Jika sensor mendeteksi kecepatan alat putar setpoint-nya, maka program akan mengatur (mengurangi) nilai pada OCR1A dan jika sensor mendeteksi kecepatan alat putar lebih lambat dari pada kecepatan setpointnya, maka program akan mengatur (menambahi) nilai pada register OCR1A.

Perancangan Rangkaian Sistem Minimum AVR ATMega16
Mikrokontroler AVR ATMega16 dapat dioperasikan dengan cara menambahkan beberapa komponen elektronika yang berfungsi sebagai komponen pendukungnya.

Mikrokontroler AVR ATMega16 dapat dioperasikan dengan cara menambahkan beberapa komponen elektronika yang berfungsi sebagai komponen pendukungnya.
Mikrokontroler dan komponen komponen pendukung tersebut tergabung dalam satu rangkaian yang disebut sebagai rangkaian sistem minimum.


Rangkaian Sistem Minimum AVR ATMega16

Kristal yang digunakan pada rangkaian sistem minimum di atas, mengunakan frekuensi 4 MHz. Kristal tersebut digunakan untuk pembangkit clock (osilator), dimana setiap 1 intruksi/perintah dalam program dieksekusi dalam 1 siklus clock. Pin RESET dihubungkan dengan rangkaian kombinasi RC dan push button, yang bertujuan agar mikrokontroler dapat di-reset. Fungsi dari port - port lainnya adalah sebagai berikut.
1. PORTA, digunakan sebagai pin masukkan untuk Keypad 3X4
2. PORTB, digunakan sebagai pin keluaran untuk LCD
3. PORTD.0 dan PORTD.1, digunakan sebagai pin masukan untuk tombol START
dan tombol STOP
4. PORTD.3, digunakan sebagai pin masukkan untuk sensor putaran (Ext. Interrupt)
5. PORTD.5 dan PORTD.6, digunakan sebagai pin keluaran untuk sinyal PWM.

Perancangan Rangkaian Downloader
Rangkaian downloader merupakan rangkaian penghubung antara komputer dan mikrokontroler yang berfungsi untuk memasukan listing program (berupa bit – bit logika) ke dalam mikrokontroler. Listing program yang dikirim oleh software dari komputer ke dalam mikrokontroler biasanya berbentuk file *.hex (heksadesimal). Pada umumnya rangkaian downloader terdiri dari kabel penghubung jenis DB25 atau jenis
DB9. Sinkronisasi tegangan antara tegangan dari komputer dan tegangan mikrokontroler menggunakan sebuah buffer. Rangkaian downloader ditunjukkan seperti gambar di bawah ini :


Gambar Rangkaian downloader DB 25

Gambar. Rangkaian downloader mikrokontroler

Rangkaian di atas menggunakan port DB 25 sebagai alat penghubung antara komputer dan alat downloader, sedangkan IC 74HCT244 digunakan sebagai buffer. Software yang digunakan untuk mendownload program  
 (file: *.hex) ke dalam mikrokontroler ini adalahISP Programmer (Adam Dybkowsky).

Gambar.Tampilan Software ISP Programmer (Adam Dybkowsky)

Perancangan Rangkaian Keypad dan LCD
Keypad merupakan tombol elektronik yang terdiri dari kombinasi beberapa saklar yang terrangkai dalam bentuk kolom dan baris. Pada perancangan alat putar ini, keypad digunakan sebagai alat untuk masukan nilai setpoint kecepatan putaran alat putar keramik. Keypad yang digunakan adalah keypad 3×4 yang terdiri dari 3 kolom dan 4 baris (7 pin). Untuk mengetahui tombol mana yang sedang ditekan, keypad diatur oleh
mikrokontroler dengan cara memberikan bit – bit logika pada baris atau kolomnya. Keypad ini dihubungkan melalui kabel pin (7 pin) ke salah satu port mikrokontroler. Rangkaian keypad ditunjukkan seperti Gambar 3.6 di bawah ini.


Gambar. Rangkaian Keypad 3×4

Keypad ini akan diaktifkan dan dideteksi oleh bit bit logika dari port port mikrokontroller (PORT B1......7). Bagian kolom keypad akan diberi logika "0" oleh mikrokontroller, sedangkan bagian baris akan diberi logika "1". Pada setiap port pada mikrokontroler AVR ATMega16 telah terintegrasi rangkaian pull up resistor, sehingga apabila salah satu baris dari keypad terhubung (short) dengan salah satu kolom, maka akan memberikan logika "0" pada baris yang terhubung tersebut. Cara mendeteksi bit bit untuk bagian baris tersebut menggunakan teknik scanning port.
Liquid crystal display (LCD) merupakan suatu jenis media tampilan yang menggunakan kristal cair sebagai penampil utama. Pada perancangan ini, LCD akan digunakan sebagai alat penampil kode ASCII (huruf dan angka) yang berdasarkan masukan dari keypad. LCD yang digunakan berjenis LCD 16×2 seri DV-16230 data vision taiwan. LCD ini tidak memiliki cahaya latar (backlight) akan tetapi dapat diatur kekontrasannya. Bentuk dan rangkaian LCD ditunjukkan oleh gambar dibawah ini :



Gambar LCD

Gambar rangkaian LCD

Software Code Vision AVR telah menyediakan fitur LCD untuk mengatur port I/O LCD, sehingga tidak akan banyak mengalami kesulitan dalam merancang instruksi programnya. LCD akan menampilkan nilai kecepatan (setpoint), hasil deteksi sensor putaran dan nilai register OCR1A untuk mengatur duty cycle Fast PMW.

Perancangan  Rangkaian Driver Motor AC

Komponen   uta ma   dari   rangkaian   driver   motor   AC   ini   adalah   IC  TRIAC Optoisolators Tipe M OC3041 dan TRIAC Tipe Q4004LT. TRIA C Optoisolators yang digunakan telah memiliki rangkaian zero crossing di dalamnya.. Rangkaian driver motor AC akan memicu motor AC jika pin 2 pada IC MOC3041 diberi logika “0” (low). Bit – bit logik a yang diberikan pada IC tersebut berupa si nyal PWM yang diatur oleh register OCR1A (duty cycle) pada mikrokontroler. Rangkaia n driver motor AC ini ditunjukkan oleh Gambar di bawah ini

Gambar Rangkaian motor driver AC

Rangkaian   Zero   Crossing   yang   terdapat   IC   MOC3 041   berfungsi   untuk menentukan titik nol gelombang sinusoidal, dimana titik nol ter sebut merupakan titik acuan untuk dimulain ya pemicuan oleh sinyal PWM.

Perancangan  Rangkaian Sensor Putaran

Rangkaian   sensor   untuk   mendeteksi   putaran   alat   pu tar   ini,   terdiri  dari Phototransistor tipe  H21A1 dan piringan sensor dengan lubang sebanyak 12 lubang

Gambar alat sensor putaran

Gambar rangkaian photo transistor

Sensor putaran akan memberikan  logika  “0” pada saat celah    pada

phototransistor men deteksi lubang dan sensor putaran akan memberikan logika “1” pada saat celah pada phototransistortidak mendeteksi lubang. Jarak antar lubang pada piringan sensor dari keenam lubang tersebut mewakili 5 rpm dan banyaknya lubang yang dideteksi sensor akan dijumlahkan setiap 1 detik sekali oleh interupsi Timer 0.

(Contoh:
60rpm
=
12  lubang  per detik).
Hal  ini  bertujuan
untuk
membandingkan
kecepatan
antara
kecepatan   setpoint  dan
kecepatan   real
time.
Pendeteksian   ini
menggunakan fitur interupsi eksternal 0 (pin INT0) pada mikrokontroler ATMEGA 16
 Perancangan  Alat Putar Keramik

Alat   putar   keramik   yang   akan   dirancang   terbuat   dari   bahan   semen   dan berporoskan batang besi. Pada bagian besi poros tersebut dipasan gi bearing, pulley dan piringan sensor. Pulley dihubungkan motor AC dengan menggunakan tali penghubung (belt). Gambar di bawah ini menunjukkan gambar rancangan alat putar keramik

Perancangan Program Mikrokontroler

Tahap kedua dari perancangan ini adalah merancang suatu program mikrokontroler yang bertujuan untuk mengolah nilai suatu variabel (keypad dan sensor), menampilkan suatu karakter pada LCD, mengatur interupsi eksternal 1, mengubah nilai setpoint menjadi sinyal Fast PWM dan mengatur kecepatan motor AC.

Program mikrokontroler yang akan dibuat menggunakan b ahasa C dan beberapa bahasa assembly pada software Code Vision. Cara kerja dari program pengaturan motor AC terhadap beban bervariasi adalah seperti flowchart di bawah ini.

Gambar flowchart pengaturan putaran

Gambar flowchart
Interupsi eksternal 0 digunakan untuk mendeteksi bit “0” pada PORD.3 (pin INT0).

Banyaknya bit “0” yang masuk pada PORD.3 akan dihitung dan disimpan dalam register “sensor” setiap 1 detik sekali. Dengan kata lain, nilai pada register “sensor” akan dinolkan terlebih dahulu jika sudah mencapai 1 detik.

Interupsi timer 1 digunakan untuk membuat interupsi setiap 1 detik. Pada saat interupsi timer 1 ini terjadi, nilai padaregister “sensor” akan di-update dan dibandingkan dengan nilai register “PWM”. Nilai register OCR1A akan diubah (ditambah/dikurangi) apabila hasil perbandingan berbeda.

Timer/Counter 1A berfungsi sebagai pembangkit sinyal Fast PWM. Besar duty cycle dari Fast PWM ini diatur oleh register OCR1A, sehingga dari register inilah motor AC dapat diatur kecepatannya.

Program Keypad 
Listing program keypad yang digunakan pada perancangan alat putar ini dapat dilihat pada potongan program dibawah ini.


Gambar rancangan program

Keypad diaktifkan dengan cara memberikan bit low pada bagian kolom keypad dan
memindai bit low pada bagian baris.
Program LCD
Listing program LCD yang digunakan pada perancangan alat putar ini dapat dilihat pada potongan program dibawah ini.


Gambar rancangan listing program LCD

Program Interupsi Eksternal 1 dan Timer/Counter 0
Program interupsi eksternal 1 diatur oleh fitur interupsi eksternal 0 (INT0) ATMEGA16. Interupsi eksternal 1 ini akan berfungsi jika register – register yang berhubungan dengan interupsi eksternal 1 diatur. Interupsi eksternal 1 akan terjadi apabila PORTD.3 diberi logika 0 (clear bit). Listing program Interupsi Eksternal 1 yang digunakan pada perancangan alat putar ini dapat dilihat pada potongan program
dibawah ini.

Gambar rancangan gambar sensor putaran

Jika phototransistor mendeteksi lubang pada piringan sensor, maka rangkaian sensor akan memberikan logika “0” ke PORTD.3 dan logika 1 jika tidak mendeteksi lubang. Program Timer/Counter 1 pada perancangan ini digunakan untuk membuat interupsi setiap 1 detik. Besarnya waktu selama 1 detik ini dapat diperoleh dengan menggunakan persamaan (2.9). Timer/Counter 0 (TCNT0) hanya mempunyai register
sebesar FF (255), sehingga TMAX dapat dihitung sebagai berikut.

Untuk mempermudah mendapatkan waktu 1 detik dapat dilakukan dengan cara membuat interupsi setiap 20mS, kemudian pada program interupsi tersebut ditambahkan program counter untuk menghitung kejadian interupsi sebanyak 50 kali. Contoh listing program interupsi pada Timer/Counter 0 seperti dibawah ini.


Gambar program interupsi timer/ counter

Program Fast PWM
Motor AC yang digunakan untuk memutar alat putar keramik, menggunakan listrik bertegangan 220VAC dengan frekuensi sebesar 50Hz. Tegangan tersebut akan diatur oleh sinyal PMW dari mikrokontroler dengan memanfaatkan fitur Timer/Counter 1 dengan mode Fast PWM. 
Maka, Fast PWM yang diatur oleh Timer/Counter 1 akan mengatur kedua siklus tersebut setiap 10mS sekali. 
Nilai prescaler yang tersedia hanya sebesar 0, 1, 8, 64, 256 dan 1024, maka diambil yang nilai lebih mendekati nilai tersebut, yaitu 64. Listing program Fast PWM yang digunakan pada perancangan alat putar ini dapat dilihat pada potongan program dibawah ini :


Gambar rancangan listing program pada fast PWM

Program Pengaturan Kecepatan Motor AC
Listing program pengaturan motor AC yang digunakan pada perancangan alat putar ini dapat dilihat pada potongan program dibawah ini.

Gambar rancangan program pengaturan kecepatan motor

Pengisian Program Ke Mikrokontroler

Listing program yang telah di-compile ke dalam bentuk file *.hex oleh Code Vision AVR dapat langsung diisikan ke dalam mikrokontroler. Berikut ini langkah – langkah pengisian program ke mikrokontroler ATMega 16 dengan menggunakan software ISP Programmer.

1. Rangkaian downloader (DB25) dihubungkan terlebih dahulu ke port DB25 (komputer) menggunakan kabel konektor DB25 dan rangkaian downloader (mikrokontroler) menggunakan kabel konektor 6 pin.

2. Rangkaian downloader diberi tegangan sebesar 5V.

3. Komputer diaktifkan dan Software ISP Programmer dijalankan, sehingga tampil seperti gambar ISP program di atas, kemudian pilih “AVR” pada List Box di sebelah “Current RESET Status” dan pilih frekuensi sebesar 4MHz.

4. Untuk mengetahui apakah rangkaian downloader berfungsi dan mikrokontroler
terbaca, tombol “Read signature:” ditekan. Jika mikrokontroler belum terbaca,
maka akan tampil seperti Gambar 3.22 di bawah ini. Jika mikrokontroler terbaca,
maka akan tampil seperti Gambar 3.23.

Gambar tampilan program mikrokontroler jika belum terbaca


Gambar tampilan program mikrokontroler jika sudah terbaca



Dikutip dari : Hasil karya TA mahasiswa yang tidak diketahui identitasnya, dengan di edit seperlunya tanpa mengurangi isi dan makna
dipostingkan di sini hanya untuk tujuan pembelajaran tanpa adanya maksud lain .referensi



















Artikel MULUNG ILMU Lainnya :

0 komentar:

Posting Komentar

Silakan berkomentar,komentar Anda sangat membantu dalam membangun Blog ini.
Terimakasih ... ^_^

Copyright © 2010-2017 MULUNG ILMU | Design by Blogger