mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Läutewerk für Bahnübergang bauen


Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Ich experimentiere hier gerade mit einer Schaltung, die mir das Geräusch
eines Läutewerks von Bahnschranken nachahmen soll. (Modellbahn)
Mit einem Sinusgenerator lasse ich ca. 400Hz erzeugen und ein astabiler
MV mit 0,5 Hz ändert dessen Amplitude. So weit, so schlecht. :-( Es ist 
kein realistisches Geräusch zu erreichen.

Es gab mal von Siemens diese SAB...xxx Schaltkreise, aber die hatten 
m.E.
einen solche Ton nicht drauf.


Frage: Hat schon mal jemand versucht, mittels AVR ein solches Geräusch
zu erzeugen? Ich denke dabei an eine .wav oder .mp3 -Datei, die ein
einzelnes "Bing" enthält und immer wieder neu aufgerufen wird.

MfG Paul

Autor: Jupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geh zu einer realen Bahnschranke, nehme das Geräusch auf, bearbeite es 
etwas am PC, speichere es als MP3 oder sonst was und lasse es durch 
einen entsprechenden Decoder (VS100?) abspielen.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist mit einem AVR mit etwas größerem Flash (für den Sound) durchaus ohne 
zusätzliche ICs drin.

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
denke auch das es nicht so einfach hinzubekommen ist. Das beste dieses 
Geräusch vor Ort aufnehmen. Den Ton macht ja nicht nur seine Frequenz 
aus sondern die Obertöne, sonst wurde jedes Instrument gleich klingen.

Mit einem AVR könntest du das schon aufnehmen. ADC höher takten das 
sollte schon 20kHz und 8Bit drin sein. Der chinesische Fädelprofi hat 
ein paar Soundbeispiele auf seiner Homepage. Allerdings weis ich nicht 
ob er den "Originalsound" auch mit dem AVR aufgenommen hat oder ihn nur 
bearbeitet hat.

http://elm-chan.org/works/vp/report.html

Vielleicht kann dir auch einer im Bahn-Forum www.drehscheibe.de den 
aufgenommenen Klang liefern.

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich weise mal wieder auf den Türgong von S.F. Hühn hin...

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

22kHz/8Bit reichen dicke dafür, Aufnahme allerdings möglichst in 
44,1/16Bit machen und dann mit einem guten Audioprogramm resamplen, dann 
kommt es auch ohne Alaising-Störungen.

Dann eben auf einen Eproms oder Flash packen, R2R-Netzwerk an die Daten 
und Adresszähler an die Adressen.
Aua, jetzt weiß ich nicht, wie Du den AVR dann ins Spiel bringst... ;)

Gruß aus Berlin
Michael

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe jetzt das passende Geräusch als .wav-Datei da. Die ist ungefähr 
30kByte groß. Jetzt suche ich eine Möglichkeit, die Datei mit möglichst 
geringem Hardwareaufwand (nur der Avr, ohne externe Decoder, DA-Wandler 
etc.) "abzuspielen". Die Suche hat mich nur zu MP3-Playern mit AVR´s 
geführt, aber so gut muß die Qualität bei so einem Geräusch wohl nicht 
sein.
Wer hat schon eine derartige Sache realisiert?

MfG Paul

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Frank
Den Türgong habe ich mir eben angesehen, jedoch ist das Funktionsprinzip
für meine Aufgabe nicht geeignet.

MfG Paul

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nik Bamert hat hier mal eine Tonausgabe per PWM angesprochen.
Wie er das gemacht hat, weiß ich allerdings (nicht mehr).
Es wurde aber per Tiny15 oder so realisiert.

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Rahul
Das ist ein guter Tip. Leider gibt es die Funktion "Autorensuche" nicht 
und
mit der normalen Suche nach z.b. "PWM" wird nichts gefunden.

....da habe ich mir ja was in den Kopf gesetzt. ;-)

Paul

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich weiß nicht, ob ich jetzt daneben liege: PWM mit Samplefrequenz 
aktualisieren und als PWM-Wert den 8Bit-Wert aus dem Sample?

Wenn Du das Sample in 8Bit unsigned speichern kannst, müßte es direkt 
passen, Tiefpaß an den PWM-Ausgang mit F = Samplerate/2, Transistor und 
Minilautsprecher. Tiefpaß ist vermutlich Luxus, ein passendes C parallel 
zum Lautsprecher tut es sicher auch.

Bei 8Bit signed als Sample-Format müßtest Du wohl den Kram noch 
umrechnen.

Der Gleichspannungsanteil, der dabei entsteht (-128 -> 0, 1 -> 128 -> 
127 -> 255 stört in der Praxis nicht.

Gruß aus Berlin
Michael


Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mich noch nicht mit dem Aufbau von .wav - Dateien befasst, da 
ich
glaubte, daß sich dieses Problem mit meiner o.g. Idee lösen ließe.
Das wollte ich mir eigentlich auch ersparen, weil man sich den Kopf 
nicht
noch mit Sachen füllen sollte, die man sonst nie wieder braucht. ;-)

Na, da will ich mal suchen, ob ich den Aufbau von .wav irgendwo finde 
und sehe dann weiter.

Danke erst mal für Eure Hinweise und Ratschläge

MfG Paul

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

den Aufbau findest Du sicher im Netz.
Ist für Deinen Zweck relativ simpel. Da Du ja selbst festlegst, in 
welchen Format Du den Kram in den AVR packen willst, bracuhst Du nur ein 
Audiotool, das halbwehs brauchbar konvertiert.

Mein Vorschla wäre, 22kHz Samplrate zu probieren und 8Bit unsigned zu 
speichern. Dann mit einem Hex-Editor den wav-Header abschneiden und 
wegwerfen.
Was bleibt ist das reine RAW-File, wo in jedem Byte der 
Spannungs(Lautstärkewert) steht. Den muß Du nur noch Byte für Byte mit 
der richtigen Geschwindigkeit an einen DA-Wandler (oder eben eine PWM) 
schicken.

Ich kann Dir das wav auch in irgendwelche passenden Formate 
konvertieren, ich habe Software dafür auf dem Rechner, da müßtest Du 
Dich dann nur hier melden.

Gruß aus Berlin
Michael

Autor: fnah (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1. wav-file mit zb 8bit/11025samples erstellen
2. mit http://ulrichradig.de/ -> projekte -> winbin konvertieren
3. timer mit 11025Hz interruptfrequenz laufen lassen und bei jedem 
interrupt einen pointer erhoehen und den wert ausgeben.

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir mal dies an:

http://www.romanblack.com/picsound.htm

Da kannst du mit wenig Aufwand und sparsamer Speichernutzung was 
brauchbares hinbekommen.

Autor: Bähnler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mal das schweizerische BUe-Geräusch mit minimalem SW- und 
HW-Aufwand nachgebaut: Es handelt sich dabei um ein 1-kHz-Rechtecksignal 
mit abfallender Amplitude. Ein kleiner PIC toggelt einen Ausgang mit 
dieser Frequenz, das Signal gelangt auf ein digitales Poti, welches 
ebenfalls vom PIC angesteuert wird. Das Ganze wird anschliessend 
verstärkt und einem Lautsprecher zugeführt. Das Resultat klingt 
verblüffend echt!

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mir eben mal den Link von Winfried angesehen. Das Programm dort 
funktioniert prima und ich konnte mir miene Datei damit 
"zurechtstutzen".

Jetzt bin ich dran, mir den Algorithmus auf´s Papier zu bringen, wie ich 
die Sounddatei "angreifen" muß, um sie Bit für Bit herunter zu rasseln.
Ich muß wohl einen Mega16 oder einen Mega8515 dafür nehmen, damit ich 
alles
"unterkriege".

@Bähnler
So ungefähr war auch meine erste Idee, die ich oben beshrieben habe. Das 
Ergebnis hat mir aber nicht so gut gefallen.

MfG Paul

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
am leichtesten wäre es wenn du einen externen DAC nimmst und den 
Spannungswert einfach an den DAC gibts. Also mit einem Timerinterrupt 
die Zeit einstellen wann ein neuer Wert an den DAC ausgegeben wird.

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mir das auch gerade mal angesehen, mal schauen, wie sein 
Beispielsound auv dem AVR wirklich klingt...

Ist doch nur ein 22050Hz-Timerinterruot, der immer 1 Bit an den Ausgang 
legt, also wenige zeilen Code, egal in welcher Sprache.
Das PIC-asm habe ich im Editor mit Ersetzen zum AVR-asm mit .db usw. 
gemacht.

Gruß aus Berlin
Michael

Autor: Franz-Rainer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich habe jetzt das passende Geräusch als .wav-Datei da.
Würdest du die Datei mal posten?
Währe nett.

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also man sollte dem DAC schon 8 Bit liefern.

Autor: Jack Braun (jackbraun)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>also man sollte dem DAC schon 8 Bit liefern.

Das ist doch gerade der Trick von Roman Black, daß er nur zwei
Bitströme ausgibt und die mit 2 Widerständen und einem Kondensator
nach Analog wandelt.

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe eben noch eine Applikation gefunden:
http://www.atmel.com/dyn/resources/prod_documents/...

Das ist aber alles in C geschrieben und davon habe ich keine Áhnung. :-(

@Michael
Kannst Du bitte mal den Programmcode posten? Mit welchem AVR -Typ hast 
Du es getestet?

@Franz-Rainer
Das Geräusch stammt von einer CD mit weiteren Geräuschen, die ich mal 
auf einem Eisenbahnerflohmarkt gekauft habe und ich kann es nicht 
herschicken, weil es sonst vielleicht Ärger wegen dem Urheberrecht gibt. 
:-(
Als Beispiel, welches ähnlich klingt, habe ich diesen Link:

http://www.champex-linden.de/produkte/anlagen/elek...

Dort die oberste Datei und das letzte Geräusch.

MfG Paul

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe es noch nicht auf dem AVR gepielt, nur die Beispiel-Wav aus dem 
picsound-Archiv mal in der Vorschau angehört. Naja...

Ich werde es aber mal auf dem AVR nachher probieren.
Da ich meine Zeit im Moment mit Kisten packen verbringe (der Umzug ins 
Nachbarhaus wegen Reko hat sich ja "nur" um ein gutes halbers Jahr 
verzögert......), erhole ich mich eben am PC. ;)

Die Qualität der mp3-Vorlage aus dem letzten Postung ist durchwachsen, 
mit picsound schon in der Vorschau unbrauchbar...

Ich werde das aber mal nachher in 8Bit-PWM versuchen abzuspielen, nur 1 
Gong so beschneiden, daß es als Loop laufen kann.

Ich habe hier zwar noch eine Sammlung Lok-Geräusche eingelagert (wohl 
Schallplatte gewesen), aber keine Läutewerk dabei...

Gruß aus Berlin
Michael

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hab hier nochwas gefunden:
http://www.avrfreaks.net/index.php?module=Freaks%2...

Hab es mal unveräbdert auf einen alten 8515 gebrannt, 8MHz-Quarz dran 
und an Pin B1 eine 50 Ohm-Quäke mit 380 Ohm Vorwiderstand gehangen.

Spielt zumindest, den Source zumindest, muß ich mir mal genauer ansehen.

Gruß aus Berlin
Michael

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michael
Na, da hast Du ja durch Deinen Umzug genug um die Ohren und jetzt auch 
noch
Bahngeräusche dazu. ;-)

Ich habe das auch nur mit dem PICSOUND - Programm ausprobiert. Klingt 
nicht mehr sehr "original", das Läutewerk. Textansagen dagegen sind 
ziemlich gut verständlich.

Der Link ist gut! Anhand des Quelltextes sehe ich jetzt erstmal, WIE
es überhaupt gemacht wird. Leider habe ich keinen 8515 mehr da. Ich will 
mal in´s Datenblatt gucken, wie der Atmega16 mit Speicher ausgerüstet 
ist.
Vielleicht geht es auch damit.

Danke Dir erstmal
Paul

Autor: Michael U. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hab den Kram mal schnell an den Mega16 angepasst bzw. die 
Timer-Vereinbarungen statt seiner Bitmuster eingetragen.

Da ist im Moment das Bim aus Deinem Link drin, wird nach Start an PB1 
endlos gespielt, Tastenabfrage ist tot zur Zeit, naja, das findest Du 
selber.

An der PWM-Geschichte war ich noch nicht dran, ich denke so 
zwischendurch über 4Bit-Sample nach, ADCPM würde sicher auch gehen, das 
habe ich mir aber noch nicht sonderlich angeschaut.

11,025kHz Samplerate würden schon reichen, mit 4 Bit Auflösung wäre 
dieses "Bim" dann ca. 5kB groß und der Kram würde in irgendeinen 8kB AVR 
passen.

Muß mal schauen, ob ich irgendwas habe, was auf 4Bit runterrechnet oder 
per Script eben das 8Bit-Wave konvertieren und ein asm basteln.

Etwas zeit habe ich schon noch, Umzug ist ja nur ins Nebenhaus, 
Schlüssel dort erst ab nächsten Dienstag, Urlaug habe ich sowieso schon.

Der Rechner ist also noch gangbar und das STK500 liegt hier.
Nur an alle Bauteile komme ich nicht mehr ran...

Gruß aus Berlin
Michael

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michael
Oh, oh, während ich hier noch kopfüber im Datenblatt steckte, hast Du 
schon
die Sache in die Tat umgesetzt.
Das funktioniert. Ich habe bloß noch geändert, daß er in der 
Tastenabfrage
"kreiselt", bis einer drückt.
Jetzt werde ich noch ein wenig mit damit experimentieren, die Sounddatei
"zusammen zu pressen". Gerade habe ich nämlich gemerkt, daß der Mega 16
nicht in mein Bahnwärterhaus passt ;-) Mal sehen, hier sind noch ein 
paar Mega 8 da, vielleicht kann ich es dann da hinein "würgen".

Gruß aus Thüringen
Paul

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.