Also, ich habe den Code noch mal ein bisschen abgeändert,doch bekomme ich den Motor nur an.
Mein Problem ist einfach ,dass ich den Motor dann nicht mehr aus bekomme.
Könntet ihr mir bitte bei dieser Anfängerfrage helfen??
Hallo,
ich habe ein rp5-Chassis,eine RN-Control und Bascom. Nun wollte ich die Motoren mit dem integrierten L293D ansteuern.
Nachdem ich den Test-Code von der Anleitung erfolgreich ausprobiert habe, wollte ich mal selber einen schreiben.
Doch meiner funktioniert nicht.Das Fahrzeug soll kurz fahren und dann wieder aufhören(und dann wieder fahren ...usw.).
Wisst ihr vielleicht den Fehler ?
Also, ich habe den Code noch mal ein bisschen abgeändert,doch bekomme ich den Motor nur an.
Mein Problem ist einfach ,dass ich den Motor dann nicht mehr aus bekomme.
Könntet ihr mir bitte bei dieser Anfängerfrage helfen??
Aber sicher doch.
Zuerst: Die Idee ist genial, statt dem *.bas-File Screenshots aus der IDE erstellen, beschneiden und hochladen! Du hast dir damit eine Menge Arbeit gemacht. Im Ernst, lade das nächste mal einfach das File direkt hoch (ja, das geht hier im RN). Das hat auch den Vorteil, dass man ihn einfach selbst testen und debuggen kann. So müsste man den Code abtippen, was wohl kaum jemand machen wird.
Ich habe mir den Code jetzt nicht genau angesehen, aber eines ist mir sofort ins Auge gesprungen: Ausgänge werden als Portx.y deklariert, nur Eingänge mit Pinx.y. Lustigerweise hast du Portd.7 richtig als Ausgang deklariert, die restlichen Ausgänge nicht. Das solltest du als erstes mal ändern.
Wenn du den Code direkt als File hochlädst, könnte ich ihn selbst im Simulator ansehen.
Grüße
Thomas
Hier mal der neue Code (Jetzt funktioniert er endlich).Ich habe statt Pwm = 0 jetzt einfach mal Pwm = 900 gesetzt.
Er summt zwar dann noch ,aber bleibt wie gewünscht stehen.
Vielleicht kannst du ja noch Verbesserungen vornehmen??
Den Prescaler kannst du auch so setzen, was ich wesentlich übersichtlicher finde.
Wenn du PWM = 1024 setzt wird auch das Summen aufhören.Code:Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down, Prescaler = 8
Das es jetzt geht, ist die eine Sache - aber es wäre für dich auch wichtig zu wissen, warum.
Grüße
Thomas
Danke für die Bestätigung.
Da haste recht.Kannst du mir die Antwort darauf geben??Das es jetzt geht, ist die eine Sache - aber es wäre für dich auch wichtig zu wissen, warum.
Und :Warum funktioniert Pwm = 0 nicht ??
Hallo,
vermutlich weil der L293D das Signal invertiert.Setze die Timer config so an:
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up, Prescaler = 8
sollte dein Motor auch bei PWM = 0 zum stehen kommen und bei PWM = 1023 seine maximale Drehzahl haben.
viele Grüße
Geändert von Leon3770 (24.12.2012 um 13:35 Uhr)
...und Frohe Weihnachten Alle zusammen.
Lesezeichen