Forum: Mikrocontroller und Digitale Elektronik PIC16F hörbarer Sinus generieren


von Peter S. (zauberwcg)


Lesenswert?

Hallo zusammen

Ich habe einen PIC16f27 und möchte mit dem einen hörbaren ton 
generieren.
Leider ist nur ein integrierter AD wandler im pic vorhanden.

Wie kann ich am einfachsten mein Problem lösen? Die Frequenz <1000 khz 
soweit ich weis, muss nicht genau sein.

Vielen Dank

von walla (Gast)


Lesenswert?

Mit PWM und einer Tabelle. Wenn der 16F27 denn PWM kann.

von ArthurDent (Gast)


Lesenswert?

Abgesehen davon, dass 1000 kHz = 1 MHz fuer das Menschliche Ohr ein 
wenig zu hoch ist, ist das generieren einer konstanten Frequenz wohl 
relativ einfach.



loop

PORT setzen
1.14 ms warten
PORT zuruecksetzen
1.14 ms warten

end loop


Das sollte einen Rechteck mit ~440Hz = Kammerto A erzeugen.

Einen geeigneten Lautsprecher anschliessen und Piep.

von walla (Gast)


Lesenswert?

Eine Rechteckwelle ist halt schon sehr Obertonreich und macht ein 
ziemlich fieses Quäken. Das kann natürlich auch gewollt sein, etwa bei 
einem Alarmton. Wenn die Anwendung aber im weitesten Sinne "msuikalisch" 
ist, würde ich noch einen RC-Tiefpass dazu schalten. Oder eben per PWM 
das Signal etwas glätten. Ein einfaches Dreieck ist schon wesentlich 
angenehmer anzuhören und braucht auch keine Tabelle.

von Peter S. (zauberwcg)


Lesenswert?

Das signal würde auf eine analoge Telefonleitung gehen.

Der Ton an und für sich wäre egal.

von ArthurDent (Gast)


Lesenswert?

Ein Rechteck macht natuerlich kein harmonisches Geraeusch. Es sollte 
aber auch nur ein hoerbarer Ton generiert werden. Mit einem Tiefpass 
kann man die hoereren Harmonischen soweit daempfen, dass es nicht mehr 
ganz so quaekt :-)

Sicher, eine PWM mit hoher Frequenz und nachgeschaltetem Tiefpass, die 
ihre Eingangsdaten aus einer Tabelle bezieht, liefert natuerlich 
>sauberere Toene< :-)

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.