Industrial-Anzeige
Entstanden ist die Anzeige, weil ich bei Ebay – eher zufällig – für ein paar Euro dieses Manometer ersteigerte.
Es war kein wirkliches Objekt meiner Begierde… Die Anzeige kann über WLAN gesteuert werden.
Hintergrund und Aufbau
Die Idee war, den Zeiger mit einem Schrittmotor oder Ähnlichem elektronisch betreiben zu können. Schrittmotoren werden seit vielen Jahren zum Beispiel im Automobilbereich für die analoge Geschwindigkeits- und Drehzahlanzeige verwendet.
Einen solchen Schrittmotor für Instrumenten-Anzeigen hatte ich mir mal für Spielereien kostengünstig von Aliexpress besorgt. Der Schrittmotor besitzt ein Getriebe mit sehr starker Übersetzung ins Langsame. Ein ganzer Schritt (90°) wird somit sehr klein und ist optisch kaum zu erkennen. Zudem besitzt der Motor zwei Endanschläge.
Um den Motor zu einer definierten Stelle zu fahren, muss man sich merken wo er vorher war. Den Nullpunkt findet man, indem man den Zeiger schrittweise zurückgehen lässt. Stößt der Motor am Endanschlag an, haben weitere Schritte keinen Effekt mehr, der Zeiger bleibt am Anschlag. Kritisch ist das Anstoßen nicht, da der Motor kein hohes Drehmoment hat.
Leider erwies sich der Motor als ungeeignet. Die Welle war zu kurz und zu dünn, Versuche des Verlängerns schlugen fehl – wobei ich auch nicht sonderlich begabt mit mechanischem Können bin. Ein zweites Problem war, dass ich sehr lange Zeit keine Idee hatte, wie man die Anzeige befestigen könnte. So lag das Instrument über ein Jahr in der Schublade…
Beim Surfen auf Aliexpress entdeckte ich eines Tages einen Schrittmotor für Anzeigen, der ideal geeignet schien: Er hatte eine dickere und längere Welle. Beim Testen fiel auf, dass der Motor sehr viel weniger Schritte hatte. Mit dem vorhanden Arduino Schrittmotor-Treiber konnte der Zeiger weder genau, noch flüssig gesteuert werden. Also besorgte ich einen Motortreiber-IC, wie er auch bei 3D-Druckern verwendet wird. Der Trick ist, den Mikrocontroller mit sogenannten Mikroschritten zu betreiben. Der Motortreiber gibt dabei Anteilig Strom auf die beteiligten Spulen, sodass der Rotor zwischen den Spulen stehen bleibt. Bei genauerer Recherche fand ich heraus, dass der verwendete Motor für 48 Mikroschritte ausgelegt ist.
Ein bleibendes Problem ist jedoch die Kalibrierung: Steuert man den Schrittmotor einige Mikroschritte über den vorderen Endanschlag hinaus, springt der Zeiger wieder ein großes Stück vorwärts. Nach Recherche fand ich heraus, wie dieses Problem im Automobilbereich gelöst wird: Eingesetzt werden spezielle Motortreiber mit integrierten Mikrocontrollern. Diese stellen den Motor zunächst auf Ganzschrittbetrieb und lassen den Zeiger rückwärts drehen. Dabei wird die Spannung auf der jeweils nicht beteiligten Spule gemessen. Jedesmal wenn ein Schritt ausgeführt wird, entsteht eine Induktionsspannung. Wird der Motor am Endanschlag blockiert, fehlt diese kleine Spannungsspitze. Erst danach wird in den Mikroschritt-Betrieb geschaltet.
In meiner Anwendung wird das Instrument von einem ESP8266 betrieben, der am hinteren Ende des Rohres sitzt. Der Einfachkeit halber habe ich auf das Feature der Selbstkalibrierung verzichtet.