PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Atmega32 Alarmton mit PWM



uC-Anfänger
23.06.2010, 14:29
Hallo,

die Timern 0, im normalen Overflow-/Interupt-Modus und 1 im CTC-Modus habe ich schon in C-programmiert.

Nun brauche ich für eine Anwendung einen Alarmton (ca. 4 kHz) der wiederum mit ca. 0,5 Hz getaktet sein soll, also unterbrochener Piepton. Dafür verwende ich PortA, Pin 6 mit dem Timer 1 im CTC-Modus. der Ton ist unsauber und schwimmt (Jitter-Effekt?).

Nun habe ich was von PWM gelesen, das bedeuten könnte, dass die Frequenz besser steht.
Bisher habe ich um PWM einen Bogen gemacht und brauche Eure Hilfe, deshalb folgende Fragen an das Forum und die Experten:

1. Ist PWM für die Erzeugung solcher Signale besser geeignet, wenn ja, dann
2. Kann mir jemand einen Hinweis auf ein Beispiel mit PWM geben. Im Datenblatt steht zwar die genaue Erklärung der Parameter, aber nicht die Anwendung im Zusammenspiel.

Danke vorab für Eure Unterstützung.

Jaecko
23.06.2010, 14:46
Was genau heisst denn "unsauber"?
Ich hab bei nem AVR ebenfalls 2 Timer zur Erzeugung von Noten eingestellt; Timer 1 erzeugt mir die nötige Frequenz und Timer 0 schaltet den Ton nach der gewünschten Zeit wieder aus. Ergibt absolut saubere Frequenzen.

uC-Anfänger
23.06.2010, 16:10
Der Ton ist etwas dünn und wird in sich noch gepulst durch irgendeine niedrigere Frequenz, so dass es ziemlich und abgehakt klingt.

Muss allerdings dazu sagen, dass in der Anwendung noch eine Auswertung von 32 Leitungen (Mux/Demux) läuft und so wahrscheinlich für die Tonerzeugung keine saubere Frequenz zur Verfügung steht, deshalb der Gedanke mit der PWM.

Gruß

Nachtrag:

Habe soeben in RN-Wissen entdeckt, dass für die Harware-PWM nur ein Pin bei Port B und 3 Pins bei Port D (fest und nicht veränderbar?) verwendet werden können. Ich habe aber nur noch Port A frei.

War's das dann mit PWM für meine Lösung?