Ich möchte zum testen des Chips den Motor einfach mal in eine Richtung laufen lassen, ohne PWM. Ich hab mir mit Hilfe des Wikis folgende (billig) Schaltung gebastelt:
Was ist falsch?
Ich möchte zum testen des Chips den Motor einfach mal in eine Richtung laufen lassen, ohne PWM. Ich hab mir mit Hilfe des Wikis folgende (billig) Schaltung gebastelt:
Was ist falsch?
- die Versorgungsspannung für den Motor auf GND zu legenWas ist falsch?
- die Beschaltung für den Enable Pin wegzulassen
- die Beschaltung für den 2. Eingang wegzulassen
erst mal denke schön - Fragen die sich leider trotzdem noch ergeben:
1: Wo soll ich die Versorgungsspannung sonst anlegen wenn nicht zwischen VCC und GND?
2. Da hasst du Recht, ich habe vergessen den enable pin mit VCC zu verbinden (aber nur in der zeichnung)
3. Die Beschaltung für den 2. Eingang hab ich weggelassen, weil der Motor sich doch drehen soll, wenn ein Eingang auf high ist und einer auf low, also müsste das doch eigentlich IO sein.
Kann mir villeicht jmd. aml eine ähnliche wie die meine Skizze anfertigen, die noch dazu richtig ist?
1. Der Chip hat zwei Pin für Versorgungsspannungen, einer für die Logik, einer für den Motor. Pin 16 ist für die Logik, also 5V, Pin 8 für die Motorspannung.
3. Nicht benutzte Eingänge auf ein eindeutiges Potential legen, nicht offen lassen.
So - Schaltung passt (dannk euch) - Motor läuft
Aber: bevor der Motor anfängt richtig zu laufen "stottert" er einige Sekunden vor sich hin - How come? Liegt das am Programm?Code:$regfile = "attiny13.dat" $crystal = 1200000 Config Portb = Output Config Timer0 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down Portb.3 = 1 Portb.4 = 0 Do Pwm0a = 255 Loop End
Ich muss mich verbessern - außer dem "Gestottere" gibt der Motor gar nichts von sich und hört selbst damit gelegentlich ganz auf.
Falls das hilft:
Der Motor ist ein "gehackter" Modellbauservo für 4,8V die Motorstromquelle ist ein voller 6V Akku und die Schaltspannung sind 4,8V
der Controller ist ein Attiny13 dessen Fusebits auf 9600000/8 eingestellt sind.
Bitte helft mir - ich verzweifle!
(nebenbei - kann man mit einem Controller, der nur einen Timer hat glechzeitig einen PWM Ausgang betreiben und Befehle wie "waitms" benutzen?)
Du hast bei $crystal=12000000 eingestellt, probier mal 1000000.
Wenn du waitms in der main-schleife benutzt sollte es gehen.
das war leider nicht der Fall - das Problem war, dass in den Fusebits tatsächlich 9,6 Mhz und NICHT 9,6/8Mhz eingestellt war. Nachdem ich dies behoben habe läuft der Motror wunderbar. Leider stellt sich mir jedoch ein neues Problem, weil er sich - egal ob ich pwm0a = 0 oder pwm0a = 255 habe - mit der selben Geschwindigkeit dreht. Hat irgendwer darauf 'ne Antwort?
(Es tut mir wirklich Leid euch ständig hiermit auf die nerven zu gehen )
Naja, hauptsache dein Controler versteht dichdas Problem war, dass in den Fusebits tatsächlich 9,6 Mhz und NICHT 9,6Mhz eingestellt war.
Nö, aber einen Frage. An welchen Pin vom Controller hast du den Enable-Pin vom L293D angeschlossen?Leider stellt sich mir jedoch ein neues Problem, weil er sich - egal ob ich pwm0a = 0 oder pwm0a = 255 habe - mit der selben Geschwindigkeit dreht. Hat irgendwer darauf 'ne Antwort?
Ich hab ihn an PB0 angeschlossen.
Lesezeichen