Sounddecoder Modellbahn

Gast #137098
Lesenswert?

Hallo Forenmitglieder,

ich brüte schon länger an der Realisierung
eines DCC Decoders mit einem Atmel.
Nun stelle ich mir nebenbei die Frage, womit
die Geräusche der üblichen Sounddecoder der
Loks realisiert werden. Weiß jemand etwas
genaues?? Eventuell läßt sich soetwas auch
implementieren?!

mfg

René Schäfer
Gast #137100
Lesenswert?

@HanneS

Also Grundlagenwissen habe ich schon sammeln können,
gibt einige sehr gute Seiten im Netz (z.B. bahn-in-haan)

Für mich steht nun das Nachbauen im Vordergrund. Die Frage
ist aber: wie wurde der Sound auf dem Decoder integriert.
Mit digitalem Sound Recoder - bei Conrad 14€ das Stück :(
oder mit nem EEPROM oder oder oder ... oder gibt´s andere
Möglichkeiten?
Gast #137101
Lesenswert?

Hi...

Mit den Grundlagen von Märklin-Digital (Motorola) und DCC habe ich mich
vor längerer Zeit auch mal beschäftigt. Ich selbst betreibe keine
Modellbahn, helfe aber einigen Freunden bei der Elekr(on)ik. Und das in
TT und G (Gartenbahn 2m).
Märklin ist daher out, bei DCC habe ich die Idee, Decoder zu bauen,
aufgegeben wegen:
- zu filigran für TT (da gibt es gute kleine bezahlbare)
- zu hohe PWM-Ströme bei G (EMV)
- zu viele Protokollerweiterungen, die berücksichtigt werden müssen
  und die Software kompliziert machen.

In den Standard-Decodern sind ja meist PICs oder (kleine) AVRs drin. In
denen ist kein Platz für Sound. Was Conrad da nimmt, entzieht sich
meiner Kenntnis.

Ich habe mal mit Soundmodulen mit AVR experimentiert. Ein
Dieselgeräusch (ohne Anlasser) mit variabler Drehzahl (3 Stufen
Standgas, Halbgas, Vollgas mit gleitenden Übergängen) und einer Hupe
(in Diesel eingemischt) habe ich mit eine 2313 realisiert. Klingt ganz
gut, ist aber mangels Anlasser nicht ernsthaft zu gebrauchen. Mit
Anlasser wird es in einen Mega16 passen, Mega8 wird nicht reichen. Die
Samples werden übrigens per (Eigenbau-) PC-Software zurechtgeschnitten
und als ASM-Code dem Basiscode der AVR-Software hinzugefügt. Die
inzwischen bezahlbaren AT-Megas sind aber noch nicht implementiert.

Dampfloksound mit Grundgeräusch, (synchronisiertem) Dampfausstoß,
Pfeife und Glocke braucht da schon etwas mehr Ressourcen, da könnte
sogar der Mega128 knapp werden. Ich habe daher Versuche mit 8535L und
SM-Card gemacht, später auch mit SD-Card.

Wenn ich dann aber sehe, welche qualitativ hochwertigen Soundmodule zu
halbwegs bezahlbaren Preisen auf dem Markt sind, dann muss ich
einsehen, dass sich Bastelei da nicht lohnt. Der Aufwand ist einfach zu
hoch und die Bastellösung wird immer an den Industrieprodukten
gemessen.

Über eine Kombination aus DCC-Decoder und Soundmodul habe ich noch
nicht nachgedacht. Das werde ich auch den Ingenieuren in der Industrie
überlassen.

Möglichkeiten gibt es da sicher viele. Zum Beispiel Flash-Speicher satt
(wird eng bei AVRs, ginge mit Speicherkarten), oder Synthese
(Soundkartenchip), oder Zusammensetzen des Sounds aus verschiedenen, in
Schleifen (definierte Anzahl von Wiederholungen) laufenden kleinen
Soundsequenzen (wie bei meinem 2313-Dieselhupgeräusch). Denkbar wäre
sicher auch der Einsatz von DSPs, da halte ich mich aber raus, ich bin
AVR-geschädigt.
Was ist eigentlich mit MP3-Playern? ;-)

Gruß und viel Erfolg...
...HanneS...
Gast #137103
Lesenswert?

Also meine bisherigen persönlichen Erfahrungen:

Diesel (geloopt) bei 8 Bit unter 4kHz (Standgas) klingt nicht mehr, das
macht dann bei Vollgas um die 10kHz.

Glocke unter 8kHz klingt nicht, 11kHz sind besser (8 Bit), Loopen kann
man höchstens die Glockenschläge.

Pfeife (8 Bit, teils geloopte Einzelstücke) braucht auch schon
mindestens 6kHz, damit es einigermaßen klingt.

Mit 4 Bit habe ich noch nicht probiert.

6 Bit klingt noch, hatte mal die Idee, die übrigen Bits für
Steuerzwecke zu missbrauchen. Das war aber noch ohne MC, Bitmap im
EPROM, gesteuert mit CMOS-Zähler und weiterer CMOS-Logik. Das war ein
Riesenaufwand an Platine und nur wenig Sound drin.

Das war übrigens der Anlass, mich mit AVRs zu beschäftigen. Anfangs war
es ja der Gedanke, den Sound im EPROM zu lassen und nur die Steuerung
per AVR zu machen, doch auch das erfordert zu aufwendige Platinen. Dann
kam eben die Idee, den Sound aus geloopten Fragmenten zusammenzubasteln.
Bei Diesel und Horn geht das auch ganz gut, bei Dampflok stelle ich mir
das schwieriger vor. Der Dampfausstoß klingt bei unterschiedlichem
Tempo zu unterschiedlich, braucht also mehrere verschiedene Samples.
Das Variieren der Samplerate alleine genügt nicht.

...
#137104
Lesenswert?

Ich hab da mal was gemacht mit nem AT89C2051. Als 8-Bit DAC ein 74HC4094
mit R-2R dahinter.
Über 3 Pins können bis zu 8 Sounds ausgewählt werden.
Über den Komparator als ADC kann 1 Sound über eine Spannung in der
Geschwindigkeit (11k..22kSample) variiert werden.
Die Sounds werden in einem AT24C512 gespeichert (max 8 Stück
anschließbar)
Über die UART werden die Sounds reingeladen (als Intel-HEX).
Das Ganze ist in C geschrieben.

Bei Interesse kann  ichs mal raussuchen und in die Codesammlung
stellen.


Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren