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.