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
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 phototransistor tidak 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
klik pada bagian gambar untuk memeperbesar gambar
Gambar flowchar lanjutan gambar di atas
klik pada bagian gambar untuk memperbesar
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 pada register “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
klik pada bagian gambar untuk memperbesar
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
klik pada bagaian gambar u ntuk memperbesar gambar
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
diposting kan di sini hanya untuk tujuan pembelajaran tanpa adanya maksud lain
.
makasi infonya sangat bermanfaat mas :)
BalasHapussugguh membantu.oh ya yang pengen dapet dollar gratis.register get free $2.any unique visitor clicking your referral link get $0.5.minimum payout $30.visit:
BalasHapushttp://visitors2cash.com/ref.php?refId=24288
mas minta source kode diatas yang lengkap ada gag??
BalasHapussoalnya kepotong kyak gitu saya jadi bingung
mkasih sebelumnya :)
terima kasih mas tutorial mengenai mikrokontrolernya
BalasHapussalam kenal
Mikrokontroler memang kontroler yang paling populer saat ini dan sangat asyik untuk dipelajari
BalasHapusSangat bermanfaat, izin copas sebagai referensi
BalasHapus