2023
HOME

Ergänzung zum Buch: MSR mit Arduino und Compact
Schrittmotorsteuerung
Manuelle und programmierte Steuerung mit Compact Red Needle

Schrittmotor als GenaratorEin Interface mit Leistungsausgängen kann mit Compact auch Schrittmotoren steuern und zum Drehen bringen. Ein entsprechender integrierter Schaltkreis, welcher auch die Ausgänge eines Arduino auf 12 V und 600 mA bringt, ist der L293D.

Die Steuerung benötigt vier digitale Ausgänge, um die zwei Spulen eines solchen bipolaren Motors in beide Richtungen zu magnetisieren zu können. Bei Verwendung eines Arduino Uno und dem entsprechenden CLAB-Sketch kann das auch vom PC aus mit der Maus oder der Tastatur erfolgen.

Die nebenstehende Abbildung führt in die Irre. Der in diesem Beitrag verwendete Schrittmotor dient hier als Windgenerator oder Wasserturbine. Eine sehr helle grüne Led strahlt bereits bei geringer Umdrehung. Hier zeigt sich die vielseitige Anwendbarkeit von Schrittmotoren.

Die vier digitalen Ausgänge D0 bis D3 von Compact entsprechen unter Verwendung des Sketches CLAB den Anschlüssen D10 bis D13 am Arduino Uno. Die für nur wenige mA ausgelegten Anschlüsse liefern die vier digitalen TTL-Signale für einen Treiber-Baustein L293D und steuern so den Motor an.


												

Steuerung Spulen schalten
Das Prinzip einer bipolaren Ansteuerung kann mit einem Arduino und Compact gut nachvollzogen werden. Die zwei Spulen werden dabei so angesteuert, dass eine Bewegung entsteht. Die vier digitalen Ausgänge 0 bis 3 gestatten es durch entsprechendes Umschalten den rotierenden Magneten durch die zwei festen Spulen durch ihr Magnetfeld zu bewegen. Die bipolare Ansteuerung eines Schrittmotors setzt einen Leistungsverstärker mit Brückenausgängen voraus.

Display mit 48x30 Zeichen

Um den Motor zu bewegen müssen die Spulen in einer bestimmten Reihenfolge angesteuert werden, wie das die Theorie weiter unten beschreibt. Die folgende Tabelle zeigt die erforderliche Ansteuerung der Ausgänge für einen Halbschritt-Betrieb. Ein Schrittmotor erreicht damit die doppelte Anzahl von Schritten in einer Umdrehung, weil immer abwechselnd eine Spule allein und zwei Spulen gemeinsam eingeschaltet werden.

Tabelle: Ansteuerschema für einen bipolaren Schrittmotor


Treiberbaustein L293D 16poliges IC-Gehäuse
Kleinere Motoren benötigen meist nicht mehr als 200 mA pro Spule bei einer Anschluss-Spannung von 12 V. Zur Ansteuerung kann z. B. wie hier ein Arduino mit einem Treiber-Baustein eingesetzt werden. Ein L293D besitzt Brückenausgänge mit einer höheren Belastbarkeit, er wird beworben mit:
  • Breiter Versorgungsspannungsbereich: 4,5 V bis 36 V
  • Separate Eingangs-Logik-Versorgung
  • Interner ESD-Schutz
  • Thermische Abschaltung
  • High-Noise-Immunity-Eingänge
  • Ausgangsstrom 600 mA pro Kanal
  • Spitzenausgangsstrom 1,2 A pro Kanal

Der integrierte Schaltkreis des Bausteins verfügt über vier einzelne Treiber und hat 16 Anschlüsse. Die Ansteuerung soll hier über Compact Red Needle erfolgen, so dass keinerlei andere Software erforderlich ist. Mit den niederen vier Bit D0 bis D3 der Digitalausgänge soll die Steuerung erfolgen, entsprechen der oben angegebenen Tabelle.

Am Arduino Uno entsprechen die Anschlüsse den Pins 10 bis 13. Die Verbindung zwischen Arduino, Treiberbaustein und Schrittmotor kann einer Aufbauskizze oder/und einer Tabelle entnommen werden. Auch der Innenaufbau des L293D mit seinen Anschlüssen ist skizziert:

Der hier verwendete Motor ließ 120 mA bei 5 Volt durch eine Spule fließen. Dadurch konnte zunächst zur prinzipiellen Überprüfung auf eine zusätzliche Spannungsquelle verzichtet werden.


Programme Compact meets Arduino-IDE
Mit der Maus oder Tastatur lassen sich nun die Spulen des bipolaren Motors am Bildschirm schalten. Man kann sogar durch Versuch und Irrtum die Tabelle der Schaltzustände praktisch ermitteln. Mit einem entsprechend übersichtlichen Programm kann Compact den Motor dann langsam drehen lassen.

PROGRAMM
 Wiederhole
 	Ausgänge = IOOO
 	Ausgänge = IOOI
 	Ausgänge = OOOI
 	Ausgänge = OIOI
 	Ausgänge = OIOO
 	Ausgänge = OIIO
 	Ausgänge = OOIO
 	Ausgänge = IOIO
 Bis Tastendruck
 Ausgänge = OOOOOOOO
ENDE.

Nachdem die Strg-Taste betätigt wurde, endet das Programm nachdem alle Ausgänge stromfrei geschaltet wurden.

Wem der Motor zu langsam dreht, muss eine schnellere Sprache wählen. Wo ein Arduino ist, ist eine Arduino-IDE nicht weit. Steuert man die Digitalausgänge ebenfalls parallel an, so sieht ein entsprechender Sketch ganz ähnlich aus. Dafür werden keinerlei Bibliotheken benötigt. PORTB beginnt bei Pin 8, weshalb zwei binäre Nullen angehängt sind.


Prinzip Schrittmotor Theorie
Schrittmotoren werden eingesetzt, wenn es darum geht, genaue Positionen anzufahren, ohne dass eine Abfrage der Positionsmeldung erfolgt. Ein üblicher Schrittmotor führt z. B. 200 Einzelschritte in einer Umdrehung aus, so dass sich eine Winkelauflösung von 1,8 Grad ergibt. Wenn eine Anfangsposition z. B. durch einen mechanischen Anschlag oder durch einen Endschalter bekannt ist, kann durch eine vorgegebene Anzahl von Einzelschritten eine genaue Position erreicht werden. Schrittmotoren steuern z. B. die Spurposition eines Schreib-Lesekopfes in einer mechanischen Festplatte oder auch die Position eines Druckkopfes in einem 3D-Drucker.

Der prinzipielle Aufbau eines Schrittmotors wird in der Abbildung gezeigt. Ein drehbarer Magnet-Anker ist zwischen mehreren Magnetspulen gelagert. Durch Einschalten einer Spule wird der Anker in einer bestimmten Winkelposition festgehalten. Schaltet man dann auf die nächste Spule um, dann bewegt sich der Anker einen Schritt weiter. Wenn zusätzlich auch die Stromrichtung umgeschaltet werden kann, spricht man von bipolaren Schrittmotoren. Sie kommen mit vier Anschlüssen für zwei Spulen aus. Unipolare Schrittmotoren verwenden z. B. vier Spulen und besitzen mindestens fünf Anschlüssen. Man kann unipolare Schrittmotoren auch bipolar ansteuern. Deshalb wird hier nur ein Beispiel für die bipolare Ansteuerung gegeben.

Das Prinzip der bipolaren Ansteuerung kann mit einem Arduino und Compact gut nachvollzogen werden. Die zwei Spulen werden dabei so angesteuert, dass eine Bewegung entsteht. Die vier digitalen Ausgänge 0 bis 3 gestatten es durch entsprechendes Umschalten den rotierenden Magneten durch die zwei festen Spulen durch ihr Magnetfeld zu bewegen. Die bipolare Ansteuerung eines Schrittmotors setzt einen Leistungsverstärker mit Brückenausgängen voraus.


															


															

															

Compact Red Needle
MSR mit Arduino & Compact
Mehr Software

.
Startseite Bücher Software Digital RTV Musik Kontakt

Für Inhalt und weitere Verzweigung externer Links sind die Betreiber der dortigen Seiten verantwortlich - H.-J. Berndt