Heute wurden einige Änderungen am CAN-Bus-Protokoll eingeführt. Die Broadcast-ID und die Gateway-ID wurden ausgetauscht. Dadurch haben Antworten der CAN-Knoten höhere Priorität auf dem Bus als alle anderen CAN-Meldungen. Gleichzeitig wurde die Antwortmeldung um zwei Bytes gekürzt. Diese Änderung machte das Umflashen der sämtlicher Bootlader und neue Gateway-Firmware notwendig.
Das war eine typische Unter-Tisch-Arbeit mit viel Kletterei. Wie es bei Murfy so ist, hat es nicht auf Anhieb geklappt. Die Ursache habe ich zwei Stunden später herausgefunden: Ich habe beim Flashen einen CAN-Knoten übersehen. Da er noch das alte Protokoll sprach, hat er den Flashvorgang der neuen Firmware gestört.
Zum guten Schluss hat alles geklappt und die neuen Bootlader erfüllen wieder ihren Zweck. Ein paar kleinere Probleme in der Steuerungs-Software waren schnell gefunden und behoben. Hier zeigt sich der Vorteil des automatischen Testens. Diese Tests sind fehlgeschlagen, weil über hart verdrahtete Indizes in der Antwortmeldung zugegriffen wurde. So konnte der Fehler vor Inbetriebnahme gefunden werden.
Nachdem ein Blocksignal gleichzeitig rot und grün angezeigt hat, bin ich der Sache auf den Grund gegangen. Die BRAWA-Lichtsignale haben Glühbirnchen, die in den Signalschirm geschoben werden. Diese haben sich verschoben und so für die falsche Beleuchtung gesorgt. Beim Beheben des Problems habe ich dummerweise für einen Kurzschluss gesorgt. Die Konsequenz war, dass ein Lichtsignalmodul unter Geruchsbildung abgeraucht ist, und der dazugehörige CAN-Knoten seinen Geist aufgegeben hat. Bilanz des IC-Massakers: Ein ATmega32, ein MCP2515 und ein ULN 2803 sind zum Teil effektvoll gestorben. Zur Sicherheit habe ich auch die restlichen ICs vom Lichtsignalmodul außer Betrieb gesetzt. Auf dem CAN-Knoten ist eine Masseleitung durchgebrannt. Diese kann problemlos überbrückt werden. Das Gleiche ist auch mit dem CAN-Knoten passiert, dass durch falsch geklemmte Flachbandkabel beim Anschließen zerstört wurde. Hier hat es aber nur den ATmega32 erwischt. Ich habe die ICs bei Reichelt nachbestellt, um wieder Ersatzteile zu haben. Die Schaltung muss jetzt durch eine Sicherung so ergänzt werden, dass sie kurzschlussfest wird.
Moral von der Geschicht: Beim Elektroschrauben immer schön Strom abschalten!
Die Nordausfahrt des Hauptbahnhofs ist fertig verkabelt und funktionstüchtig. Die sieben Ausfahrsignale sehen schon beeindruckend aus. Leider hat die Verkabelung ein wenig länger gedauert als geplant. Einige Flachbandkabel von Reichelt hatten einen Kurzschluss, was zur Folge hatte, dass ein CAN-Knoten und ein Lichtsignalmodul funktionsunfähig wurden. Ich werde jetzt bei Conrad neue Flachbandkabel kaufen, denn die haben sich bei der Yakindu -Anlage als gut erwiesen. Da auf der Yakindu -Anlage keine Signale verbaut sind, sind mehrere Firmware-Bugs erst jetzt aufgetaucht. Die Formsignale wollten gar nicht schalten und die Ausfahrsignale konten Sh1 nicht darstellen. Die Bugs waren schnell gefunden und gefixt. Zum ersten Mal konnte der ATmega-CAN-Bootloader seine Vorteile voll ausspielen: Einfach Firmware-Update durchführen und alles funktionert. Ärgerlich war auch eine falsche Beschriftung der Modulanschlüsse. So waren die Signalbilder nicht in Ordnung und alle Lichtsignalmodule mussten umverkabelt werden.
Das Bild zeigt den Arbeitsplatz, den ich für einige Tage genießen werde. Die Wolldecke leistet mir unschätzbare Dienste. Sie hält meinen Rücken auf den Fliesen warm und man kann mit ihr rutschen, als wäre es ein Rollbrett aus einer KFZ-Werkstatt. Ansonsten ist die Arbeit gutes Bauchmuskeltraining und fördert die Körperkoordination.
Der Tag heute war ein Rückschlag. Da alle Module gelötet sind, ist ein umfangreicher Funktionstest an der Reihe. Dabei zeigte sich schnell, dass die Gleismodule nicht wie erwartet funktionieren. Die Relais ziehen nur an, wenn die externe 12V-Spannung angelegt werden. Werden die 12V aus dem CAN-Knoten über das Flachbandkabel bezogen, funktioniert nichts mehr. Schlimmer noch: Nach dem Test funktioniert der CAN-Knoten auch nicht mehr! Nachdem drei CAN-Knoten nicht mehr funktionieren, war die Ursache schnell ausgemacht: Sämtliche 12V-Leitungen auf der CAN-Knoten-Platine sind durchgebrannt, weil sie zu dünn sind. Einige der Masse-Leitungen hat es auch erwischt.
Um der Ursache auf den Grund zu gehen, wird ein handgelöteter Prototyp verwendet, der aber auch nicht lange lebt. Nach intensiver Suche wird ein Kurzschluss auf dem Magnetartikelmodul identifiziert. Es ist also nicht das Gleismodul, was viel Strom zieht, den ein Relais braucht nur 40 mA. Da ziehen die Lichtsignale sogar mehr.
Jetzt geht es an die Reparatur. Die durchgeschmorten Leiterbahnen werden geflickt. Das scheint aber nicht auszureichen. Die Schadensmeldung lautet wie folgt: 2x 5V-Spannungsregler, ein ATmega32 und ein MCP2515 hat es ins Nirvana verfrachtet. Jetzt funktioniert wieder alles. Sämtliche Module sind auf Funktionsfähigkeit überprüpft.
Als weiteres Ergebnis wurden alle Versorgungsleitungen verbreitert. Ferner hat sich gezeigt, dass die Lötpads der Anschlussklemmen zu klein sind. Diese müssen eine mechanische Belastung beim Schrauben aushalten können.
Das Tagesziel wurde zwar erreicht - alle Module funktionieren - allerdings hat es den ganzen Tag gekostet.