www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Ton mit PIC erzeugen


Autor: Claudio A. (claudio_a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Möchte gern simple Töne mit einem PIC erzeugen.

Wenn ich es mal ganz banal dastelle:

- mein Programm schaltet einen Output PIN 400 mal pro sekunde an und aus
- dadurch erzeuge ich eine Rechteckschwingung von 400Hz
- diese gebe ich an einen Verstärker weiter

das wars schon?

Der PIC läuft mit 5V....

Muss ich noch irgendetwas tun?

Autor: Fuerst-Rene (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
JA !!
Rechteck + Lautsprecher = Rauchwolken aus der Spule des Lautsprechers.

Du mußt auf alle fälle mit ner Spule und nem Kondensator aus dem 
Rechteck einen annähernden Sinus machen.

Wie erklären die anderen.

Autor: vogler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fuerst-Rene schrieb:
> Du mußt auf alle fälle mit ner Spule und nem Kondensator aus dem
> Rechteck einen annähernden Sinus machen.

Weiss nicht, ob es ein sinus sein muss, du kannst auch mit zwei Cs und 
zwei Rs einen tiefpass 2. ordnung aufbauen, um den oberwellensalat 
abzuschneiden.

Autor: Claudio A. (claudio_a)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
OK,
dann habe ich da ja richtig gerochen,
sooo einfach ist es dann wohl doch nicht....

Hat jemand einen Link oder ähnlich mit weiteren Hinweisen?

habe folgendes gefunden:

http://sbarth.dyndns.org/seiten/rahmen.php?nav=klingel

Könnte mir jemand die Schaltung erklären?
Da ist ein PIC, ein R und ein C.....

Autor: Fuerst-Rene (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Wiederstand ist zur strombegrenzung und filtereinstellung.
Der Kondensator macht das Ganze nutzbar =
  ___  ___      _     
  |  |  |    -> / \   / \
__|  |__|          \_/   \_

Also pures Rechteck wird geglättet und klingt nach was.
Parallel dazu noch nen Kleinen Kondensator (1µF) an den Lautsprecher und 
besser wirds.

Beim eingang an den Verstärker wirds komplizierter da dieser erstmal nur 
1Vss schafft und 10KOhm hat.

Gruß

Autor: heinzhorst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es wirklich nur simple Töne sind, wie z.B nen paar Pieptöne zur 
Signalisierung, dann kannst du auch nen Piezo-Schallwandler nehmen:

http://www.reichelt.de/Alarmmelder/SUMMER-EPM-121/...

Kann man aber auch aus jedem x-beliebigen digitalen Küchenwecker 
ausschlachten.

Den kannst du auch mit Rechteck direkt mit dem Portpin des PIC 
ansteuern, ohne Verstärker. So'n Teil kann auch schon ganz gut Krach 
machen. Nehme mal an, der 8-Pinner auf dem Foto ist ein PIC12. Da musst 
du das Rechtecksignal in Software machen, wie du bereits oben 
beschrieben hast. Wenn du nen Größeren nimmst, dann kannst du ihn sehr 
leicht mit dem (E)CCP-Modul über PWM ansteuern.

Autor: heinzhorst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag: Habe gerade auf der verlinkten Seite gesehen, dass es sich um 
einen PIC12F683 handelt. Der auch auch schon ein CCP-Modul und kann die 
PWM in Hardware machen.

Autor: Schimmelreiter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fuerst-Rene schrieb:
> Rechteck + Lautsprecher = Rauchwolken aus der Spule des Lautsprechers.
>
> Du mußt auf alle fälle mit ner Spule und nem Kondensator aus dem
> Rechteck einen annähernden Sinus machen.

Das ist Unsinn. Ein Lautsprecher 'verträgt' alle Kurvenbformen, auch den 
Rechteck.
Es ist nur eine Frage der Höhe der Amplitude.

Autor: Claudio A. (claudio_a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
heinzhorst schrieb:
> Nachtrag: Habe gerade auf der verlinkten Seite gesehen, dass es sich um
> einen PIC12F683 handelt. Der auch auch schon ein CCP-Modul und kann die
> PWM in Hardware machen.

....ich verwende in anderen Schaltungen einen 12F629 und 12F675.....

Was würde denn das CCP-Modul machen?

Autor: Claudio A. (claudio_a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Claudio A. schrieb:
>
> Was würde denn das CCP-Modul machen?

jetzt antworte ich mir mal selbst,
mit dem CCP Modul kann man PWM machen....
gut....

Hätte noch einen 16F628A, der kann das ja.

Trotzdem würde ich gern verstehen, was denn passiert,
direkt den PIC Ausgang mit "an/aus" auf den Lautsprecher loszulassen
(danke für den Hinweis mit dem Pieper), mir geht es hier
mehr ums Verstehen als um die Umsetzung.

Methode Direkt ansteuern:
- es geht ein Rechtecksignal mit 5V an den Lautsprecher

Methode PWM:
- das digitale Signal wird in ein analoges umgewandelt (richtig?)?

Autor: Claudio A. (claudio_a)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
noch ein Bild

Autor: Hallo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Methode Direkt ansteuern:
- es geht ein Rechtecksignal mit 5V an den Lautsprecher
-> Für simple Töne ok

Methode PWM:
- das digitale Signal wird in ein analoges umgewandelt (richtig?)?
-> Nein, es wird ein hochfrequentes Rechteck-Signal erzeugt. Das kann, 
je nach Verstärker, funktionieren. Besser ein einfachen Tiefpass-Filter 
einbauen, der die hohen Frequenzen ausfiltert. Das gibt dann einen 
sauberen Sinus.

Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Claudio A. schrieb:
> Trotzdem würde ich gern verstehen, was denn passiert,
> direkt den PIC Ausgang mit "an/aus" auf den Lautsprecher loszulassen
> (danke für den Hinweis mit dem Pieper), mir geht es hier
> mehr ums Verstehen als um die Umsetzung.

Wenn du einen 8-Ohm-Lautsprecher o.ä. direkt an den Portpin anschließt, 
brennt der Pin im Betrieb wahrscheinlich durch, da müßte noch ein 
Impedanzwandler dazwischen, weil der LS mehr Strom frisst als der 
Portpin liefert (=Portpin überlastet). Abhilfe schafft ein hochohmiger 
LS eventuell mit einem Vorwiderstand.

Bei HiFi-Boxen mit Hochtönern können diese gegebenenfalls abrauchen, 
wenn sie ein reines Rechtecksignal abbekommt wegen der Oberwellen, ist 
aber stark lautstärkeabhängig.

Autor: Schimmelreiter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ben schrieb:
> Bei HiFi-Boxen mit Hochtönern können diese gegebenenfalls abrauchen,
> wenn sie ein reines Rechtecksignal abbekommt wegen der Oberwellen..

Hochtöner sollen die Oberwellen eines Grundsignals wiedergeben, dazu 
sind Hochtöner da. Die Grundwellen sind es, die den Hochtöner zerstören. 
Deshalb die Frequenzweiche als Hochpassfilter.

Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Frequenzweiche als HP vorm HT hatte ich schon vorausgesetzt, sonst 
hätte ich nicht Oberwellen geschrieben. So ein Rechteck erzeugt je nach 
Grundfrequenz eine Menge davon (da kann man auch schnell Kopfschmerzen 
bekommen, wenn die Frequenzen fiepig genug sind).

Du hast natürlich recht, dass die HTs zumindest in Bezug auf 
Musiksignale für hohe Frequenzen ausgelegt sind!

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Claudio,

lass dir doch von diesen "Spezialisten" nicht ein Kind in den Bauch 
quatschen.

Fuerst-Rene schrieb:
> Rechteck + Lautsprecher = Rauchwolken aus der Spule des Lautsprechers.
>
> Du mußt auf alle fälle mit ner Spule und nem Kondensator aus dem
> Rechteck einen annähernden Sinus machen.

Ben schrieb:
> Bei HiFi-Boxen mit Hochtönern können diese gegebenenfalls abrauchen,
> wenn sie ein reines Rechtecksignal abbekommt wegen der Oberwellen, ist
> aber stark lautstärkeabhängig.

Wenn du einen hochohmigen Lautsprecher oder etwas ähnliches wie eine 
Höhrkapsel hast, so im Bereich von 200 Ohm, kannst du diese einfach über 
einen Kondensator so im µF Bereich an einen PIC anschließen. Typische 
PIC Ausgänge können über 20 mA sowohl nach Masse als nach Vcc treiben, 
DC wird vom Kondensator abgetrennt. Der Ausgang kann also am Ende des 
Signals stehen bleiben wo er gerade ist, ohne daß der Stromverbrauch 
steigt.

Mit einem Lautsprecher, der etwas niederohmiger ist, so einem PC 
Systemlautsprecher mit typ. 32 Ohm, würde ich schon einen Treiber 
spendieren. Das könnte ein (in Worten ein) Transistor sein. Da ich 
lieber Digitalbausteine nehme, können es auch zwei oder drei parallel 
geschaltet Logiggatter sein, die in einem nicht voll genutzten Baustein 
in deiner Schaltung übrig sind. Ist nichts mehr frei, tuts ein HC04 oder 
ein HC14, von dem drei, oder auch alle, Inverter parallel geschaltet 
werden. Dann ein x µF Kondensator und fetich. "x" heißt hab ich gerade 
da und klingt brauchbar. Solche "PC system speaker" also 32 oder mehr 
Ohm Lautsprecher liegen bei mir in der Grabbelkiste, Reste von 
beerdigten PCs.

Im original PC/XT/AT wurde das so gemacht. Im XT wurde ein Bustreiber 
verwendet.  Den Kondensator hat sich IBM damals gespart, dafür haben sie 
zwischen Gatterausgang und Lautsprecher 32 Ohm geschaltet. Die 
Clonebauer sind dann meist auf einen Transistor umgestiegen, das war 
billiger. Die Frequenz wurde nicht in Software gemacht, bei 4,77 MHz 
hatte der Prozessor anderes zu tun, sondern der Lautsprecher war an 
einem Timer/Counter Ausgang. Pfiffige Programmierer haben trotzdem damit 
Musik gemacht.

Ben schrieb:
> Die Frequenzweiche als HP vorm HT hatte ich schon vorausgesetzt, sonst
> hätte ich nicht Oberwellen geschrieben. So ein Rechteck erzeugt je nach
> Grundfrequenz eine Menge davon (da kann man auch schnell Kopfschmerzen
> bekommen, wenn die Frequenzen fiepig genug sind).
>

Eine Warnung muß natürlich hier hin. Seit dem es diese 
PC-Systemlautsprecher in hunderten von Millionen gibt, hat die 
Schwerhörigkeit in der Menschheit stark zugenommen und die Fledermäuse 
sind fast ausgestorben. (SCNR)

MfG Klaus

Autor: Claudio A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus schrieb:
> Mit einem Lautsprecher, der etwas niederohmiger ist, so einem PC
>
> Systemlautsprecher mit typ. 32 Ohm, würde ich schon einen Treiber
>
> spendieren.

;) puh, merke schon, ich begebe mich da in ganz andere Dimensionen....
Eigentlich wollte ich das Signal in einen Verstärker schicken (10W) und 
dann über einen 8 Ohm Lautsprecher ausgeben....

Gibts nicht schlichtweg fertige Treiber-Bausteine, die ich hinter den 
PIC hängen könnte?

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Claudio A. schrieb:
> ;) puh, merke schon, ich begebe mich da in ganz andere Dimensionen....
> Eigentlich wollte ich das Signal in einen Verstärker schicken (10W) und
> dann über einen 8 Ohm Lautsprecher ausgeben....

Ok, das ist eine ganz andere Baustelle. Hast du irgendwelche PC 
Aktivboxen rumzuliegen? Dann gib doch mal dein Signal vom PIC über 0,1µF 
an den Eingang und hör dir das dann an.

MfG Klaus

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du 2 oder 3 Pins frei hast, könnte man auch mit einem R2R-Netz 
einen Treppengenerator basteln ... (Anzahl der Stufen = Zwei hoch Pins)

Autor: Claudio A. (claudio_a)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Mein Traum sieht so aus, siehe Bild, einfach ein PIC (gut, ist hier ein 
ATMEL) und los gehts, ohne gross weiterer Beschaltung....

http://www.roboterclub-freiburg.de/atmega_sound/at...

Autor: Schimmelreiter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Claudio A. schrieb:
> Mein Traum sieht so aus, siehe Bild...

Das geht aber schon sehr stark ins künstleriche ;). Dieses Bild lädt zum 
verweilen ein und man fragt sich "was will uns der Löter(Künstler) damit 
sagen?"

Autor: Claudio A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schimmelreiter schrieb:
> Das geht aber schon sehr stark ins künstleriche ;). Dieses Bild lädt zum
>
> verweilen ein und man fragt sich "was will uns der Löter(Künstler) damit
>
> sagen?"

naja, anscheinend ist es ohne grosse externe Beschaltung möglich, Töne 
mit einem PIC zu erzeugen....

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hätte gesagt, dass sieht sehr stark nach einem AUX-Anschluss aus. 
Die gehen meines Wissens nicht direkt an die Boxen sondern werden 
nochmal Verstärkt. Als wenn du ein MP3-Player oder PC anschließt. Diese 
Anschlüsse werden auch bestimmt hochohmiger sein, denn sonst zieht man 
ja unnötig viel Saft aus den Geräten.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.