Hallo Leute, Ich möchte am ATmega16 mit L293D den Timer1 dazu verwenden eine Motor mit PWM zu steuern. Timer1 deswegen da dort zwei Ausgänge vorhanden sind (für zweiten Motor). U = 12V Für mich in Frage kommt also Mode 15. Bei TCNT1=BOTTOM soll also der OCx auf HIGH gesetzt werden. Bei Erreichen von OCR1A, den ich im Programmfluss verändere, wird TOP erreicht und damit OCx auf LOW geschalt. Von da an läuft der Timer noch bis zum Ende und bleibt dabei LOW bis es von vorn beginnt - so mein Verständnis von der PWM. Bei Mode 15 habe ich im Datenblatt kein MAX Value gefunden - heißt das also MAX=65535 ?? Das ist ein wenig groß für meinen Zweck, aber schenbar kann ich es nicht umgehen, richtig? Ich habe Probleme den Prescaler N und TOP gleichzeitig herauszufinden. Für dessen Berechnung mus sich ja die PWM Frequenz wissen, ich habe mal vernommen um die 2 - 15 kHz seien gut. D.h. bei Prescaler N=1 bekomme ich bei TOP = 255 einen Wert um 15kHz. Aber mein Motor läuft konstant mit 12V (Multimeter Angabe). Was läuft falsch ? Ist der TOP Wert zu klein? Danke vielmals für Hilfe. Alex
>Für mich in Frage kommt also Mode 15. Bei TCNT1=BOTTOM soll also der OCx >auf HIGH gesetzt werden. Bei Erreichen von OCR1A, den ich im >Programmfluss verändere, wird TOP erreicht und damit OCx auf LOW >geschalt. Von da an läuft der Timer noch bis zum Ende und bleibt dabei >LOW bis es von vorn beginnt - so mein Verständnis von der PWM. Bei Fast PWM fängt der Timer bei 0 an zu zählen und wird beim Erreichen des Werts des OCR1A-Registers zurückgesetzt. Damit wird OCR1A als TOP benutzt, der die Wiederholfrequenz festlegt. >Bei Mode 15 habe ich im Datenblatt kein MAX Value gefunden - heißt das >also MAX=65535 ?? s.o. Die Pins reagieren (vermutlich) auf den anderen - OCR1B - Wert. Wenn man ICR als TOP-Register nimmt, kann man beide OCR1-Pinpaare für die PWM benutzen.
Ich habe das Teil jetzt mit dem PWM im 8-Bit modus am laufen (Mode 5). Da verstehe ich aber das Datenblatt nicht. Es steht dort, dass TOP = 0xFF wäre. Das ist doch aber falsch. MAX ist 0xFF und TOP ist mein OCR1x Wert.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.