- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 9 von 9

Thema: PWM mit Timervorgabewert

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    04.07.2012
    Beiträge
    201

    Frage PWM mit Timervorgabewert

    Hallo,

    ich habe einen Atmega8 mit 16MHz. Ich möchte über eine PWM die Spannung einer Hintergrundbeleuchtung einstellen.
    Wenn ich nicht Falsch liege, ist aber die schnellst mögliche Frequenz bei 16MHz, einen Prescaler von 1 und einen 8bit Timer bei 31250Hz.

    Also: (16000000Hz/1) / (256*2) = 31,250 kHz

    Ist das die schnellst mögliche Frequenz die ich mittels PWM erzeugen kann?
    Kann ich bei PWM auch eine Art Timervorgabewert einbauen? Wenn ja, wie kann ich das in Bascom einbauen?

    Danke für Eure Hilfe

    mfG
    Mario

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.12.2008
    Beiträge
    1.427
    aus welchem grund möchtest du die hintergrundhelligkeit mehr als 30000 mal in der Sekunde ändern?
    was gibt es noch zu sagen

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    04.07.2012
    Beiträge
    201
    Hallo Thomas,

    also ich möchte die Helligkeit nicht 30000/sek ändern.

    Sondern via PWM die Helligkeit der Hintergrundbeleuchtung eines S65 GLCD's einstellen. Also z.B. Am Tag heller und in der Nacht dunkler machen.
    z.B. so: (Schaltung ganz unten) http://www.superkranz.de/christian/S...yHardware.html

    Nur ist mir nicht klar wie ich mit 16MHz Systemtakt 62,5kHz PWM erzeugen kann.

    mfG
    Mario

    Edit: Ich hab gerade noch was gefunden, ich muß wohl den Atmega8 im Register auf Fast PWM umstellen. Muß ich jetzt erstmal das Datenblatt wälzen, wie das wieder funktioniert...
    Geändert von dj_cyborg (11.08.2013 um 20:05 Uhr)

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Nur ist mir nicht klar wie ich mit 16MHz Systemtakt 62,5kHz PWM erzeugen kann.
    "Fast PWM" wäre da schon ein guter Ansatz - aber mir ist nicht klar, weshalb Du so eine hohe PWM-Frequenz brauchst, wenn´s nur darum geht, die Hintergrundhelligkeit eines Displays zu ändern. Das menschliche Auge ist so träge, dass es schon bei ca. 30 Hz keine einzelnen Ein- und Aus-Phasen einer Lichtquelle mehr voneinander trennen kann, sondern die Lichtquelle als mehr oder weniger hell leuchtend wahrnimmt (in Abhängigkeit des Ein-Aus-Verhältnisses). Mit 50 oder 100 Hz wärst Du schon auf der absolut sichern Seite! Wie kommst Du denn auf ausgerechnet 62,5 KHz?

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    04.07.2012
    Beiträge
    201
    Hallo Sauerbruch,

    Danke für deine Antwort.

    Die Displayhintergrundbeleuchtung läuft etwa mit 10,5V und 20-30mA. Die PWM pumpt mir die 5V Betriebsspannung über eine Induktivität in die Höhe. (siehe Schaltung im o.g. Link) Die 31,25kHz reichen aber nur für ca. 10V, 15mA. Da geht noch was!

    Für eine normale LED reicht die "normale" PWM schon aus aber hier geht es um eine Spannungserhöhung.

    Die Frage müsste jetzt eigentlich heißen: Wie funktioniert der "FAST PWM Modus" in Bascom?

    tausend Dank

    mfG
    Mario

    Achso: Die 62,5K stehen oben im Schaltplan, da ich eine 1mH Induktivität verwende wird meine optimale Frequenz anders sein. Aber um das zu testen müßte ich erst mal in diesem Bereich der PWM kommen.

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Okay - es geht Dir also gar nicht um ein variables Pulsweitenverhältnis, sondern Du bräuchtest eher ein Rechtecksignal mit 1:1-Tastverhältnis, aber variabler Frequenz - richtig?

    Fast-PWM ist ja fast das gleiche wie "normales" PWM, nur dass der Zähler halt von 255 nicht wieder rückwärts runterzählt, sondern direkt auf auf 0 gesetzt wird. Die Frequenz des PWM-Signals ist daher doppelt so hoch wie bei "normalem" PWM (Taktfrequenz / (Prescaler * 256)). Mit dem Wert im Output-Compare-Register (OCR) kann dann das Impuls-Pausen-Verhältnis eingestellt werden.

    Für Deine "Pumpe" wäre aber vielleicht der "CTC"-Modus das richtige: CTC heißt Clear Timer on Compare match - und das sagt eigentlich schon alles aus: Der Counter zählt so lange hoch, bis er den Wert im OCR-Register erreicht hat. Ist dies der Fall, wird der entsprechende Ausgang getoggelt und der Timer auf 0 resettet. Du bekommst also ein Rechtecksignal, das immer ein konstantes Tastverhältnis von 1:1 hat (weil´s ja durch Toggeln des Ausgangspins entsteht), aber eine sehr variable Frequenz. Je niedriger der Wert im OCR-Register ist, umso häufiger wird der Ausgang pro Zeiteinheit getoggelt. Eine Formel gibt es auch dazu: f = Taktfrequenz / (2*Prescaler*(OCR + 1)). Bei einem Prescaler von 1 könntest Du also Ausgangsfrequenzen zwischen 8 MHz (OCR=0) und 31,25 KHz (OCR=255) erzeugen. Auf Seite 111 des Datenblattes ist ein Diagramm, das mehr sagt als tausend Worte.

    PWM-Geschichten mit Bascom zu programmieren fand ich immer etwas mühsam und undurchschaubar . Wenn Du das Register TCCR2 selber setzt weißt Du wenigstens, dass alles so ist wie es sein soll. Für Timer2 im CTC-Modus müssten die Bits WGM21 und WGM20 auf 1 und 0 gesetzt werden (CTC-Modus), die Bits COM21 und COM20 auf 0 und 1 ("Toggle OC2 on compare match"), und die Bits CS22, CS21 und CS20 auf 0, 0 und 1 (prescaler = 1). Das Register im Ganzen muss also &B00011001 enthalten - dann sollte es klappen, wenn Pin P.3 auch als Ausgang konfiguriert ist.

    Ich hoffe, das war jetzt nicht zu viel verwirrende Informationen - andernfalls frag´ einfach nochmal nach!

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 29.06.2012, 17:20
  2. Software PWM geht mit AT90S2313 und mit ATtiny2313 nicht???
    Von TobiasBlome im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 23.10.2006, 20:21
  3. Antworten: 7
    Letzter Beitrag: 22.02.2005, 17:15
  4. [ERLEDIGT] PWM für Servo mit eingebautem PWM gen. (Atmel 2313)
    Von Philipp_c im Forum AVR Hardwarethemen
    Antworten: 11
    Letzter Beitrag: 29.09.2004, 00:45
  5. [ERLEDIGT] DC-Motorregler mit 1,8kHz PWM mit dem Attiny15L. Wie?
    Von Andi170778 im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 08.04.2004, 09:44

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests