Archive for the ‘Anwendungshinweise’ Category

Drehzahlsteuerung von Kleinantrieben

Sonntag, Dezember 4th, 2016

Wird in einer Anwendung ein Antrieb mit niedriger, (nahezu) konstanter Drehzahl benötigt, fällt die Wahl schnell auf einen Gleichstrommotor mit Getriebe. Der Motor kann über einen Relaiskontakt einfach ein- und ausgeschaltet werden und benötigt zum Betrieb keine weiteren Komponenten wie z.B. Sensoren oder Motorregler.

Bei genauerer Betrachtung ist ein Getriebemotor aber nicht immer die optimale Wahl:

Die Lebensdauer des Getriebes ist begrenzt, was besonders bei Anwendungen mit Dauerbetrieb zu Ausfällen führen kann. Dazu kommen das Geräuschverhalten des Getriebes und mögliche EMV-Probleme durch das Bürstenfeuer des Gleichstrommotors. Spätestens wenn dann noch die Forderung nach einer konstanten Drehzahl unabhängigen von der Last dazu kommt, ist der vermeintliche Kostenvorteil schnell dahin. Dann muss ein Encoder oder ein anderer Sensor zur Drehzahlerfassung und ein 2- oder 4-Quadrantensteller zur Regelung der Motordrehzahl eingesetzt werden.

Gerade bei Anwendungen mit vergleichsweise niedrigen Drehzahlen, wie z.B. dem Antrieb kleiner Förderbänder, Drehteller oder anderer Hilfsachsen, bieten sich Schrittmotoren als Direktantriebe ohne Getriebe an. Dank ihrer hohen Polpaarzahl liefern sie ein deutlich höheres Drehmoment als DC- oder BLDC-Motoren gleicher Baugröße ohne Getriebe. Über das von der Schrittmotorsteuerung vorgegebene Feld lässt sich die Drehzahl präzise steuern, die Versorgungsspannung kann außerdem weitestgehend unabhängig von den elektrischen Daten des Motors gewählt werden. Und dank hochauflösender Mikroschritt-Ansteuerung ist auch das Geräuschverhalten in den letzten Jahren deutlich besser geworden. Abgesehen von den Kugellagern im Motor sind Schrittmotoren zudem verschleißfrei.

Was verhindert also den Ersatz von Getriebemotoren durch Schrittmotoren?

Zum einen benötigen viele Standard-Steuerungen als Eingangssignal ein Taktsignal, weil Schrittmotoren meistens als Positionierantriebe verwendet werden. Bei der hierfür verbreiteten Takt-/Richtungsschnittstelle entspricht jeder Taktimpulse einem Schritt des Motors, über die Taktfrequenz wird also letztlich die Drehzahl des Schrittmotors vorgegeben. Die Erzeugung eines solchen schnellen Taktsignals (abhängig von der Mikroschritt-Einstellung einige hundert Hertz bis einige 10 kHz) ist aber mit normalen SPS-Ausgängen nur sehr eingeschränkt möglich; schnelle Taktausgänge sind vergleichsweise teuer und für den Programmierer z.T. nicht einfach in der Handhabung. Außerdem führen Ungleichmäßigkeiten im Taktsignal (z.B. Jitter) zu hörbaren Störungen im Motorlauf, die im Extremfall bis hin zum Ausrasten des Motors führen können. Zum anderen benötigen die meisten am Markt erhältlichen Steuerungen Signalpegel von lediglich 5V, während in der SPS-Welt fast durchgehend mit 24V I/O Signalen gearbeitet wird. Externe Vorwiderstände sind aber im Schaltschrankbau nicht gerne gesehen…

Eine Lösung bieten Schrittmotorsteuerungen mit integrierter Takterzeugung und 24V-toleranten I/Os:

Die Tiny-Step.plus für kleine Schrittmotoren (Nema17 bis max. Nema23 je nach Nennstrom) enthält einen Taktgenerator, der wahlweise über ein internes Trimmpoti oder einen Analogeingang gesteuert werden kann. Digitale Eingänge für Start/Stopp, Drehrichtung und Enable ermöglichen so eine einfache Steuerung über Standard-I/Os durch eine SPS oder völlig autark z.B. für Drehteller zur Warenpräsentation oder in Kunstobjekten.

Tiny-Step.plus mit Drehzahl-Steuerung
Schrittmotorsteuerung Tiny-Step.plus mit integrierter Drehzahlsteuerung.

Die Geräte der DS10-Serie von LAM enthalten einen digitalen Taktgeber, der bei der Parametrierung der Geräte auf einen festen Wert eingestellt wird. Über einen konfigurierbaren digitalen Eingang kann der Motor dann gestartet und wieder gestoppt werden, ergänzend sind eine Umschaltung der Drehrichtung sowie ein Enable-Signal zum Ein- und Ausschalten der Endstufe vorgesehen. Durch die fest eingestellte Drehzahl wird der Motor hierbei allerdings abrupt auf Drehzahl gebracht, diese Ansteuerung eignet sich also nur für niedrige Drehzahlen. Für mehr Dynamik benötigt ein Schrittmotor eigentlich eine Beschleunigungsrampe. Eine Zwischenstufe ermöglicht der Taktgenerator der DS10-Serie, der eine Umschaltung zwischen zwei verschiedenen festen Drehzahlen erlaubt. So kann der Motor mit niedriger Drehzahl anlaufen, und dann über einen weiteren Eingang an der Steuerung auf eine höhere Geschwindigkeit umgeschaltet werden.

Für Anwendungen, die noch mehr Flexibilität benötigen (z.B. Anlauframpen) oder ganz ohne weitere Steuerung betrieben werden sollen, empfehlen sich die frei programmierbaren Schrittmotorsteuerungen aus der DS30-Serie. Hiermit lassen sich z.B. voll automatische Fototische (Scantable) realisieren, incl. Ansteuerung des Kameraauslösers. Dazu später mehr in einem weiteren Blogbeitrag.

Im Zusammenspiel mit modernen Steuerungen bieten sich Schrittmotoren als Alternative zu Getriebemotoren für Anwendungen mit niedrigen Drehzahlen an. Der Einsatz ist fast genau so einfach wie der eines Gleichstrommotors. Und berücksichtigt man die Gesamtkosten (Getriebe, ggf. Encoder plus Verdrahtung, Instandhaltung), kann eine solche Lösung dabei sogar günstiger sein. Es lohnt sich also, über diese Alternative nachzudenken…

Die richtige Spannung für Schrittmotorsteuerungen – Kriterien zur Auswahl

Montag, April 25th, 2016

Das Schrittmotoren an modernen Steuerungen mit Stromregelung üblicherweise mit Spannungen betrieben werden, die deutlich über der Motornennspannung liegt, ist den meisten Anwendern bekannt und wurde hier bereits vor 5 Jahren im Beitrag „Die Sache mit der Spannung“ besprochen. Doch wie hoch sollte die Spannung gewählt werden? Umso höher die Spannung, umso mehr Drehmoment liefert der Motor im oberen Drehzahlbereich. Also liegt es nahe, die Spannung so hoch wie möglich zu wählen. Im nachfolgenden Beitrag möchte ich diskutieren, welche Grenzen bei der Wahl der Versorgungsspannung beachtet werden müssen.

Vorsicht Spannung

Vorsicht Spannung! Welche Versorgungsspannung ist bei Einsatz eines Schrittmotors die richtige?

Regulatorische Einschränkungen

Neben internen Vorgaben (Werksnormen o.ä.) sind hier vor allem Normen und gesetzliche Vorgaben der Märkte zu beachten, in welche die jeweilige Maschine oder Anlage geliefert werden soll. Für den europäischen Markt ist hier insbesondere die neue Niederspannungsrichtlinie 2014/35/EU relevant (gültig seit 20.4.2016, davor 2006/95/EG). Für den amerikanischen und kanadischen Markt ist es dagegen die UL508A. Die Niederspannungs-Richtlinie greift bei Einsatz von Gleichspannungen ab 75V bzw. Wechselspannungen ab 50V. Mit 48V Gleichspannung ist man also in Hinblick auf die Anwendung der Niederspannungsrichtlinie noch auf der „sicheren Seite“. Geht man darüber hinaus, müssen Motor, Motorsteuerung und Verdrahtung im Rahmen der Risikoanalyse betrachtet werden. Alle mit der Motorspannung verwendeten Komponenten müssen dann die Niederspannungs-Richtlinie erfüllen, diese muss dementsprechend auch in der CE-Konformitätserklärung berücksichtigt sein. Ist die UL508A anzuwenden, sind die Grenzen deutlich strenger. Die Prüfvorschriften für die UL508A berücksichtigen die Besonderheiten von Kleinspannungsantrieben nicht. Diese müssen vergleichbare Spannungsfestigkeiten wie Antriebsverstärker für den Netzspannungs-Betrieb aufweisen, was mit vertretbarem Aufwand nicht zu realisieren ist. Aus diesem Grund gibt es zumindest auf dem europäischen Markt keine Steuerungen für Kleinantriebe, welche die UL508A erfüllen. Bei Versorgung einer Steuerung aus einem sogenannten „Class 2“ Netzteil oder bei Einsatz eines „Limited Energy“ Stromkreises kann aber auch eine Motorsteuerung ohne UL-Zulassung verwendet werden. Class 2 Netzteile sind auf max. 30Veff beschränkt. Bei Limited Energy-Kreisen darf die Spannung bis 42,4V betragen, die Leistung ist auf 100VA begrenzt. Kommen mehrere Antriebe zum Einsatz, ist es zulässig, ein Netzteil größerer Leistung zu verwenden, wenn durch nachgeschaltete Sicherungen die Leistung in den einzelnen Kreisen entsprechen der Vorgaben in der Norm limitiert wird.

Schrittmotorsteuerung

Je nach Bauart der Schrittmotorsteuerung kommt eine single-Chip Lösung zum Einsatz, oder eine Endstufe mit externen MOSFETs. Gerade integrierte Lösungen sind in Hinblick auf die Versorgungsspannung limitiert. Typische maximale Spannungen liegen im Bereich 30-40V. Um ausreichend Reserven beim Bremsen (Rückspeisung durch den Motor) und für auftretende Schaltspitzen zu haben, sollte die Betriebsspannung mit einigem Abstand zur maximalen Versorgungsspannung des eingesetzten Treiber-ICs gewählt werden. Bei einsatzfertigen Geräten ist diese Reserve in der Regel bereits in den technischen Daten berücksichtigt, während bei „Motorshields“ (Treiber-Platinen für den Einsatz am Arduino oder Raspberry Pi meist mit minimaler Außenbeschaltung) in der Regel die Maximalwerte des Chips angegeben werden. Hier muss der Anwender selbst für entsprechende Sicherheitszuschläge sorgen, auch empfiehlt sich der Einsatz zusätzlicher Stützkondensatoren. Steuerungen für den Betrieb an Spannungen >=75VDC müssen die Niederspannungsrichtlinie erfüllen und entsprechend gekennzeichnet sein.

Schrittmotorsteuerung mit CE

Programmierbare Schrittmotorsteuerung für höhere Versorgungsspannungen mit CE-Kennzeichnung.

Motor

Bei Schrittmotoren gibt es von den Herstellern in der Regel keine offiziellen Spezifikationen, bis zu welcher Spannung ein Motor eingesetzt werden darf. Anhand der in den Motorkennlinien verwendeten Spannungen kann jedoch auf den zulässigen Spannungsbereich geschlossen werden. Höhere Spannungen als in den Kennlinien angegeben sollten vorab mit dem Motorhersteller abgestimmt werden. Wie im vorherigen Abschnitt bereits erwähnt, müssen Motoren, die mit Spannungen betrieben werden, die in den Geltungsbereich der Niederspannungsrichtlinie fallen, eine CE-Kennzeichnung aufweisen. Verschiedene Motorhersteller bieten Motorvarianten oder Serien mit CE-Kennzeichnung an. In der Regel sind diese Motoren auch mit einer zusätzlichen Schraube zur Erdung des Motorgehäuses und/oder einer abgeschirmten Zuleitung ausgestattet. Von Oriental Motor werden die IP54 und IP65-Motoren mit Flanschgrößen Nema23 und Nema34 mit CE-Kennzeichnung geliefert, die Standardmotoren gleicher Größe jedoch ohne CE. Sanyo Denki liefert ebenfalls unterschiedliche Serien mit und ohne CE. Von LAM werden alle Motoren mit CE-Kennzeichnung geliefert, eine Erdungsschraube ist aber nur bei den Motoren ab 86mm Flanschmaß vorhanden. Andere Hersteller liefern entweder keine gemäß CE gekennzeichneten Motoren, oder die Niederspannungsrichtlinie ist nicht Teil der Konformitätserklärung.

Schrittmotor CE

Schrittmotor PK268DW in IP54-Ausführung mit CE-Kennzeichnung und geschirmter Anschlussleitung. Quelle: Oriental Motor

Netzteil

Je nachdem, welche Spannungen bereits in der Anwendung verwendet werden, kann es sinnvoll sein, die Spannungsversorgung für den oder die Schrittmotoren aus den gleichen Netzteilen zu beziehen. Im industriellen Umfeld sind 24V besonders verbreitet, was zu den o.g. Grenzen der IC-Lösungen gut passt. Gängige Spannungen für Schaltnetzteile sind weiterhin 36V und 48V, höhere Spannungen sind sehr selten zu finden. Hier bietet sich bei Bedarf eher eine Reihenschaltung von zwei Netzteilen mit je 36V oder 48V an.

Fazit – die richtige Spannung für Ihre Anwendung

Welche Versorgungsspannung eingesetzt werden kann und darf, ist von vielen Faktoren abhängig. 24VDC sollten in den allermeisten Anwendungen möglich sein, ebenso 36VDC, wenn der verwendete Motortreiber hierfür geeignet ist. 48VDC und ggf. 60VDC sind für den europäischen Markt in der Regel problemlos verwendbar, im amerikanischen und kanadischen Markt jedoch nicht unbedingt zu empfehlen. Hier sollte man 36V nicht überschreiten und auf den Einsatz eines Class 2 Netzteils achten. Bei Spannungen über 60VDC ist eine Risikobeurteilung ratsam. In diesem Rahmen sollte auch geprüft werden, ob für Motor und Motorsteuerung eine CE-Konformitätserklärung vorliegt, welche die Niederspannungsrichtlinie berücksichtigt.

Positioniergenauigkeit von Schrittmotoren

Samstag, November 15th, 2014

Im Beitrag „Die Bedeutung des Lastwinkels bei Schrittmotoren“ wurde bereits diskutiert, warum durch den Einsatz einer Mikroschritt-Ansteuerung zwar die Auflösung des Antriebssystems erhöht wird, nicht aber die Genauigkeit. Dabei wurde auch erläutert, warum ein Schrittmotor unter Last einen Positionsfehler von bis zu einem Vollschritt aufweisen kann, ohne dass er aus dem Tritt gerät. Im Rahmen einer Diskussion über Schrittmotoren und Rampen im Forum von Mikrocontroller.net wurde im Verlauf der Diskussion auch die Frage erörtert, ob der max. Positionsfehler eines Schrittmotors nun ein, zwei oder gar vier Vollschritte betragen würde. Diese Frage möchte ich daher hier nochmals aufgreifen.

In der Literatur finden sich zum statischen Belastungsfall (d.h. der Motor steht und wird durch ein externes Moment belastet) vergleichbare Abbildungen wie im Beitrag über den Lastwinkel, wobei hier das Motormoment aufgetragen ist, während in der Literatur meist das extern angreifende Moment dargestellt wird, und nicht das vom Motor aufgebrachte Moment. Dieses ist dem Lastmoment entgegen gesetzt und weist dementsprechend ein anderes Vorzeichen auf.

Eine besonders interessante Darstellung findet sich bei RUMMENICH. Neben der bekannten sinusförmigen Lastmoment-Kurve, die den Bereich +/-2 Vollschritte abdeckt, wird hier die Stabilität der Rotorlage durch einen Vergleich mit einem Pendel symbolisch dargestellt. Anhand des Pendels wird deutlich, dass der Rotor in den Positionen bei +/- 2 Vollschritten eine instabile Lage einnimmt. Sollte es zu einer Überlastung des Motors kommen, wird der Rotor also in die nächste stabile Position (+/- 4 Vollschritte) springen. Das gilt allerdings nur, wenn die externe Last dann wieder kleiner ist als das Drehmoment des Motors. Ansonsten wird der Rotor um weitere n*4 Schritte weiter drehen. Analog kann das Pendel nur in seine stabile Lage zurück schwingen, wenn die Kraft welche die Auslenkung verursacht hat, verschwindet (d.h. wenn das Pendel losgelassen wird).

Lastwinkel Rummenich

Darstellung des Lastwinkels im Buch von E. Rummenich.

Eine ausführlichere Betrachtung zum Thema Winkelfehler durch Belastung des Motors findet sich bei SCHÖRLIN. Neben dem Einfluss einer statischen Last wird hier auch auf das Reibmoment eingegangen. Der durch das Reibmoment verursachte Winkelfehler wird gemäß

α=arcsin⁡(Mr/Mmax)

berechnet, wobei Mr das Reibmoment und Mmax das Nennmoment des Schrittmotors ist. Es wird sofort klar, dass ein höheres Drehmoment bei gleichbleibendem Reibmoment einen kleineren Winkelfehler zur Folge hat. Umgekehrt führt eine Absenkung des Motorstroms zu einem höheren Winkelfehler.

SCHÖRLIN betrachtet aber auch den dynamischen Lastfall. Bei höheren Drehzahlen ergibt sich durch die Phasenverschiebung zwischen Strom und Spannung ein Nacheilen des Drehfeldes gegenüber den angelegten Spannungen um max. 90°, so dass auch der Rotor zurück fällt. Dieser Effekt überlagert sich mit dem statischen Lastfall, so dass der dynamische Gesamtfehler bis zu zwei Vollschritte betragen kann.

Dynamischer Lastwinkel

Darstellung des statischen Lastwinkels incl. Einfluß des Reibmomentes (oben) sowie des dynamischen Lastwinkels (unten) bei F. Schörlin

Kommt es zu einer Überlastung und damit zu einem außer Tritt fallen des Motors („Schrittverlust“), springt der Schrittmotor um ein Vielfaches von 4 Vollschritten weiter. Der im Verlauf der eingangs genannten Diskussion gebrauchte Begriff „Großschritt“ findet sich in der Literatur übrigens nicht wieder. Auch eine Websuche führt zu nicht zu relevanten Treffern. Stattdessen ist es üblich, von einer elektrischen Umdrehung zu sprechen, da sich nach vier Vollschritten das Bestromungsmuster widerholt. Der Zusammenhang zwischen der elektrischen Umdrehung und einer mechanischen Umdrehung des Rotors (=360°) ist die Anzahl der Polpaare. Der typische 2-phasige Schrittmotor mit 1,8° Vollschritt-Winkel (200 Vollschritte/U) weist demnach eine Polpaarzahl von 50 auf.

Zusamenfassung: Unterhalb des Motor-Nennmoments ist der auftretende Winkelfehler im statischen Fall kleiner als +/- einen Vollschritt. Im dynamischen Fall kann der Winkelfehler sogar auf +/- zwei Vollschritte ansteigen. Dieser Effekt ist bei Anwendungen mit hohen Anforderungen an die Positioniergenauigkeit unbedingt zu beachten. Ggf. hilft es, den Motor entsprechend größer auszulegen, so dass die auf den Rotor wirkenden Lastmomente gegenüber dem Nennmoment klein bleiben, was entsprechend kleinere Winkelfehler zur Folge hat.

Ansteuern von Schrittmotoren mit Arduino

Montag, Mai 5th, 2014

Ein Arduino Controller kann verwendet werden, um eigenständige interaktive Objekte zu steuern oder um mit Softwareanwendungen auf Computern zu interagieren (z. B. Adobe Flash, Processing, diverse Skriptsprachen, Terminal etc.). Arduino wird beispielsweise auch an Kunsthochschulen genutzt, um interaktive Installationen aufzubauen. Die Hardware besteht aus einem einfachen I/O-Board mit einem Mikrocontroller und analogen und digitalen Ein- und Ausgängen. Die Entwicklungsumgebung verwendet die Programmiersprache Processing, die auch technisch weniger Versierten den Zugang zur Programmierung und zu Mikrocontrollern erleichtern soll. [Quelle: Wikipedia]

Um es Einsteigern in die Welt von Elektronik und Mikrocontrollern möglichst einfach zu machen, gibt es für die Arduino-Plattform eine große Vielfalt an steckbaren Erweiterungsmodulen, so genannte „Shields“. Auch für die Ansteuerung von Motoren sind diverse Shields erhältlich. Sie bestehen oft nur aus einem Treiberchip mit der minimalen Basisbeschaltung. Über die kleine Platine kann kaum Verlustleistung abgeführt werden, zudem fehlt es für größere Motoren an ausreichend dimensionierten Pufferelkos. Auch Schutzbeschaltungen (Kurzschlussschutz, Optokoppler in Richtung Controller) sind die absolute Ausnahme. Das Experimentieren mit Motoren kann so schnell zu einem frustrierenden Erlebnis werden, wenn mit den Motoren „reale“ Lasten angetrieben werden sollen. Im folgenden Beitrag wird gezeigt, wie man mit einem Arduino mit Hilfe der AccelStepper-Bibliothek über wenige I/Os nahezu alle Schrittmotorsteuerungen mit Takt-/Richtungsinterface ansteuern kann.

Zur Arduino Entwicklungsumgebung gehört auch eine einfache Bibliothek zur Ansteuerung von Schrittmotoren. Sie geht jedoch davon aus, dass die Motorwicklungen direkt oder mittels zwischengeschalteter Transistoren über die I/Os des Prozessors angesteuert werden (Verwendung von zwei Ausgängen je Motorwicklung, insgesamt 4 Ausgänge). Beschleunigungs- und Bremsrampen sind nicht vorgesehen. Durch diese einfache Ansteuerung lässt sich nur ein geringes Drehmoment bei niedrigen Drehzahlen erreichen. Die AccelStepper-Library unterstützt dagegen auch so genannte 2- und 3-Draht Interfaces sowie den Typ „Driver“. Gemeint ist damit die Ansteuerung von integrierten Treibern über Takt- und Richtungssignale. Es ist auch möglich, eigene Interface-Definitionen einzuführen, wie im Beispiel zu diesem Beitrag gezeigt wird. Wie der Name andeutet, implementiert die Lib außerdem Beschleunigungs- und Bremsrampen. Über die Bibliothek können zudem mehrere Motoren gleichzeitig angesteuert werden, was die Anwendungsmöglichkeiten von Arduino für Projekte mit Motoren deutlich erweitert.

Anschluss der Tiny-Step Endstufe an den Arduino Controller

Anschluss der Tiny-Step Endstufe an den Arduino Controller

Das Bild zeigt den Anschluss der Takt-Richtungsendstufe Tiny-Step II, welche auf dem A3979 von Allgero Micro basiert. Der Treiber realisiert Motorströme bis 2,25A bei bis zu 35V bei Mikroschritt-Auflösungen bis 1/16. Durch das durchdachte Kühlkonzept werden die genannten Leistungsdaten auch im Dauerbetrieb sicher erreicht. Der integrierte, selbstrückstellende Kurzschlussschutz sichert die Schaltung vor Schäden durch falsche Beschaltung. Neben den Anschlüssen für Takt und Richtung (grün und gelb) werden auch Ausgänge für Enable (Einschalten der Endstufe) und Stromabsenkung ausgegeben sowie ein Fehlersignal von der Endstufe über einen Eingang eingelesen. Diese Signale sind optional. Der fertige Aufbau ist im folgenden Bild zu sehen, angeschlossen ist ein Nema17 Motor mit 0,5Nm Haltemoment. Auch kleinere Nema23 Motoren können mit diesem Aufbau angesteuert werden.

Testaufbau mit Arduino, Tiny-Step und Schrittmotor von Nidec Servo

Testaufbau mit Arduino, Tiny-Step und Schrittmotor von Nidec Servo

Nach dem gleichen Prinzip und hier sogar mit der identischen I/O-Beschaltung lassen sich aber auch deutlich leistungsfähigere Endstufen an den Arduino anbinden. Das folgende Bild zeigt einen Aufbau mit einer Endstufe vom Typ LAM DS1078 (bis 14A bei bis zu 90V), die einen Nema34 Motor mit 3,1Nm antreibt. Die DS10-Serie ist eine industrietaugliche Serie von Schrittmotorendstufen mit SPS-kompatiblen I/Os. Durch den Einsatz dieser Kraftpakete ergeben sich mit dem Arduino ganz neue Möglichkeiten.

Testaufbau mit LAM DS1078

Testaufbau mit LAM DS1078

Das Programmierbeispiel (Arduino-Projekte werden auch Sketch genannt) ist auf Git-Hub frei zum Download verfügbar. Ich würde mich über Rückmeldungen zum Einsatz der Accellib freuen.

Vorteile eines Lagereglers im Antrieb statt in der NC/PLC

Freitag, April 25th, 2014

Der folgende Beitrag befasst sich mit der Regelungsoptimierung von Synchron-Servomotoren und ist damit ein Kontrastpunkt zu meinem Schwerpunktthema Schrittmotoren.

Ausgangslage:
Betrachtet wird eine vertikale Achse eines Handlings-Systems, welche reine Punkt-zu-Punkt Bewegungen ausführt, also während der Verfahr Bewegung keine Bahn einhalten muss. Der Antrieb besteht aus einem Beckhoff AM8023-E021 Servomotor mit Bremse und Sigleturn-Geber mit OCT (One Cable Technology, dabei wird der Geberistwert mittels Hyperface über die Leitungen des Temperaturgebers im Motorkabel übertragen). Die Bewegung wird über ein Getriebe auf eine Kugelrollspindel übertragen. Angesteuert wird der Motor über eine AX5203.

Servoregler-Familie AX5000

Servoregler-Familie AX5000 (Quelle: Beckhoff Automation)

Die Regler der AX5000 Familie von Beckhoff werden über TwinCAT an die übergeordnete Steuerung (SPS bzw. PLC) angebunden. Dort werden sie von der Beckhoff NC angesprochen, welche über die Datenstrukturen NC2PLC und PLC2NC wiederum eine Schnittstelle zum eigentlichen SPS-Programm bietet. Die Servoregler arbeiten mit dem Sercos over EtherCAT (SoE) Protokoll, d.h. das Übertragungsmedium ist EtherCAT, die eigentlichen Antriebsfunktionen (Parameternummerierung, Zustandsmaschine) entsprechen aber denen bei Sercos-Antrieben.

Standardmäßig werden die Servoregler dabei so parametriert, dass Drehzahl- und Stromregler im Antrieb geschlossen werden, während der Lageregler in der NC geschlossen wird. Obwohl TwinCAT kurze Buszykluszeiten ermöglicht, stellt die Übertragung von Soll- und Istwerten über den Bus eine zusätzliche Verzögerung für den Regler dar, die einen deutlichen Einfluss auf dessen dynamisches Verhalten haben kann, wie das folgende Beispiel zeigt.

In der Standardeinstellung (Lageregler in der NC geschlossen) war ein Kv-Faktor von 5 s-1 eingestellt. Der max. Schleppfehler während der Verfahr Bewegung beträgt dabei ca. 75µm. Nach dem Ende der Bewegung (SETVELO=0) dauert es 344ms, bis der Schleppfehler unter 10µs fällt.

Lageregelung in der NC. Oben: Position, Mitte: Drehzahl, Unten: Schleppfehler. Per Cursor markiert: Zeit vom Ende der Bewegung bis zum Erreichen einer Lageabweichung <10µm.

Lageregelung in der NC. Oben: Position, Mitte: Drehzahl, Unten: Schleppfehler. Per Cursor markiert: Zeit vom Ende der Bewegung bis zum Erreichen einer Lageabweichung <10µm.[/caption] Nach dem der Lageregler im Antrieb geschlossen wurde, konnte der Kv-Faktor ohne weiteres auf 7,5 s-1 erhört werden. Der Schleppfehler reduzierte sich für das gleiche Verfahr Profil wie zuvor auf 0,5µm. Selbst bei Fahrt mit annähernd maximaler Geschwindigkeit (50mm/s am Abtrieb) bleibt der Schleppfehler bei max. 2µm. [caption id="attachment_222" align="alignnone" width="300"]Lageregler im Antrieb geschlossen. Oben: Position, Mitte: Drehzahl, Unten: Schleppfehler. Lageregler im Antrieb geschlossen. Oben: Position, Mitte: Drehzahl, Unten: Schleppfehler. Abweichende Skalierung vom Schleppfehler beachten!

Um den Lageregler in der AX5000 verwenden zu können, sind folgende Einstellungen erforderlich:
IDN-Parameter S-0-0-0032 in der Startup-Liste von 2 (velo control) auf 11 oder 12 (pos ctrl Feedback 1/2 lag less) umstellen. Die Einstellung „lag less“ sorgt durch eine Drehzahlvorsteuerung für minimalen Schleppfehler während der Bewegung.

Anpassen der Standardbetriebsart in der Startup-Liste

Anpassen der Standardbetriebsart in der Startup-Liste

In den Kanaleinstellungen unter Process Data / Operation Mode das Prozessabbild wie folgt anpassen. MDT: S-0-0036 „Velocity command value“ entfernen, statt dessen S-0-0047 „Position command value“ neu einfügen. AT: S-0-0189 „Following distance“ einfügen. Der Schleppfehler wird zusätzlich in die NC verknüpft, um den Schleppfehler dort ohne Totzeit anzeigen zu können. Ansonsten würde die Berechnung aus Sollposition(n) – Istposition(n-1) berechnet (n, n-1: diskrete Zeitpunkte).
Ggf. bereits vorhandene Verlinkungen in die NC löschen und Achsen neu verlinken.

Anpassen des Prozessabbildes im Beckhoff Drivemanager

Anpassen des Prozessabbildes im Beckhoff Drivemanager

Zusammenfassung:
Die Verlagerung des Lagereglers von der NC in den Antrieb ermöglicht den Betrieb mit deutlich reduzierten Regelabweichungen und schnelleren Ansprechzeiten des Antriebs. Ermöglicht wird dies durch den Entfall der Buslatenzen sowie durch den höheren Lagereglertakt im Antrieb (typisch 8kHz statt 1kHz in der NC). Ein weiterer Vorteil ist die Entlastung der CPU in der SPS durch den Entfall der Regelung dort.

LPT, USB und Ethernet – Welche Schnittstelle für Desktop-CNC Maschinen?

Samstag, Mai 18th, 2013

In der Zeitschrift „Hardware Hacks“ Ausgabe 1/2013 wurde im Rahmen eines Tests (S. 30ff) von Desktop-CNC Maschinen kritisiert, dass bei vielen der getesteten Maschinen noch der LPT-Port (Parallelport) als Schnittstelle zum PC verwendet wird. Warum das meiner Meinung nach trotzdem sinnvoll ist, will ich nachfolgend erläutern:
Es stimmt zwar, dass der Druckerport (LPT) im PC längst obsolet ist. Trotzdem hat er als Schnittstelle für Schrittmotorsteuerungen in low-cost CNC-Anwendungen nach wie vor seine Berechtigung. Dies ist vor allem darauf zurückzuführen, dass im Endgerät kein Protokoll implementiert werden muss, sondern die I/O-Signale direkt verwendet werden können – nach dem sie idealerweise auf einer Interfacekarte (oft auch als Breakout Board bezeichnet) noch etwas aufbereitet wurden. Musste man früher die Pinbelegung ggf. noch durch ein handgelötetes Adapterkabel anpassen, können heute eigentlich alle gängigen Programme auf unterschiedliche Pinbelegungen hin angepasst werden.
Steht kein LPT-Port mehr zur Verfügung oder soll aus Performance-Gründen USB oder LAN eingesetzt werden, ist dies trotzdem ohne Weiteres möglich. Aufgrund der bereits genannten Protokoll-Problematik ist hierfür jedoch ein Controller erforderlich, der zu dem eingesetzten CNC-Programm passt. WinPCNC wird z.B. in der USB-Version gleich mit einem passenden Controller geliefert, der 2 „LPT“-Ports als Schnittstelle zur Elektronik bietet. Mit dem „Smooth-Stepper“ gibt es für Mach3 ähnliche Lösungen sowohl für USB als auch Ethernet. Ausgangsseitig werden auch hier diskrete I/Os in Anlehnung an den LPT-Port verwendet.
Wenn ein Maschinenhersteller also für seine Steuerung auf den LPT-Port setzt, ist das letztlich im Sinne des Anwenders, weil diese nicht an die vom Maschinenbauer präferierte Software gebunden ist. Statt dessen bleibt dem Anwender die freie Wahl, welche Software er einsetzen möchte.

Linearaktuator – der Schrittmotor für lineare Bewegungen

Dienstag, August 21st, 2012

Die meisten Schrittmotoren werden für lineare Verstellbewegungen eingesetzt. Über Zahnriemen oder Gewindespindeln wird die rotatorische Bewegung des Motors in eine translatorische Bewegung der Last umgesetzt. Insbesondere bei relativ kurzen Hüben bietet es sich an, diese Bewegungsumwandlung direkt in den Motor zu integrieren und damit eine Reihe von mechanischen Bauteilen einzusparen. Ergebnis dieser Überlegungen ist der sogenannte Linearaktuator. Er basiert in der Regel auf einem normalen Schrittmotor, dessen Rotor mit einer Hohlwelle ausgestattet ist. Teil dieser Hohlwelle ist die Spindelmutter. Linearaktuatoren sind sowohl auf Basis von billigen Dosenmotoren (CAN-Stack), als auch auf Basis von Hybridschrittmotoren erhältlich.

Zu der Mutter im Rotor wird eine Spindel benötigt. Um eine Linearbewegung erzeugen zu können, muss eine Drehung der Spindel verhindert werden. Hier werden verschiedene Lösungsansätze unterschieden:

– Ohne Verdrehsicherung („non captive“). Die Verdrehsicherung muss durch die Anschlusskonstruktion realisiert werden. Da die Spindel nicht dreht, ist die Anwendung nicht durch die biegekritische Drehzahl limitiert. Je nach Spindellänge können auch mehrere Motoren auf einer Spindel verfahren werden.
– Externe Spindelmutter. Bei dieser Ausführung rotiert die am Schrittmotor fixierte Spindel, die Linearbewegung erfolgt durch die Mutter entlang der Spindel. Der Aufbau entspricht somit am ehesten der klassischen Anwendung mit Motor, Kupplung, Spindel und Mutter. Hier entfallen jedoch die separate Spindellagerung und die Kupplung.
– Mit Verdrehsicherung („captive“). Hier ist die Verdrehsicherung bereits integriert, wodurch sich die Länge des Motorgehäuses deutlich vergrößert. Diese Ausführung ist meist in gestuften Hublängen erhältlich, wobei der Hub typisch unter 100mm liegt.

Aktuator mit externer Mutter

Bild: Linearaktuator mit externer Spindelmutter, hier als kundenspezifische Sonderausführung.

Als Spindeln können sowohl Trapez- sowie Feingewinde und Kugelgewindetriebe zum Einsatz kommen. Je nach Wahl der Spindelsteigung ergeben sich unterschiedliche Auflösungen. Bei kleinen Spindelsteigungen kann der Antrieb auch selbsthemmend sein, was eine Bremse überflüssig macht. Zu beachten ist die maximale Belastbarkeit der Motorlager (Katalogangabe), da diese (anders als bei klassischen Schrittmotoren mit separatem Spindeltrieb) den externen Vorschubkräften standhalten müssen. Insbesondere bei niedrigen Spindelsteigungen definieren die Motorlager die Grenze der Vorschubkraft.

Linearaktuator mit Verdrehsicherung

Bild: Schnittmodell eines Linearaktuators mit integrierter Verdrehsicherung („captive“). Schön zu sehen die Ausführung der Polkappen im Rotor, Nord und Südpole um eine halbe Polteilung versetzt. Vielen Dank an Herrn Spyra von A-drive für die Erlaubnis sein Muster abzulichten.

Linearaktuatoren werden nur von wenigen Herstellern angeboten und sind aufgrund der hohen Funktionsdichte meist nicht 1:1 mit Produkten anderer Hersteller austauschbar, insbesondere die „captive“ Ausführungen mit Verdrehsicherung. Als Optionen sind z.T. Drehgeber (Encoder) oder integrierte Endschalter erhältlich.

Sind hohe Geschwindigkeiten bei kurzem Hub aber vergleichsweise geringer Auflösung gefragt, können klassische Schrittmotoren mit einfachen mechanischen Umwandlungsprinzipien eine Alternative sein. Denkbar sind z.B. ein Kurbeltrieb oder eine Betätigung über Nocken, wobei hier auch Rückstellfedern einsetzbar sind, wenn die Last z.B. nach untern gegen die Gewichtskraft zu betätigen ist. Zu beachten ist allerdings, das bei diesen Antriebsprinzipien kein linearer Zusammenhang mehr zwischen Drehwinkel und Vorschub besteht, so dass bei konstanter Motordrehzahl die Vorschubgeschwindigkeit variiert.

Welche Lösung am besten geeignet ist, ist von Anwendung zu Anwendung verschieden. Die Entscheidung kann sowohl von Kostengesichtspunkten als auch von räumlichen Begrenzungen getrieben sein. Es lohnt sich aber immer, verschiedene Konzepte zu vergleichen…

Anwendungsmöglichkeiten für Schrittmotoren in der Produktions- und Automatisierungstechnik

Freitag, August 19th, 2011

Durch Auswahl der für die Anwendung optimalen Schrittmotor-Steuerung lassen sich Schrittmotore deutlich schneller und einfacher in die verschiedensten Anwendungen integrieren. Der folgende Beitrag gibt einen Überblick über die Möglichkeiten und nennt einige Anwendungsbeispiele von der animierten Produktfotografie bis hin zu Drosselklappensteuerungen oder Wickeleinrichtungen.

Schrittmotoren als Ersatz für langsam laufenden Gleichstrom-Getriebemotoren

In vielen Anwendungen werden Antriebe benötigt, die lediglich eine konstante und oft niedrige Drehzahl bereitstellen müssen. Beispiele sind Antriebe für Zuführeinheiten, Band- oder Kettenantriebe für den Produkttransport, Stationen zum Einschleusen von Bauteilen in Montageprozesse usw. Aufgrund der niedrigen Drehzahlen werden hierfür oft Getriebemotoren eingesetzt, vielfach noch mit bürstenbehafteten Gleichstrommotoren. Aufgrund ihrer hohen Polpaarzahl und des vergleichsweise hohen Drehmomentes bieten sich Schrittmotoren als alternative Antriebsform an. Die Vorteile liegen auf der Hand: Besseres Störverhalten (EMC) durch Entfall des Bürstenfeuers und vor allem deutlich niedrigere Ausfallraten, da die verschleißanfälligen Komponenten Getriebe und Bürsten entfallen. Durch den Wegfall des Getriebes ist die Lösung mit Schrittmotor zudem oft auch preiswerter. Dank moderner Ansteuerverfahren mit Mikroschritt stehen Schrittmotoren anderen Antrieben in Hinblick auf das Geräuschverhalten in nichts nach.

Für den einfachen Einsatz in der Anwendung muss allerdings ein Taktsignal für die Schrittmotorsteuerung bereits gestellt werden. Auf Basis des Timer-ICs NE555 kann mit wenigen Bauteilen eine Schaltung aufgebaut werden, die ein über Spindeltrimmer einstellbares Taktsignal erzeugt. Das Bild zeigt den Schaltplan mit dem NE555 in der Grundschaltung als so genannter Multivibrator. Über den Spindeltrimmer kann die Frequenz innerhalb von mindestens einer Dekade verstellt werden. Durch Variation des Kondensators (z.B. Weglassen von C2) kann der Frequenzbereich zusätzlich variiert werden. Eine entsprechende Leerplatine ist über mechapro.de erhältlich. Die gleiche Grundschaltung wurde in der Schrittmotor-Endstufe Tinystep II verwendet (nur in den Ausführungen „plus“ und „Tragschienen-Gehäuse“. Andere Motortreiber enthalten einen Mikrocontroller, der die Ansteuerung der Endstufe übernimmt. Ist ein Controller vorhanden, bietet es sich natürlich an, diesen auch für die Takterzeugung zu verwenden. Die Treiber der DS10-Reihe von LAM bieten so die Möglichkeit, über I/O zwei parametrierbare Frequenzen auszuwählen.

Beschaltung des NE555 als Multivibrator zur Takterzeugung

Bei größeren bewegten Massen oder Bewegungen mit höheren Drehzahlen benötigen Schrittmotoren eine Anlauframpe. Neben umfangreich programmierbaren Treibern (wie z.B. der DS30-Serie von LAM) gibt es Lösungen mit analoger Sollwertvorgabe für die Drehzahl. So kann eine übergeordnete Steuerung direkten Einfluss auf die Drehzahl des Schrittmotors nehmen, ohne Frequenzen bis in den zweistelligen kHz-Bereich erzeugen zu müssen. Die bietet einen Eingang für +/-10V, mit dem die Drehzahl bis 5U/s eingestellt werden kann. Neben den zuvor genannten Anwendungen können Schrittmotoren so auch für Registerregelungen, Wickelvorrichtungen usw. eingesetzt werden.

Vielfältige Möglichkeiten mit frei programmierbaren Schrittmotorsteuerungen

Frei programmierbare Treiber wie die DS30-Serie von LAM ermöglichen den Einsatz von Schrittmotoren für vielfältige Anwendungen, ohne das eine permanente PC-Verbindung oder eine komplexe SPS erforderlich wären. Digitale und analoge Ein- und Ausgänge synchronisieren das interne Programm mit dem Verhalten der Anlage. Um z.B. eine Drosselklappenverstellung abhängig von einem analogen Sollwert zu realisieren, wird in der Steuerung der Wert des analogen Eingangs mit der Sollposition des Antriebs verknüpft. Beim Einsatz in Wickelvorrichtungen kann der Analogwert hingegen zur Anpassung der Geschwindigkeit des Wicklers eingesetzt werden. Zur Steuerung von Drehtellern für die Produktfotografie können z.B. feste Wegstrecken eingestellt werden, die dann entweder über einen Eingang oder voll automatisch ausgelöst werden können. Durch den Einsatz von Wartezeiten und eines Ausgangssignals kann ggf. sogar die Ansteuerung der Kamera integriert werden, so dass nach Ablauf eines Fotoshootings nur noch die Bilder von der Kamera auf einen PC übertragen werden können. Noch komfortabler geht es nur noch durch den Einsatz eines USB-Controllers und einer auf die Anwendung abgestimmten PC-Software…

Falls eine Referenzfahrt oder ein Freigabesignal erforderlich ist, kann dies problemlos über die digitalen Eingänge gelöst werden, während die digitalen Ausgänge z.B. Fehlerzustände, Bereitsignale u.ä. signalisieren können. Zusätzlich steht ein analoger Ausgang zur Verfügung, mit dem z.B. die aktuelle Geschwindigkeit des Motors ausgegeben werden kann. Für alle Eingangswerte und die internen Variablen stehen mathematische Funktionen zur Verfügung, so dass auch komplette Regler realisiert werden können.

Abseits von reinen Schrittmotor-Endstufen mit Takt-/Richtungssignalen erschließen Schrittmotor-Steuerungen mit Zusatzfunktionen ein breites Anwendungsfeld. Ich hoffe, ich konnte Sie mit den vorgestellten Beispielen inspirieren und würde mich über Ergänzungen aus Ihrer beruflichen Praxis freuen.