PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Drehrichtung stimmt nicht beim L293d



funkheld
04.09.2010, 10:47
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 :



$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

TobiKa
04.09.2010, 14:51
Wenn sich ein Motor falsch herum dreht, dann kannst du einfach aus A B machen und umgekehrt. Oder halt den "falsch" drehenden Motor umpolen.