Forum: Mikrocontroller und Digitale Elektronik PWM Ausgang ist immer konstant


von Schmitti (Gast)


Lesenswert?

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

von STK500-Besitzer (Gast)


Lesenswert?

>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.

von Schmitti (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.