RE: Arduino: Bahnübergang

#1 von Rikscha , 21.03.2015 14:20

Hallo,
ich wollte euch mal meinen Bahnübergang vorstellen.
Meine Anforderungen:
- Per Taster Aktivierbar
- Status LED
- Andreaskreuze sollen eine bestimmte Zeit vorher schon Blinken bevor die Schranken schließen
- Steckbar (da ich es aus dem Keller wegen Feuchtigkeit mit hoch nehmen möchte)

Schranke/Andreaskreuze:
Schranke: Viessmann 5700 (Spur TT)
Andreaskreuze: Busch 5929 (Spur TT)

Das ganze habe ich mit einem Arduino UNO realisiert. Hier seht ihr einmal den Aufbau:



Zu den Anschlüssen:
Anschluss 1&2:
Diese beiden Ausgänge müssen mit eurem Taster verbunden werden.
Anschluss 3:
Dieser Anschluss ist die Anode (+) der Status LED.
Anschluss 4:
Dieser Anschluss ist die Kathode (-) der Status LED.
Anschluss 5:
Anschluss Andreaskreuze
Anschluss 6:
Schranke öffnen
Anschluss 7:
Schranke schließen
Anschluss 8:
Spannung für Ausgang
Bitte darauf Achten das ihr einen Pol eurer Spannung an die eine Seite der Schranke/Andreaskreuze anlegt und den anderen Pol über den Arduino legt (Ausgang 8 rein -> Ausgang 5,6,7) und dann an den anderen Pol der Schranke!

Jetzt zum Sketch/Programm

Diesen Sketch könnt ihr gerne für euren Bahnübergang nutzen:

<============================================================================================================================>


int Schalter= 0;
int Zustand = 0;
int a = 0;

void setup(){

pinMode(6, OUTPUT); // Andreaskreuze
pinMode(5, OUTPUT); // Schranke hoch
pinMode(4, OUTPUT); // Schranke runter
pinMode(3, OUTPUT); // Status-LED
pinMode(2, INPUT); // Schalter
}

void loop(){



digitalWrite(3, HIGH); // START // Einrichten der Schranke
delay(500);
digitalWrite(3, LOW);
delay(500);
digitalWrite(5, HIGH);
digitalWrite(3, HIGH);
delay(1000);
digitalWrite(5, LOW);
delay(1000);
digitalWrite(3, LOW); // ENDE // Ende des Einrichtens

while(a == 0){

Schalter = digitalRead(2);

if ((Schalter == HIGH)&&(Zustand == 0)){
Zustand = 1;
digitalWrite(6, HIGH);
digitalWrite(3, HIGH);
delay(5000); // Zeit Bevor die Schranke runter geht
digitalWrite(4, HIGH);
delay(100);
digitalWrite(4, LOW);
}

Schalter = digitalRead(2);

if ((Schalter == HIGH)&&(Zustand== 1)){
Zustand = 0;
digitalWrite(5, HIGH);
delay(100); // Verzögerung der Andreaskreuze bis Schranke offen ist
digitalWrite(5, LOW);
delay(2500);
digitalWrite(3, LOW);
digitalWrite(6, LOW);
}

}
}


<============================================================================================================================>

Ich denke man könnte das ganze noch Kompakter machen aber es funktioniert auch so .

Hier noch ein Bild des fertigen Aufbaus (Sorry für die Schlechte Qualität -> iPad ...)

Nachtrag: Bei diesem Bild fehlen die Kabel zur Spannungsversorgung des Breadboards!

Das müsste dann alles gewesen sein.
Falss noch jemand eine Frage hat dann einfach stellen!

Viel Spaß
Christoph


Rikscha  
Rikscha
S-Bahn (S)
Beiträge: 11
Registriert am: 08.11.2014


RE: Arduino: Bahnübergang

#2 von mobapädi ( gelöscht ) , 21.03.2015 16:35

Hallo Christoph,

Sieht gut aus, würde darauf zurückgreifen, wenn ich mal so weit bin und eine Bahnschrankensteuerung verwenden will.

Was mir aufgefallen ist, dass du die Relais direkt über das arduino-Board ansteuerst, da würde ich dir noch Freilaufdioden empfehlen, die du zur Sicherheit noch antiparralel zur Relaisspule einbauen solltest!
Nicht das dein Arduino noch abraucht, kann mir vorstellen, dass diese ziemlich empfindlich sind, oder hast du Relais mit eingebauter Schutzdiode?


Wenn ich mal Zeit habe, baue ich sowas mal nach, habe noch nie mit Arduino gearbeitet
Werde dann Optokoppler verwenden, um so das ganze von der SPS steuern zu lassen.

Die Bildqualität ist übrigens gut.


mobapädi

RE: Arduino: Bahnübergang

#3 von Rikscha , 21.03.2015 16:38

Hallo,
Danke das mit den Relais weis ich leider nicht. Ich war bei Conrad und habe Relais für 5V Steuerspannung genommen mit 24V Arbeitsspannung.

Christoph


Rikscha  
Rikscha
S-Bahn (S)
Beiträge: 11
Registriert am: 08.11.2014


RE: Arduino: Bahnübergang

#4 von Bon1970 , 11.11.2017 11:38

Hallo Christoph,
da musste ich mich doch glatt mal hier anmelden.
Dein Beitrag ist zwar schon etwas älter aber ich habe etwas ähnliches vorgehabt und überlegt wie es realisierbar ist. Ich habe die Halbschranke Bauart WSSB von Auhagen mit funktionierenden Led's versehen und hätte den Ablauf gern wie im Original. Zuerst blinken die Andreaskreuze und die Klingel ertönt, dann blinken die Schrankenbäume und schließen, die Klingel verstummt und nach öffnen der Schrankenbäume verlöschen die Led's. Das ganze auch auszulösen über einem Taster auf dem Stellpult.

Wäre Dein Programm abänderbar in dieser Richtung, bzw., wäre es überhaupt durchführbar mit dem Arduino? Ich habe zwar einen Arduino für meine Drehscheibe mit Schrittmotor, allerdings ist da nur ein Standardprogrammdrauf , und da bekomme ich schon die Geschwindigkeit des Schrittmotorsteuerung nicht erhöht. Viel Ahnung vom Arduino habe ich also nicht nicht.

Die Schranken sollen über Servos angetrieben werden, mittels ESU Switchpilot Servo. Da brauche ich nur einen kurzen Impuls zum öffnen und schließen.

Über Hilfe in jeder Art und Weise wäre ich Dir sehr dankbar.
Gruß André


Bon1970  
Bon1970
Beiträge: 2
Registriert am: 10.11.2017


RE: Arduino: Bahnübergang

#5 von volkerS , 11.11.2017 15:39

Hallo André,
das weiter oben gezeigte Programm kann bedingt was du wünschst, jedoch müssen deine Leds in den Andreaskreuzen selbständig blinken können.
Auch liefert es für die Schranken ein Dauersignal. Ansteuerung erfolgt durch einen Taster (auch wenn im Programm Schalter steht). Also erster Tastendruck "Schranke zu", nächster Tastendruck "Schranke auf" usw. Du wirst einige Änderungen im Programm vornehmen müssen, um die gewünschten Funktionen zu erhalten. Alternativ gehe zu viewtopic.php?f=7&t=152641#p1733628 , dieses Programm kann was du suchst (sogar ohne ESU-Baustein, da direkter Anschluß der Servos für die Schranke).
Volker


volkerS  
volkerS
ICE-Sprinter
Beiträge: 6.000
Registriert am: 14.10.2014


RE: Arduino: Bahnübergang

#6 von MicroBahner , 11.11.2017 15:58

Zitat

Die Schranken sollen über Servos angetrieben werden, mittels ESU Switchpilot Servo. Da brauche ich nur einen kurzen Impuls zum öffnen und schließen.


Hallo André,
ja, wenn man schon einen Arduino einsetzt, macht es wenig Sinn, noch einen Switchpilot einzusetzen. Das Ansteuern der Servos kann der Arduino auch sehr gut. Hier gibt's auch noch eine Alternative für einen Schrankenantrieb mit Servo. Da bewegen sich die Schrankenbäume schön langsam, und die Endlagen kann man vor Ort justieren, ohne das Programm ändern zu müssen.

Wobei ein Antrieb mit einem kleinen Schrittmotor deutlich bessere Ergebnisse bringt:


So bekommt man das nach meiner Erfahrung mit einem Servo nicht hin.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduino: Bahnübergang

#7 von Bon1970 , 12.11.2017 02:18

Danke für die schnellen Antworten.

@Volker, Danke für die Infos.

@Franz-Peter, Danke für die Ausführungen. Na dann werde ich mir mal alles durchlesen, vielleicht bekomme ich ja was passendes zusammen.
Das mit dem Switchpilot war nur weil ich den sowieso verwende für die Weichen. Wenn es über den Arduino auch geht umso besser. Mit einem Stepper sind die Bewegungen der Schrankenbäume sicher harmonischer als mit Servos. Ich habe ja einen Stepper an der Drehscheibe, aber da ist mir die Drezahl noch zu gering. Das muss ich auch noch irgendwie bewerkstelligen.

Gruß André


Bon1970  
Bon1970
Beiträge: 2
Registriert am: 10.11.2017


   


  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz