Posts Tagged ‘Takt-/Richtung’

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…

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.

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.

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.