Skip to content

mvrueden/qtp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

819db22 · Jan 13, 2015

History

19 Commits
Dec 29, 2014
Nov 20, 2014
Nov 27, 2014
Nov 27, 2014
Nov 27, 2014
Jan 3, 2015
Jan 3, 2015
Jan 3, 2015
Jan 3, 2015
Jan 3, 2015
Jan 3, 2015
Jan 3, 2015
Jan 3, 2015
Jan 3, 2015
Jan 13, 2015

Repository files navigation

Übersicht

Q’s Train Project (QTP) dient dazu einen Zug-Fahrbetrieb zu simulieren. Dabei gilt es Hard- und Softwarekomponenten aufeinander abzustimmen und einen möglichst automatisierten Betrieb zu ermöglichen. Der "echte" Zugebetrieb wird dabei von LEGO-Modellen simuliert. Dieses Projekt beschäftigt sich mit allen auftretenden Fragen und Problemen welche sich dabei ergeben.

1. Verwendete Techniken

Die Dokumentation ist mit Asciidoctor erstellt.

2. Inhalte

2.1. Materialien

Zur Verfügung stehen folgende LEGO Materialien:

Des Weiteren stehen zur Verfügung:

2.2. Streckenaufbau

Zu Beginn wird ein einfacher Streckenaufbau gewählt, welcher mindestens die folgenden Kriterien erfüllt:

  • eine Weiche verbaut

  • alle Streckenabschnitte bilden einen Kreis

Denkbar wäre folgender Streckenaufbau:

2.3. Anforderungen

Dieser Abschnitt enthält alle Anforderungen, welche es zu erfüllen gilt. Anfangs sind diese eher Ideen als konkrete Anforderungen. Mit Fortschritt des Projekts ändern sich die Anforderungen ggf. Lösungen werden anschließend vorgestellt und dokumentiert.

2.3.1. Ansteuern der Weichen

Über ein Schaltpult (Software oder Hardware) werden die Weichen umgeschaltet. Die Weiche darf nicht modifiziert werden (z.B. entfernen der Feder). Ein manuelles Umschalten an der Weiche selbst durch den Benutzer ist nicht gestattet.

Prototyp 1, LEGO Mindstorms NXT

Der erste Prototyp ist mit Hilfe von LEGO Mindstorms realisiert worden. Der Aufbau ist sehr einfach gehalten.

Die beiden Schalter dienen zur Ansteuerung, des Motors. Der Schalter rechts stellt die Weiche auf Durchfahrt. Der Schalter links stellt die Weiche auf "gebogener Zweig".

Beim Drücken eines Schalters, wird der Motor mit einer Kraft von 50% für 0,25 Sekunden vorwärts/rückwärts angesteuert und bremst anschließend.

LEGO Mindstorms NXT steuert Weiche

1 WeichenSchalter Lego Mindstorms NXT

Gewonnene Erkenntnisse

  • die Kraft des verwendeten Motors reicht aus,

  • es existieren sogar noch Reserven

Vorteile

  • es werden nur LEGO-Steine verwendet

  • einfache Software-Lösung

  • simple Baukonstruktion

Nachteile

  • "klobige" Baukonstruktion

  • nur drei Weichen ansteuerbar (es existieren nur drei Motoren)

Downloads

Prototyp 2, Micro Servo

Der zweite Prototyp ist mit einem Micro Servo Motor realisiert. Dabei kam der Motor Mystery Micro Servo 9g SD90 zum Einsatz. Zur Ansteuerung des Servo-Motors wird ein Raspberry Pi B+ verwendet.

Technische Daten SD90 9g [1]

  • Speed: 0.12 second/60 degrees rotation

  • Torque: 1.3kg @ 4.8V~6V power

  • Comes with full ranged connectivity accessories and mounting screws

  • Dimensions: 53.6 mm x 52.4 mm x 12.5 mm

  • Weight: 24g

Der Motor wird mittels Pulsweitenmodulation (PWM) [2] mit einer Frequenz von 50 Hz (entspricht einer Periodendauer von 20ms) angesteuert. Die manuelle Vermessung ergab folgende Wertetabelle:

ms ° %

0,00

X

0

0,10

X

0,5

0,20

X

1

0,30

0

1,5

0,65

30

3,25

1,00

60

5

1,35

90

6,75

1,70

120

8,5

2,05

150

10,25

2,40

180

12

10,00

X

50

15,00

X

75

20,00

X

100

X = nicht möglich

Zur Befestigung des Micro-Servo-Motors an der LEGO Weiche wurde eine Basis-Plattform aus LEGO-Steinen realisiert. Anschließend muss der Motor in der richtigen Höhe auf die LEGO Basis-Plattform geklebt werden. Wichtig dabei ist, dass die Achse des Motors mit der Achse des LEGO Weichenhebels auf einer Linie ist. Daraus ergibt sich eine Höhe von 8 mm. Die Höhe der LEGO Basisplattform entspricht 6 mm. Um die fehlenden 2 mm zu überbrücken wurde eine abgelaufene Bahn-Card mit 1 mm Höhe zurechtgeschnitten und auf die Basis-Plattform geklebt. Anschließend kann der Motor aufgeklebt werden.

Der einfache Motorhebel wird an einem Ende abgeschnitten und mittig (90° Position) angebracht.

Damit eine physikalische Verbindung zwischen Motor und Weichenhebel besteht wird eine Heftzwecke durch das oberste Loch des Schalthebels gesteckt und ebenfalls verklebt.

Anschließend wurden die zwei Winkel bestimmt um die Weiche zu stellen:

  • 50°

  • 120°

Gewonnene Erkenntnisse

  • Die Kraft des verwendeten Motors bei 5V Versorgungsspannung reicht aus

Nächste Schritte

  • Verwendung mehrerer Motoren/Weichen

  • Erstellen eines CLI (Command Line Interfaces) zur gezielten Ansteuerung einer Weiche, z.B. schalte weiche1 1 für durchfahrt.

  • Bereitstellen eines GEhäuses um die "Elektronik" zu verstecken bzw. zu schützen.

Probleme

Einige Weichen ließen sich problemlos steuern, andere wiederum nicht, da diese sehr schwer zu stellen waren. Mithilfe von WD40 ist dem aber beizukommen.

LEGO Basis-Plattform

2 WeichenSchalter Servo Plattform

Micro-Servo auf LEGO Basis-plattform

2 WeichenSchalter Servo Motor1

Micro-Servo mitgelieferte Teile

2 WeichenSchalter Servo Motor2

Micro Servo an Weiche 1

2 WeichenSchalter Servo Gesamt1

Micro Servo an Weiche 2

2 WeichenSchalter Servo Gesamt2

Micro Servo an Weiche 3

2 WeichenSchalter Servo Gesamt3

Downloads


Weiterführendes Material

Folgende Informationen können hilfreich sein:

2.3.2. Positionsbestimmung eines Zugs

Ein Zug fährt über die Strecke und am Schaltpult/im Kontrollzentrum ist ersichtlich wo sich der Zug befindet.

Hier sind mehrere Ansätze möglich:

  • RFID/NFC

  • Magnete im "Gleisbett"

  • Lichtschranke am Gleis/Zug

  • Kombination aus allem

  • Barcodescanner am Zug und Barcodes am Gleis

  • Farbsensor am Zug und Farbcode am Gleis

  • Weitere Beiträge über Suchbegriff wie "Gleisbesetztmelder Modelleisenbahn".

Artikelsammlung:

Prototyp 1, RFID 125 Khz

Auf der Strecke werden mehrere 125 Khz RFID-Tags verteilt. Ein RFID-Lesegerät wird im LEGO-Zug verbaut und ließt die Karte beim Überfahren aus.

Aufgrund der geringen Baugröße (3,8 x 1,8 x 1,2cm) wurde ein 125Khz RFID RDM6300 - UART-Lesegerät verwendet.

Ein Auslesen von 125 Khz Tags bei Stillstand des Zuges hat problemlos geklappt. Im fahrenden Betrieb (auch bei Langsamfahrt) war ein Auslesen der RFID-Tags nicht mehr möglich.

Gewonnene Erkenntnisse

  • Das RFID-Lesegerät ließt 125 Khz Tags bei Stillstand des Zuges

  • Ein Auslesen eines Tags im Fahrtbetrieb ist nicht möglich

RDM6300 RFID 125Khz Lesegerät

RDM6300

Prototyp 2, RFID 13,56 MHz

Auf der Strecke werden mehrere 13,56 Mhz RFID-Tags verteilt. Ein RFID-Lesegerät wird im LEGO-Zug verbaut und ließt die Karte beim Überfahren aus.

Als Lesegerät wurde ein MIFARE RC522-Modul verwendet.

Ein Auslesen von 13,56 Mhz RFID-Tags hat sowohl bei Stillstand und während der Fahrt des Zuges funktioniert. Aufgrund der größeren Baugröße (4,0 x 6,0 cm) war ein dezentes Verbauen im Zug nicht möglich.

Gewonnene Erkenntnisse

  • Das RFID-Lesegerät ließt 13,56 Mhz Tags sowohl bei Stillstand als auch während der Fahrt des Zuges

  • Die Baugröße dieses Moduls ist zu groß

Nächste Schritte

  • Es wird ein weiteres 13,56 Mhz RFID-Lesegerät mit geringerer Baugröße ausprobiert

RC522 RFID 13,56 Mhz Lesegerät

RC522

2.3.3. Streckenabschnitte

Die Strecke wird in Abschnitte eingeteilt. Auf dem Schaltpult/im Kontrollzentrum ist zu sehen welcher Abschnitt zur Zeit von welchem Zug belegt wird.

Ein Zug welcher in einen "gesperrten" Abschnitt fährt wird automatisch gestoppt. Ein Weiterfahren dieses Zugs ist nicht mehr möglich. Er muss "resettet" werden (z.B. Aus- und wieder Einschalten)

Interessante Information zu einer möglchen Lösung:

2.3.4. Richtungsbestimmung

Es ist auf dem Schaltpult/im Kontrollzentrum ersichtlich in welche Richtung ein Zug fährt.

2.3.5. Geschwindigkeitsbegrenzung

Auf der Strecke herschen unterschiedliche Geschwindigkeitsbegrenzungen (z.B. keine, 80%, 50%, usw., ggf. auch absolut).

2.3.6. Waren

Ein Computerprogramm simuliert "Waren" in Form von Passagieren, Kohle, Güter, Nahrung, Tiere, Autos, usw.

Es gibt mehrere Bahnhöfe. Jeder Bahnhof produziert und konsumiert Waren.

Ein Zug kann Waren transportieren (z.B. Kohle).

Hält ein Zug an einem Bahnhof, werden Waren be- und entladen (sofern vorhanden).

2.3.7. Vollautomatischer Betrieb

Der Zugbetrieb ist vollständig automatisiert. Ein manuelles Eingreifen ist nicht mehr notwendig (vll. sogar möglich?)

2.3.8. Mehr von Allem

  • Betrieb auch mit Autos, LKWs, mehr Züge, längere Züge

  • Noch mehr Züge

  • Bahnübergänge

  • Lichtsteuerung (im Zug, auf der Strecke)

  • Kamerasteuerung (im Zug, auf der Strecke)

  • Audiowiedergabe (im Zug, auf der Strecke)

  • usw…​.

3. Ausschlusserklärung

LEGO® ist eine Marke der LEGO Gruppe, durch die die vorliegenden Inhalte jedoch weder gesponsert noch autorisiert oder unterstützt werden.

Alle Logos, Hersteller- und Produktnamen sind Warenzeichen ihrer jeweiligen Hersteller.

4. Lizenz

Copyright (c) 2014, Markus von Rüden.

Creative Commons Lizenzvertrag

About

Qs Train Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages