· 

Microcontroller für Dummies --> IoT-Premiere

Nachdem in einer zunehmenden Zahl von Produkten Microcontroller verbaut sind und ich damit immer öfter zu tun habe (z. B. auch in Form eines BMS), habe ich mir einen Arduino zugelegt, um damit mal ein bisschen zu basteln und eine Idee zu bekommen, wie diese Geräte grundsätzlich funktionieren. Der Arduino ist als Open Source Projekt entwickelt worden und man bekommt ihn als Original ab ca. 22 Euro, als Klon ab ca. 8 Euro. Programmiert wird er mit C in der einer speziell darauf abgestimmten Entwicklungsumgebung, die das Schreiben des Codes, das Compilieren und das Übertragen auf das Board recht einfach macht. Gestartet habe ich mit einem Sonderheft des Heise-Verlag, wo sogar ein Arduino-Board dabei war (was ich mir eigentlich hätte schenken können). Meine ersten Schritte war das Blinken einer Onboard-LED zu steuern und dann die Blinkfrequenz je nach Schließen einer bestimmten Brücke (wie ein Schalter) zu verändern. 

Nach den ersten Gehversuchen habe ich mir dann einen Kasten mit verschiedenen Sensoren und Aktuatoren gekauft, da war sogar ein Arduino-Klon dabei inkl. einer Anleitung für blutige Anfänger. Auch hier ging es wieder mit dem Blinken der Board-LED los, nach und nach kamen dann weitere Bauelemente dazu: mehrere externe LEDs, Taster, Temperatursensoren, ein Relais, ein Motor usw. 

Nach 3 Tagen war ich so weit, die Temperatur mithilfe eines temperaturabhängigen Widerstands zu messen, eine LED in Abhängigkeit der gemessenen Temperatur per PWM zu dimmen, ein Relais nach Tastendruck zu schalten und Sensordaten über ein Netzwerkkabel per UDP an einen PC zu senden.

Später konnte ich dann statt des analogen Temperatursensors sogar einen digitalen anschließen und auslesen, was den Vorteil hat, dass die Spannungsschwankungen im Board beim Schalten des Relais den Temperaturwert nicht beeinflussen. Für das Schreiben des Programms findet man relativ viele Code-Beispiele, derer man sich bedienen kann. Leider sind meine nicht vorhandenen C-Kenntnisse ein gewisser Hemmschuh, wenn es um anspruchsvollere Beispiele geht. So stehe ich z. B. bei der Format-Konvertierung von Text nach Binär wie der Ochs vor'm Berg, da reicht mein begrenztes Verständnis einfach nicht mehr. 

 

Aber egal, das Prinzip wie so ein Microcontroller arbeitet und wie man ihn programmiert habe ich kennengelernt. Und ich würde mir einfache Steuer- oder Regelungsaufgaben damit durchaus zutrauen. 

 

Zu guter letzt habe ich einen "Digitalen Zwilling"-Demonstrator, den wir bei meinem Arbeitgeber auf Basis eines Raspberry Pi gebaut haben, mit dem Arduino-Board nachgebaut. Dabei soll der Verschleißzustand eines sicherheitskritischen Relais in Abhängigkeit der tatsächlichen Einsatzbedingungen bestimmt und der drohende Ausfall per Simulationsmodell prognostiziert werden. 

Wie bei unseren Kunden stelle ich auch in diesem Bastelprojekt fest, dass es einen himmelweiten Unterschied macht, einen Prototypen vom Prinzip her ans Laufen zu bringen (beim mir: auf dem Steckboard) oder ein handhabbares Gerät draus zu machen. Das Gehäuse muss gebaut werden (hier mit Sekundenkleber zusammengeklebt, man verzeihe mir den Kleberaustritt am Plattenstoß und die blinden Stellen). Dann müssen die ganzen Kabel und Bauelemente dauerhaft miteinander verbunden werden. Das Verlöten der der Kabel raubt mir den letzten Nerv: Immer wieder reißt eines der dünnen Signalkabel bei den anschließenden Montagearbeiten ab. Alles was über Steckverbinder läuft ist dagegen prima. Leider kann ich die ganzen dünnen Kabel nicht crimpen. Irgendwann ist dann alles montiert, angeschlossen und tut. Einzeln zumindest. Sobald ich aber Netzwerk und Relais gemeinsam in Betrieb nehme, klackert das Relais wild vor sich hin. Vermutlich liegt der Relais-Anschluss auf einem Netzwerk-Pin. Typisches Problem einer "System"-Integration: Erst in der Gesamtbetrachtung aller Komponenten bekommt man solche Wechselwirkungen mit. 

Ich lege also den Relais-Pin nochmal um und... es funktioniert. Temperatur und Schaltzustand werden nun ins Netz gefunkt. Mein erstes eigenes IoT-Gerät ist in Betrieb. 

Kommentar schreiben

Kommentare: 0