Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Rasenmaehroboter fuer schwierige und grosse Gaerten im Test

Hier ist ein Multi-Achs-Controller zur interpolierenden Hardware Steuerung von (z.Z.) bis zu 8-Achsen entstanden, ich habe ihn RoBo-mac genannt.

Vom Roboternetz habe ich vieles gelernt, das in die Entwicklung eingeflossen ist; mit diesem Artikel möchte ich mich revanchieren. Er ergänzt den Artikel Schrittmotore, indem er das Eine oder Andere aus vielleicht ungewohnter Perspektive beleuchtet. Mitunter klären sich aber Fragen gerade bei einer Betrachtung aus anderem Blickwinkel.


NEU hinzugekommen

per Sept. 2011

  • ist der Bereich 4, Power & Controller
  • sowie der Weblink zum Video "OKTAVIAX der Acht-Achser"

per Feb. 2012

  • Teach-In und ein interner Link zu Interpolationsverfahren


Stepper

Von den vielen 100 Seiten, die ich zum Thema gelesen habe, erscheint mir das - Tutorial Control of Steping Motors by Douglas W. Jones http://www.cs.uiowa.edu/~jones/step/index.html besonders erwähnenswert.

Im Folgenden habe ich versucht, das zu Papier zu bringen, was mir für CNC & RoBo-mac wichtig erscheint. Sie werden hier keine Zeichnungen , Grafiken oder Kennlinien finden, weil Sie diese als "schon alles klar" überlesen werden.

  • Nehmen Sie sich statt dessen Bleistift und Papier; malen Sie auf, was Sie gerade lesen und verstehen wollen.
  • Wenn Sie die Gedankenexperimente so nachvollziehen, "haben Sie gewonnen" !


Vorwort

Alle Elektro-Motore haben eins gemeinsam: Das Elektromagnetische bzw. Elektrodynamische Prinzip - und damit endet die Gemeinsamkeit, denn in den ca. 120 Jahren Elektrizität haben findige Geister immer wieder neue An-wendungen dieses Prinzips gefunden. Das Prinzip sagt ganz einfach: Ein Strom durchflossener Leiter (Draht) erzeugt ein Magnetfeld – und damit Bewegung (wie und warum und wie stark, das steht im Physikbuch – und dem möchte ich hier keine Konkurrenz machen).

Magnetfelder haben etwas wunderbares, man kann sie anfassen und fühlen: Wenn man 2 Magnete anfaßt hat man nicht nur den Erzeuger, sondern auch den Fühler in der Hand. Die Magnete ziehen sich an (Nord mit Süd) oder stoßen sich ab (Nord mit Nord / Süd mit Süd).

Ein normaler Elektromotor, sei es der Staubsauger- oder Küchengerätemotor dreht sich, sobald seine Leiter Strom durchflossen sind; CNC-Spindel Motore einfacher Bauart arbeiten nach dem selben Prinzip. Gemeinsam ist diesen (Allstrom-) Motoren, daß ihre Drehzahl von der Last abhängig ist.

Bei Step- bzw. Schritt-Motoren ist alles anders,

  • sie laufen nicht "von selbst", sondern nur mit einer Elektronik;
  • aber wenn sie laufen, dann unabhängig von der Last mit einer genau vorhersagbaren Drehzahl. Und das ist das ganze Geheimnis einer CNC-Steuerung! Sie liest die Programmdaten und leitet hieraus ab, mit welcher Drehzahl die einzelnen Achsen beteiligt sind.


Step- bzw. Schritt-Motore sind eigentlich eher Drehmagnete als Motore. Beim Anlegen einer Spannung richtet sich der Anker aus, hierbei macht er einen Schritt - oder auch nicht (je nach seiner vorherigen Nord/Süd-Ausrichtung). Für jeden weiteren Schritt, ist die Spannung immer wieder umzupolen.


Ein Gedankenexperiment:

Die 2 Spulen (eines Step-Motors) mögen so auf dem Zifferblatt einer Uhr angeordnet sein, daß die Polschuhe der einen Spule auf 6 bzw.12, die der anderen auf 3 bzw. 9 liegen. Der Stundenzeiger sei eine Magnetnadel mit rotem Punkt auf dem Südpol.


Zunächst sei jeweils nur eine Spule Strom durchflossen,
  • Spule 1 mit Südpol auf 6, Nordpol auf 12 Uhr. Der rote Punkt zeigt auf 12.
Wird der Stromfluß umgepolt, so springt der Zeiger auf 6 Uhr, wobei die Drehrichtung zufällig ist.
  • Jetzt sei nur Spule 2 Strom durchflossen, der Zeiger springt auf 3 oder 9 Uhr, je nach Polarität.
Es können insgesamt 4 Positionen, jedoch kein eindeutiges Drehfeld erzeugt werden.


Nun seien beide Spulen Strom durchflossen
  • Spule 1 mit Nordpol auf 12 Uhr
  • Spule 2 mit Nordpol auf 3 Uhr
  • Der "Stundenzeiger" zeigt weder auf 12 noch auf 3, sondern 1 Uhr 30.
Die Magnetfelder überlagern und verstärken sich um den Faktor 1,414.
  • Wird zunächst nur Spule 1 umgepolt, so springt der Zeiger auf 4 Uhr 30,
  • wird danach Spule 2 zusätzlich umgepolt, so springt der Zeiger auf 7 Uhr 30,
Es entsteht ein eindeutiges Drehfeld mit insgesamt ebenfalls 4 Positionen (Vollschrittbetrieb).

Der

Vollschrittbetrieb

ist dadurch gekennzeichnet, daß er sich (bei 2 Spulen) nach der 4ten Position wiederholt, anders ausgedrückt, das Ansteuermuster hat 4 Perioden. Da stets beide Spulen wirksam sind, werden die Positionen 3 / 6 / 9 / 12 Uhr niemals angesteuert.

Halbschrittbetrieb

Wir erinnern uns: Im Vollschrittbetrieb liegt der Nordpol von Spule 1 auf 12, der von Spule 2 auf 3 Uhr, der Zeiger steht auf 1 Uhr 30 und springt beim Umpolen von Spule 1 auf 4 Uhr 30.

Wird Spule 1 jedoch nicht um- , sondern abgeschaltet, so ist nur Spule 2 wirksam, der Zeiger springt auf 3 Uhr. Mit diesem Trick haben wir einen zusätzlichen "Zwischenschritt" eingefügt, das Drehfeld kennt jetzt 8 Positionen, das Ansteuermuster hat 8 Perioden. Allerdings wirkt in den Positionen 3 / 6 / 9 / 12 Uhr nur eine um den Faktor 1 / 1,414 geringere Kraft auf den Rotor, da nur eine Spule wirksam ist.

Zielabweichung & "Tote Zone"

Noch ein Experiment:

Beide Spulen seien wieder Strom durchflossen, Spule 1 mit Nordpol auf 12, Spule 2 mit Nordpol auf 3 Uhr. Der Stundenzeiger zeigt im magnetischen Gleichgewicht auf 1 Uhr 30. Bewegen wir ihn durch äußere Kraft hin und her, so geht die erforderliche Kraft im Gleichgewichtsbereich gegen 0 und nimmt mit zunehmendem Winkel zu. Die Kraft erreicht bei 4 Uhr 30 bzw. 10 Uhr 30 ihr Maximum und bei 7 Uhr 30 wieder einen 0-Wert. Wird der Zeiger hier losgelassen, so springt er auf 1 Uhr 30 zurück. Im Idealfall folgt dieses Zu- und Abnehmen der Rückstellkraft einer Sinus-Kurve mit stabilem Nullpunkt bei 1 Uhr 30, mit labilem Nullpunkt bei 7 Uhr 30.
Den Idealfall belasten magnetische Unlinearitäten – die die Sinus-Kurve verzerren – sowie die Reibung, die einen Teil des Drehmomentes verbraucht. Unterschreitet das Drehmoment das Reibmoment, so bleibt der Zeiger stehen. Er erreicht nicht 1 Uhr 30, sondern vielleicht nur 1 Uhr 20 oder 1 Uhr 40 - je nach dem, aus welcher Richtung er kommt. Der Bereich zwischen 1 Uhr 20 und 1 Uhr 40 wird als "Tote Zone" bezeichnet. Innerhalb der Toten Zone ist nicht reproduzierbar zu positionieren, Mikrosteps bleiben hier bewegungslos.
Immer wenn das Drehfeld einen Schritt oder Halbschritt weiter springt, springt der Zeiger hinterher – und schwingt um seinen neuen magnetischen Gleichgewichtspunkt. In Abhängigkeit von Masse und Reibung kommt er irgendwo neben dem theoretischen Zielpunkt zum stehen.
Stepmotore haben also eine Zielabweichung !

Wicklungsaufbau

Stepmotore unterscheiden sich

  • aus Motorsicht
im Wesentlichen nach dem Windungsaufbau in unipolare und bipolare Konstruktionen.

Bei unipolaren Motoren

wird das Drehfeld durch Zu und Abschalten einzelner gegenläufiger Wicklungen erzeugt, 50 % aller Wicklungen sind bei diesem Konzept stromlos.

Bei bipolaren Motoren

wird das Drehfeld hingegen durch Umpolen aller Wicklungen erzeugt (unser Gedankenexperiment verwendete diese Bauart).
Bei gleichem Drehmoment bauen unipolare Motore größer als bipolare, da sie einen größeren Wicklungsraum benötigen; bei gleicher Baugröße haben umgekehrt bipolare Motore ein größeres Drehmoment als unipolare. Diesem Vorteil einer höheren Leistungsdichte steht ein höherer steuerungstechnischer Aufwand in der Lei-stungsstufe gegenüber. Für den CNC & Robo-mac entstehen hieraus keine Unterschiede.


Unipolar

Fertigungstechnisch werden meist 2 getrennte Spulen jeweils bifilar (2-drähtig) gewickelt, es sind also 4 Spulen vorhanden.
Wird das eine Ende einer Bifilar Wicklung mit dem Anfang der anderen zu einem Anschluß (Knotenpunkt) zusammengeführt und dieser als gemeinsamer (Plus-) Pol genutzt, so erzeugen die beiden Spulen Magnetfelder unterschiedlicher Wirkrichtung. Aus diesem Grund ist beim Unipolarmotor jeweils nur eine dieser beiden Spulen wirksam.
Äußerlich sind Unipolarmotore an 6 Anschlüssen erkennbar. Werden beide Bifilar-Knotenpunkte intern zusammengefaßt, so sind nur 5 Anschlüsse vorhanden.

Bipolar

Bipolare Motore haben in ihrer einfachsten Bauform 2 Spulen mit 4 Anschlüssen. In einer anspruchsvolleren Bauform sind sie wie unipolare 2fach bifilar gewickelt, jedoch sind alle 8 Anschlüsse der 4 Wicklungen nach außen geführt; diese können wahlweise parallel oder seriell geschaltet werden.
Die jeweils "passende" Stromversorgung (s.u.) vorausgesetzt sind Parallel und Serienschaltung aus Motorsicht gleichwertig. Bei der Parallelschaltung ist der doppelte Strom, bei der Serienschaltung die doppelte Windungszahl wirksam- doppelte Windungszahl bedeutet aber auch: 4-fache Induktivität! Die Parallelschaltung hat also die geringere Induktivität; unter Dynamik-Gesichtspunkten kann sie bei höheren Taktfrequenzen überlegen sein.
Die Frage: "Seriell oder Parallel" wird nur weniger vom Motor selbst, sondern primär von der Energieversorgung und den Leistungstransistoren bestimmt. Da im durchgesteuerten Zustand deren Erwärmung durch den Strom bestimmt wird, ist die Serienschaltung verlustärmer, zumal die Chopper-Technologie (s.u.) durch überhöhte Einschaltspannung meist das Induktivitätsproblem zu "überlisten" vermag.
Da die Spulenpaare bipolarer Motore beliebig parallel oder seriell geschaltet werden können, liegt es nahe, auch unipolare Motore "wie bipolare in Serienschaltung" anzusteuern, um so deren Drehmoment zu erhöhen. Die Mittelanzapfung, der Knotenpunkte bleibt hierbei frei – und muß isoliert werden. Ob dies für den jeweiligen Motor zulässig ist, hängt im Wesentlichen von dessen zulässiger Erwärmung ab. Umgekehrt können bipolare Motore unipolar geschaltet werden, falls nur eine unipolare Elektronik verfügbar ist.

Ansteuerungskonzepte

Stepmotore unterscheiden sich

  • aus Sicht der Step-Elektronik
in Vollschritt, Halbschritt und Mikroschritt Ansteuerung


Die

Vollschritt Ansteuerung

entspricht (bei Permanent-Magnet Motoren) der "gefühlten" Rastung an der Motor Welle, die Halbschritt Ansteuerung erzeugt die doppelte Schrittzahl. Diese beiden Ansteuerungen haben wir in unserem ersten Gedankenexperiment kennen gelernt.
Das Drehmoment an der Welle ist dem magnetischen Fluß proportional; vor Eintritt der magnetischen Sättigung wird dies aus dem Produkt (Multiplikation) von Strom und Wicklungszahl bestimmt.
Bei der Vollschritt Ansteuerung sind stets beide Spulen Strom durchflossen, die Magnetfelder überlagern sich; das hieraus resultierende Magnetfeld ist um den Faktor 1,414 höher als das jeweils einzelne.


Bei der

Halbschritt Ansteuerung

ist während des Halbschritt nur eine Spule Strom durchflossen; das Drehmoment sinkt gegenüber dem Vollschritt um den Faktor 1/1,414. Intelligente Elektronik erhöht während des Halbschritts den Strom durch die jeweilige Einzelspule um den Faktor 1,414 und kompensiert so das geringere Drehmoment. Diese Stromerhöhung führt aus Motorsicht keinesfalls zu einer thermischen Überlastung, da letztendlich weniger Strom in Summe fließt als im Vollschritt.


Zur

Mikroschritt Ansteuerung

noch ein gedankliches Uhren Experiment:
Es seien beide Spulen Strom durchflossen
  • Spule 1 mit Nordpol auf 12 Uhr
  • Spule 2 mit Nordpol auf 3 Uhr
  • Der "Stundenzeiger" zeigt auf 1 Uhr 30.
Wird der Strom der einzelnen Spulen mit ihrem 100% Wert umgeschaltet, so springt der Motor einen Halb-Schritt weiter und verharrt bis zum nächsten Umpolen.
Wird hingegen der Strom von Spule 1 "langsam" von seinem 100% Wert auf 0 verringert und danach auf seinen negativen 100% Wert erhöht, so wandert der Zeiger ebenfalls "langsam" von 1 Uhr 30 über 3 Uhr auf 4 Uhr 30. Das selbe geschieht hiernach mit Spule 2, der Zeiger wandert auf 7 Uhr 30.
Die Stromkurven verlaufen in diesem Gedankenexperiment Trapez förmig. Während sich der Strom in der einen Spule ändert, bleibt er in der anderen konstant. Es entsteht ein eindeutiges Drehfeld mit "sehr vielen" Positionen.
Einfachste Mikroschrittsteuerungen arbeiten nach diesem Trapez Prinzip, das für reine Positionierung bedingt geeignet ist, die Schrittflanken etwas verschleift aber noch keine kontinuierlichen Drehbewegung, geschweige denn ein kontinuierliches Drehmoment bietet.
Wird der Strom beider beteiligten Spulen nicht Trapez förmig, sondern in der einen Sinus-, in der anderen Cosinus förmig (also 90° Phasen versetzt) verändert, so bewegt sich der Rotor kontinuierlich von einer Schrittposition zur nächsten. Er schreitet nicht, er gleitet; die Welle dreht sich kontinuierlich - und das Motorgeräusch verringert sich!
Anspruchsvollere Mikroschrittsteuerungen basieren auf dieser sin/cos Ansteuerung. Mikroprozessoren und DA Wandler erzeugen mit hoher Präzision jede beliebige Spannung einer sin/cos Beziehung und drehen so den Rotor in eine zugehörige Winkelposition "zwischen den Vollschritt Rastungen".
Theoretisch ist die Winkelgeschwindigkeit bei sinusförmiger Stromsteuerung konstant und hiermit die Positionierung winkelgenau. In der Praxis führen Inhomogenitäten im Magnetfeld und der Einfluß von Reibung und Last (vgl. das zweite Denkexperiment) zu Abweichungen von der theoretischen Sollposition.
Der Markt bietet eine Vielzahl integrierter Stepper Steuerungen. mit der Möglichkeit, den Stromfluß durch einen Soll/Ist Vergleich per Chopper (s.u.) zu regeln. Einige Lösungen arbeiten mit getrenntem Leistungsteil, andere als Ein-Chip Technologie bei geringerer Leistung. Für Mikroschrittansteuerung wird oft die Vollschritt Variante in Kombination mit einem Mikroprozessor eingesetzt, der den Sollwert für den Chopper generiert.
Der Mikroprozessor bestimmt also Auflösung und Qualität (Trapez oder sin/cos Ansteuerung) der Mikroschritte. Ein 4 bis 5 Bit DA Wandler (16 bis 32 Mikroschritte) ist als max. noch sinnvoll zu erachten. Höheren Auflösungen folgen "normale" Motore nicht mehr auf Grund der im Gedankenexperiment 2 gewonnenen Erkenntnisse.


Nochmals zum mitrechnen:
  • Die Winkeltoleranz eines "normalen" Motors liegt um die +/-5% vom Vollschritt, das entspricht einem 10tel Microschritt. Ein 16tel Microschritt fällt also bereits in den Toleranzbereich; jede höhere Microschrittauflösung ist bei "normalen" Motoren somit nur noch "nice to have".
  • Bei einem Präzisionsmotor mit einer Winkeltoleranz von +/- 2 bis 3% liegt der Grenzbereich zwischen 16 und 32 Microschritten; alles was feiner auflöst, geht in der "Toten–Zone" unter.
  • Dem Wunsch, mit einer Mikroschrittsteuerung die Feinpositionierung beliebig zu erhöhen, stehen diese Einschränkungen gegenüber. Einige Motorkonstruktionen werden speziell als für "Mikroschritt geeignet" ausgewiesen. Entweder ist hier die magnetische Linearität bereits höchst präzise oder die Hersteller geben im Datenblatt Hinweise zur Fehlerkompensation bzw. "paaren" den eigenen Motor mit einer eigenen Elektronik.

Stromsteuerung

Die wirksame elektromagnetische Kraft wird von der stromdurchflossenen Windungszahl (multiplikativ) be-stimmt.
In der elektromagnetischen Denkwelt ist es sinnvoll, sich von der klassischen "Konstant-Spannungs Denke", bei der doppelter Widerstand = halber Strom bedeutet, zu lösen. Die moderne Halbleitertechnik macht's möglich. Der jeweils erforderliche Strom wird "eingeprägt". Hierzu wird aus einer Stromversorgung mit hohem Spannungsniveau gerade soviel Spannung an den Verbraucher gegeben, daß sich der gewünschte Strom einstellt. Die inzwischen nicht mehr aktuelle "Längs-Regler Technologie" verheizte den vom Verbraucher nicht benötigten Energieanteil über gigantische Kühlkörper. Die Chopper Technologie arbeitet weit wirtschaftli-cher.
Strom (in Ampere) ist definiert als Coulomb pro sec. Faßt man dieses Coulomb als "Strompaketchen" auf, so ist es egal, ob kleine Paketchen kontinuierlich oder große periodisch fließen/nicht fließen. Einzige Voraussetzung: Der Chopper schaltet schnell genug (Frequenz mindestens ca. 10 mal höher als die Step-Frequenz). Das Verhältnis ein/aus bestimmt den Stromfluß.
Das Verfahren wird als PWM (PulsWeitenModulation) bezeichnet. Lädt man per PWM einen Kondensator, so erhält man einen Tiefpass, der das "Häckerle" verschleift und somit einen weitgehend kontinuierlichen Stromfluß durch den Verbraucher. Folgt der PWM Stufe eine Längsr-Regler Stufe, die nur noch die Restwelligkeit "verbrät", so ergibt dies eine Stromversorgung hoher Güte und Wirkungsgrad.

Drehmoment, Drehzahl und Resonanz

Kenngröße für Schrittmotore ist das "Haltemoment" (Holding Torque), das Moment,
  • das der Motor bei Drehzahl Null aufbringt,
  • bei dem eine äußere Kraft ihn gerade noch nicht "aus der Rastung" zieht.
Die theoretische Kennlinie Drehmoment (senkrecht) über Drehzahl (waagrecht) aufgetragen verläuft mit dem Haltemoment als Startwert zunächst als Gerade etwa horizontal. Sie knickt bei einer bestimmten Geschwindigkeit (in Datenblättern meist als "Cut off speed" angegeben) und verläuft weiter als Gerade mit abnehmendem Drehmoment bei steigender Geschwindigkeit. Die max. Drehzahl ist definiert als die, bei der das Drehmoment Null beträgt, der Motor also keine Kraft mehr abgibt.
Die Kurve erinnert (Analog Menschen wie mich) an einen Tiefpass mit 3 dB (Cut off) Punkt; eine "Esels-brücke", die auch ohne mathematische Ableitung auf Grund der RL Kombination ihre Berechtigung hat. Kurz vor Erreichen der Nenndrehzahl bricht das abgegebene Drehmoment nadelförmig ein. Bei dieser Resonanz-frequenz schwingt die Energie, der Rotor dreht sich vor und zurück. Da keine Energie abgegeben aber neue zugeführt wird, kann sich ein Motor in Resonanz bis zur Zerstörung aufheizen. Das Resonanz Problem tritt bei Mikroschrittbetrieb nicht oder nur deutlich gedämpft auf .
Eine Vielzahl von magnetischen Unlinearitäten in Verbindung mit den Erkenntnissen aus dem zweiten Gedankenexperiment führen dazu, daß die theoretische Kurve in Praxis "weicher bis krumm" verläuft.


Schrittverlust

Diese drehzahlabhängige Kurve erklärt auch, weswegen so mancher von Schrittmotoren nichts wissen will: Wird das Lastmoment oder die Drehzahl höher als das, was die Kurve zuläßt (einschließt), so verliert der Schrittmotor Schritte. Und zwar nicht einen oder 2, sondern mindestens alle Mikroschritte bis zum nächsten Vollschritt, wahrscheinlich mehr. Und hierbei bricht das Drehmoment nahezu zusammen.
Dies ist kein Fehler des Schrittmotors, sondern seiner Dimensionierung oder einer zu schwachen Stromversor-gung. Positiv betrachtet: Fahren Schrittmotore Crash, so bleibt der Schaden in Grenzen, denn für alles was au-ßerhalb der Kurve liegt wirkt diese wie eine Drehmoment-Kupplung.

Closed Loop versus Schrittverlust

Eine Technologie – meist im Leistungsteil integriert, bei der ein Drehgeber feststellt, ob der Motor seinen Schritt geleistet hat. In der Beschleunigungsphase, vor Erreichen der Nenngeschwindigkeit können Schrittverluste so durch Schrittwiederholung recht problemlos ausgeglichen werden. Bei höheren Geschwindigkeiten wird das fehlende Drehgebersignal als Crash interpretiert und ein Not-Stop eingeleitet.


Power & Controller

Die Grundlagen der Motor-Physik und die Ansteuerung aus dem Leistungsteil wurden kurz umrissen. Wie das Leistungsteil den Motor ansteuern soll – um letztendlich aus mehreren Einzelachs-Bewegungen eine mehrdimensionale Bahnbewegung im Raum zusammen zusetzen, das verantwortet der Controller:

An einer Bewegung im Raum sind stets mehrere Motore / Achsen mit meist unterschiedlicher Geschwindigkeit beteiligt; der eine Motor enthält dementsprechend mehr, der andere weniger Taktimpulse. Der Controller sorgt dafür, daß "die wenigen" gleichmäßig über die Zeit verteilt werden, die "die vielen" brauchen. Er interpoliert hierzu aus der Bahnbewegung die unterschiedlichen Winkelgeschwindigkeiten und taktet die Achsen entsprechend ihrem Verhältnis untereinander.


Systemgeschwindigkeit und Taktung

Wir erinnern uns: Step- bzw. Schritt-Motore sind eigentlich eher Drehmagnete als Motore. Beim Anlegen einer Spannung richtet sich der Anker aus. Für jeden Schritt, ist die Spannung umzupolen bzw. bei Mikroschrittansteuerung zu variieren; dies übernimmt die Motor-Endstufe.

Eingangsseitig werden die Motor-Endstufen mit einem Takt-Signal versorgt, für eine Umdrehung mit 1600 Schritten werden 1600 Takte erforderlich. Die Taktfrequenz bestimmt die Motorgeschwindigkeit (in U/min bzw. U/sec); sie wird vom Controller erzeugt.

Welche Umdrehung ein Schritt-Motor maximal erreicht, hängt von seiner Belastung, seiner Bauart, der Leistung der Endstufe und deren Ansteuerung (Taktung) – letztendlich also vom dynamischen Verhalten des Gesamtsystems und seiner beschleunigten Massen ab. "Vernünftige" Controller bieten die Möglichkeit, diesen Wert auszutesten.

Desweiteren ist zu beachten, dass der Taktgenerator in der Lage sein muss, die Bewegungsimpuls gleichmässig zu erzeugen. Das bedeutet, dass die Zeit zwischen den vom Controller tatsächlich erzeugten und von der Software angeforderten Taktimpuls möglichst klein und gleichmässig sein muss.

Ist dies nicht der Fall und streuen die Taktimpulse bei z.B. einer gleichförmigen Bewegung des Motors um einige Prozent bedeutet dies, dass der Schrittmotor abbremst wenn ein Taktimpuls zu spät erzeugt wird also eine negative Beschleunigung erfährt. Falls der nächste Takt wieder zur korrekten Zeit ausgegeben wird, Beschleunigt der Motor wieder um seine Bewegung fortzusetzen. Er dürfte aber eigentlich keine Beschleunigung erfahren weil er in unserem Beispiel sich gleichmässig Bewegen soll.

Das Resultat ist, dass der Motor vibriert, unnötig viel kinetische Energie verbraucht und Drehmoment verliert weil er einen großen Teil für das ständige Beschleunigen aufwenden muss.

Dieses Problem tritt in Hobbykreisen in der Regel auf, wenn man den PC verwendet um z.B. über die Parralele Schnittstelle Signale zu Erzeugen (z.B. für eine CNC Hobbyfräse) oder wenn der Taktgenerator der Steuerplatine eine schlechte Frequenzstabilität hat(z.B. interner Oszillator von einen Mikrocontroller).

Das PC-Problem kann man begrenzt umgehen, indem man möglichst wenig Anwendungen auf dem PC gleichzeitig laufen lässt, wobei die Ergebnisse sehr(!) viel Besser ausfallen, wenn man direkt eine Steuerplatine verwendet die sich nur der Takterzeugung für die Schrittmotoren widmet. Versuche haben ergeben, dass es keine Beziehung zwischen der Taktverzögerung und der Geschwindigkeit des verwendeten PCs gibt.

Das Problem mit Microcontrollern kann man durch einen externen Oszillator besserer Frequenzstabilität beheben(Wobei bei Microcontrollern im Gegensatz zu PCs das Taktverzögerungsproblem eher vernachlässigbar ist).

Rampen-Steuerung

Um eine höhere Drehzahl zu erreichen, muß der Motor zunächst mit einer niedrigen Taktfrequenz gestartet und die Frequenz von Takt zu Takt erhöht werden - um so zu beschleunigen. Erhält der Motor "von jetzt auf gleich" die volle Taktzahl, so läuft er möglicherweise gar nicht an, sondern gibt lediglich Magnetisierungsgeräuse ab, wird kurzfristig heiß und evtl. zerstört.

Die beschriebene Ansteuerung wird üblicherweise als Rampen-Steuerung bezeichnet, da der Motor über eine Rampe von 0 auf Betriebsgeschwindigkeit beschleunigt wird. Einfache Rampensteuerungen arbeiten linear, d.h. die Taktzahl wird von Takt zu Takt um denselben Wert erhöht, bis die Nenndrehzahl erreicht ist. Dies funktioniert, gibt jedoch bei Erreichen der Nenndrehzahl einen leichten Ruck, da die Beschleunigung schlagartig aufhört. Um diesen Ruck zu vermeiden, verwenden bessere Taktgeber eine Sinus-Rampe; die hiermit erreichbaren Beschleunigungswerte liegen meist unter denen einer Linear-Rampe.

Eine interessante Alternative sind "asymptotische" Rampen; schnell wie eine Linear-Rampe und in den Übergängen weich wie eine Sinus-Rampe. Diese Steuerungen ermöglichen es, einen Motor von 0 auf Nenndrehzahl in einer Winkel-Größenordnung von ca. 10 Grad zu beschleunigen.


Boost- & Sleep-Modus

Wie bei jedem Beschleunigen oder Bremsen sind die erforderlichen Kräfte höher als bei einer kontinuierlichen Geschwindigkeit. HighEnd Controller erzeugen während der Rampenfahrt ein Boost-Signal, daß in der Endstufe zur Erhöhung des eingeprägten Stromes genutzt wird, um so die Magnetisierungskräfte zu erhöhen; umgekehrt geben sie bei Motorstilltand ein Sleep-Signal ab, um den eingeprägten Strom abzusenken.


Umkehrspiel

Das Umkehrspiel hat mit dem eigentlichen Motor nichts zu tun, es entsteht letztendlich aus schlechten bzw. abgenutzten Lagern und Führungen der Mechanik. Wenngleich eine gute Mechanik Voraussetzung für einwandfreie Ergebnisse ist, besteht bei HighEnd Controllern die Möglichkeit Probleme aus dem Umkehrspiel zu minimieren.

Hierzu fügt der Controller bei Drehrichtungswechsel einer Achse automatisch zusätzliche Kompensations-Schritte ein und "dreht hiermit das Spiel zurück". Die erforderliche Schritt-Zahl wird vom Zustand der Mechanik bestimmt und für jede Achse getrennt in der Systeminitialisierung hinterlegt. Die Kompensation arbeitet vom Anwenderprogramm unabhängig, so daß Alters-Verschleiß programmunabhängig nachgeführt werden kann.

Die folgende Betrachtung am Beispiel eines Kreises (der aus der Überlagerung sinus- und cosinus förmiger Geschwindigkeitsänderung von X- und Y- Achse entsteht) zeigt jedoch, das Probleme aus einer "ausgeleierten" Lagerung nur bedingt kompensierbar sind.

  • Um saubere Konturen zu erreichen ist eine möglichst kontinuierliche Bewegung beider Achsen erforderlich. Das Rückdrehen des Umkehrspieles unterbricht jedoch diese kontinuierliche Bewegung: Die eigentlich schnell laufende Achse muß warten, bis die andere zurückgedreht ist. Würde hingegen die schnelle Achse weiter laufen, so würde das Werkzeug nicht im Kreis, sondern gradlinig bewegt.


HighEnd Controller

Interpolieren nicht nur die mehrachsige Bahn-Bewegung im Raum, sie bieten

  • dynamisch-variable Arbeitsgeschwindigkeit
  • Rampenberechnung in Abhängigkeit von Geschwindigkeit und Drehrichtung
  • Nullpunkt-Automatik
  • Überwachung der Not-aus und Endschalter
  • Restart aus Not-Aus ohne Daten und Positionsverlust
  • Sleep / Boost Automatik für hochdynamische Achsen
  • Umkehrspiel Kompensation
  • Zu- und Abschalten beliebiger Steuer-Signale während des Programmlaufes
  • LCD- Statusanzeige
  • und vielleicht auch noch Teach-In!


Teach-In

ist ein hochinteressantes Thema; ermöglicht es doch Menschen, die keine Programmiersprache beherrschen, einem Roboter trotzdem Bewegungen bei zu bringen, die eine bestimmte Aufgabe erfüllen. Kennzeichnend für Teach-In ist, daß "markante" Bahnpunkte zunächst manuell, also mit der Handsteuerung angefahren werden, die die Programm-Steuerung sich merkt und zu einem späteren Zeitpunkt "automatisch abfährt". Je mehr Teach-In Punkte die Bahn bestimmen, je feiner wird die Bahnkurve aufgelöst, je weicher/eleganter wird sie; umgekehrt: Je weniger Punkte vorhanden sind, je stärker tritt ein neues Thema in den Focus: Wie werden diese Punkte eigentlich verbunden?

Interpolation

Der einfachste Weg ist die lineare Interpolation, sie führt in einen Polygonzug, - letztendlich relativ ruckartige, abgehackte Bewegungen. Für reines Pick & Place bei dem es nur auf die Reproduzierbarkeit der angefahrenen Punkte ankommt, ist die lineare Interpolation voll ausreichend. Ich habe mir bei der Entwicklung von RoBo-mac höhere Ziele gesetzt und mich intensiv mit der

auseinandergesetzt – und meine Erkenntnisse in einem Tutorial zusammengefaßt. Versucht habe ich, dies praxisorientiert und ohne höhere Mathematik darzustellen.


Weblinks

All dies muß getestet werden, ich habe hierzu OKTAVIAX, den Acht-Achser entwickelt; unter

 http://www.youtube.com/watch?v=TT344LsOnuY 

macht er ein Tänzchen (Bitte Lautsprecher einschalten).


Dieser Artikel ist ein (produkt-neutraler) Auszug aus dem Manual CNC & RoBo-mac, einem Multi-Achs-Controller für (z.Z.) bis zu 8 Achsen. Mehr dazu unter

NLB

Probleme mit der Taktverzögerung werden auf CNCCOOKBOOK diskutiert. Da im Augenblick der Artikel nicht über das Blockarchiv abgerufen kann, muss er per Suche mit "Motion Control Boards Take Mach3 From Hobby Class to Industrial Grade" gefunden werden.


LiFePO4 Speicher Test