penghitung kecepatan motor dc menggunakan optocoupler dengan codevision avr
TRANSCRIPT
-
8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr
1/11
PENGHITUNG KECEPATAN MOTOR DC MENGGUNAKAN
OPTOCOUPLER DENGAN CODEVISION AVR
Pada dasarnya aplikasi ini hampir sama dengan aplikasi penghitung frekuensi ( Frequency
Counter), dimana letak perbedaanya hanya pada perumusannya saja, dimana perumusan tersebuttergantung dari pengubahan detik ke menit dan banyaknya pulsa encoder dalam 1 putaran motor
DC.
Jika menggunakan optocoupler sebagai sensor anda harus menggunakan rotary encoder yang di
couple dengan as motor dc untuk mendeteksi kecepatan putaran motor DC. !iasanya pada rotary
encoder dibuat lubanglubang sebagai representasi banyaknya pulsa. Dan anda harus
menentukan terlebih dahulu banyaknya pendeteksian pulsa atau lubang pada rotary encoder untuk satu putaran yang dilakukan motor DC. "arena banyaknya pulsa atau lubang akan
mempengaruhi perumusan perhitungan kecepatan motor DC dan semakin banyak pulsa atau
lubang maka akan meningkatkan resolusi pembacaan kecepatan motor DC, dengan kata lain
pembacaan kecepatan akan semakin presisi.
Dan jika motor DC anda sudah mempunyai internal encoder, anda hanya tinggalmenghubungkan saja output internal encoder motor DC anda ke pin #$%& atau PD'.
aya sendiri menggunakan rotary encoder sebanyak '& lubang sehingga perumusan kecepatanmotor DC menjadi
pulsa=frekuensi!"#$"% a&au pulsa=frekuensi'"%
Dimana angka *& digunakan untuk mengubah kedalam satuan +P (round per minute), karena
timer yang saya gunakan hanya membaca selama 1 detik, jika dikalikan sebanyak *& maka akanmenjadi 1 menit. Dan angka '& adalah banyaknya lubang atau pulsa rotary encoder .
http://elektro-kontrol.blogspot.com/2011/06/penghitung-frekuensi-frequency-counter.htmlhttp://elektro-kontrol.blogspot.com/2011/06/penghitung-frekuensi-frequency-counter.htmlhttp://elektro-kontrol.blogspot.com/2011/06/penghitung-frekuensi-frequency-counter.htmlhttp://elektro-kontrol.blogspot.com/2011/06/penghitung-frekuensi-frequency-counter.htmlhttp://elektro-kontrol.blogspot.com/2011/06/penghitung-frekuensi-frequency-counter.htmlhttp://elektro-kontrol.blogspot.com/2011/06/penghitung-frekuensi-frequency-counter.html
-
8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr
2/11
-
8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr
3/11
Jika temanteman masih bingung mengenai fitur %imer dan Counter serta eksternal interupsi
dapat membacanya pada menu %utorial %imer dan Counter dan #nterupsi -ksternal.
!erikut adalah listing program lengkapnya
int frekuensi&/
float pulsa/
char temp02/
3include 4mega1*.h5
3include 4lcd.h53include 4delay.h53include 4stdlib.h5
66 7lphanumeric 8CD odule functions3asm
.e9u ::lcd:port&;1< /P=+%C
3endasm
66 ->ternal #nterrupt & ser?ice routine
interrupt 0-@%:#$%&2 ?oid e>t:int&:isr(?oid)A
frekuensiBB/66baca frekuensi (pulssa) yg masuk ke #$%& trus di increament
66 %imer 1 o?erflo interrupt ser?ice routine
interrupt 0%#1:=EF2 ?oid timer1:o?f:isr(?oid)66timer 1 detik untuk membaca pulsa yg masukke #$%&
http://elektro-kontrol.blogspot.com/2011/06/timer-dan-counter-avr.htmlhttp://elektro-kontrol.blogspot.com/2011/06/timer-dan-counter-avr.htmlhttp://www.blogger.com/goog_358680048http://elektro-kontrol.blogspot.com/2011/06/interupsi-eksternal-avr.htmlhttp://elektro-kontrol.blogspot.com/2011/06/timer-dan-counter-avr.htmlhttp://www.blogger.com/goog_358680048http://elektro-kontrol.blogspot.com/2011/06/interupsi-eksternal-avr.html
-
8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr
4/11
A
66 +einitialiGe %imer 1 ?alue
%C$%1H&>D'I7 55 / %C$%18&>D'I7 &>ff/
pulsa(float)frekuensiK*&6'&/66formula perhitungan kecepatan
frekuensi&/ lcd:clear()/
?oid tampilkan:8CD() 66menampilkan data kecepatan di lcd
A
lcd:goto>y(&,&)/
lcd:putsf(L-lektr=c=ntr=lM)/ ftoa(pulsa,1,temp)/
lcd:goto>y(&,1)/
lcd:puts(temp)/
lcd:goto>y(&,
-
8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr
5/11
66 #$%& =n
66 #$%& ode Falling -dge
66 #$%1 =ff 66 #$%' =ff
#C+Q&;R&/
CSC+&;&'/CSC+&;&&/
#F+&;R&/
66 %imer(s)6Counter(s) #nterrupt(s) initialiGation
%#"&;&R/
66 7nalog Comparator initialiGation66 7nalog Comparator =ff
66 7nalog Comparator #nput Capture by %imer6Counter 1 =ff
7C+&;&/
F#=+&;&&/
66 8CD module initialiGationlcd:init(1*)/
66 lobal enable interrupts3asm(LseiM)
hile (1)
A tampilkan:8CD()/
/
umber
http66elektrokontrol.blogspot.co.id6'&116&*6penghitungkecepatanmotordc.html
Pengendalian Motor DC Menggunakan PWM dengan Mikrokontroler AVR
by Saripudin Pudin under avr, mikrokontroler, robotics, teknologi
Pengontrolan motor DC secara sederhana dibagi menjadi dua. Pertama yaitu dengan mengatur
arah putaran dan besarnya kecepatan dari putaran motor. 7rah putaran motor secara prinsip di
atur dengan membalikan polaritas tegangan yang masuk ke motor. edangkan besarnya
kecepatan putaran motor diatur dengan mengatur tegangannya. ekanisme pengaturan ini
ditangani oleh dri?er motor.
http://elektro-kontrol.blogspot.co.id/2011/06/penghitung-kecepatan-motor-dc.htmlhttp://www.saripudin.net/2013/04/pengendalian-motor-dc-menggunakan-pwm.htmlhttp://www.saripudin.net/search/label/avrhttp://www.saripudin.net/search/label/mikrokontrolerhttp://www.saripudin.net/search/label/roboticshttp://www.saripudin.net/search/label/teknologihttp://elektro-kontrol.blogspot.co.id/2011/06/penghitung-kecepatan-motor-dc.htmlhttp://www.saripudin.net/2013/04/pengendalian-motor-dc-menggunakan-pwm.htmlhttp://www.saripudin.net/search/label/avrhttp://www.saripudin.net/search/label/mikrokontrolerhttp://www.saripudin.net/search/label/roboticshttp://www.saripudin.net/search/label/teknologi
-
8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr
6/11
Dri?er motor yang digunakan banyak jenisnya. Tang paling sederhana dan mudah dijumpai
adalah dri?er dengan tipe #C 8'OID dan 8'O. Dri?er ini masingmasing memiliki kemampuan
memberikan arus maksimal motor sebesar 17 dan R7. Sntuk motormotor kecil yang memiliki
rating arus rendah sangat cocok menggunakan dri?er motor ini.
elain jenis #C di atas untuk dri?er motor, banyak lagi tipe lainnya. !iasanya tipe yang
digunakan disesuaikan dengan motor yang dikontrol. emakin besar rating arus motor, maka
dri?er motor yang digunakan juga semakin mahal. Sntuk mengatasinya maka dri?er motor
dirancang sendiri dengan komponen =F-%. Prinsip kerja rangkaian dri?er =F-% ini
menggunakan konsep H!ridge. !erikut adalah salah satu contoh rangkaian dri?er =F-%.
#nput masukkan ke dri?er diperoleh dari mikrokontroler. Pada artikel ini akan dibahas contoh
sederhana pengontrolan motor DC dengan PU. Dengan membuat rangkaian sederhana berikut
ini dengan Proteus, kita dapat mensimulasikan pengontrolan motor DC secara mudah
Sntuk mengatur arah putaran motor 1 (atas) yaitu dengan memberikan sinyal 1 atau & ke pin #$1
dan #$'. edangkan untuk motor ' (baah) yaitu pada #$I dan #$R. edangkan untuk mengatur
kecepatan motor yaitu pada -$1 dan -$' untuk ke motor 1 dan motor '. inyal & atau 1 ini
dapat dihasilkan dari port mikrokontroler dengan mengaturnya sebagai output, yang dapat
langsung mengatur arah putaran. edangkan -$1 dan -$' masukkannya berupa sinyal PU.
-
8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr
7/11
PU atau Pulse Uidth odulation adalah suatu teknik modulasi sinyal dengan mem?ariasikan
lebar pulsanya. !erikut adalah contoh sinyal PU,
alah satu parameter yang perlu diatur pada sinyal PU ini adalah periode sinyal dan lebar
pulsanya. 8ebar pulsa dinyatakan dengan duty cycle yang merupakan persentase dari
perbandingan pulsa on (%on) dengan %total, sehingga Vduty:cycle %on6%totalK1&& (V). Sntuk
mencoba membuat programnya dengan mikrokontroler 7E+ maka dapat dengan mudah
dilakukan menggunakan CodeEision7E+. Contoh yang digunakan dibaah ini adalah dengan
menggunakan 7%mega1* yang dipasang frekuensi clock 11.&
-
8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr
8/11
Tang perlu diubah adalah parameter Clock Ealue 1&.&& kHG, ode Fast PU top &&FFh,
=ut. 7 dan =ut. ! $on. #n?erting. Dengan mengatur Clock Ealue 1&.&& kHG maka periode
timer adalah 161&.&& kHG O'.* u. aksudnya adalah kenaikan register %imer1 yaitu
%C$%1 akan increment (naik satu kali) setiap O'.* u. "arena dipilih nilai top dari timer adalah
&&FFh atau '
-
8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr
9/11
{
// Port D initialization
// Func7=In Func=In Func!="ut Func="ut Func$=In Func%=In Func&=In Func'=In
// tate7= tate= tate!=' tate=' tate$= tate%= tate&= tate'=
P"*D='+'',
DD*D='+FF,
// imer/-ounter & initialization
// -loc. source ystem -loc.
// -loc. value &'01'' .2z
// 3ode Fast P43 to5=''FFh
// "-&6 out5ut on8Inv0
// "-&9 out5ut on8Inv0
// oise -anceler "::
// In5ut -a5ture on Falling ;dge
// imer & "ver:lo< Interru5t "::
// In5ut -a5ture Interru5t "::
// -om5are 6 3atch Interru5t "::
// -om5are 9 3atch Interru5t "::
--*&6='+6&,
--*&9='+'D,-&2='+'',
-&='+'',
I-*&2='+'',
I-*&='+'',
"-*&62='+'',
"-*&6='+'',
"-*&92='+'',
"-*&9='+'',
-
8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr
10/11
%erlihat baha hasil yang diperoleh sesuai perhitungan yang dijelaskan pada paragraf
sebelumnya. Pada program ini motor bergerak pada kecepatan setengahnya karena duty cycle
yang diberikan adalah
-
8/19/2019 Penghitung Kecepatan Motor Dc Menggunakan Optocoupler Dengan Codevision Avr
11/11
http66.saripudin.net6'&1I6&R6pengendalianmotordcmenggunakanpm.html