Die hier beschriebene Motorsteuerung wurde im Zuge eines Demonstrators (Bild 3 a und b) konzipiert. Der feste Motor (links im Bild 3 a) wird im Folgenden als Motor1 bezeichnet, der verfahrbare Motor (rechts im Bild 3 a) als Motor2 (diese Bezeichnungen wurden auch in der Software durchgehalten). Der Demonstrator verwendet beide Endstufen der Motorsteuerung und führt eine Lagereglung mit unterlegter Drehzahlregelung durch. Die Lagereglung ermöglicht, dass ein Schlüssel (Detail-Bild 3 b) während des Betriebs in das Schlüsselloch eingeführt werden kann. Um dies zu ermöglichen, darf der Versatz zwischen beiden nur wenige Grad betragen, da sich sonst beide Teile berühren und im schlimmsten Fall beschädigt würden. Für den Fehlerfall ist der Schlüssel als Sollbruchstelle vorgesehen. Er besteht aus Makrolon, einem nicht splitternden Plexiglas. Der Motor2, der die Drehscheibe mit dem Schlüssel antreibt, ist auf einem Schlitten montiert, dessen Bewegung den Schlüssel ins Schloss führt. Der Schlitten wird durch einen Modellbauservo angetrieben. Die im Schlitten befindliche T-Nut sorgt für gute Beweglichkeit und Führung des entsprechenden Motors. Zu großer Versatz des Schlüssels zum Schlüsselloch würde trotz optimaler Synchronisation das Einschieben verhindern.
Zur Vereinfachung des Aufbaus wurde besonderer Wert darauf gelegt, dass die Strukturen für Motor 1 und Motor 2 möglichst aus gleichen Teilen bestehen. Die beiden Motortürme sind bis auf die Höhe völlig gleich; der Turm mit dem Schlitten ist um einige Millimeter kürzer. Die Wellen für Schlüssel und Schloss sind auf beiden Seiten exakt gleich, wie auch die Aufhängung für die Gabellichtschranken und deren Sensorscheiben. Aus Sicherheitsgründen überdeckt eine Schutzhaube den gesamten mechanischen Teil des Demonstrators, um den Tester gegen umherfliegende Splitter zu schützen.
Wenn der Schlüssel bei Stillstand des Demonstrators im Schloss ist, muss diese Lage während des Betriebs durch die Lageregelung aufrechterhalten werden. Da die Einregelung jedoch nie völlig gelingen kann, musste der maximale Winkelfehler ermittelt werden, bei dem sich die Teile noch nicht berühren (Bild 4). Der hier ermittelte Wert ist der theoretische Maximalwert. Tatsächlich wurde in der Steuer-Software ein geringerer Wert verwendet, da sowohl die Ungenauigkeit der Winkelmessung durch die Ansteuerung mit einberechnet werden muss als auch ein gewisser Schlupf bei der Einstellung der Sensorscheiben.
Ein Baustein steuert mehrere -Motoren
Die erfolgreiche Konstruktion und der Betrieb des Demonstrators zeigt, dass der gewählte Ansatz Potenzial für eine Weiterentwicklung hat. Die Geschwindigkeitsregelung über einen FPGA ist prinzipiell sehr gut machbar. Lediglich die Drehzahlregelung wurde aus Kapazitätsgründen auf den Mikrocontroller ausgelagert (Bild 1). Bei einem leistungsfähigeren FPGA kann auch diese Aufgabe noch vom FPGA übernommen werden. Die Anzahl der benötigten Bausteine konnte reduziert werden, was Kosten spart. Zudem können mit einem Baustein mehrere Motoren angesteuert werden; dazu können die im VHDL-Code abgebildeten logischen Strukturen ohne großen Aufwand kopiert werden.
Limitierender Faktor für die Anzahl der ansteuerbaren Motoren ist hier lediglich die Anzahl der Logikeinheiten im Chip bzw. die Anzahl der Pins am Baustein. Im vorliegenden Fall werden pro Motor sechs Pins zur Ansteuerung der Transistoren und drei für die Rückmeldung durch die Hall-Sensoren bzw. HallFX benötigt. Bei herkömmlichen, auf Mikrocontrollern basierenden Ansteuerungen ist in der Regel nicht der Speicherplatz der limitierende Faktor, sondern die Anzahl von Hardware-Einheiten für die Motoransteuerung. Bei reinen Software-Lösungen wird das Programm ab einer bestimmten Anzahl von Motoren zu langsam und Timings können nicht mehr eingehalten werden.
M. Sc. Michael Frei |
---|
studierte Elektrotechnik an der Hochschule München und ist seitdem als Systemingenieur bei der Firma Mixed Mode GmbH in Gräfelfing beschäftigt. Seine Masterarbeit schrieb er über das hier vorgestellte Thema Ansteuerung von kollektorlosen Gleichstrommotoren mit FPGA/Mikrocontroller. |
Der Autor