mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PWM Ausgang ist immer konstant


Autor: Schmitti (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Schmitti (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.