Slotbaer / Slotbaer Projekte (Digital) / D132 & D124 / D133

Was macht man, wenn ein Projekt eine Zwangspause einlegen muss, weil man auf Platinen warten muss ?
Man fängt ein neues an !

 


 

Der einfallsreiche Name des neuen Projektes ist D133. Das Ziel des Projektes ist es die Fähigkeiten des Digital 132 Systems zu erweitern. Damit sind im Besonderen eine integrierte Zeitmessung, auslesbarer Benzinstand, Ansteuerung von Anzeigegeräten für Position, Benzinstand und Rundenzeiten gemeint. Aber auch alles andere was mir gerade nicht einfällt.

Die Grungvoraussetzung ist, dass all dies mit bzw. über die Blackbox gesteuert wird. Dazu braucht man eine eigene Blackbox oder muss die Carrera Blackbox neu programmieren. Ich habe mich für Letzteres entschieden, da man hier schon Alles was man braucht in einem Gehäuse nett verpackt hat. Einziger Nachteil ist es, dass die Zeitmessung extern erfolgen muss. Obwohl die Blackbox die Zeiten verwalten und an den Rechner oder andere Geräte übertragen wird bzw. kann.

Carrera verwendet in der 30344 Blackbox einen Mega16 Microcontroller von Atmel, der wie die meisten anderen aktuellen Microcontroller in der Schaltung programmiert werden kann. Carrera wirbt zwar damit, dass man die Blackbox vom PC her updaten kann, da ich aber das Protokoll nicht kenne und es keine Updates von Carrera gibt gibt an Hand derer ich das Protokoll herausfinden könnte, habe ich den Microcontroller einmal "richtig" programmiert und dabei einen Bootloader aufgespielt, der es mir erlaubt eigene Programme über die serielle Schnittstelle zu laden. Der PC-Modul Anschluss führt die serielle Schnittstelle des Mega16 nach Außen. Mit Hilfe eines TTL-seriell / USB Wandlers von FTI stelle ich die Verbindung zum Mac (oder PC) her. Als zweiter Anschlusstyp steht ein I2C Bus zur Verfügung über den die D133 mit der Zeitmessung, der Pitlane und allen anderen Geräten kommunizieren wird.
Die Software ist komplett Interrupt gesteuert. Das spannend dabei ist, dass der Microcontroller für gewöhnlich nur zu 4% ausgelastet wird. Es gibt einen Sonderfall, beim Senden eines IR Burst, wo die Auslastung auf 30% steigt (vielleicht ändere ich das noch, aber im Moment gibt es genug andere fehlende Features). Man hat also noch genug Rechenzeit um bequem mit externen Geräten kommunizieren. Man könnte sogar noch eine eigene Zeitmessung (direkte Abfrage von IR Sensoren) unterbringen. ich habe mich allerdings wegen der nötigen Hardwareänderungen dagegen entschieden.

Was funktioniert (Stand 26.11.08):

Dieses Wochenende war ich Schiri bei einem Warhammer Turnier war nett, hat mich aber bzgl. D133 nicht richtig weitergebracht. Unter der Woche habe ich den zweiten Teil der Tankverwaltung, den in der Boxengasse, implementiert, so dass die Spritverwaltung über die BB vollständig implementiert ist.

Dazu werden zwei IR Sensoren in die Boxengasse eingebaut und mit einem ELWMS verbunden der mit der BB Daten austauscht. Man kann nun die BB auch paralell zur Boxengasse betreiben. Die Boxendurchfahrt wird dann auch als Zieldurchfahrt gewertet.

Im Moment kämpfe ich mit dem Programmieren der ELWMS über die Fahrbahn. Das betrifft z.B. die Weichen. Ebenso fehlt noch das Updaten von ELWMS die über I2C verbunden sind.

Was funktioniert (Stand 19.11.08):

Ich habe das Wochenende damit verbracht am D133 weiter zu arbeiten . Dabei habe ich einige konzeptionelle Änderungen vorgenommen. Das führte dazu, dass einige Features die schon mal funktionierten wieder aus der Liste gefallen sind, dafür andere hinzu gekommen sind.

Was man auf dem Bild sieht ist die D133 mit einem neuen Fahrbahnstück (von einem Rundenzähler). Im Schachbrett kann man die eine Led zur Zeitmessung sehen. Vorne Links sieht man den USB Stecker, der in einem ELWMS steckt, der die Zeit misst und an die BB schickt und auch die Kommunikation zwischen PC und BB regelt. Der Stecker in der Rundenzählerbuchse dient nur dem Debugging. Der Stecker davor steckt in der Modulbuchse und verbindet BB und ELWMS. Die PC Buchse wird nicht verwendet. Stattdessen tauscht die BB Daten mit dem ELWMS aus und dieser gibt die Daten an den PC weiter.

D133D dient zum Testen. Es läuft auf einem Mac und zeigt Informationen die die BB sendet an. Mann kann die Reglerstellungen, den Zustand der Weichenknöpfe, die Benzinstände, die letzten Rundenzeiten, Gesamtrennzeiten, Rundenzahlen, verschiedene Statusflags und den Zustand der Startampel sehen.

  • Normaler Fahrbetrieb D132.
  • Alle damit verbundenen Einstellmöglichkeiten die das Auto vornimmt (Id Zuweisung, Pacecar, Ghost Car).
  • Programmieren von Höchstgeschwindigkeit, Bremse und Benzinstand über die Regler (wie beim Original D132)
  • I2C Bus Kommunikation mit anderen Geräten.
  • USB Kommunikation mit dem Rechner.
  • Zeitmessung
  • Verwalten von Rennen.
  • Ein Rennen kann beginnen mit dem Ablauf der Startampel, der ersten Startlinienüberquerung oder für jedes Auto einzeln mit seiner Startlinienüberquerung.
  • Ein Rennen kann beendet werden bei erreichen einer bestimmten Rundenzahl oder dem Ablauf einer bestimmten Zeit.
  • Das Rennen kann beim Erreichen des Limits durch den ersten oder den letzten Wagen beendet werden.
  • Ein Frühstart kann verhindert werden, oder er führt zum Rennabbruch oder einer Boxengassenstrafe (noch nicht implementiert)
  • Senden laufender Infos an den Rechner oder andere Geräte
  • Verwalten des Benzinstandes über die BB.
  • Vorbereiten Pit Stop Lane

Was nach zwei einhalb Wochen funktioniert (Stand 6.11.08):

  • Normaler Fahrbetrieb D132.
  • Alle damit verbundenen Einstellmöglichkeiten die das Auto vornimmt (Id Zuweisung, Pacecar, Ghost Car).
  • Update der Blackboxsoftware über USB.
  • Update von ELWMS über die USB Schnittstelle der Blackbox.
  • Programmieren von Höchstgeschwindigkeit, Bremse und Benzinstand über die Regler (wie beim Original D132)
  • I2C Bus Kommunikation mit anderen Geräten.
  • USB Kommunikation mit dem Rechner.

Was nach einer Woche funktioniert (Stand 26.10.08):

  • Normaler Fahrbetrieb D132.
  • Alle damit verbundenen Einstellmöglichkeiten die das Auto vornimmt (Id Zuweisung, Pacecar, Ghost Car).
  • Update der Blackboxsoftware über USB.
  • I2C Bus Kommunikation mit anderen Geräten.
  • USB Kommunikation mit dem Rechner.

Was bisher nicht geht und später implementiert wird:

  • Setzen von ID bzw. Ghost- oder Pacecar Funktion über Rechner.
  • Setzen vom Höchstgeschwindigkeit, Bremswirkung und Tankfüllung über die Regler (Taste beim Einschalten gedrückt).
  • Setzen vom Höchstgeschwindigkeit, Bremswirkung und Tankfüllung über die Rechner gezielt für einzelne Fahrzeuge.
  • Pacecar Handling. Renn- und Zeitfahren.
  • Ansteuerung externer Geräte.
  • Anderes ?

Was bisher nicht geht und vielleicht nie implementiert wird:

  • ProX Modus. das ist kein prinzipielles Problem. Man muss bei den Zeitmess Systemen und der Pitlane nur zusätzliche Lichtschranken anbringen. Die Frage ist ob sich das lohnt, weil ich über kurz oder lang alle Fahrzeuge auf D132 Controller umrüsten werde. Ich hoffe, das die ELWMS Platinen im Laufe des heutigen Tages kommen. D133 wird dann ruhen bis ELWMS aufgebaut und getestet ist. Danachw erden beide zusammengeführt und schliesslich eine Mac-Software, die mit meiner alten Software für die Analogbahn vergleichbar sein wird, geschrieben werden.