24 Februari 2013

DC Motor Speed Control

Berikut tahap-tahap dalam membuat DC Motor Speed Control dengan AVR
Alat-alat yang dibutuhkan adalah sebagai berikut:
ATMEGA-161N4148 —> Driver MotorLed-Bargraph-Green —> Indikator SpeedMotor-DCLangkah selanjutnya adalah melakukan simulasi dengan menggunakan beberapa software pendukung, software yang dibutuhkan adalah:
Proteus(ISIS 7 Professional)Bascom-AVRMari kita mulai untuk melakukan simulasi terlebih dahulu:
Buatlah rangkaian sesuai dengan gambar di bawah ini dengan menggunakan Software Proteus(ISIS 7 Profesional):setelah selesai merangkai gunakan software Bascom-AVR dengan mengetikkan kode sebagai berikut:

$regfile = “m16def.dat”
$crystal = 1000000
‘============================================================================
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Prescale = 1024
Config Portb = Input
Config Portc = Output
Config Porta = Output
‘============================================================================
Dim A As Word , B As Bit
‘============================================================================
Declare Sub Progress(num As Word)
‘============================================================================
A = 100
Pwm1a = A

Portc.0 = 1
Portc.1 = 0
B = 0
‘============================================================================
Do
‘////////////////////////////////////////////////////////////////////////////
If Pinb.0 = 1 Then
A = A + 10
If A >= 250 Then A = 250
Pwm1a = A
Waitms 250
End If
‘////////////////////////////////////////////////////////////////////////////
If Pinb.1 = 1 Then
A = A – 10
If A <= 10 Then A = 10
Pwm1a = A
Waitms 250
End If
'////////////////////////////////////////////////////////////////////////////
If Pinb.2 = 1 Then
If B = 0 Then
B = 1
Portc.0 = 0
Portc.1 = 1
Elseif B = 1 Then
B = 0
Portc.0 = 1
Portc.1 = 0
End If
Waitms 250
End If
'////////////////////////////////////////////////////////////////////////////
Call Progress(a)
'////////////////////////////////////////////////////////////////////////////
Loop
'============================================================================
End
'/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
Sub Progress(num As Word)
If Num < 25 Then
Portc.7 = 1
Portc.6 = 0
Porta = 0
End If
If Num = 25 Then
Portc.6 = 1
Portc.7 = 1
Porta = 0
End If
If Num = 50 Then
Portc.6 = 1
Portc.7 = 1
Porta = &B00000001
End If
If Num = 75 Then
Portc.6 = 1
Portc.7 = 1
Porta = &B00000011
End If
If Num = 100 Then
Portc.6 = 1
Portc.7 = 1
Porta = &B00000111
End If


View the original article here

Ikuti Blog ini

Langganan

Mau dapet Update-an Blog ini lewat e-mail? Masukkin aja alamat Email kamu disini:

Dikirim Oleh FeedBurner