Archiv verlassen und diese Seite im Standarddesign anzeigen : Ansteuerung Getriebemotor
](*,)
Ich bekomme einfach den getriebemotor nicht zum laufen
](*,)
Das kann doch nicht so schwer sein
was ist denn daran falsch
Declare Sub Motortest()
$regfile = "m32def.dat"
Config Pinc.6 = Output
Config Pinc.7 = Output
Config Pind.4 = Output
Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pind.5 = Output
Sub Motortest()
Portc.6 = 1
Portc.7 = 0
Portd.4 = 1
Portb.0 = 1
Portb.1 = 0
Portd.5 = 1
End Sub
Mike3012
16.05.2006, 20:26
Declare Sub Motortest()
$regfile = "m32def.dat"
Config Pinc.6 = Output
Config Pinc.7 = Output
Config Pind.4 = Output
Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pind.5 = Output
Header --> richtig ;)
Sub Motortest()
Portc.6 = 1
Portc.7 = 0
Portd.4 = 1
Portb.0 = 1
Portb.1 = 0
Portd.5 = 1
End Sub
Sub --> richtig ;)
Es gibt keinen Fehler, du hast nur vergessen, den Sub aufzurufen. Versuche es damit:
Declare Sub Motortest()
$regfile = "m32def.dat"
Config Pinc.6 = Output
Config Pinc.7 = Output
Config Pind.4 = Output
Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pind.5 = Output
Call Motortest() '### vergessen :P ###
Portc.6 = 0 'vergiss nicht, die Motoren wieder auf
Portc.7 = 0 '0 zu schalten, damit die Restspannung
Portc.4 = 0 'rausgeht (hat schon akkus leergemacht)
Portb.0 = 0
Portb.1 = 0
Portd.5 = 0
Sub Motortest()
Portc.6 = 1
Portc.7 = 0
Portd.4 = 1
Portb.0 = 1
Portb.1 = 0
Portd.5 = 1
End Sub
Ich hoffe ich konnte dir helfen, gruß Mike
wobei man nach dem Aufruf noch ne gewisse Pause einfügen sollte, ansonsten werden dei Motoren sofort wieder abgeschaltet... und wenn man schon mal dabei ist, kann man ja auch gleich "Sub MotorenAus" einbauen...
Dankeschön für die Antwort werde es mal testen ob es läuft
](*,) ](*,)
klappt wieder nicht
komischerweise funktioniert die steuerung über PWM
aber die simple direkte ansteuerung nicht ist was kaputt??
bitte helfen
Declare Sub Motortest()
$regfile = "m32def.dat"
Config Pinc.6 = Output
Config Pinc.7 = Output
Config Pind.4 = Output
Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pind.5 = Output
Call Motortest()
wait 40
Portc.6 = 0
Portc.7 = 0
Portc.4 = 0
Portb.0 = 0
Portb.1 = 0
Portd.5 = 0
Sub Motortest()
Portc.6 = 1
Portc.7 = 0
Portd.4 = 1
Portb.0 = 1
Portb.1 = 0
Portd.5 = 1
End Sub
Kommentier mal rein, an welchem Pin welcher Anschluss des Motortreibers angeschlossen ist...
Declare Sub Motortest()
$regfile = "m32def.dat"
Config Pinc.6 = Output Linker Motor Kanal 1
Config Pinc.7 = Output Linker Motor Kanal 2
Config Pind.4 = Output Linker Motor PWM
Config Pinb.0 = Output Linker Motor Kanal
Config Pinb.1 = Output Linker Motor Kanal
Config Pind.5 = Output Linker Motor PWM
Call Motortest()
wait 40
Portc.6 = 0 Richtung
Portc.7 = 0 Richtung
Portc.4 = 0 Ein/Aus
Portb.0 = 0 Richtung
Portb.1 = 0 Richtung
Portd.5 = 0 Ein/Aus
Sub Motortest()
Portc.6 = 1 Richtung
Portc.7 = 0 Richtung
Portd.4 = 1 Ein/Aus
Portb.0 = 1 Richtung
Portb.1 = 0 Richtung
Portd.5 = 1 Ein/Aus
End Sub
Dieses funktioniert, aber die kanäle sind doch gleich, beim oberen liegt keine spannung an der motoren an
$regfile = "m32def.dat"
Dim I As Word
$crystal = 8000000 'Quarzfrequenz
Dim Geschwindigkeitlinks As Word
Dim Geschwindigkeitrechts As Word
'Ports für linken Motor
Config Pinc.6 = Output 'Linker Motor Kanal 1
Config Pinc.7 = Output 'Linker Motor Kanal 2
Config Pind.4 = Output 'Linker Motor PWM
'Ports für rechten Motor
Config Pinb.0 = Output 'Rechter Motor Kanal 1
Config Pinb.1 = Output 'Rechter Motor Kanal 2
Config Pind.5 = Output 'Rechter Motor PWM
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Geschwindigkeitlinks = 50
Geschwindigkeitrechts = 2900
Pwm1a = Geschwindigkeitrechts
Pwm1b = Geschwindigkeitlinks
Tccr1b = Tccr1b Or &H02 'Prescaler = 8
'Linker Motor ein
Portc.6 = 1 'bestimmt Richtung
Portc.7 = 0 'bestimmt Richtung
Portd.4 = 1 'Linker Motor EIN
'Rechter Motor ein
Portb.0 = 1 'bestimmt Richtung rechter Motor
Portb.1 = 0 'bestimmt Richtung rechter Motor
Portd.5 = 1 'rechter Motor EIN
I = 0
Do
Pwm1a = I
Pwm1b = I
Waitms 40
I = I + 5
Loop Until I > 1023
Wait 1
Do
Pwm1a = I
Pwm1b = I
Waitms 40
I = I - 5
Loop Until I < 1
Pwm1a = 0 'Linker Motor aus
Pwm1b = 0 'rechter Motor aus
End
L293D???
Versuch mal, den PWM-Eingang auf 0 statt auf 1 zu schalten. Ich hatte auch schon mal mit nem L293D zu kämpfen, bis ich rausgefunden habe, dass bei meiner Version der Enable-Pin bei 0 den Treiber einschaltete. Das PWM-Signal im zweiten Programm ist anscheinedn invertiert, somit gleich sich der Effekt aus...
Mike3012
17.05.2006, 13:39
Dann steuer das ganze eben über PWM an, das mach ich auch. Damit komm ich ganz gut zurecht.
Es ist das rn board 1.22
da ist der l297 drin
funktioniert leider auch nicht
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.