Arduino Uno als DCC Signaldecoder

Arduino Uno als DCC Signaldecoder

Postby lordbrummi » 14.03.2016, 15:59

Hallo zusammen,

ich möchte euch vorstellen, wie ihr mit einem Arduino Uno einen Signaldecoder für die Ansteuerung per DCC mit bis zu 16 Signalen umsetzen könnt.

Was braucht man:
-Einen Arduino Uno (gibt es in der Buch dür 3-4 Euro aus China)
-Diesen Sketch (im Link ist in der ersten Zeile der Downloadlink):
https://rudysmodelrailway.wordpress.com/2015/01/25/new-arduino-dcc-servo-and-function-decoder-software/

Der Sketch ist selbsterklärend und gut kommentiert, die DCC Libary ist auch in der download-zip enthalten

Eine Optokopplerschaltung um das DCC Signal in den Arduino an Pin2 zu bringen:
https://rudysmodelrailway.wordpress.com/software/

Einen Transistor damit über einen Ausgangspin am Arduino je nach Low oder High Signal das Signal umgeschalten werden kann (damit muß man keine 2 Ausgangspins belegen) (Danke an Rainer für die Hilfe):
http://forum.rocrail.net/viewtopic.php?f=70&t=11570

Der Sketch ist selbsterklärend und wie erwähnt gut dokumentiert. Für jedes Signal lässt sich eine eigene Zubehöradresse konfigurieren. In RR dann beim entsprechenden Signal diese Adresse eintragen - fertig.

Was ich noch umsetzen möchte mir über z.b. fritzing eine Aufsetzplatine für den Arduino zu erstellen, wo der Optokoppler und die Transistoren für die Signale bereits enthalten sind.

Testaufbau siehe Bild.


Damit könnt ihr günstig einen DCC Signaldecoder umsetzen.

Grüße Dieter

PS: In dem Download ist auch ein Sketch für einen Servodecoder. Dies werde ich als nächstes umsetzen.
Geplant ist, die Servos seperat mit Spannung zu versorgen (keine Last über den Arduino) und per Mosfet (IRLD024) ein/auszuschalten, damit sie bei Nichtbenutzung stromlos sind.
You do not have the required permissions to view the files attached to this post.
TamsMC, Servodecoder und Magnetartikeldecoder, S88 Rückmeldung, OpenCar und 3-Leiter Bahn, Win10 64bit, RR 64bit
lordbrummi
 

Re: Arduino Uno als DCC Signaldecoder

Postby stefan218 » 14.03.2016, 20:40

Hallo Dieter,

als Ausgangstreiber für die Signale/Servos kannst Du auch einen ULN2803A verwenden. Spart Lötarbeit und funktioniert super.

Gruß
Stefan
Spur 0 ][ Lenz-Zentrale ][ Windows 7 und 10 ][ Android ][ Arduino
stefan218
 

Re: Arduino Uno als DCC Signaldecoder

Postby lordbrummi » 14.03.2016, 21:52

Hi Stefan,

Vielen Dank für den Tipp.
Werde ich mal versuchen ob ich das hinbekomme.
So wie ich das sehe sind das praktisch 8npn in einem Gehäuse, den Basis und die Led Widerstände braucht man aber dennoch. Man hat halt einen gemeinsamen Emitter (GND) oder interpretier ich das falsch?

Grüße Dieter
TamsMC, Servodecoder und Magnetartikeldecoder, S88 Rückmeldung, OpenCar und 3-Leiter Bahn, Win10 64bit, RR 64bit
lordbrummi
 

Re: Arduino Uno als DCC Signaldecoder

Postby RainerK » 15.03.2016, 06:19

Hallo Dieter,

lordbrummi wrote:...den Basis und die Led Widerstände braucht man aber dennoch. Man hat halt einen gemeinsamen Emitter (GND)...

nein, die Basiswiderstände sind im ULN... integriert,
ja, die LED-Widerstände werden benötigt,
ja, der Emitter (GND) ist gemeinsam.

Es grüßt RainerK
Best Regards, es grüßt RainerK

Win10 64Bit / DCC++ with Arduino Uno / Motor shield and LocoNet GCA85, 50, 93 and 136.
Special interests: DIY electronic assemblies. http://www.rainermoba.blogspot.com
Planning replace the coincidence by the mistake
RainerK
 

Re: Arduino Uno als DCC Signaldecoder

Postby lordbrummi » 15.03.2016, 08:32

Hallo zusammen,

ich hatte das gestern abend noch getestet mit dem ULN2803, funktioniert super und man braucht auch keine Basiswiderstände wie von Rainer erwähnt.

Eine Frage noch:
Die erwähnte Optokopplerschaltung um das DCC Signal auf den Arduino zu bringen ist ja eigentlich nur einmal nötig (zum Arduino geht ja nur das DCC Signal).
D.h. meines Erachtens benötigt man die Optokopplerschaltung nur einmal für alle Arduinos oder wäre es besser (vielleicht aus Timing-Gründen) jedem Arduino einen eigene OptokopplerSchaltung fürs DCC Signal zu verpassen?

Danke und Grüße
Dieter
TamsMC, Servodecoder und Magnetartikeldecoder, S88 Rückmeldung, OpenCar und 3-Leiter Bahn, Win10 64bit, RR 64bit
lordbrummi
 

Re: Arduino Uno als DCC Signaldecoder

Postby RainerK » 15.03.2016, 08:52

Hallo Dieter,

wenn alle Arduinos und die daran angeschlossene Elektronik
aus einer gemeinsamen Stromversorgung versorgt werden,
genügt dafür ein Optokoppler.

Bitte achte darauf, dass es keine gleichzeitige Verbindung
vom PC über USB, Arduino, weitere Elekronik und Gleisspannung gibt.

Das könnte Probleme für die Funktion und das Leben von Bauteilen bringen. :!:

Ausnahme mit Vorsicht: :!:
Wenn alle Beteiligten (PC, Arduinos, weitere Elekronik und Gleisspannung) mit gemeinsamer Masse arbeiten.
Dann darf der die Gleisspannung erzeugende Booster aber nur vom Typ Halbbrücke sein.
Best Regards, es grüßt RainerK

Win10 64Bit / DCC++ with Arduino Uno / Motor shield and LocoNet GCA85, 50, 93 and 136.
Special interests: DIY electronic assemblies. http://www.rainermoba.blogspot.com
Planning replace the coincidence by the mistake
RainerK
 

Re: Arduino Uno als DCC Signaldecoder

Postby lordbrummi » 15.03.2016, 10:46

Hallo Rainer,

Danke für die Erklärungen.
Die Arduinos bekommen ein eigenes Netzteil. Ebenso dann stromstärkere Verbraucher über Mosfet wie zb. Servo, die dann am Arduino betrieben werden (Alles 5 oder 7,5V). Nur diese Massen sind verbunden.
Von der Moba Seite kommt nur das DCC Signal über den Opto rein.

Grüße Dieter
TamsMC, Servodecoder und Magnetartikeldecoder, S88 Rückmeldung, OpenCar und 3-Leiter Bahn, Win10 64bit, RR 64bit
lordbrummi
 


Return to Arduino (DE)