FastPWM Atmega Probleme

Gast #2959284
Lesenswert?
• ▲
▼
Hi,

ich möchte FastPWM auf allen 4 8bit PWM-Ausgängen meines Atmega324p 
(16Mhz) ausgeben. Ich habe leider kein Oszilloskop und möchte daher mit 
einem Multimeter feststellen, ob es funktioniert (Spannung über 
Tiefpass). Allerdings habe ich immer 5.04V -.-

Ich übersehe den Fehler wahrscheinlich...

Hier die Initialisierung, ich variiere OCRnx zwischen 12 und 40 und die 
Interrupts sind mit sei() aktiviert.
1
void pwmInit()
2
{
3

4
  TCCR0B |= (1<<CS02) | (1<<CS00); //Prescaler 1024
5
  TCCR2B |= (1<<CS22) | (1<<CS20); //Prescaler 1024
6

7
  //FastPWM mit OCRnx als Obergrenze
8
  TCCR0A |= (1<<WGM00) | (1<<WGM01);
9
  TCCR0B |= (1<<WGM02);
10
  
11
  TCCR2A |= (1<<WGM20) | (1<<WGM21);
12
  TCCR2B |= (1<<WGM22);
13
  
14
  //nichtinvertierende PWM
15
  TCCR0A |= (1<<COM0A1) | (1<<COM0B1) ;  
16
  TCCR2A |= (1<<COM2A1) | (1<<COM2B1) ;  
17
  
18
  //Minimale Drehzahl
19
  OCR0A = minVelo;
20
  OCR0B = minVelo;  
21
  OCR2A = minVelo;
22
  OCR2B = minVelo;
23

24
  //Ausgänge festlegen
25
  DDRB |= (1<<PB3) | (1<< PB4);
26
  DDRD |= (1<<PD6) | (1<< PD7);
27

28
}

Vielen Dank
Gast #2959527
Lesenswert?
• ▲
▼
ich glaube ich habe eine falsche Auffassung von FastPWM bzw es für 
meinen Anwenungszweck falsch konfiguriert.

Ich will eine Periodendauer von ungefähr 20ms und die soll fest sein. 
Darin soll am Anfang der Pegel auf high sein (für 1-5ms über OCRnx) und 
dann und bis zum Ende auf low gehen.

Kann mir dazu jemand was sagen?
Gast #2959535
Lesenswert?
• ▲
▼
Das kann dann musst du das ICR als Top nehmen, damit stellst du deine 
Periode ein. Mit dem OCRxx Registern bestimmst du dann den Tastgrad, 
natürlich bezogen auf die ICR Register (Ich weiß das das Register schon 
in ICR mit enthalten ist)

Das Datenblatt hilft weiter
Gast #2959579
Lesenswert?
• ▲
▼
ICR gibt es bei den 8bit Timern nicht, aber ich hatte ihn falsch 
konfiguriert. Ich benutze nun den TOP-Wert für den Überlauf und alles 
funktioniert wie gewollt.

Vielen Dank für deine Hilfe und den passenden Tipp

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.