Gast
#6950260
Guten Morgen, für eine Schrittmotor Endstufe möchte ich ein PWM Signal erzeugen. Da ich noch viel ausprobieren und später darüber die Rampen erzeugen möchte, wäre eine schnelle Möglichkeit das Puls/Pause Verhältnis sowie die Periodendauer anzupassen hilfreich. Dazu kam mir die Idee, das mit Hilfe von Timer1 im CTC Modus und der beiden Interrupts von COMP1A und COMP1B zu realisieren. Wenn ich das Datenblatt richtig verstanden habe, setzt nur ein Compare Match von COMPA das Zählregister auf Null(mit OCR1A als TOP), die anderen OutputCompare Units lassen das Zählregister in Ruhe. Dann gebe ich mit OCR1A die Periodendauer an und mit OCR1B die Pulslänge. Der Ablauf sieht dann folgendermaßen aus: - Bei Timerstart einmal den PWM Ausgang händisch auf 1 setzen - der zuerst auftretende CompB Match bzw der Interrupt löscht nur den PWM Ausgang - danach wird der TOP Wert erreicht und die ISR von CompA setzt den Ausgang wieder auf 1. TCNT1 wird automatisch auf 0 gesetzt. Kann das theoretisch funktionieren? Die PWM Generierung funktioniert noch nicht richtig und bevor ich stundenlang einen Fehler im Code suche, wäre es hilfreich zu wissen ob das überhaupt funktionieren kann. Danke im Vorraus Andre