8051 soll Sound rausschicken

Gast #3471750
Nabend Jungs,

mal angenommen man hat einen alten 8051 gefunden und Spaß am separaten 
Eprom-Setzen - und die Programmierumgebung ist natürlich auch vorhanden 
... :

Wie würde man mit ihm einen "Ton" kreieren, der später zu einem 50 Watt 
Verstärker wandern kann? Kreierter Ton soll das DIN-Sondersignal der 
Polizei/Feuerwehr für bevorzugte Wegebenutzer sein.

Und wie könnte man herausfinden, an welchem Port dieser "Ton" rausgeht? 
Leider kenne ich mich in dieser Hinsicht gar nicht aus.
Gast
Sinus aus Tabelle für die Frequenz, alternativ Rechteck aus PWM. Davon 
dann 2 Stück (für die beiden Martinshorn-Töne) gleichzeitig. Und dann 
einmal pro Sekunde zwischen zwei Frequenzsätzen wechseln.

Suche dich mal um, wie man einen Sinus erzeugt.
Gast
Richtig, du Experte:
Bitte das JPG-Format nur für Fotos und Scans verwenden!

Mein JPG ist ein Foto.

Wenn ich hier auf "Durchsuchen" klicke und die Dateiauswähle und die 
Vorschau ansehe, sehe ich keinen Dateianhang mehr. Ist wohl mehr oder 
weniger die Schuld dieses Forums, wenn ich es drei mal Versuche und erst 
am Ende bemerke, dass es drei mal hochgeladen wurde.
Gast
9 Megabtye ist das Problem. Mit 1*200kB würde das Bild genau so nützlich 
sein.

Welche Lautsprecherendstufe Du verwendest, spielt für die ursprüngliche 
Frage gar keine Rolle.
Gast
Otto du Vollspaten: Oben ist eine Steckverbindung, von dort aus läuft 
die Ablaufsteuerung. Sagt ja auch niemand, dass hier ein 8051 auf dieser 
Baugruppe vorhanden ist. Fragestellung ist anders. Erst lesen, dann 
denken.

Aufhören jetzt hier mit diesem JPG-zu-Groß-Gelaber.
Ich bin hier nicht für 9 MB Datenvolumen verantwortlich. Die 
Upload-&-Vorschau-Funktion ist hier einfach Mist. Mir wurde keinerlei 
Uploads angezeigt und ich dachte, ich müsse erneut hochladen.

3 MB hin oder her, in der heutigen Zeit kostet doch Traffic fast nichts 
mehr. Außerdem finde ich keine spezielle Beschränkung. Schluss jetzt mit 
dem Bullshit-Gelaber.

Kommen wir lieber zum PUNKT. Anstatt ständig nur besser zu wissen und zu 
korrigieren.
Gast
Marlos du Oberchecker - in deinem Eingangspost schreibst du, dass du 
einen Ton mit einem 8051 erzeugen möchtest und zeigst dann eine Platine, 
auf  welcher die Tonerzeugung und evtl. sogar die Ablaufsteuerung 
bereits vorhanden ist.

Deine Fragestellung ist verwirrrend - dein letztes Post ist einfach nur 
kindisch.
Gast
Die Tonerzeugung ist eben NICHT auf der Baugruppe abgebildet. Das habe 
ich doch nirgendswo gesagt!

Die Fragestellung ist nicht verwirrend:
- Angenommen 8051
- Welche Art der Tonerzeugung passt zur Verstärkerart.
Gast
Marlos schrieb:

> Wie würde man mit ihm einen "Ton" kreieren, der später zu einem 50 Watt
> Verstärker wandern kann? Kreierter Ton soll das DIN-Sondersignal der
> Polizei/Feuerwehr für bevorzugte Wegebenutzer sein.

Wie sieht so ein Sondersignal aus? Einfache Sinustöne, oder 
Mischfrequenzen?

Mit dem 8051 kann man einfache Töne generieren, er hat ja immerhin zwei 
Timer. Ich spielte mit einem Speaker an einem Pin auch Melodien ab. Aber 
es sind Rechtecksignale. Das hörte sich auch noch brauchbar an, etwa wie 
Töne aus einem alten PC-Speaker, als ein PC noch keine Soundkarte hatte. 
Oder wie Geldspielautomaten der 1980-er Jahre oder elektronische 
Grußkarten. Der induktive Speaker filterte wohl selbst einige Oberwellen 
raus, weil er keinen unbegrenzten Frequenzgang hat, und demnach schon 
als Tiefpaß wirkt.

Für ein Sinussignal müßte man dann noch etwas außerhalb des 8051 
filtern, mit Bandpaß, Tiefpaß, je nachdem wie man es gestaltet.

In meinem Fall wurden einfache Rechtecksignale nach einer im EPROM 
liegenden Tonfolgetabelle an einem Pin generiert. Sinus nach einer 
Tabelle, und extern ein DAC dran, würde bestimmt auch gehen. PWM hat er 
nicht, und für eine Soft-PWM ist er womöglich etwas langsam. Jedoch habe 
ich mich nie an einer Soft-PWM am 8051 versucht.
Gast
Marlos schrieb:
> Wie würde man mit ihm einen "Ton" kreieren, der später zu einem 50 Watt
> Verstärker wandern kann? Kreierter Ton soll das DIN-Sondersignal der
> Polizei/Feuerwehr für bevorzugte Wegebenutzer sein.

Wenn du das einsetzt, kriegst du Ärger mit der Obrigkeit.
Aber warum nicht das von der Ami-Polizei?
Da gibt es genug Bausätze, Bauanleitungen und meines Wissens auch 
Programme für MC.
Nennt sich "Kojak-Sirene".
Bsp.:
ebay 111243718796
Gast
Michael_ schrieb:

> Aber warum nicht das von der Ami-Polizei?
> Da gibt es genug Bausätze, Bauanleitungen und meines Wissens auch
> Programme für MC.
> Nennt sich "Kojak-Sirene".

In den 1980-ern waren die Bausätze in Privatautos beliebt. Mein Kollege 
mußte einmal zahlen, er wurde von der echten Polizei gestellt.
Ist ja noch nicht zu alt, um als Totengräber zu gelten...

Völlig anderer Ansatz: das gewünschte Signal als WAV-Datei mit 8kHz oder 
11kHz Samplingrate, Mono, 8-Bit Auflösung suchen/erzeugen/aufnehmen.
Die WAV-Datei mit Bin2Hex als separate Datei ins FLASH brennen, 
Anfangsadresse so wählen, dass der Platz für das Programm reicht. Mit 
64kByte FLASH und 8kHz kommt man (abzüglich Programm) auf maximal 7,5s 
Abspielzeit.
Dann einen schnellen DA-Wandler oder Quick'n'Dirty ein R-2R-Netzwerk an 
einen Port häkeln.
Per Timer-Interrupt (alle 125µs bei 8kHz) liest man die Werte aus dem 
FLASH und schiebt sie einfach auf den Port mit dem DA-Wandler.

Ein schnell zusammengestricktes Programm hab ich mal angehängt. Damit 
wurde bei einem Wurfspiel ein Muuuuh abgespielt, wenn die Kinder mit dem 
Ball getroffen hatten... Der DAC besteht dort aus einem ULN2803 mit 8 
gewichteten Serienwiderständen an den OC-Ausgängen. Die sind alle 
Parallelgeschaltet und der Lautsprecher ist gegen 5V geschaltet. Damit 
war da der Verstärker überflüssig - Power-DAC sozusagen.
Angehängte Dateien:
Gast
> Dann einen schnellen DA-Wandler oder Quick'n'Dirty ein R-2R-Netzwerk an
> einen Port häkeln.

Alternativ kann man auch einfach einen PWM-Ausgang mit Tiefpass nehmen. 
So habe ich es immer gemacht. Dann braucht man halt nur einen externen 
Widerstand + Kondensator.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.