Forum: Mikrocontroller und Digitale Elektronik Entwicklung einer Digitalsteuerung für eine Modellbahn


von Jan O. (green)


Lesenswert?

Hallo Leute,

ich versuche mich gerade an der Entwicklung einer eigenen 
Digitalsteuerung für eine Modellbahn (Märklin H0 um genau zu sein).

Ich habe mir schon ein bischen was an Konzept gedacht und wollte mich 
die Tage ans experimentieren wagen aber habe noch ein Paar Fragen 
bezüglich Komponentenwahl sowie Konzeptuelles im Allgemeinen.

Zuerstmal das Grundkonzept:

Die Märklinbahn ist eigentlich eine Wechselstrombahn, fährt aber 
ausschliesslich "Allstrommotoren". Daher hatte ich vor sie, der 
Einfachheit halber, mit gleichstrom zu füttern.

Signalübetragung soll mittels eines "Morse-Codes" laufen der als kurze 
und etwas längere unterbrechung des Stromkreislaufes übertragen wird.

Das heisst in jeder Lok ist ein controller der über die Schienenspannung 
(24V DC) gespeist wird (natürlich nach transformation auf 5V für den 
controller). Dieser entnimmt den Unterbrechungen der Stromversorgung das 
"Signal" und steuert über einen regelbaren Widerstand die 
Geschwindigkeit der Lok (und noch ein paar weitere Dinge).
D.h. die Schiene hat die ganze zeit 24V Spannung (mit ein paar 
unterbrechungen) und der Controller steuert das Tempo der Lok mittels 
einem Widerstand der zwischen Schienenstrom (24V) und dem Motor 
geschalten ist.

Fragen:
1. Welche controller nehme ich da am besten sowohl als Sender als auch 
als Empfänger? Die größe und der Preis des Empfängers ist sehr wichtig. 
Ich hatte an den hier gedacht: 
http://www.conrad.biz/ce/de/product/154166/ATMEL-AVR-RISC-Microcontroller-Atmel-ATTINY2313-20PU-Gehaeuseart-DIL-20-Clock-Speed-20-MHz-Flash-Speicher-2-kB-Speicher/0214041 
Braucht der noch einen extra clock oder ist der so "gebrauchsfertig"?

2. Machen die kurzen Spannungsunterbrüche dem Controller etwas aus? 
Durch nen Kondensator könnte man das doch ganz gut puffern...

3. Wie kann ich die Spannungsunterbrüche am Empfänger am besten lesen. 
Ich dachte daran sie an einen Eingangsport durchzuschalten und einfach 
zu messern ob halt 0 oder 1 anliegt, dazu müsste ich ja aber die 
Spannung vorher auf 5V bringen. Dürfte ich mit der einhergehenden 
Pufferung das Signal nicht zerstören oder gibt es eine Möglichkeit das 
runterzubringen ohne das Signal zu verändern?

4. Was für Möglichkeiten gibt es Digital einen Widerstand zu steuern?

Ich danke euch schonmal das ihr euch Zeit genommen habt das zu lesen und 
freue mich auf viele hilfreiche Antworten :)

liebe Grüße,
Jan

ps ich habe noch nicht sooo viele Elektrotechnik Erfahrungen (aber schon 
ein paar), programmieren, insbesondere C, kann ich aber ganz gut (dank 
meinem IT Studium)

von Wurstesel (Gast)


Lesenswert?

Google mal nach DCC, mann muß nicht alles nochmal erfinden.

von dolf (Gast)


Lesenswert?

Wurstesel schrieb:
> Google mal nach DCC, mann muß nicht alles nochmal erfinden.

Deutscher Camping-Club
trinkerfestspiele....
jäh saufen bis der arzt kommt....;-))
mfg

von Jan O. (green)


Lesenswert?

Was ist wenn man das Rad aber neu erfinden will?

Nein also ich möchte das gerne selbermachen, sonst hätte ich hier nicht 
gefragt. Die DCC hatte ich schon gefunden ist mir aber zu teuer.

Ich finde 30€ für nen Empfänger (also pro Lok) vieeeel zu teuer und 
versuche eben o.g. Konzeptansatz umzusetzen der hoffentlich günstiger 
wird ;)

Ich freue mich sehr über kontruktiver Antworten zum Thema "selber bauen" 
wer eine Idee hat die mein Konzept total über den Haufen wirft: immer 
her damit
aber bitte keine kaufs dir doch einfach sachen, denn das bringt hier nix 
:)

Grüße,
Jan

von Wurstesel (Gast)


Lesenswert?


von Jan O. (green)


Lesenswert?

Werde ich dann ja sehen. Und selbst wenn habe ich es dann lieber selbst 
gebaut.
Warten wirs halt mal ab. Bis dahin, hast du mir vllt. eine konstruktive 
Idee zu meinem Konzept oder kannst du mir einen Controller empfehlen?

von Google (Gast)


Lesenswert?

Hier hatte einer dieselbe schlaue Idee und wollte alles selber neu 
entwickeln: Beitrag "Digitale Modelleisenbahnsteuerung"

Schau mal, was der zum Schluß gemacht hat ...

von Holger W. (holgerw)


Lesenswert?

Mach es DCC kompatibel. Kauf nen Dekoder und bring ihn zum laufen mit 
einer eigenen Zentrale. Danach bau einen Dekoder selbst und bring ihn 
mit deiner Zentrale zum laufen. So hab ich es prinzipiell gemacht und 
hab es nicht bereut. Du bleibst kompatibel wenn du mal nicht mehr selber 
bauen willst. Lernen tut man dabei auf jeden Fall.

Holger

von Der Informant (Gast)


Lesenswert?

Kleine Idee, aber vielleicht zu aufwendig: Funk!?
Oder "einfach" Signale über aufmodulierte Oberwellen senden.
Aber da kenne ich mich nicht aus, ich kenne nur jemanden der das auch so 
gemacht hat, aber alles analog.

von Thomas E. (thomase)


Lesenswert?

Jan O. schrieb:
> Was ist wenn man das Rad aber neu erfinden will?
Aber doch nicht mit Unterbrechung der Stromversorgung.
Du kannst die Dekoder ja selbst bauen, solltest aber das DCC-Protokoll 
verwenden. Und vor allen Dingen das DCC-Verfahren mit Umpolung statt 
Unterbrechung.
Wobei du dir den ersten Dekoder kaufst und dann erstmal die Zentrale 
baust und zum Laufen bringst. Das hat nämlich den Vorteil, daß du in der 
Lok eine funktionierende Referenz hast und nicht an zwei Fronten 
gleichzeitig kämpfst. Und dann geht es an den ersten eigenen Dekoder.

Danach kannst du das Protokoll ja immer noch ändern, hast aber auf 
beiden Seiten eine Hardware, von der du weisst, daß sie läuft.

mfg.

von Jan O. (green)


Lesenswert?

Zum Thema DCC Controller kaufen und zum laufen bringen:

habe ich mir auch gedacht, aber ich habe die Erfahrung gemacht das man 
sich häufig Probleme schaft wenn man sich zu starr an andere Konzepte 
bindet.

Zum Thema Funk:

Funk hatte ich auch schonmal angedacht, platinen werden aber zu Teuer, 
groß und ist, der Metallenen Gehäuse wegen, nicht sehr zuverlässig. 
Alles in allem ganz großer Käse.

Zum Thema "Aufmodulierte Oberwellen":

hatte ich auch schon überlegt, aber wie genau machen? Unterscheidet sich 
eigentlich nicht sooo groß von meinem Konzept, nur finde ich meines 
eigentlich simpler.



Aber nochmal zurück zu meinen eigentlichen Fragen:

welchen MC am besten nehmen? Wollte mir jetzt nicht irgendeinen 
Bestellen um am Ende zu erfahren das das Blödsinn war.

Was für digital steuerbare widerstände gibt es?

Wie messe ich an o.g. MC am einfachsten ob auf einem Signal 24V oder 0V 
anliegen?

Grüße,
Jan

von Jan O. (green)


Lesenswert?

Thomas Eckmann schrieb:
> Jan O. schrieb:
>> Was ist wenn man das Rad aber neu erfinden will?
> Aber doch nicht mit Unterbrechung der Stromversorgung.

Ok, was ist daran das Problem? Ist ja nur für n paar milisekunden. Dem 
Motor sollte das nichts machen und mittels Kondensator dem MC auch nicht 
oder?

> Du kannst die Dekoder ja selbst bauen, solltest aber das DCC-Protokoll
> verwenden. Und vor allen Dingen das DCC-Verfahren mit Umpolung statt
> Unterbrechung.

Wie funktioniert das denn genau mit Umpolung?

> Wobei du dir den ersten Dekoder kaufst und dann erstmal die Zentrale
> baust und zum Laufen bringst. Das hat nämlich den Vorteil, daß du in der
> Lok eine funktionierende Referenz hast und nicht an zwei Fronten
> gleichzeitig kämpfst. Und dann geht es an den ersten eigenen Dekoder.

Hört sich an sich sinnvoll an, aber auch viel teurer als mein Konzept.
Ich kann mir halt nicht vorstellen das das nicht unter 30€ pro Empfänger 
möglich sein soll...

>
> Danach kannst du das Protokoll ja immer noch ändern, hast aber auf
> beiden Seiten eine Hardware, von der du weisst, daß sie läuft.
>
> mfg.

von Thomas E. (thomase)


Lesenswert?

Jan O. schrieb:
> welchen MC am besten nehmen?
Das ist ziemlich Wurscht. Hauptsache der hat genügend Pins und passt in 
die Lok. Ich würde einen Atmega48/88/168/328 nehmen.

Jan O. schrieb:
> Was für digital steuerbare widerstände gibt es?
Wozu brauchst du das? Motoren und Beleuchtung steuert man mit PWM.

mfg.

von Wurstesel (Gast)


Lesenswert?

Lieber Jan,
du hast keinen blassen schimmer von der Materie, lass es sein.

Hättest du dir meinen Link angesehen, hättest du gewusst mit welchen MC 
es  geht. Und was willst du bitte mit einem digital steuerbaren 
Widerstand?
Etwa für die Motorregelung? Dafür nimmt man H-Brücken. Im Link sind auch 
die Sourcen enthalten, sollte dir irgendwas nicht gefallen kannst du es 
selber ändern. Kauf dir eine Lokmaus von Roco und fang damit an zu 
spielen.

von Thomas E. (thomase)


Lesenswert?

Jan O. schrieb:
> Ok, was ist daran das Problem? Ist ja nur für n paar milisekunden. Dem
> Motor sollte das nichts machen und mittels Kondensator dem MC auch nicht
> oder?
Ja, aber warum Bewährtes über den Haufen schmeissen. Ich denke nicht, 
daß dein Verfahren einfacher und zuverlässiger ist. Im Gegenteil.

> Hört sich an sich sinnvoll an, aber auch viel teurer als mein Konzept.
Warum soll das teurer sein? Du benötigst in allen Fällen nahezu die 
gleichen Bauteile.

> Wie funktioniert das denn genau mit Umpolung?
Du hast dann eine Rechteckwechselspannung mit nicht konstanter 
Amplitudendauer. Die wird zur Energieversorgung gleichgerichtet und der 
Controller holt sich aus Wechselspannung die PWM-kodierte Information.

mfg.

von Weingut P. (weinbauer)


Lesenswert?

digitale Potis, die die Verlustleistung vertragen, die hier notwendig 
wären ... na eher nicht.

Umpolung ... ganz einfach, Du hast ja zwei stromführende Kontakte, die 
die Lok mit Strom versorgen ... sagenwir mal Kontakt 1 und Kontakt 2.
Für eine digital logische Null wäre
Kontakt 1 Plus
Kontakt 2 Minus

für eine logische 1 wäre dann
Kontakt 1 Minus
Kontakt 2 Plus

Bewerkstelligen lässt sich das mit einer sogenennten H-Vollbrücke, also 
4 fetten Transistoren. Deinem Motor ist es zunächst mal wurst ob der 
Strom linksrum oder rechtsrum läuft wie Du sagst, somit wird er bei dem 
verfahren nie stromlos und läuft gleichmäßig weiter. Dann muss nur noch 
der Controller eben dieses messen um seine Informationen zu erhalten.
RS485-Bausteine könnten da ein Ansatz sein.

von Karl H. (kbuchegg)


Lesenswert?

Jan O. schrieb:
> Zum Thema DCC Controller kaufen und zum laufen bringen:
>
> habe ich mir auch gedacht, aber ich habe die Erfahrung gemacht das man
> sich häufig Probleme schaft wenn man sich zu starr an andere Konzepte
> bindet.

Wenn ich mir deine Ideen im Anfangsposting so durchlese:
Du hast ganz andere Probleme und solltest glücklich darüber sein, dass 
es bewährte Konzepte gibt, die du erst mal studieren und zum laufen 
bringen kannst. Ich würde mal sagen: damit hast du erst mal mehr als 
genug zu tun. Bei deinem Wissenstand ist alles was "weg von bewährten 
Konzepten" bedeutet, erst mal massives 'Probleme schaffen'.

von Jan O. (green)


Lesenswert?

Ok vllt. scheint mir das DCC Konzept ganz sinnvoll zu sein.

Datensendung also per PWM und über H-Brücken.

Wie liest man das dann am sinnvollsten?

Hatte dazu folgende Idee:

Wie bei einem Gleichrichter zwei verschieden rum gesetzte Dioden die 
beide an verschiedene Ports des MCs gehen. Dann die Spannung auf 5V 
reduzieren und ich kann prüfen ob Port1 oder Port2 gleich 1 ist.

Habe ich richtig verstanden das der Motor dann gesteuert wird in dem er 
quasi kurze "Impulse" per H-Brücke bekommt? Läuft der dann auch noch 
"rund"?

Im Großen und Ganzen habe ich also 2 Transistoren die für beide "Kanäle" 
auf dem Gleis sind. Und ich schalte immer entweder den einen oder den 
anderen an und den anderen auf GND und kodiere so per PWM mein Signal.
Der Decoder liest das Signal und gibt dem Motor dann häppchenweise 
Strom?

Grüße,
Jan

von Weingut P. (weinbauer)


Lesenswert?

ääähm ... der Motor bekommt PWM, ob er noch rund läuft hängt vom Motor 
und der PWM-Frequenz ab. Hier wäre "Versuch macht klug" angesagt denk 
ich.

Muss revidieren, die Datenkodierung per Stromrichtung wird nicht hin 
hauen, weil ja Deine Lok in beide Richtungen auf dem Gleis sitzen kann 
... dann würde sich die PPM-Codierung (praktisch Morsecode ... kurz - 
lang) anbieten. Hier wird die Codierung ob 1 oder 0 über die Impulslänge 
unabhängig von der Polarität als Information genommen, aber dennoch ein 
differentielles Signal, das also umgepolt wird für die Stromversorgung 
der Loks.
Manche Controller haben praktischerweise nen Pin Change Interrupt 
eingebaut, der also bei Wechsel ausgelöst wird ... dazu noch n Timer, 
der die Impulslänge (auch im Controller vorhanden) misst und gut ist.
Als Controller Eingangsstufe würde sich evtl. n RS485-Baustein anbieten 
... vor den Controller noch nen Brückengleichrichter und Spannungsregler 
für die Stromversorgung und gut ist ...

Aber wie Karl Heinz schon ausgeführt hat, das ist n verdammt dickes 
Brett nach allem was ich von Dir hier lese nicht in 4 Wochen zu bohren 
... der Teufel steckt im Detail.

von Weingut P. (weinbauer)


Lesenswert?

Jan O. schrieb:
> Ich finde 30€ für nen Empfänger (also pro Lok) vieeeel zu teuer und
> versuche eben o.g. Konzeptansatz umzusetzen der hoffentlich günstiger
> wird ;)

Da kann ich nur sagen: "Geiz ist nicht immer geil" ...
Probiers aus, investiere n paar Jahre Deine komplette Freizeit um dann 
festzustellen, dass Du es dann für €40 die Lok hinbekommen hast :)
Wenns ums Lernen wie sowas funktioniert, geht, alles ok, wenns aber um n 
paar Pfennige vermeintliche Ersparnis geht ... lass sein.
Schon bis Du Das erforderliche Werkzeug alles zusammen hast, 
Prototyping, Fehlschüsse etc. bist Du schon weit drüber.

von hä? (Gast)


Lesenswert?


von Jan O. (green)


Lesenswert?

So also nochmal wichtig zu sagen:

Märklingleise sind symmetrisch. Die aufsetzrichtung der Lok ist 
vollkommen irelevant. Die Gleise sowie bei M-Gleisen das Gleisbett sind 
ein Leiter, in der Mitte gibt es einen zweiten Leiter.

Dadurch sind Kehrschleifen möglich und die Lok kann in jeder Richtung 
aufgestellt werden.

Zum Thema Kosten:
http://www.toralfwilhelm.de/mde/aktuell/mde_t44.htm
er schreibt die T45-2 kostet so um die 8€ plus Versand. Ist zwar nur 
mager bestückt, reicht mir aber fürs erste locker aus.
Ich brauche keine 27000 Funktionen, ich brauche keinen Sound, keine 
BiDi, einfach nur mehrere Züge auf einem Gleis und allenfalls bei ner 
Rangierlok ne kupplung steuern oder bei ner Dampflock nen Rauchgenerator 
an und abschalten, thats it.

Ich werde versuchen den T45-2 nachzubauen, aber zur Zentrale bin ich 
noch ein wenig verwirrt.

Kennt vllt. jemand eine Selbstbauanleitung zu einer Zentrale die 
möglichst simpel ist? Fürs erste ohne Display etc. einfach nur USB nen 
mit C programmierten Controller und die H-Brücke, ne Stromversorgung. 
Das wars doch oder?
Kennt da jemand ne Anleitung?

von Helmut L. (helmi1)


Lesenswert?

Hier findest du den Schaltplan von einem Lokdekoder.

http://www.tams-online.de/htmls/produkte/ldgldw2/LD-G-2_D.PDF

Da kannst du dir mal ansehen wie sowas gemacht wird.
Auf der Webseite von TAMS findest du noch mehr Schaltplaene, einfach mal 
suchen.

von David .. (david1)


Lesenswert?

Ist googeln eigentlich so schwierig?

http://www.opendcc.de/elektronik/opendcc/opendcc.html

Gibt auch nen fertigen Warenkorb für Reichelt, das Material kostet 40€, 
ohne Platine.

Software is natürlich frei.

Ich weiß, man nimmt ich in jungen Jahren gern vor alles mögliche selber 
zu bauen, wenn man das aber ganz nüchtern betrachtet bringts das nich, 
glaub mir.

Wenn dann setz wenigstens auf nen System wie DCC.

Aber schaumal hier: 
http://www.tams-online.de/htmls/produkte/ldgldw32/produkte_ldgldw32.html
Dekoder für 15€ was willst du da bitte günstiger machen?!
Und vor allem besser?

von modell bahn freak (Gast)


Lesenswert?

Heey coole Idee :)
Vielleicht wäre es einfacher die ganze Digitalsteuerung nicht über 
"Morse-Zeichen" zu lösen. Du könntest die Ansteuerung ganz einfach über 
Funk lösen und die Loks über den PC verwalten und Ansteuern. Denkbar 
wäre auch ein Web-Server, dann kannst du auch im Urlaub schauen, ob 
deine Loks brav die runden drehen ;) Wenn du Beratung brauchst, geh doch 
mal auf: http://realize-your-project.ch/ Die beraten dich kostenlos... 
Und wenn du die Steuerung professionell umsetzen willst... Ist sehr 
günstig und professionell dort...
Viel Spass :)

von Helmut L. (helmi1)


Lesenswert?

Oder hier mal schauen:

http://home.arcor.de/dr.koenig/digital/homepag.htm#Selbst-%20und%20Umbau

Das gibt es auch Anleitungen zum Decoderbau.

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.