Hallo, irgendwie komme ich mit der Richtund nicht klar.
Machmal habe ich den Eindruck , das ein Motor bremst beim drehen.
Die Drehrichtung stimmt auch nicht.
Der L293d funktioniert.
Motor 4 Volt(3Volt Nennangabe)
Atmega 5 Volt
Kann mir einer mal die Belegung nennen für die unteren Fahrzustände.
Ich verzweifele schon.
Die steuerung
Atmega 32 :
Atmega > L293D(nummer gemäss Anhang)
PD 4 > Pin 1
PD 5 > Pin 9
PC 2/3 > Pin 7/2
PC 4/5 > Pin 10/15
Definierung der Steuerung :
Code:
$regfile = "M32def.dat"
$crystal = 16000000
$hwstack = 32
$swstack = 32
$framesize = 64
$baud = 19200
Declare Sub Robby_vor()
Declare Sub Robby_zurueck()
Declare Sub Robby_links()
Declare Sub Robby_rechts()
Declare Sub Robby_aus()
Declare Sub L293_pin()
Dim A As Byte
Dim B As Byte
Call L293_pin()
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B
Pwm = Clear Down , Prescale = 256
Start Timer1
Wait 1
Call Robby_vor()
Wait 2
Call Robby_aus()
Call Robby_zurueck()
Wait 1
Call Robby_aus()
Call Robby_links()
Wait 1
Call Robby_aus()
Call Robby_rechts()
Wait 1
Call Robby_aus()
End
Sub L293_pin()
Ddrc.2 = 1
Ddrc.3 = 1
Ddrc.4 = 1
Ddrc.5 = 1
Ddrd.4 = 1
Ddrd.5 = 1
End Sub
Sub Robby_vor()
Portc.2 = 1
Portc.3 = 0
Portc.4 = 0
Portc.5 = 1
Portd.4 = 1
Portd.5 = 1
Pwm1a = 200
Pwm1b = 200
End Sub
Sub Robby_zurueck()
Portc.2 = 0
Portc.3 = 1
Portc.4 = 1
Portc.5 = 0
Portd.4 = 1
Portd.5 = 1
Pwm1a = 200
Pwm1b = 200
End Sub
Sub Robby_aus()
Portc.2 = 0
Portc.3 = 0
Portc.4 = 0
Portc.5 = 0
Portd.4 = 0
Portd.5 = 0
Pwm1a = 0
Pwm1b = 0
End Sub
Sub Robby_rechts()
Portc.2 = 0
Portc.3 = 0
Portc.4 = 0
Portc.5 = 1
Portd.4 = 1
Portd.5 = 1
Pwm1a = 200
Pwm1b = 200
End Sub
Sub Robby_links()
Portc.2 = 0
Portc.3 = 1
Portc.4 = 0
Portc.5 = 0
Portd.4 = 1
Portd.5 = 1
Pwm1a = 200
Pwm1b = 200
End Sub
Lesezeichen