-
-
Atmega32 Alarmton mit PWM
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.
-
Erfahrener Benutzer
Robotik Einstein
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.
-
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?
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen