Schrittmotor-Fehler in einem Placitech-Projekt
über
Fehlersuche bei Schrittmotoren beginnt häufig mit dem falschen Verdächtigen. In einer aktuellen Folge von Elektor Engineering Insights mit Placitech beschrieb Alessandro Placitelli ein Problem, das zunächst nach einem defekten Treiber oder einem mechanischen Fehler aussah, sich aber als Firmware-Timing-Problem innerhalb eines größeren elektromechanischen Aufbaus herausstellte.
Ein Schrittmotorfehler, der kein Treiberproblem war
Das betreffende Projekt kombinierte mehrere Teilsysteme: 3D-gedruckte Mechanik, Schaltungen, LEDs und einen schrittmotorgetriebenen Mechanismus in einem Tresor-Aufbau mit einer Irisblende und einem Aufzug. Laut Placitelli funktionierte die Maschine etwa eine Woche lang einwandfrei, bevor der Motor anfing, Schritte zu überspringen und beunruhigende Geräusche zu machen. Die naheliegende Diagnose war ein Hardwaredefekt. Er trennte den Motor und testete ihn separat – der Motor funktionierte. Dann verdächtigte er den Treiber, doch da dieser in die Platine integriert war, fertigte er eine neue Platine an. Der Fehler trat sofort wieder auf.
Nach weiteren Tagen der Fehlersuche fand er die eigentliche Ursache: Derselbe Code verwaltete sowohl den Motor als auch die LED-Aktualisierungen, und die Zeit, die für das Aktualisieren der LEDs benötigt wurde, reichte aus, um das Timing der Motorsteuerung zu stören. Der Fehlerehler war also gar kein Motorproblem. Sobald der Code so angepasst wurde, dass die LED-Verarbeitung die Bewegungsroutine nicht mehr beeinflusste, arbeitete der Mechanismus wieder zuverlässig. Was ihn – durchaus nachvollziehbar – noch immer beschäftigt, ist die Frage, warum das identische Setup eine Woche lang funktioniert hat, bevor der Fehler auftrat.
Warum Integrationsfehler so hartnäckig sind
Diese Ungewissheit ist ein Teil dessen, was diesen Clip sehenswert macht. Er zeigt ein bekanntes Entwicklungsproblem: Ein Teilsystem verhält sich auf dem Prüfstand einwandfrei und zeigt erst Fehler, wenn die gesamte Maschine zusammengebaut ist. Im selben Gespräch kommt ein weiteres Beispiel aus einem Feldtest zur Sprache: Ein batteriebetriebener Aufbau wurde unerwartet zurückgesetzt, weil das Einschalten von WLAN einen Stromspitzenwert erzeugte, den die Versorgung nicht zuverlässig bewältigen konnte. Das ist ein anderer Fehler, gehört aber zur gleichen Klasse von Integrationsproblemen.
Die praktische Erkenntnis ist einfach, auch wenn die Fehler es nicht sind. Ein Schrittmotorfehler kann auf Verdrahtung, Mechanik, Stromversorgung, Ablaufplanung oder Timing-Konflikte zwischen Aufgaben hinweisen, die auf dem Papier nichts miteinander zu tun haben. Bei größeren Aufbauten geht es beim Debuggen weniger darum, dem ersten Eindruck zu vertrauen, sondern vielmehr darum, jede Annahme einzeln zu überprüfen. Das ist keine glamouröse Erkenntnis, aber eine echte – und Placitech vermittelt sie auf eine Weise, die Maker und Ingenieure sofort wiedererkennen werden.

Diskussion (0 Kommentare)