@jpitsche: Pwm soll also am Portd.2 ausgegeben werden. (entspricht StatusLed rot)Zitat von Dani-Bruchflieger
@asuromatze
wenn du Bascom kannst, kann ich dir ein Beispielprogramm posten. - ich muß es aber auch erstmal noch etwas anpassen, damit es auf dem Asuro laufen kann - dazu braucht man einen freien Timer
bsp Timer0:
1. Timer so configurieren, daß er recht langsam läuft. möglichst so daß 255 (12Zählschritte ca. 1ms dauern. (der Servoimpuls soll zwischen 1,0 und 2,0 ms liegen auf jeden fall sollte 128 (64) die Mittelstellung sein! -> timer0 muß ISR 2 mal anlaufen pro servo, dann kommt das nächste dran bzw. beginnt die Pause die zw. 10 und 20 ms dauern soll.)
2. Die ISR des Timers
Zuerst wird eine Bytevariable um 1 erhöht. (zählt Ansprünger der ISR in der Schleife.
Wenn Zähler =1 dann Timer mit Servosollwert vorladen (0(0)=2ms 128(64)=1,5ms 255(12=1ms)
Beim 2.mal den Port des Servos auf 0 setzen. (Pause startet)
Frühestens bei Zähler = 13 (spätestens bei 22) den Zähler auf 0 setzen und den Servoport einschalten.
Das ganze sind dann meherere If then Anweisungen, die intelligent verschachtelt werden müssen. zumal bei 8MHz kein Prescaler genau auf 1ms für 256 Schritte kommt - es muß immer etwas angepaßt werden, daß man grundsätzlich den Timer mit einem Grundwert vorlädt bei jedem Durchgang, aber beim 2.mal den Grundwert + den Servowert.
Normalerweise arbeite ich mit 7Bit Auflösung (0bis 127 mit 64=Mittelstellung) das ist genau genug. Hab mir damals eine Excel-Tabelle gemacht, wo ich mit Prescalern und vorladungen der Timer rumspielen konnte für jede Quartzfrequenz, bis ich die passende Konfiguration gefunden hatte...
Probier mal etwas rum - ich denke mal, du wirst eine gute Lösung finden. Kleiner Tipp noch: in der Abteilung Elektronik habe ich im Fred "Rechnen mit Bascom" ein Programm gepostet, daß an einem Mega8 mit 8MHz 5 Servos am Portb.0 ... b.4 per Timer1 so steuert, wie es per Potis an den Ports c.1 ... c.5 vorgegeben wurde. Allerdings ich habe mit C null Ahnung und kann nur erklären wie mans in Bascom umsetzen kann.
Lesezeichen