Die Hardware

der Reihe nach erklärt:

Das Fundament der Hardware bilden 4 Vierfach-Schaltrelais.

Schaltrelais
Schaltrelais

Drei dieser Relais werden benötigt, um die die Dioden zu schalten, mit deren Hilfe die Bahnspannung reguliert wird. Das vierte Relais schaltet den Bahnstrom der jeweiligen Spur komplett an oder aus.

Auf den Deckeln der drei Relais habe ich die Dioden für die jeweilige Fahrspur installiert.

Dioden
Dioden

Man sieht in der obigen Abbildung vier Gruppen mit 1 bis 8 Dioden, die einzeln oder in beliebiger Kombination geschaltet werden können. Da Dioden die Spannung vermindern, lassen sich somit insgesamt 16 Spannungszustände einstellen. Leider ist die Spannungsdifferenz auch von der Stromstärke (in meinem Fall also von den verbauten Motoren) abhängig, so dass man diesbezüglich keine allgemein gültigen Volt-Werte benennen kann. Nach meinen Erfahrungen liegt der Wert im Schnitt bei 0,4 bis 0,7 Volt, wobei ich 1N5059-Gleichrichterdioden verbaut habe. Da ließe sich sicherlich bei Bedarf noch etwas experimentieren.

Die gelben Pfeile schalten die entsprechenden Diodengruppen hinzu und die grünen Pfeile nicht. Die roten Pfeile leiten das „Ergebnis“ an das nächste Relais weiter. Da Dioden nur in eine Richtung leiten, wird kein Kurzschluss erzeugt. Im Anschluss mal ein Schema für die Geschwindigkeitsstufe 11:

Stufe 16 bedeutet, die am Netzteil anliegende Spannung wird unvermindert weiter gegeben. Hier sind 5 Dioden geschaltet, so dass das Geschwindigkeitsstufe 11 ergibt (16 – 5×7 = ca 12,5 V) . Dies entspricht aber wiederum nicht ganz der Wahrheit, denn ich habe noch eine zusätzliche Diode zwischen Arduino und Bahn gelötet, damit dieser bei Verwendung von elektronischen Reglern keinen Schaden nimmt. Das sei aber nur am Rande bemerkt.

Auf das vierte Schaltrelais habe ich den Arduino Uno verbaut, so dass sich folgendes Gesamtbild ergibt:

Arduino-Hardware
Arduino-Hardware

Neben den drei Platinen erkennt man die Anschlüsse, die an die Bahn, bzw. Regler gehen. Unterhalb des Arduino sieht man vier Anschlüsse. Einer ist der Stromeingang, und die anderen drei sind die Anschlüsse für die Buzzer. Auf dem Arduino sind zum Zeitpunkt der Aufnahme sieben Anschlüsse In Nutzung, nämlich drei für die Buzzer und vier für die Schaltrelais. Hinzu kommen dann noch drei Anschlüsse für die Lichtsensoren. Auf dem Bild ist der Arduino aber eigentlich garnicht zu sehen, da darauf ein Grove-Baseshield gesteckt ist. Die Sensoren und die Relais sind ebenfalls Grove-Komponenten. Diese Lösung ist vergleichbar teuer, aber bietet den Luxus, dass da stabile Steckverbindungen verbaut sind und man somit nicht löten muss.

Rennbildschirm

Beim Rennbildschirm gibt es ein paar Punkte, die einer Erklärung bedürfen:

Rennbetrieb
Rennbetrieb
  • Zeile 1: a)Name des Rennens + Lauf; b) Startampel; C) Noch verbleibende Rennzeit; d) Mein Logo
  • Zeile 2: Namen der jeweiligen Fahrer; Es handelt sich dabei um Buttons, mit denen auch manuell eine Strafe ausgesprochen oder zurückgenommen werden kann.
  • Zeile 3: Rundenzeiten der jeweiligen Fahrer
  • Zeile 4: Anzahl der gefahrenen Runden; Slotfarbe
  • Zeile 5: a) Persönliche schlechteste Rundenzeit; b) Farblicher Hinweis, ob Spannung auf der Spur anliegt (grün = ja, rot = nein) und Anzahl der Strafsekunden, welche runtergezählt werden; c) Persönliche schnellste Rennrunde
  • Zeile 6: Fahrer des nächsten Rennlaufs
  • Zeile 7: a) Rennstart – Die noch verbleibende Rennzeit wird aktualisiert, alle Rundenzeiten werden gelöscht, die Startampel läuft an; b) Rennabbruch – Die Anzahl der Runden und die Rundenzeiten werden ohne abzuspeichern gelöscht. Der Lauf kann sofort wieder gestartet werden; c) Speichern – Die Ergebnisse werden ohne Korrektur abgespeichert. Der nächste Lauf wird vorbereitet oder, falls kein Lauf mehr offen ist, das Gesamtergebnis des Rennens angezeigt; d) Ändern – Korrektur der Ergebnisse

Renneinstellungen

Da ich die Rennsoftware in erster Linie für mich persönlich entwickelt und viele Dinge hart programmiert habe, gibt es hier nur wenige Einstellungsmöglichkeiten.

Renneinstellungen
Renneinstellungen

Alle Einträge werden in einer Datenbank gespeichert und brauchen daher nur bei Bedarf angepasst zu werden.

Perspektivisch möchte ich hier schon noch ein paar Dinge einarbeiten. Auf Anhieb fällt mir hier die Sprachansage ein. Was als gutes Gimmick gemeint ist, kann manchmal auch ganz schön nervend sein.

Rennverwaltung

Der letzte, notwendige Schritt zur Durchführung eines Rennens findet innerhalb der Rennverwaltung statt. Da zuvor alle anderen notwendigen Daten in der Fahrer-, Fahrzeugverwaltung und den Renneinstellungen hinterlegt wurden, bedarf es hier nur drei einfachen „Klicks“, bevor man das erste Rennen fahren kann.

Rennverwaltung
Rennverwaltung

Dabei geht man wie folgt vor: Zuerst wählt man ein Fahrzeug in der Fahrzeugliste aus und klickt anschliessend auf „Neues Rennen“. Darauf hin erscheinen alle noch offenen Rennläufe in der obigen Liste. Die Verteilung der Fahrer auf die jeweiligen Spuren erfolgt dabei im Zufallsprinzip. Nach Auswahl eines Rennlaufs in der Liste, klickt man nur noch auf „Lauf übernehmen“ und schon kann es losgehen. Durch diesen Schritt erfolgt auch automatisch die Anpassung der Bahnspannung auf die in der Fahrzeugverwaltung eingestellten Werte.

OK, das waren jetzt vier Klicks, aber ich bin meinem Traum von der „Ein-Klick-Verwaltung“ schon recht nahe gekommen, insbesondere wenn man bedenkt, dass danach alle weiteren Läufe automatisch aufgerufen werden. Natürlich kann man auch jederzeit in der Rennverwaltung einen bestimmten Lauf aufrufen.

Rennergebnisse

Rennergegbnis
Rennergegbnis

Die Rennergebnisse können jederzeit über den entsprechenden Menüpunkt aufgerufen werden. Sobald in einem Rennen der letzte Lauf abgespeichert wurde, erscheint der Bildschirm automatisch.

Ein Ergebnis wird hier angezeigt sobald der erste Lauf eines Rennens abgespeichert wurde. Beim Abspeichern eines weiteren Laufs wird die Tabelle automatisch aktualisiert. Die Ergebnisse aller Rennen bleiben erhalten, soweit sie nicht gelöscht werden.

Fahrerverwaltung

Die Fahrerverwaltung ist ebenfalls eine wichtige Voraussetzung zur Durchführung eines Rennens. Alle Fahrer, die hier als anwesend markiert sind, nehmen automatisch an allen zukünftigen Rennen teil.

Fahrerverwaltung
Fahrerverwaltung

Vermutlich bedarf nur die Zeile oberhalb „Fahrer anlegen“ einer Erklärung. Im linken Feld wird der Name des Fahrers eingetragen. Da die Rennsoftware eine personifizierte Sprachansage beinhaltet, muss im zweiten Feld der Name nochmals so eingetragen werden, wie man ihn ausspricht. Mit dem Button „Test“ initiiert man die entsprechende Sprachansage des Namens um gegebenenfalls nochmal Korrekturen durchzuführen. Mit „Speichern“ wird der Name in die Liste übernommen. Zuvor erfolgt eine Überprüfung auf Eindeutigkeit.

Die Anwesenheit eines Fahrers wird durch Anklicken im großen Listenfeld bestätigt. Nochmaliges Anklicken entfernt das Päckchen wieder. Die Einträge werden automatisch in einer Datenbank gespeichert und bewahren Ihre Gültigkeit bis zur nächsten Änderung.