Translate

Membuat Alat Pengukur Kecepatan Putaran Motor DC (RPM)

Membuat Alat Pengukur Kecepatan Putaran Motor DC (RPM)


             Malam hari yang cerah ditemani nyamuk2 genit, kali ini saya akan menjelaskan mengenai bagaimana cara membuat alat yang digunakan untuk mengetahui kecepatan putaran motor atau RPM meter sederhana menggunakan mikrokontroller ATMega16 dan Crystal 12 Mhz, prinsip kerjanya yaitu terdapat sebuah optocoupler , encoder dan motor dc, kemudian motor akan berputar yang mana juga akan memutarkan encoder, dari encoder masuk ke optocoupler sehingga data yang dihasilkan adalah berupa data high dan low (nilai 1 dan nilai 0). Nilai 0 artinya tegangan kurang dari 2,5 v dan jika lebih dari 2,5 v akan bernilai high. berikut adalah penjelasan program dan skemanya.



a. Minimum System





b. Motor DC dan Encoder





c. Program Bascom AVR

$regfile = "m16def.dat"
$crystal = 12000000

Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2
Config Lcdpin = Pin , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5
Config Lcd = 16 * 2

'setting pwm
Config Timer1 = Pwm , Pwm = 8 , Prescale = 64 , Compare A Pwm = Clear Up
Config Timer0 = Timer , Prescale = 256

Ddrb.0 = 1
Ddrb.1 = 1

Cls
Cursor Off


'=========== set counter ==========

Ch Alias Pind.2

Config Pind.2 = Output
Config Ch = Input
Config Int0 = Falling

Const Debouncetime = 1

Dim Wtime As Byte
Dim Encounter As Integer
Dim Rpm As Integer
Dim Detak As Byte
Dim Detik1 As Integer
Dim Detik As Byte


Set Ch

On Int0 Getencoder
On Ovf0 Int_timer0

Wtime = 100
Encounter = 0

Enable Interrupts
Enable Int0
Enable Timer0

'=================================

Do

Portb.0 = 0
Portb.1 = 1


Pwm1a = 200

Upperline
Lcd "Lubang = " ; Encounter ; "  " ; Detik

Lowerline
Lcd "RPM = " ; Rpm

Loop

Getencoder:
  Waitms Debouncetime
  If Ch = 0 Then
     Incr Encounter

  End If
  Gifr = 64
Return

Int_timer0:
Incr Detak

If Detak > 0 Then
Detak = 0
Incr Detik1
End If

'nilai 197 adalah nilai counter untuk mencapai satu detik

If Detik1 > 197 Then
Detik1 = 0

Incr Detik

'mengubah ke RPM
'dikalikan 60 untuk mendapatkan nilai per menit
'dibagi 20 yaitu lubang encoder yang dipakai

Rpm = Encounter * 60
Rpm = Rpm / 20
Encounter = 0

End If

Return





d. VIDEO HASILNYA
 




 

No comments:

Post a Comment