Willkommen 

Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#1 von lupus51 , 13.09.2021 19:17

nabend allerseits,

nachdem ich als Arduino-Anfänger (nano) gute Erfahrungen mit der Servosteurung beim aktuellen
Schrankenprojekt mache,
kommt mir wieder in den Sinn, die minitrix-Weichen meiner analogen N-Anlage stellen zu können.

Momentan habe 8 Stück davon mit elektromechanischem Antrieb mit Stellungsrückmeldung..schöne Sache !

Zuvor hatte ich schon mal probiert, das mit Servos zu machen, aber mechanisch krieg ich das einfach nicht sauber
hin, was an Mängeln bei meiner handwerklichen Erfahrung und Handfertigkeit liegt, evtl an mangelnder Werkstattausrüstung
Daß das noch besser wird, sehe ich in meinem Alter auch nicht mehr so hoffnungsvoll..

Gibt es eine nicht allzuteuere Möglichkeit, die Elektroantriebe weiterzuverwenden, aber über den Arduino - welcher Typ ? - anzusteuern ?
Derzeit sind hier noch zwei Ard. Nano "arbeitslos";hatte ich bestellt wg Befürchtg von Lieferengpässen mit Fernost..
kann ich die verwenden ?

Oder müßte man was mit nem DCC-Shield machen, glaube gelesen zu haben, daß es dazu was passendes für
die Weichenantriebe gibt, kann mich aber auch täuschen.

Letztlich wünsche ich mir für die kleine N-Anlage "etwas" automatischen Betrieb,
z.B. für Vorführzecke für den Nachwuchs aus 2.Generation...


Gruß vom alten rhoenwolf
aus Hofbieber in der Vorderrhön (Moba-Diaspora)


 
lupus51
InterCity (IC)
Beiträge: 580
Registriert am: 17.09.2019
Homepage: Link
Ort: 36145 Hofbieber
Gleise 2 Anlagen : H0 digital und N analog
Spurweite H0, N
Steuerung manuell
Stromart AC, DC, Digital, Analog


RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#2 von Matthias_h0 , 13.09.2021 20:42

Hallo lupus51

Du kannst dafür L293D ICs verwenden. So habe ich das auf meiner Anlage auch gemacht. Ansteuern kannst du das mit jedem Arduino Typ. Ich kann morgen mal meinen Schaltplan dazu hier zeigen. Wenn du nach "Arduino L293D" googelst, solltest du dazu auch einiges finden. Mit einem IC kannst du 2 Weichen steuern.
Ansonsten kannst du auch Relais-Karten verwenden, das ist aber teurer, weil du pro Weiche 2 Relais brauchst.

Über DCC kannst du das natürlich auch steuern. Das geht mit einem Optokoppler wie dem 6N137.

Viele Grüße,
Matthias


MobaLedLib Wiki


Matthias_h0  
Matthias_h0
InterRegioExpress (IRE)
Beiträge: 261
Registriert am: 29.11.2020
Gleise Märklin C-Gleis
Spurweite H0
Steuerung MS2, MobaLedLib
Stromart Digital

zuletzt bearbeitet 14.09.2021 | Top

RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#3 von Coder , 13.09.2021 21:12

Moin,

ich habe dafür einfach die ULN2803 genommen. Billig, einfach, funktioniert. Die Dinger sind "Schüttgut", kosten nur 1/5 des L293.

Die Ansteuerung erfolgt bei mir mit ESP8266 - der kostet auch nur 1,55 im Gegensatz zum "teuren" Arduino. DCC-Signal nehme ich mit einem Optokoppler ab.

Gruß,
Coder


Coder  
Coder
S-Bahn (S)
Beiträge: 15
Registriert am: 27.03.2020


RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#4 von lupus51 , 13.09.2021 23:21

vielen dank für Eure Tipps und Links !

Wenn ich das richtig sehe, gibt es also mindestens 2 Wege :

1.) den mitm Ardi und H-Brücke wie L296..
2.) den per Wifi mitm ESP..

3.) wäre wohl mit DCC..ist mir noch unklar (Ardi Uno mit DCC-Shield ? und dann ?)

von meinem momentanen Durchblick her würde ich zu 1.) neigen
H-Brücke hab ich ja auch schon diskret gebaut mit FlipFlop für Standseilbahn als Pendelzug-Steurung
noch ohne Ardi..könnte den aber nehmen, um das Ganze mit einer Wartezeit an den Stationen zu versehen..

mit der Weichenschaltung ist mir das aber noch unklar, auch wg der gewünschten optischen Rückmeldung
und Verwertbarkeit..da ist für mich noch "Forschungsarbeit" für die Steurungslogik


Gruß vom alten rhoenwolf
aus Hofbieber in der Vorderrhön (Moba-Diaspora)


 
lupus51
InterCity (IC)
Beiträge: 580
Registriert am: 17.09.2019
Homepage: Link
Ort: 36145 Hofbieber
Gleise 2 Anlagen : H0 digital und N analog
Spurweite H0, N
Steuerung manuell
Stromart AC, DC, Digital, Analog


RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#5 von lupus51 , 13.09.2021 23:25

p.s. : sehe nirgendwo "Schutzdioden" : sind die integriert ?

es gibt da fertige Module mit L298N , ist wohl dasselbe wie L296D ? sehr preiswert, aber derzeit lange Lieferzeit

bei den Weichenantrieben geht es ja um Spulen, die impulsartig (z.B. Taster) stromdurchflossen werden :
brauch ich da überhaupt ne Brücke ?
könnte mir vorstellen , direkt am Ardi mit digitalWrite ? da brauch ich aber bestimmt ne Schutzdiode...Strombedarf
der Weiche muß ich noch messen..ob Ardi das verträgt ?


Gruß vom alten rhoenwolf
aus Hofbieber in der Vorderrhön (Moba-Diaspora)


 
lupus51
InterCity (IC)
Beiträge: 580
Registriert am: 17.09.2019
Homepage: Link
Ort: 36145 Hofbieber
Gleise 2 Anlagen : H0 digital und N analog
Spurweite H0, N
Steuerung manuell
Stromart AC, DC, Digital, Analog

zuletzt bearbeitet 13.09.2021 | Top

RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#6 von lupus51 , 14.09.2021 07:12

Fordsetzung :

Habe heute morgen in Beiträgen eines N-Spur-Forums aus 2011 gelesen,
daß die Original-minitrix-Weichenantriebe Impulsströme bis zu 3000mA ziehen !

Das ist dem Ardi Nicht zuzumuten, auch nicht die daraus resultierende Spitzenspannung :
das brauchts wohl schon nen soliden Optokoppler.

Glücklicherweise hatte ich die Rückmelde-LED's mit extra Dioden in Reihe geschaltet (gemäß
einer Empfehlung in irgendeinem Forum), sodaß diese Nicht gleich Abschied nahmen, sondern immer noch leuchten !

Hab gelesen , PECO-Weichen mit Servo wären auch sogar für Schattenbahnhöfe zuverlässig genug :
fiele Fragen :
8 Weichen umrüsten : Geometrie-Änderung ? Kosten ? Mechanik : kann ich das ?
Oder : Was kosten Welche Optokoppler ?

Freue mich über Tipps bzw Links..


Gruß vom alten rhoenwolf
aus Hofbieber in der Vorderrhön (Moba-Diaspora)


 
lupus51
InterCity (IC)
Beiträge: 580
Registriert am: 17.09.2019
Homepage: Link
Ort: 36145 Hofbieber
Gleise 2 Anlagen : H0 digital und N analog
Spurweite H0, N
Steuerung manuell
Stromart AC, DC, Digital, Analog


RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#7 von lupus51 , 14.09.2021 15:17

hallihallo,

also , hab mich in die Richtung Ardi mit Optokoppler orientiert,
im Beitrag von gestern abend also die Nummer 1 : da sehe ich aus meinem "Halbwissen"
noch am ehesten Chancen, einen blockorientierten Mehrzugbetrieb aufzubauen.

Von elektromechanischen Relais (Totgesagte leben länger) möchte ich erstmal Abstand nehmen,
kenne die Problematik aus meiner "Postzeit" ,der Weichenantrieb ist ja auch sowas und soll die einzige Komponente
dieser Art bleiben !

Der Fahrstrom wird wie bisher von ARNOLD-Ass-Fahrgeräten geliefert,
das funzt bisher prima, da geht auch nichts in Rauch auf, wie anderswo geschrieben

Die Fahrstrecke ist eigentlich ganz einfach : ein verschlungenes Oval mit zwei Ausweichstellen, wie
bei Cabrides zur Schweizer Bahnwelt oft gezeigt zuzüglich kleiner Rbf mit zwei weiteren Weichen,
Rest ist Landschaft mit integrierter Standseilbahn (auch N, aber mit Standard-Gleichstrommotor über
H-Brücke als Polwender. Wie gesagt, das wäre dann noch was fürn ARDI.....

so, jetzt wird was geschafft: Schrankenanlage auf meine H0-Klappbahn montieren.uff


Gruß vom alten rhoenwolf
aus Hofbieber in der Vorderrhön (Moba-Diaspora)


 
lupus51
InterCity (IC)
Beiträge: 580
Registriert am: 17.09.2019
Homepage: Link
Ort: 36145 Hofbieber
Gleise 2 Anlagen : H0 digital und N analog
Spurweite H0, N
Steuerung manuell
Stromart AC, DC, Digital, Analog


RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#8 von Matthias_h0 , 14.09.2021 16:36

Hallo lupus51

In den L293D ICs sind bereits Schutzdioden integriert. So teuer sind diese ICs auch nicht, diese gibt es z.B. hier sehr günstig:
https://m.de.aliexpress.com/item/1005002...40Q90.jpg_.webp
Eine mögliche Schaltung mit dem L293D könnte so aussehen:

Bild entfernt (keine Rechte)

Die Schaltung kann für mehr Weichen natürlich beliebig erweitert werden.

Mit einem Optokoppler würde ich die Weichen nicht schalten, da Optokoppler dafür nicht wirklich geeignet sind. Und ein L293D kostet nun wirklich nicht viel und ist leicht anzusteuern.

Direkt am Arduino kannst du die Antriebe auf keinen Fall betreiben, das scheitert schon daran, dass die Weichenantriebe mehr als die 5V am Arduino benötigen. Auch werden deine Weichen wohl mehr als 40mA benötigen.

Das Einlesen von DCC geht z.B. mit der NmraDcc Bibliothek sehr leicht. Die Schaltung dafür sieht so aus:

Bild entfernt (keine Rechte)

Viele Grüße,
Matthias


MobaLedLib Wiki


lupus51 hat sich bedankt!
Matthias_h0  
Matthias_h0
InterRegioExpress (IRE)
Beiträge: 261
Registriert am: 29.11.2020
Gleise Märklin C-Gleis
Spurweite H0
Steuerung MS2, MobaLedLib
Stromart Digital

zuletzt bearbeitet 14.09.2021 | Top

RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#9 von lupus51 , 14.09.2021 16:44

hallo matthias,

das sieht ja schon mal gut aus !

Hast Du den Schaltplan bitte mal als pdf oder jpeg bzw png ?

Als Screenshot und MS-Paint kommt er leider zu blaß raus auf meinem Drucker (Lexmark),
kaum was zu erkennen..evtl Graustufenmodus falls einstellbar..

Im Sketch wäre dann digitalwrite zu verwenden, nix analoges,
und KEIN delay(..) zwischen HIGH und LOW, gelle ?


Gruß vom alten rhoenwolf
aus Hofbieber in der Vorderrhön (Moba-Diaspora)


 
lupus51
InterCity (IC)
Beiträge: 580
Registriert am: 17.09.2019
Homepage: Link
Ort: 36145 Hofbieber
Gleise 2 Anlagen : H0 digital und N analog
Spurweite H0, N
Steuerung manuell
Stromart AC, DC, Digital, Analog


RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#10 von Langsamfahrer , 14.09.2021 16:54

Hallo in die Runde!

Ich vermisse zunächst mal die grundsätzliche Entscheidung, ob die Antriebe mit Gleich- oder mit Wechselspannung betrieben werden sollen.
Meine intuitive Präferenz ist für Wechselspannung, weil die Spulen sicher darauf ausgelegt sind.

Dann kann man sie aber nicht so einfach mit Transistoren ansteuern, sondern braucht Triacs. Zumindest will ich das bei mir (allerdings Märklin-Weichen) so machen.
Und weil der Arduino dafür vielleicht nicht genug Strom liefern kann, will ich zwischen den Arduino und den "Leistungs"-Triac einen Optokoppler-Triac setzen, dann bekomme ich auch gleich eine galvanische Trennung.

Das ist bei mir aber alles noch in der Ideenphase, leider noch nicht fertig ausgearbeitet oder gar getestet.

Viel Erfolg!
Jörg


H0, Märklin C+K, DCC, kleine Fahrzeuge, Dampf+Diesel, III-IV, eingleisig


Langsamfahrer  
Langsamfahrer
RegionalExpress (RE)
Beiträge: 77
Registriert am: 13.05.2020
Gleise Märklin C+K
Spurweite H0
Stromart Digital


RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#11 von Matthias_h0 , 14.09.2021 16:56

Hallo rhoenwolf

Im Anhang findest du den Schaltplan als PDF Datei.

Die Weichen schaltest du dann per digitalWrite. Zwischen High und Low muss aber schon ein kurzes Delay von etwa 20ms, damit die Weiche Zeit zum Umschalten hat. Evtl. musst du das delay auch ein bisschen erhöhen, das hängt vom Weichenantrieb ab.

So sieht das dann aus:

1
2
3
4
5
 

digitalWrite(WeichenPin, HIGH);
delay(20);
digitalWrite(WeichenPin, LOW);
 
 



@Langsamfahrer Ich schalte meine Märklin Antriebe mit Gleichspannung. Das funktioniert so sehr gut. Mit Wechselstrom wäre die Schaltung deutlich komplizierter.

Viele Grüße
Matthias


MobaLedLib Wiki

Dateianlage:
Sie haben nicht die nötigen Rechte, um die angehängten Dateien zu sehen

lupus51 hat sich bedankt!
Matthias_h0  
Matthias_h0
InterRegioExpress (IRE)
Beiträge: 261
Registriert am: 29.11.2020
Gleise Märklin C-Gleis
Spurweite H0
Steuerung MS2, MobaLedLib
Stromart Digital

zuletzt bearbeitet 14.09.2021 | Top

RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#12 von Coder , 14.09.2021 19:07

Zitat von lupus51 im Beitrag #4
Wenn ich das richtig sehe, gibt es also mindestens 2 Wege :

1.) den mitm Ardi und H-Brücke wie L296..
2.) den per Wifi mitm ESP..

3.) wäre wohl mit DCC..ist mir noch unklar (Ardi Uno mit DCC-Shield ? und dann ?)


Nur der Vollständigkeit halber, Ich denke das siehst du falsch. Nur weil ich einen ESP einsetze nutze ich nicht WLAN. Stattdessen speise ich DCC in den ESP und schalte damit dann über den ULN2803 die Weichenantriebe. Eben genau so wie mit einem Arduino, nur für einen Bruchteil dessen Preises, dafür aber mit vernünftigem Pinout, kleimem Formfaktor und der Möglichkeit, über WLAN jederzeit Firmwware-Updates einzuspielen sowie eine Diagnoseschnittstelle zu bedienen (d.h. Fehlersepeicher auslesen, Aktoranalyse etc.).

Natürlich kann man bei Verwendung des ESP zur Ansteuerung auch WLAN verwenden. Das habe ich aber nicht umgesetzt. Ich kann beliebig viele Clients (jedes Gerät mit Browser, also Handy, Tablet, PC sowie meinen Selbstbau-Fahrregler auf ESP-Basis) verwenden deren Zugriffe über einen zentralen Server an die DCC-Station (da ist dann sehr wohl ein Arduino verbaut :-) ) gehen. Da ich damit ohnehin Zugang zur DCC-Station hatte und ich keinen Parallelweg gehen woilte löse ich Schaltungen eben auch über DCC aus. Das gilt für Weichen wie für sonstiges Zubehör. Denn neben Weichenansteuerung habe ich dann gleich auch andere Steuerungsarten vorgesehen.

Der Vorteil am ESP-basierten Zubehördecoder ist für mich allein der Preis und die Größe. Das Ding kann wie bei mir eingesetzt 2 Weichen schalten, oder 4 Verbraucher (Licht, Motoren) auch unterschiedliche Arten bedienen. Da macht es bei dem Preis keinen Sinn einen zentralen Ansastz zu wählen. Stattdesseen baue ich pro (Doppel-)Weiche einen ESP ein. Die Platine habe ich so gestaltet dass ich Versorugungen und DCC-Signal per Flachbandkabel einspeise - und auch wieder weiterleite. Somit ergibt sich eine Kette von Zubehördecoder zu Zubehördecoder. Keine unnötigen Kabel, nur ein Flachbandkabel unter der Bahn entlang. Sauber, aufgeäumt, einfach zu verdrahten und einfach zu modifizieren: soll zwischen 2 Zubehördecodern ein weiterer eingesetzt werden zerschneide ich das Kabel, crimpe neue Flachstecker an, stecke die auf den neuen Zubehördecoder und bin fertig,

Gruß,
Coder


e69-fan hat sich bedankt!
Coder  
Coder
S-Bahn (S)
Beiträge: 15
Registriert am: 27.03.2020


RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#13 von lupus51 , 14.09.2021 22:22

hallo Coder,

ich glaube, Du erwartest da zuviel von mir an Kenntnissen

was genau bedeutet das `?

hab hier Ardi Nano : wie komme ich dann erstmal zu DCC ?
meines Wissens gehts son Shield nur über UNO ?
speise ich DCC in den ESP ...aha ????

bitte erstmal langammmmmmm ! bin auch nicht mehr der Jüngste

gerne Links, wo das genauer angegeangen wird, sorry !


Gruß vom alten rhoenwolf
aus Hofbieber in der Vorderrhön (Moba-Diaspora)


 
lupus51
InterCity (IC)
Beiträge: 580
Registriert am: 17.09.2019
Homepage: Link
Ort: 36145 Hofbieber
Gleise 2 Anlagen : H0 digital und N analog
Spurweite H0, N
Steuerung manuell
Stromart AC, DC, Digital, Analog


RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#14 von lupus51 , 15.09.2021 07:21

danke matthias für pdf-datei..kommt beim drucken etwas deutlicher raus..


Gruß vom alten rhoenwolf
aus Hofbieber in der Vorderrhön (Moba-Diaspora)


 
lupus51
InterCity (IC)
Beiträge: 580
Registriert am: 17.09.2019
Homepage: Link
Ort: 36145 Hofbieber
Gleise 2 Anlagen : H0 digital und N analog
Spurweite H0, N
Steuerung manuell
Stromart AC, DC, Digital, Analog


RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#15 von lupus51 , 15.09.2021 08:40

Zitat
ich schalte meine Märklin-Antriebe mit Gleichspannung



nun, auf meiner H0-Anlage ist auch Nur der Fahrstrom digital, alles andere auch mit gesiebtem und geregeltem
Gleichstrom (L200). funzt hier auch gut..jetzt dann auch die Schranke.

Daß Mätrix in den Weichen Keine Spulenabschaltung hat und somit keine Rückmeldung im Gegensatz zum minitrix-Antrieb,
liegt vermutlich nicht nur an Umsatzzielen (extra Umschalter erforderlich), sondern an der Baugröße :
die kleinen Spulen bei N-Spur brennen sicherlich schneller durch als die robuster baubaren Spulen (dickerer Draht) bei H0;
deswegen brauchen die eine Endabschaltung.

Damit ich nicht einen in meiner N-Anlage fest verbauten Weichenantrieb möglicherweise ersetzen muß
bei den ersten Versuchen mit der Ardi-Ansteurung, werde ich mir in der Bucht einen weiteren Antrieb beschaffen, der dann bei Erfolg
auch in der Anlage verwendbar ist...die Hoffnung stirbt bekanntlich zuletzt


Gruß vom alten rhoenwolf
aus Hofbieber in der Vorderrhön (Moba-Diaspora)


 
lupus51
InterCity (IC)
Beiträge: 580
Registriert am: 17.09.2019
Homepage: Link
Ort: 36145 Hofbieber
Gleise 2 Anlagen : H0 digital und N analog
Spurweite H0, N
Steuerung manuell
Stromart AC, DC, Digital, Analog


RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#16 von Matthias_h0 , 15.09.2021 14:48

Hallo lupus

Zitat von lupus51 im Beitrag #13

hab hier Ardi Nano : wie komme ich dann erstmal zu DCC ?
meines Wissens gehts son Shield nur über UNO ?
speise ich DCC in den ESP ...aha ????


Also, hier noch mal zur Erklärung. Du kannst DCC nutzen, egal ob du einen Arduino Uno, Nano oder einen ESP8266 nutzt. Meiner Meinung nach ist aber der Nano am Besten geeignet, wenn du den sowieso da hast.
Für DCC brauchst du kein Shield. Du benutzt einfach den Schaltplan, den ich weiter oben schon gezeigt habe.

Zitat von Matthias_h0 im Beitrag #8





Du brauchst folgende Teile:
-Optokoppler 6N137
-Diode 1N4148
-Widerstand 1K
An den mit DCC und DCC2 beschrifteten Anschlüssen im Schaltplan schließt du das DCC Signal an. Den mit Arduino Pin 2 beschrifteten Anschluss schließt du an einen interruptfähigen Eingang des Arduinos an. Beim Nano sind das D2 oder D3.

Dann benötigst du die NmraDcc.h Bibliothek, die du in der Arduino IDE installieren kannst.

Ein Programm für den Arduino könnte dann für 2 Weichen z.B. so aussehen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 

#include <NmraDcc.h>
NmraDcc Dcc;
DCC_MSG Packet;
void setup() {
Dcc.pin(0, 2, 1); // Dcc-Signal an Pin2 ( = Int0 );
Dcc.init( MAN_ID_DIY, 15, FLAGS_OUTPUT_ADDRESS_MODE | FLAGS_DCC_ACCESSORY_DECODER, 0 );
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
}
void yield(){
Dcc.process();
}
void loop() {
Dcc.process();
 
}
void notifyDccAccState( uint16_t Addr, uint16_t BoardAddr, uint8_t OutputAddr, uint8_t State ) {
if(Addr == 1){
digitalWrite(3, HIGH);
delay(50);
digitalWrite(3, LOW);
}
if(Addr == 2){
digitalWrite(4, HIGH);
delay(50);
digitalWrite(4, LOW);
}
if(Addr == 3){
digitalWrite(5, HIGH);
delay(50);
digitalWrite(5, LOW);
}
if(Addr == 4){
digitalWrite(6, HIGH);
delay(50);
digitalWrite(6, LOW);
}
}
 
 



Alternativ lassen sich die Weichen natürlich auch über Taster schalten, die am Arduino angeschlossen werden, oder du kannst automatisch Fahrstraßen stellen.

Viele Grüße,
Matthias


MobaLedLib Wiki


lupus51 hat sich bedankt!
Matthias_h0  
Matthias_h0
InterRegioExpress (IRE)
Beiträge: 261
Registriert am: 29.11.2020
Gleise Märklin C-Gleis
Spurweite H0
Steuerung MS2, MobaLedLib
Stromart Digital


RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#17 von Railcar , 15.09.2021 15:45

Hi,

@ Matthias_h0

Tu mir einen Gefallen und gewöhne dir diesen Schwachsinn mit dem DELAY ab. Irgendwann wunderst du dich das deine Sketche nicht mehr das machen was sie sollen weil irgendein DELAY die Ausführung blockiert.

Gewöhn dir lieber die Verwendung von millis an! Schreib dir ne kleine Routine mit millis die du dann entsprechend kopieren kannst.

Sorry für den harschen Ton, aber mir klappen sich immer die Fussnägel hoch wenn ich in irgendeinem sketch DELAY lese, irgendwann kommt dann nämlich die Frage warum der sketch nicht mehr das macht was er soll - und dann stellt sich raus da nur delay drin stehen die alles blockieren.

Ulrich


Railcar  
Railcar
InterCity (IC)
Beiträge: 518
Registriert am: 15.11.2018


RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#18 von Matthias_h0 , 15.09.2021 15:54

Hallo Ulrich

Ich weiß, dass das mit millis besser funktionieren würde, aber ein delay von 50ms spielt da keine große Rolle.
Auf meiner Anlage funktioniert es auf jeden Fall so.

Das Programm habe ich eben nur mal auf die Schnelle geschrieben und wollte es deswegen nicht komplizierter als nötig machen. Ich wollte damit nur zeigen wie das Einlesen von DCC Signalen funktioniert.

Ansonsten kannst du meinen "Schwachsinn" ja gerne abändern.

Viele Grüße,
Matthias


MobaLedLib Wiki


Matthias_h0  
Matthias_h0
InterRegioExpress (IRE)
Beiträge: 261
Registriert am: 29.11.2020
Gleise Märklin C-Gleis
Spurweite H0
Steuerung MS2, MobaLedLib
Stromart Digital

zuletzt bearbeitet 15.09.2021 | Top

RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#19 von Domapi , 15.09.2021 16:40

Hallo lupus51,

Schau dir mal diesen Thread an: RE: Arduinobasierter DIY Zubehördecoder V7.0.0 freigegeben

Hier findest du haufenweise Anregungen für Arduino-Dekoder.

Übrigens kann ein gˋscheiter Dekoder auch einige Dinge mehr als der Sketch von Matthias:

- Speicherung der Weichenposition im EEPROM und Stellen der Weiche in diese Position beim nächsten Einschalten
- Verwaltung einiger CVs, z.B. der Einschaltdauer des Ausgangs oder Dekoderadresse
- Programmierung der CVs (POM, Programmiergleis)
- Werks-Reset bei Schreiben auf CV8
- Modus zum Anlernen der Adresse
- ggf. Schalten durch Taster
- Herzstückpolarisierung
- …

Hier hilft immer einfach starten, nach und nach komplexere Funktionen einbauen.

Die Minitrix-Weichen kann man auch mit Servos betreiben. Einfach ein Loch durch den roten Schaltnippel bohren und dort den Draht vom Servo-Horn einfädeln. Dann kannst du sogar die eingebaute Herzstückpolarisierung der Weiche nutzen.

Alternativ die Innereien der Weiche ausbauen und nur die Weichenzunge mit Servo ansteuern; Herzstück separat.

Ich verwende gerne altmodische bi-stabile Relais mit 2 x UM für Weichenantriebe. Einmal für die AC-Ansteuerung der Weiche und zusätzlich für die Herzstückpolarisierung. Man kann auch Mono-stabile Relais nutzen, dann braucht man nur einen Nano-Ausgang. Der ist dann halt dauernd an oder aus (kostet dann mehr Strom).

Wenn ein Dekoder mehrere Weichen steuern soll, verbietet sich delay() sowieso. Sonst kriegt der Dekoder einen Tastendruck oder einen DCC-Befehl u.U. gar nicht mit

Viel Erfolg beim Programmieren!


Viele Grüße
Martin

Mein noch namenloser Trennungsbahnhof: viewtopic.php?f=64&t=152275


lupus51, Matthias_h0 und e69-fan haben sich bedankt!
 
Domapi
EuroCity (EC)
Beiträge: 1.160
Registriert am: 22.09.2015
Ort: Nämberch
Gleise Ohne Pickel
Spurweite H0
Steuerung Mit Hirn und Verstand
Stromart DC, Digital

zuletzt bearbeitet 15.09.2021 | Top

RE: Arduino (Newbie) u Weichenantrieb "analog" : wie ?

#20 von lupus51 , 15.09.2021 23:39

n'abend,

während ich bei der Schranke jetzt die mechanischen Aspekte bearbeite, schaue ich schon mal,
wie ich mitm Ardi eine blockorientierte Zugsteurung aufbauen könnte.

Dabei lasse ich das Thema DCC erstmal raus :
hab derzeit weder ne MS2 noch passende Signale mit Decodern o.ä. im Haus

Die Signale sind hier alle LED...

es wird sicherlich auch so komplex genug und genug zum Lernen :
- Anwendung millis u. weiteres (struct, OOP) durcharbeiten
- wie arbeite ich mit dem EEPROM ? dort wären Fahrstrassen zu speichern (Platz ?)
- wie visualisiere ich Fahrstrassen ?

am liebsten wäre es mir, wenn ich ne einfache Textausgabe der gewählten Fahrstrasse realisieren könnte..
hab da LED-Matrizen als "Shields" gesehen, weiß aber nicht , wie die mitm Ardi verbunden werden :
einfach aufstecken geht ja nicht, weil keine Steckerleiste auf der Oberseite des Ardi Nano existiert..
geht das mitm Uno ?


Gruß vom alten rhoenwolf
aus Hofbieber in der Vorderrhön (Moba-Diaspora)


 
lupus51
InterCity (IC)
Beiträge: 580
Registriert am: 17.09.2019
Homepage: Link
Ort: 36145 Hofbieber
Gleise 2 Anlagen : H0 digital und N analog
Spurweite H0, N
Steuerung manuell
Stromart AC, DC, Digital, Analog


   

Gleisbox als Zentrale
Geschwindigkeitsmessung von Loks - Welche Hardware verwenden?

  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
disconnected Foren-Chat Mitglieder Online 177
Xobor Einfach ein eigenes Forum erstellen
Datenschutz