Gratis-Artikel: Motortreiber-Board mit TMC2160

3. Oktober 2019, 12:45 Uhr
Gratis-Artikel: Motortreiber-Board mit TMC2160
Gratis-Artikel: Motortreiber-Board mit TMC2160

Übliche Schrittmotor-Treiber

Stepstick

Bei der Beschäftigung mit Selbstbauprojekten mit Schrittmotoren oder 3D-Druckern hat man wahrscheinlich schon einige Erfahrungen mit Stepstick-Treibern gesammelt. Diese Module bestehen aus einer kleinen Platine mit einem Schrittmotortreiber-IC und Stiftleisten, die es ermöglichen, das Modul auf eine größere Platine zu stecken.

Stepsticks gibt es in vielen Varianten, so dass man das passende Exemplar gut aus Treiber-ICs verschiedener Halbleiterhersteller wählen kann. Einige der besseren Stepsticks sind die sogenannten „SilentStepSticks“, die auf Treiber-ICs von Trinamic basieren. Die Serien TMC2100 und TMC2130 sind hier besonders beliebt.

Diese SilentStepSticks sind gerade für 3D-Druckanwendungen bei längeren Druckaufträgen eine gute Wahl. Bei weniger fortschrittlichen Treibern kann das Geräusch des Schrittmotors sehr stören. SilentStepSticks ermöglichen nicht nur einen geräuscharmen Betrieb des Druckers, sondern helfen auch, bessere, glattere und gleichmäßigere Druckergebnisse zu erzielen.

Neben den standardmäßigen Enable-, Step- und Dir-Signalen zur Steuerung von Position, Geschwindigkeit und Drehrichtung des Motors verfügen die auf TMC2130 und TMC5160 basierenden Stepsticks auch über eine SPI-Schnittstelle zur Feinabstimmung und Konfiguration diverser Treiberparameter. Moderne 3D-Drucksoftware wie Marlin unterstützt diese Treiber und kann die Motortreiber sogar während des Druckens via SPI-Schnittstelle für optimale Ergebnisse automatisch anpassen.

Stepsticks sind zwar klein und leicht austauschbar, haben aber auch einige Nachteile. Aufgrund ihrer sehr geringen Größe werden meistens Treiber-ICs mit integrierten MOSFET-Brücken verwendet, die auf den kleinen Boards ohne Kupferflächen trotz eventueller Kühlkörper leicht überhitzen. Dies ist vor allem ein Problem bei anspruchsvolleren Anwendungen wie CNC.

Darüber hinaus bieten Stepsticks keine galvanische Trennung zwischen Motorstromversorgung und Steuersignalen, so dass sie für komplexe Steuerungen weniger geeignet sind.

Industrielle Schrittmotor-Treiber

Industrietreiber werden häufig für ein breites Anwendungsspektrum eingesetzt und sind meist in einem Gehäuse mit Klemmen zum Anschluss von Versorgung, Motorwicklungen und Steuersignalen untergebracht. Oftmals dient das Gehäuse gleichzeitig als Kühlkörper für die Elektronik im Inneren. Einige Treibergehäuse sind sogar für die direkte Montage auf der Rückseite eines Schrittmotors geeignet. Die Konfiguration der wichtigsten Treiberparameter wie Microstepping und Motorstrom erfolgt in der Regel über DIP-Schalter. Erweiterte Treiber bieten auch eine serielle Schnittstelle oder eine USB-Schnittstelle zur Konfiguration und Abstimmung der Motorparameter.

Industrietreiber verfügen in der Regel über Eingänge, die via Optokoppler eine galvanische Trennung der Steuersignale (Enable-, Step- und Dir-Signale) ermöglichen. Einige Treiber verwenden stattdessen ModBus (oder sogar CAN-Bus) zur Steuerung von Position, Geschwindigkeit und Drehrichtung des Motors.

Generell stehen zwei Treibertypen zur Verfügung: „Open Loop“ und „Closed Loop“. Letztere verwenden Drehgeber zur Rückmeldung der Motorwellenposition an den Treiber. Dies führt zu einer höheren Genauigkeit und Kompensation, wenn der Motor unter bestimmten Lastbedingungen Schritte überspringt.

Für die Ansteuerung mehrerer Schrittmotoren sind auch mehrachsige Motortreiber auf dem Markt.

Motortreiber-IC TMC2160 von Trinamic

Unser CNC-Portalroboter „Wolverine“ (veröffentlicht in Teil 1 und Teil 2) basiert auf einer CNC310-Steuerplatine von Eding CNC. Da das CNC310-Board externe Schrittmotortreiber benötigt, haben wir überlegt, Treiber auf Basis von Trinamic ICs einzusetzen. Dadurch könnte der CNC-Portalroboter geräuscharm laufen, was besonders wichtig ist, wenn er als Pick & Place-Maschine für SMD-Bauteile eingesetzt wird. Zuerst wurden einige Kurztests mit SilentStepSticks der Reihen TMC2100 und TMC2130 durchgeführt, aber diese eigneten sich dafür nicht und überhitzten schnell. Das brandneue IC TMC2160 allerdings verwendet externe MOSFETs für leistungshungrige Anwendungen (Bild 1).

Ein Breakout-Board mit TMC2160 war verfügbar, aber leider war hier die Konfiguration der Motortreiberparameter nur über SPI möglich, was das CNC310-Board nicht unterstützt. Auch gab es keine galvanische Trennung zwischen Steuersignalen und Motorversorgung. Schließlich haben wir einen eigenen TMC2160-basierten Treiber entwickelt, bei dem das IC im Standalone-Modus läuft und die Steuereingänge mit Optokopplern ausgestattet sind. Dadurch können die Parameter des Motortreibers über DIP-Schalter eingestellt werden. Modernste Schrittmotortreiber wie der TMC2160 sind so genannte Chopper-Treiber, welche die Motorwicklungen mit relativ hohen Spannungen (typisch die achtfache Motor-Nennspannung für beste Ergebnisse) per PWM treiben. Dies ermöglicht die Steuerung des mittleren Stroms pro Phase. Die meisten Chopper-Treiber verwenden eine Chopper-Frequenz von 20...50 kHz. Da diese Frequenz oberhalb des Hörbereichs liegt, bleibt der Geräuschpegel niedrig. Bei einer konstanten Frequenz wird der mittlere Ausgangsstrom per PWM, also durch Variation der Impulsbreite der Ausgangsimpulse gesteuert. Neben dem klassischen, konstanten Nebenschluss-Chopper verfügt das IC TMC2160 auch über zwei ausgeklügelte SpreadCycle- und StealthChop2-Chopper-Modi, die einen geräuschlosen Betrieb bei maximaler Effizienz und bestem Motordrehmoment gewährleisten.

StealthChop2 ist ein auf der Spannung basierendes Chopper-Prinzip. Gerade bei Stillstand und in langsamer Bewegung wird der Motor leise und man nimmt nur noch die durch Kugellager etc. erzeugten Geräusche wahr. Im Gegensatz zu anderen Spannungs-Choppern benötigt StealthChop2 keine Konfiguration. Es lernt automatisch die besten Einstellungen bei der ersten Bewegung nach dem Einschalten und optimiert diese Werte bei nachfolgenden Bewegungen weiter. Eine erste Referenzfahrt reicht zum Lernen aus. StealthChop2 ermöglicht eine hohe Motordynamik, indem es sofort auf eine Änderung der Motorgeschwindigkeit reagiert.

SpreadCycle ist ein optimierter zyklusbasierter Chopper-Modus. Er bietet einen ruhigen Lauf und eine gute Resonanzdämpfung über einen weiten Drehzahl- und Lastbereich. Das SpreadCycle-Chopper-Schema integriert und optimiert automatisch schnelle Abfallzyklen, um sanfte Nulldurchgänge zu gewährleisten. Resultate sind eine hohe Dynamik und höchste Spitzengeschwindigkeit bei niedrigen Vibrationen. Weitere Fortschritte beim TMC2160 sind die MicroPlyer-Schritt-Interpolation, die Resonanzdämpfung für mittlere Bereiche, die lastabhängige Drehzahlregelung DcStep, die hochpräzise sensorlose Motorlasterkennung StallGuard und die CoolStep-Stromregelung zur Energieeinsparung von bis zu 75 %. Weitere Informationen finden Sie auf der Produktseite des TMC2160 und im Datenblatt.

Schaltung

Siehe Bild 2:

Bild 2. Die Schaltung besteht aus dem Motortreiber IC1, zwei MOSFET-H-Brücken, drei Optokopplern und sechs DIP-Schaltern.

Das Schrittmotor-Treiberboard basiert weitgehend auf dem Trinamic TMC2160 Breakout Board. Auch wenn die meisten Verbindungen zum TMC2160 identisch sind und wir bei den H-Brücken die gleichen Bauteile verwendet haben, gibt es doch einige Unterschiede. 

Um den Betrieb des TMC2160 im Standalone-Modus zu ermöglichen, wurde Pin 22 (SPI-Modus) mit Masse verbunden. Dadurch werden die Pins 13…16 und 23…25 nun zu Konfigurationseingängen CFG0…CFG6, die an den sechsfachen DIP-Schalter S1 angeschlossen sind (siehe Tabellen 1, 2 & 3). Da CFG4 und CFG5 über interne Pulldown-Widerstände verfügen, wurden die anderen Konfigurationspins CFG0…CFG3 mit externen Pulldown-Widerständen versehen. CFG5 und CFG6 sind beide an S1.6 angeschlossen, da hier unterschiedliche Pegel zu einem Strom von 20 mA in CFG6 führen würden, wodurch der interne lineare Spannungsregler des TMC2160 zu heiß würde.

Hochgeschwindigkeits-Optokoppler des Typs TLP2745 mit digitalen Ausgängen (OK1...OK3) vor den Steuereingängen (Enable, Step und Dir) sorgen für eine galvanische Trennung. Die Eingänge sind für 5-V-Pegel gedacht. Bei höheren Spannungen sollten zusätzliche Widerstände in Reihe mit den Steuereingängen geschaltet werden. Bitte beachten Sie, dass wir den Namen des Signals „Step“ in „Pul“ (Impuls) geändert haben, um Kompatibilität zur den bei gängigen industriellen Schrittmotortreibern verwendeten Signalen zu erreichen.

Der zusätzliche sechspolige Boxheader K3 ermöglicht den einfachen Anschluss über Flachbandkabel an das CNC310-Breakout-Board.

Zwecks besserer Kühlung wurde eine vierlagige Leiterplatte mit großen Kupferflächen entwickelt und die Bauform an die von gängigen industriellen Schrittmotortreibern angepasst. Daher auch die „steckbaren“ Anschlussklemmen von Phoenix Contact, der DIP-Schalter und die Power-LED.

Schließlich wurde eine TVS-Diode vom Typ SMBJ36A hinzugefügt, um die Schaltung vor Spannungsspitzen auf den Versorgungsspannungen zu schützen. Wenn das Modul über lange Leitungen an die Versorgung angeschlossen ist, kann deren parasitäre Induktivität beim Einschalten in Kombination mit den MLCC-Kondensatoren C18 und C19 zu Spannungsspitzen führen. Bitte beachten Sie, dass die Schaltung nicht gegen Verpolung geschützt ist!

Die Tests mit Wärmebildkamera decken verschiedene Lastbedingungen ab. An einer 24-V-Stromversorgung erreichte das IC TMC2160 50 °C und die MOSFETs 41 °C beim Betrieb eines NEMA-17-Schrittmotors mit unterschiedlichen Drehzahlen. Der Motorstrom wurde auf 1,6 Aeff im SpreadCycle-Chopper-Modus eingestellt (Bild 3).

Bild 3. Wärmebild der Motortreiberplatine bei angeschlossenem NEMA-17-Schrittmotor. Stromaufnahme: 1,6 Aeff im SpreadCycle-Chopper-Modus.

Der Motor wurde dann durch eine NEMA-34-Version ersetzt und die Versorgungsspannung auf 32 V angehoben. Bei einem Strom von 3,1 Aeff zog der Motor zog eine 12 kg schwere Kuhglocke hoch. Dabei stieg die Temperatur beim TMC2160 auf 80 °C und bei den MOSFETs auf 78 °C (Bild 4).

Bild 4. Bei 3,1 Aeff und einer Last von 12 kg stieg die Temperatur auf rund 80 °C.

Bei größeren Schrittmotoren wie den Typen NEMA 23 und NEMA 34 sollte man einen Kühlkörper auf die Unterseite der Platine kleben oder mit einem kleinen Lüfter zwangskühlen.


Wollen Sie weitere Elektor-Artikel lesen? Jetzt Elektor-Mitglied werden und nichts verpassen!

 

Produkte
Download
Schaltung
Der Download dieser Datei ist ausschließlich unseren GREEN- und GOLD-Mitgliedern vorbehalten. Klicken Sie hier, um sich einzuloggen.
Kommentare werden geladen...
Verwandte Artikel