verstehe, danke
you made my day![]()
verstehe, danke
you made my day![]()
Ich stehe natürlich gleich vor dem nächsten Problem...
Jeder Motor lässt sich einzeln ansteuern, aber nicht beide zusammen. Warum?
Code:$programmer = 12 $regfile = "m32def.dat" $crystal = 16000000 Config Portd.4 = Output 'PWM Motor 1 Config Portd.5 = Output 'PWM Motor 2 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1 Config PINB.0 = Output ' Motor 1 in 1 Config PINB.1 = Output ' Motor 1 in 2 Config PINC.6 = Output ' Motor 2 in 1 Config PINC.7 = Output ' Motor 2 in 2 PORTB.0 = 1 ' Richtung vor PORTB.1 = 0 ' Richtung zurück PORTC.6 = 1 PORTC.7 = 0 PORTD.5 = 1 ' GEHT Pwm1a = 127 Pwm1b = 0 Waitms 400 'GEHT Pwm1a = 0 Pwm1b = 127 Waitms 400 ' GEHT NICHT wenn beide an sind??? Pwm1a = 127 Pwm1b = 127 Waitms 400 'GEHT natürich Pwm1a = 0 Pwm1b = 0 End
Nach stundenlanger Suche hab ich's natürlich rausgefunden kurz nachdem ich hier im Forum wieder gefragt habe...
Der Prescaler muss auf 8, dann gehen beide.
Ich hab zwar nicht verstanden, was der Prescaler macht (die Dokumentation an der Stelle leuchtet mir noch nicht ein). Aber falls mal jemand das Selbe Problem hat...
Der Timer wird vom Prozessortakt versorgt. Der Prescaler ist sozusagen ein Taktteiler, der diesen Prozessortakt um bestimmte, einstellbare Faktoren herunterteilt. Wenn du also einen Prozessortakt von 1 Mhz benutzt und den Prescaler auf 8 stellst, wird der Timer nur noch mit 125 khz versorgt, also um den Faktor 8 langsamer. Alles klar?![]()
Grüße
Thomas
Danke Thomas, das bringt etwas Licht in's Dunkle. Und wie MagicWSmoke mir noch mailte, scheinen meine Motoren wohl beim Prescaler 1 Probleme gehabt zu haben. Das die damit nicht umgehen können, hatte ich mir bislang nicht vorstellen können. Aber jetzt wo ich es weiss, kann ich ja damit umgehen und der Roboter fährt zumindest wieder. Weiter gehts also ...
Danke an Alle die geholfen haben in den schweren Stunden)
Lesezeichen