PHP Dashboard für HmIP Smartmeter
09.10.2024
Elektronik | Funk | Software
Der Technik-Blog
Im letzten Beitrag haben wir den mechanischen Aufbau von unserem Kamera-Slider gezeigt. Auf dieser Seite setzen wir mit der Bauanleitung für den elektrischen Teil fort.
Der Stepper-Motor kann nicht ohne weitere Elektronik an den Mikrocontroller angeschlossen werden. Zwischen den Mikrocontroller und dem Motor befindet sich der Motor-Treiber. Der Treiber ist ein fertiges Modul, mit einem Chip und vier LEDs auf der Leiterplatte. Über vier Leitungen vom Arduino-Board kommen die Steuersignale zum ULN2003 (IC-Type), der wiederum die Signale mit seiner eigenen Spannungsversorgung verstärkt und an den Motor weiter gibt. Der Chip besteht im Wesentlichen aus Transistoren, die einfach nur die Leistung steuern. Dass Drehfeld, das der Stepper-Motor benötigt wird also eigentlich bereits im Arduino bzw. Mikrocontroller generiert.
Als Ansteuerung kann man im Grunde jeden Mikrocontroller nehmen, der über mindestens 4 I/O-Pins verfügt. Aufgrund der Einfachheit haben wir uns auch hier wieder für einen Arduino entscheiden, da es hier bereits eine integrierte Library gibt und man mit sehr wenig Code auskommt. Der Motor würde aber auch mit einem STM Nucelo, Raspberry oder NodeMCU funktionieren.
Der End-Position-Sensor wird benötigt um beim Start vom Kamera-Slider den Nullpunkt zu finden. Von diesem Nullpunkt kann der Wagen starten und der Software ist immer bekannt, wo sich der Wagen befinden und wie weit er vom Startpunkt oder Endpunkt entfernt ist. Der Code ist so programmiert, dass beim Start oder nach einem Reset vom Arduino sich der Motor immer zum Sensor dreht. Löst der Microswitch aus, so weiß die Software, wo sich der Wagen befindet und fährt vom Switch oder End-Position-Sensor weg. Dieser Switch hängt an einer Pull-Up Schaltung und ist ein Öffner. Wird dieser betätigt, so erhält der Arduino ein Low, ansonsten ist dieser immer auf High. Dadurch kann man in späterer Folge einen Kabelbruch oder defekten Sensor leichter erkennen.
Damit der Slider richtig funktioniert, muss der Software die Länge der Strecke bekannt sein, auf der sich der Schlitten bewegt. Für eine bestimmte Distanz (Anzahl Motorumdrehungen), die der Wagen fahren soll, hat man eine bestimmte Anzahl an Steps. Je nach Motor-Typ kann ein Step z.B. eine halbe, viertelte oder auch ganze Umdrehung sein. Bei unserem Aufbau beträgt die tatsächliche Länge, die der Schlitten fährt ca. 96 cm. Diese 96 cm entsprechen bei unserem Motor genau 45000 Steps. Damit man die Anzahl der Steps ermitteln kann, muss man den Wagen in Richtung End-Position-Sensor bewegen. Mit dem Beispielcode (stepper_test.ino) kann der Motor über den Serial Monitor manuell gesteuert werden. Wenn der Wagen zum End-Position-Sensor bewegt wurde und diesen Sensor auch schön betätigt, kann man beginnen, den Wagen wieder auf das andere Ende zu fahren. Dazu müssen alle Steps, die der Motor bis zum Ende fährt notiert und anschließend addiert werden. Die Summe aller Steps, die der Wagen vom Sensor bis an das gegenüberliegende Ende benötigt, ist die Anzahl der Steps für die gesamte Länge.
Die Software ist so programmiert, dass der Schlitten automatisch zum Position-Sensor fährt. In der Init-Schleife fährt der Motor immer -70 Steps und überprüft den Status vom Sensor. Sobald der Schlitten den Sensor auslöst (Low-Level am Input) wird die Init-Schleife beendet und das Hauptprogramm startet. Im Hauptprogramm fährt der Schlitten immer von Ende zu Ende und das einmal schnell (2000) und einmal langsam (200).
Der Kamera Slider sollte möglichst transportfähig sein. Deshalb wurden an der Unterseite zwei Boxen aus Kunststoff montiert. Die erste Box, welche sich unmittelbar unter dem Stepper-Motor befindet enthält ein selbst gebautes kleines Shield mit der Pull-Up Schaltung und dem Stepper-Controller. Zusammen mit dem Arduino sind die ganzen Komponenten in dieser Box verbaut. In den zwei ALU-Vierkantrohren befinden sich die Kabel für die Stromversorgung und den Sensor. In der zweiten Box, die sich unter der Umlenkrolle befindet, können die Batterien sowie ein Schalter für die Stromversorgung untergebracht werden.
Dieser Kamera-Slider fährt im Grunde nur mit zwei Geschwindigkeiten von A nach B. Oft möchte man gerne die Geschwindigkeit und Richtung definieren. Dies könnte man lokal und analog über ein Potentiometer machen. Eine andere Möglichkeit wäre auch eine Steuerung via Bluetooth oder W-Lan. Dazu kann man entweder entsprechende Module integrieren oder man ersetzt den Arduino durch einen ESP oder ein NodeMCU Board.
Im ZIP-Ordner befindet sich der Beispielcode und der Stepper-Testcode für das Ermitteln der anzufahrenden Länge in Steps.
Benötigte Bauteile |
---|
4,7 K Widerstand |
28BYJ-48 Stepper |
ULN2003 Controller |
Microswitch |
2x 100x68x50 E-Box |
Arduino Uno |
Die Bauteile sind bei Amazon, Ebay oder auch bei vielen Elektronik-Onlineshops erhältlich. Als Antreibsmotor kann auch ein anderer Steppermotor verwendet werden, da diese in der Regel mit dem Treiber kompatibel sind.
Dieses Projekt verfügt über keine Fernsteuerung. Bei entsprechend großer Anzahl an Feedbacks würden wir den Artikel erweitern und den Kamera-Slider über Bluetooth, W-Lan oder Infrarot fernsteuerbar machen.
In diesem Artikel geht es um den Bau einer kleinen Wetterstation, die ihre Daten über LoRa an einen ESP32 sendet, der die Daten auf einem OLED-Display anzeigt
WeiterlesenIn diesem Beitrag zeigen wir, wie mit dem NodeMCU (ESP8266) ein Smart Home fähiger WiFi (WLAN) Funkschalter entwickelt wird.
WeiterlesenAEQ-WEB © 2015-2024 All Right Reserved