Schrittmotoren |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dass es trotzdem immer wieder bei Einsteigern Probleme mit der Wahl des richtigen Schrittmotors gibt, liegt vorwiegend am mangelnden Wissen über das Stromverhalten dieser Motoren. Dazu später ein paar Tipps, die zeigen, dass man auch schwere Roboter durchaus mit recht kleinen Motoren bewegen kann. Zuvor aber ein paar Grundlagen für Einsteiger. Anwender, die sich schon etwas mit Schrittmotoren auskennen, können den nächsten Absatz überspringen Prinzip der Schrittmotoren
Um den Motor nun in Bewegung zu bringen, muss an den Spulen eine Spannung angelegt werden. Legt man die Mittelanzapfung auf Masse, so hat man also noch 4 Anschlüsse. Legt man nun an zwei dieser Anschlüsse die Spannung an, bewegt sich der Motor - allerdings nur einen winzigen kaum sichtbaren Schritt. Wie groß ein Schritt ist, hängt vom jeweiligen Motor ab. Bei den meisten Motoren beträgt der Schrittwinkel 1,8 Grad. Das bedeutet, dass 200 Schritte notwendig sind, um die Achse einmal rund zu drehen. Nachdem der Motor nun einen Schritt gemacht hat, muss die Spannung an einer anderen Kombination von Anschlüssen eingeschaltet werden. Es gibt somit 4 Kombinationen, wobei immer zwei Anschlüsse an die Spannung und zwei andere auf 0 V gelegt werden. Dies ist die sogenannte unipolare Ansteuerung. Wechselt man ständig diese verschiedenen Anschlussbelegungen, so würde sich der Motor mit jeder Änderung einen Schritt drehen.
Genauer lässt sich ein Roboter eigentlich kaum steuern. Ein Schrittmotor bewegt sich nur bei einem Schritt, ansonsten sorgt das Haltemoment dafür, dass er sich nicht weiter bewegt. Nachteil ist nur, dass der Motor auch im Stand mit Strom versorgt wird, damit er sich nicht bei unebenen Böden oder an Steigungen bewegt. Bei Robotern, die sich nur in der Wohnung bewegen, kann man oft auch in der Praxis die Spannung abschalten, ohne dass sich der Motor bewegt, insbesondere wenn man vielleicht durch einen Zahnriemen noch eine Untersetzung von 4:1 oder 6:1 eingebaut hat. In der Tat werden viele Roboter schon auf diese Weise gesteuert. Optimal ist diese Methode allerdings nicht, insbesondere bei schweren Robotern reicht die Kraft bei dieser Art Steuerung nicht aus, dies wird leider in vielen Artikeln zu diesem Thema verschwiegen. Wenn ein Motor zu schwach ist, können auch Schritte verloren gehen, wenn die Kraft nicht ausreicht um z.B. einen höheren Teppichrand zu überfahren. Dadurch würde die genaue Positionierung wieder gestört. Gleich dazu mehr. Erwähnen möchte ich erst noch kurz die bipolaren Motoren mit 4 Anschlüssen (also ohne Mittelanzapfung). Diese sind im Prinzip nicht anders aufgebaut als die unipolaren. Da sie jedoch keine Mittelanzapfung besitzen, wird das unterschiedliche Magnetfeld dadurch erreicht, dass man die Spannung an den Spulenenden immer umpolt. Lange Zeit galt das für Bastler als etwas zu kompliziert, daher wurde die unipolare Ansteuerung oft vorgezogen. Durch neue integrierte Schaltkreise wie den L298 ist das aber auch kein Problem mehr. Erwähnen möchte ich noch die Motoren mit 8 Anschlüssen. Im Prinzip sind das Motoren, in denen die beiden Spulen in der Mitte aufgetrennt und herausgeführt wurden. Diese Motoren erlauben wahlweise eine bipolare oder unipolare Ansteuerung. Man kann die Leistung und Anschlusswerte auch verändern, indem man hier die 4 Spulen (sind ja nun quasi 4 durch die Auftrennung) entweder parallel oder in Serie schaltet. Hier alle denkbaren Ansteuerungsmöglichkeiten bei den unterschiedlichen Motoren (die Farbangaben können bei den Motoren sehr unterschiedlich sein):
Fehler, die bei der Motorwahl oft gemacht werden Bei der Auswahl eines Schrittmotors sollte man
sorgfältig vorgehen. Kleine Motoren, wie sie in Druckern oder Floppys stecken,
reichen in der Regel wirklich nur für Roboter der Fliegengewichtsklasse aus.
Wenn ein Roboter ein paar kg wiegt, dann braucht man schon etwas mehr Power.
Hier sollte man immer auf das Haltemoment achten, dies entspricht fast dem
Drehmoment. Mit einem Motor, der 40 Ncm Haltemoment besitzt kann man schon
einiges anfangen. Bei einigen Versuchen hab ich durchaus Roboter mit 10 kg ohne
Schrittverlust damit bewegt. Allerdings hab ich noch eine Untersetzung 6:1 über
Riemen eingebaut. Wenn man sicher gehen will, dann nimmt man immer einen etwas
stärkeren Motor. Ein 100 Ncm Motor kommt oft noch mit 6 oder 7 VA (Watt)
aus. Ein Fehler, der bei der Auswahl des Motors oft gemacht wird, ist die Betriebsspannung. Auch ich habe am Anfang gedacht, dass man bei einer vorhandenen Spannung von 12 V am besten einen Motortyp mit 12 V kaufen muss. Dies ist zwar nicht ganz falsch, aber wird nie zu großer Leistung führen. Wichtig für den Motor ist, dass der angegebene Strom fließt. Ein Motor, bei dem beispielsweise 12 V und 0,5 A angegeben sind, wird in der Praxis nur bei wirklich sehr niedrigen Drehzahlen seine Kraft, also sein Drehmoment, erreichen. Je höher die Drehzahl, desto schwächer wird der Motor. Das kann soweit gehen, dass schon das geringste Hindernis den Motor Schritte verlieren lässt oder dass der Motor bei höheren Drehzahlen gar nicht mehr anläuft. Woran liegt dies? Ganz einfach: Ein Schrittmotor hat auch eine Induktivität. Da der Motor ständig umgepolt wird, wird durch diese Induktivität eine Art Gegenstrom erzeugt. Dies hat zur Folge, dass der eigentliche Strom bei höheren Drehzahlen nicht mehr erreicht wird. Je schneller sich der Motor dreht, desto weniger Strom fließt. Verständlich, dass dadurch die Leistung reduziert wird. Wie kann man diesem Verhalten entgegenwirken? Ganz einfach mit einer wesentlich höheren Spannung als auf dem Motor angegeben. Doch Vorsicht, so einfach geht es nicht. Wenn der Motor steht oder sich langsam dreht, dann würde der Motor ja sofort durchbrennen. Die Lösung ist eine stromgeregelte Steuerung! Die Regelung wird mit einer hohen Spannung (oft bis zu 30 oder 40 Volt) versorgt. Aber die Regelung sorgt dafür, dass immer nur der eingestellte Nennstrom, in unserem Beispiel 0,5 A, zum Motor gelangt. Auf diese Art und Weise wird der Motor, ohne Schaden zu nehmen, immer mit der optimalen Spannung versorgt. In der Tat werden heute alle Schrittmotoren, die etwas Leistung bringen müssen, z.B. bei Drehmaschinen, auf diese Art angesteuert. Das Ganze klingt nun recht kompliziert und aufwendig für einen Roboter-Hobbybastler. Ist es aber nicht, denn es gibt heute zwei integrierte Schaltkreise, die einen das Ganze recht einfach machen. Die hier abgebildete Schaltung ist quasi der Standard für Schrittmotoren. Auch bei Drehmaschinen wird diese Schaltung oft eingesetzt: Widerstand RS1, RS2: 1 Ohm Die Schaltung läßt sich recht einfach auf einer Experimentierplatine aufbauen. Bedenkt man das auch bei einem Gleichstrommotor ein Motortreiber notwendig ist, dann ist diese Schaltung auch nicht viel komplexer. Die einzelnen Steuerleitungen können direkt mit den Ports eines Microcontrollers verbunden werden. Hier die Bedeutung (Fett sind die wichtigen Anschlüsse):
Wie sie sehen braucht man also nur 3 Ports um einen Schrittmotor in beliebige Richtungen und in beliebiger Geschwindigkeit bewegen zu können. Kommt noch ein Motor hinzu, dann könnte man die Enable-Leitung beider Verbinden so das dann zwei Motoren mit 5 Ports optimal gesteuert werden können. Ich hab mit einer solchen Schaltung auf einer Experimentierplatine schon ein 15 KG Roboter problemlos mit einer C-Control gesteuert. Ich kann die Schaltung nur empfehlen. Interessanter Thread zu oberer Schaltung
Hier nochmal ein größerer
Schaltplan mit eingezeichnetem Annchlussstecker und Spannungsteiler: Fazit: Roboter die sehr genau gesteuert werden müssen und deutlich wenige als 10 Kg wiegen kann man sehr gut mit Schrittmotoren steuern. Roboter schwerer sind, sich sehr schnell bewegen müssen oder deren Steuergenauigkeit nicht so wichtig ist, da sind Getriebemotoren oft sinnvoller.
Alternative eine Ansteuerung für 2 Schrittmotoren
per Befehl über I2C oder RS232
Wie identifiziert man die Leitungen wenn man kein Datenblatt zum Motor hat? Ein Schrittmotor ist aus zwei Spulen aufgebaut: Mit einem Ohmmeter kann man die Anschlüsse einfach identifizieren: Von Spule 1 - a nach Spule 1 - Common ist der Widerstand halb so groß wie der Widerstand von Spule 1 - a nach Spule 1 - b. Der Widerstand nach den Anschlüssen von Spule 2 sollte unendlich sein. Dass die Anschlüsse a und b voneinander nicht zu unterscheiden sind, ist unwichtig. Falls Sie sie vertauschen, dreht sich der Motor andersherum. Wichtig ist allenfalls, dass sie bei mehreren Motoren gleichen Typs die Anschlüsse gleich legen, um voraussagen zu können, in welche Richtung der Motor sich drehen wird. Um den Motor bipolar anzusteuern werden übrigens die Common Anschlüsse nicht benötigt.
Hier nochmal die genaue Phasenbeschreibung der Ansteuerung Zur Beschreibung verwenden wir wieder das folgende Schema der Spulen: Diese Tabelle zeigt genau welche Kontakte in welcher Reihenfolge Spannung führen müssen:
- Frank - Hier noch ein paar Links wenn Ihr Euch noch eingehender mit dem Thema befassen wollt: Bezugsquelle für Schrittmotoren L298
Datenblatt Englische Links: Bipolar stepper tutorial
Eine noch ausführlichere Seite zu Schrittmotoren ab jetzt in RN-WISSEN
|
Weitere Beiträge und Schaltpläne
zu Sensoren und andere Dinge werden bald folgen. Wenn Ihr schon etwas dazu geschrieben
habt
und ich das übernehmen kann, dann laßt es mich wissen. Natürlich verlinke
ich dann gerne auch Eure Webseite entsprechend.