Forum: Mikrocontroller und Digitale Elektronik Töne erzeugen mit µC


von Gerhard (Gast)


Lesenswert?

Kurze Frage: Ich möchte für ein Gehör-Tester (nichts seriöses, nur zum 
Spielen) verschiedene Piep-Töne in verschiedenen Lautstärken erzeugen.

Wie ich Rechtecksignale verschiedener Frequenz auf zwei "Kanälen" 
(GPIOs) ausgebe und für einen Lautsprecher verstärke, ist soweit klar. 
Tiefpass und Leistungs-OPV habe ich auf einer Lochrasterplatine schon 
zum Laufen gebracht.

Mich würde aber interessieren, ob ich auch verschiedene Lautstärken 
erzielen kann, ohne dass ich das extern in Hardware aufbauen. Man müsste 
ja eigentlich mit einer hohen PWM-Frequenz und einer im Speicher 
abgelegten Sinus-Funktion weiterkommen, oder?

Ist ein Attiny dafür schnell genug? Was meint ihr?

von Karl (Gast)


Lesenswert?

Die gängigen ATTinys haben zwischen 8 und 20 Beinchen.
Entsprechend also 5 bis an die 17 GPIOs.

Wenns nur Rechteck sein soll - ist von 20 Hz bis 20 kHz
die Geschwindigkeit kein Problem.

Setzt man den Sinus aus einer Tabelle zusammen,
kommt die Frage PWM oder R2R-DAC?

Sollte bei 8 MHz auch hinzukriegen sein.

Wie fein soll die Lautstärke regulierbar sein?

Fang einfach mal mit einigen Enwürfen z.B mit einem
Tiny24 an - und frag damit noch mal nach.

von Matthias (Gast)


Lesenswert?

Gerhard schrieb:
> Tiefpass und Leistungs-OPV habe ich auf einer Lochrasterplatine schon
> zum Laufen gebracht.

Ein Gehörtester umfaßt gemeinhin Frequenzen bis zu einigen Kilohertz, 
die dein Tiefpaß dann noch durchlassen muß. Für tiefe Frequenzen 
bedeutet das aber, dass noch fleißig Oberwellen durchkommen, es sei 
denn, der Tiefpaß wird mit der Generatorfrequenz zumindest grob 
nachgeführt.

Einfacher ist es, direkt ausreichend gute Sinussignale z.B. mit DDS zu 
erzeugen.
http://www.myplace.nu/avr/minidds/index.htm

von J. S. (engineer) Benutzerseite


Lesenswert?

Einen DDS Chip braucht man nicht unbedingt, wenn man sich auf Frequenzen 
begrenzt, die der Prozessor noch packt. Das ist ja so wenig nicht. Eine 
einfache DDS kommt mit 4 Punkten aus, gemappt auf 16 gefiltert auf 8 
Bit.

http://www.mikrocontroller.net/articles/Digitale_Sinusfunktion 
http://www.mikrocontroller.net/articles/Digitale_Interpolation_bei_DA-Wandlung

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.