Beschreibung eines Service-Einsatzes, aus dem schließlich ein interessantes Projekt wurde.
Ein Neukunde, rief mich an:
"Die Steuerzentrale meines Waschcenters ist ausgefallen; nichts geht mehr! Brauche sofort Hilfe!"
Während ich noch meine sieben Sachen zusammenpackte, machte er sich schon auf den Weg, mich mit dem Auto abzuholen.
Situation vor Ort:
Hier das Objekt der Erregung: Die Steuerzentrale.
Von hier aus bezahlen und starten die Kunden ihre jeweiligen Waschmaschinen, Trockner, etc.
Ein Blick hinter die Tür:
Die Taster werden in Matrixschaltung abgefragt. Die Leuchtdioden in den Tastern werden wiederum in Form einer Matrix angesteuert, wobei beide Schatungsteile ineinander greifen (gemeinsam benutzte Spaltentreiber).
Eine Matrixschaltung ist zwar kein grundsätzliches Hindernis, erschwert die schnelle Fehlersuche allerdings doch, zumal in einer solchen, ineinandergreifenden Schaltungsvariante.
Beide der übereinander montierten Matrix-Platinen waren defekt.
Die Funktion diese Platinen war genügend weitgehend klar, um sie reparieren zu können. Wenngleich ein programmierter PIC-Controller in solchen Schaltungen einem Servicetechniker doch ziemlich das Leben erschweren kann. Doch zum Glück war der PIC gesockelt.
Schadhaft waren die Zeilen- und Spaltentreiber der Matrix, aus den Typenreihen ULN und UDN. Exakt die hier benötigten Typen hatte ich nicht dabei, aber da nur einzelne Treiberkanäle defekt waren, konnte ich deren Funktion mit draufgeschusterten Transistoren nachbilden.
Wie sich zeigte, waren aber auch einige der LEDs in den Leuchttastern hinüber.
- Da gab es LEDs, die nur noch ganz schwach leuchteten.
- Andere leuchteten nicht mehr, verhielten sich rein elektrisch aber nach wie vor normal.
- Wieder andere waren hochohmig.
- Und wieder andere bildeten einen satten Kurzschluss.
Schon ungewöhnlich, diese Kombination, zumal mir der Besitzer des Waschcenters versicherte, dass bis zuletzt noch alle Leuchten in den Tastern in Ordnung waren.
Nachdem die Matrix bei simulierter Ansteuerung wieder das tat, was sie sollte, die Anlage jedoch weiterhin komplett bockte, nahm ich mir das Herz der Steuerung zur Brust: Die Prozessorkarte.
Wobei es, nur so als Randbemerkung, sogar noch eine weitere, recht ähnliche Prozessorkarte gab:
Die erste Prozessorkarte bedient die Tastaturmatrix, fragt die Münzprüfer ab und steuert schließlich vier identische Relaiskarten an (von denen das folgende Bild drei Stück zeigt):
Obige Relaiskarten sind sehr klassisch konstruiert: Per Flachbandkabel werden serielle Daten in Schieberegister geclockt, dahinter die üblichen Treiber (ULN), die ihrerseits dann die Relais ansteuern. Jeweils 2 x 8 Stück, um je acht Kanäle wahlweise positiv oder negativ ansteuern zu können.
Sonst sind auf den Karten nur noch ein paar DIP-Schalter und weitere Schieberegister plus Optokoppler vorhanden, zum Abfragen der "Fertig"-Meldung der Maschinen.
Solide, klassische Technik; da kann nicht viel schief gehen. Falls doch mal, wären diese Karten natürlich leicht reparabel.
Großartig vereinfachen könnte man die ohnehin nicht, weswegen ich die bei meinem späteren Umbau unmodifiziert beibehalten habe.
Von den Relaiskarten führen (im Bild nicht sichtbare, da abgezogene) Kabel zu den einzelnen Maschinen. Viel mehr als An/Aus passiert da nicht.
Doch, eines passiert noch: Die Abfrage, ob eine Maschine fertig ist.
Die Waschmaschinen bringen durchaus ihre Eigenintelligenz mit. Hier eine ihrer Steuerplatinen:
Ansonsten gibt es noch weitere Platinen in der Steuerzentrale. Z.B. diese Karte, welche die beiden Rüttler für die Ausgabe des Seifenpulvers bedient:
Bei den entscheidenden Teilen war im eingebauten Zustand partout nicht beizukommen. Es half leider alles nichts, ich musste die Nacht durchmachen und die Zentrale auseinanderbauen.
Wie sich zeigte, war die Prozessorkarte völlig hinüber. Floatende Signale, ohne definiertem Logikpegel - Totalschaden!
Bestückt mit diversen programmierten PIC-Controllern und einem EPROM, zudem in nicht mehr auftreibbaren Gehäuseformen, ist ohne Kenntnis des Programms eine schnelle Reparatur dieser Karte nicht zu machen gewesen.
Ein "Plan B" musste her …
Eine neue Steuerzentrale hätte 25.000,- EUR gekostet. Das war nicht drin. Was also tun?
Ich schlug dem Besitzer folgendes vor:
- Zunächst improvisiere ich eine Notbetriebsart; derart, dass ein Mitarbeiter, der auch das Geld der Kunden in Empfang nehmen muss, in der Lage ist, die Maschinen von Hand zu starten und zu stoppen.
Etwa 1-2 Wochen muss also ein Mitarbeiter permanent vor Ort sein.
- Während dieser Zeit würde ich die Reparatur durch weitgehenden Umbau der Zentrale vornehmen.
Angesichts des Schadensumfangs war nach meinem Ermessen der schnellste und preisgünstigste Weg um das Waschcenter wieder autark lauffähig zu bekommen folgender:
- Ausbau aller Taster und des Textdisplays.
- Ersatz dieser Teile durch ein Android-Tablet, das lediglich als Eingabemedium und der Visualisierung dient.
- Das Tablet kommuniziert per USB mit einer von mir gebauten Steuerung, die ich programmiere.
Eigentlich ein wahres Paradebeispiel und Musterprojekt für MoSteuS …
… mit dem ich leider noch immer nicht fertig bin
Da notgedrungen SOFORT eine funktionierende Lösung her musste, verwendete ich (fast unter Tränen!) einen Arduino Mega 2560 R3.
Eigentlich bin ich kein großer Freund der Arduinos, aber was sollte ich tun?
Die Dinger sind rotzbillig, gut verfügbar, jederzeit nachkaufbar und haben genug Power.
Da noch ein selbstgefrickeltes Shield drauf, und gut ist. Der Rest wäre nur noch Programmierung.
Für ein schickes Platinenlayout reichte die Zeit nicht, also frickelte ich das Shield per Hand auf Lochraster:
Die folgenden drei Bilder zeigen einen ersten Testlauf, mit angeschlossenem Logic-Analyzer:
Und hier nun das fertige Resultat (Tadaaaa!):
Eine schicke Edelstahlplatte verdeckt die Löcher, in denen vormals die Leuchttaster eingebaut waren.
In einem rechteckigen Ausschnitt dieser Platte sitzt nun das Tablet:
Das Tablet dient jedoch wirklich nur der Visualisierung, sowie - per Touchscreen - als Eingabemedium, anstelle der alten Leuchttaster.
Es klingt fast ulkig, aber es war einfacher die vielen Taster und das zweizeilige Textdisplay durch das Tablet zu ersetzen, als diese Teile beizubehalten.
Der Arduino hätte auch in Matrixschaltung nicht genügend Anschlüsse gehabt, um all die vielen Leuchtaster anzusteuern/abzufragen; von dem Textdisplay ganz abgesehen.
Da hätte ich also erst noch eine Porterweiterung, oder einen zweiten Arduino im Mehrprozessorbetrieb dranfrickeln müssen.
Doch das wäre alles wieder etwas speziell gewesen. Ich wollte die neue Steuerung so konstruieren, dass alle Teile die überhaupt kaputt gehen können, schnell und einfach ersetzt werden können.
Für das Tablet und den Arduino trifft das definitiv zu. Mein Shield war ursprünglich unkaputtbar, denn es enthielt nur Schnittstellenstecker, jedoch (von den vier LEDs abgesehen) keine Halbleiter; diese wurden erst später hinzugefügt, um eine weitere Karte der alten Steuerzentrale wegrationalisieren zu können.
Übernommen habe ich von der alten Steuerung nur die noch intakten Relaiskarten, sowie die beiden Netzteile. Alles andere flog raus.
Man muss sich aber wundern, wie viele Prozessoren, bzw. Controller im Rest der Steuerung zuvor verbaut waren.
Nach meinem Umbau steuert letztendlich mein Arduino Mega 2560 das komplette Waschcenter. Eine rotzbilllige Platine für rund 13,- EUR!
Das Tablet dient ganz bewusst nur als dummer Touchscreen, der eine Oberfläche darstellt, die letztendlich vom AVR des Arduinos kommt.
Damit steckt die Software nahezu ausschließlich im AVR. Das vereinfacht die Pflege enorm, weil im Regelfall nur das BASCOM-Programm im AVR upgedatet werden muss.
Ja, richtig gehört:
BASCOM! Was anderes kommt mir nicht in die Tüte!
Die komplette, parallelisierte Multithreading-Software habe ich in BASCOM geschrieben und ein simpler 8-Bit AVR steuert das gesamte Waschcenter:
- Fragt die beiden Münzprüfer ab.
- Steuert individuell die 27 Maschinen.
- Steuert die beiden Seifenpulverrüttler und die Pumpe der Weichspülerausgabe.
- Aktualisiert sekündlich die Anzeige auf dem Tablet.
- Nimmt Button-Betätigungen vom Tablet entgegen.
- Steuert einige superhelle Multicolor-LEDs in den Ausgabeschächten.
Und das alles natürlich parallel.
Liebend gerne hätte ich jetzt voller Stolz das Innere des Steuerschrankes gezeigt, bestückt mit MoSteuS-Komponenten.
Aber MoSteuS ist noch nicht fertig, so blieb es halt bei dem Arduino-Board mit meinem handgelöteten Shield auf Lochraster (Provisorien sind doch stets die stabilsten Lösungen - echt wahr!)
Und das gegenwärtige Innere sollte ohnehin lieber nicht jeder sehen, immerhin wurde die alte Steuerzentrale nach meiner Diagnose durch Sabotage/Vandalismus zerstört.
Letzteres der Versicherung zu verklickern, bzw. deren "Sachverständigem", ist mein jetziger Job.
Ein Thema für sich …
Fortsetzung wird vermutlich folgen; der Bericht des "Sachverständigen" strotzt demaßen vor Eigentoren, dass er förmlich danach kreischt, in anonymisierter Form veröffentlicht zu werden!
Bei Interesse an der hier vorgestellten Lösung:
Fa. EDV-Dompteur
Stefan Denk
Tel.: 040/ 64 94 17 49
Hirsekamp 20
22175 Hamburg
(Hausbesuche bitte nur nach telefonischer Vereinbarung!)