Veelgebruikte drivers voor stappenmotoren

Stepstick-drivers

Wanneer u zich met hobbyprojecten met stappenmotoren bezig houdt of een 3D-printer bouwt, kent u deze stepstick-drivers waarschijnlijk. Deze bestaan uit een kleine print met een driver-IC en een pinheader waarmee de print (module) op een grotere printplaat kan worden geprikt.

Stepsticks zijn er in soorten en maten, zodat u kunt kiezen uit een groot aantal driver-IC’s van verschillende halfgeleiderfabrikanten. Enkele van de betere stepsticks zijn de zogenaamde SilentStepSticks, die zijn opgebouwd rond driver-IC’s van Trinamic, waarvan de TMC2100 en TMC2130 de meest populaire zijn.

Deze SilentStepSticks zijn een goede keuze voor 3D-printers, zeker wanneer het om langdurige printopdrachten gaat. Bij gebruik van minder geavanceerde drivers kan het geluid van de stappenmotor al snel problematisch worden. SilentStepSticks zorgen er niet alleen voor dat de printer zijn werk geruisloos doet, maar leiden ook tot betere, gladdere en meer consistente printresultaten.

Naast de standaard Enable-, Step- en Dir-signalen die worden gebruikt om motorpositie, -snelheid en -draairichting te regelen, hebben de op TMC2130 en TMC5160 gebaseerde stepsticks ook een SPI-interface die het mogelijk maakt diverse driverparameters af te regelen en te configureren. Moderne 3D-printsoftware zoals Marlin ondersteunt deze drivers en kan de motordrivers zelfs automatisch (via de SPI-interface) tijdens het printen bijregelen voor het beste resultaat.

Hoewel stepsticks klein en gemakkelijk verwisselbaar zijn, hebben ze ook een aantal nadelen. Meestal worden hier IC’s met geïntegreerde MOSFET-brugschakelingen gebruikt die de neiging hebben om oververhit te raken op kleine printjes met geen of weinig koper, zelfs wanneer er een koellichaam bovenop is gemonteerd. Dit is vooral problematisch in veeleisende toepassingen zoals CNC.

Bovendien bieden stepsticks geen elektrische isolatie tussen de motorvoeding en de stuursignalen, waardoor ze minder geschikt zijn voor complexe motion control-systemen.


Industriële stappenmotordrivers

Industriële aandrijvingen worden vaak gebruikt voor een breed scala aan toepassingen en worden meestal geleverd in een behuizing met aansluitklemmen voor de voeding, de motorkabels en de stuursignalen. Vaak doet de behuizing meteen dienst als koellichaam voor de elektronica in de behuizing. Sommige van die modules kunnen zelfs direct op de achterkant van een stappenmotor worden gemonteerd. De configuratie van de belangrijkste driverparameters, zoals microsteps en motorstroom, vindt meestal plaats met behulp van DIP-schakelaars. Meer geavanceerde drivers bieden ook een seriële poort of een USB-interface voor het configureren en tunen van de motorparameters.

Industriële driver’s hebben meestal optocoupler-ingangen, die voor galvanische scheiding van de stuursignalen (Enable, Step, en Dir) zorgen. Sommige drivers gebruiken in plaats daarvan ModBus (of zelfs CAN-bus) om de motorpositie, snelheid en richting te regelen.

In grote lijnen zijn er twee soorten drivers: open lus en gesloten lus. Deze laatste maken gebruik van draai-encoders voor de terugkoppeling van de stand van de motoras naar de driver. Dit resulteert in een betere nauwkeurigheid en compensatie als de motor onder bepaalde belastingsomstandigheden stappen overslaat.

Wanneer u meerdere stappenmotoren moet aandrijven, zijn ook meerassige motordrivers een optie.

 

De Trinamic TMC2160 motordriver

Onze ‘Wolverine’ CNC-portaalrobot (gepubliceerd in deel 1 en deel 2) is gebaseerd op een CNC310-driverprint van Eding CNC. Aangezien dit CNC310 board externe stappenmotordrivers nodig heeft, hebben we overwogen om drivers op basis van Trinamic-IC’s te gebruiken. Deze zouden de CNC-portaalrobot geruisloos doen werken, wat vooral belangrijk is wanneer de robot wordt gebruikt als een pick&place-machine voor SMT-componenten.

We hebben een paar snelle tests met de TMC2100 en TMC2130 SilentStepSticks uitgevoerd, maar deze bleken niet opgewassen tegen de taak en raakten snel oververhit. Als alternatief hebben we de gloednieuwe TMC2160 bekeken die externe MOSFET’s gebruikt en is ontworpen voor ‘stroomvretende’ toepassingen (figuur 1). Er was een TMC2160 breakout-board beschikbaar, maar jammer genoeg was het configureren van de driverparameters alleen mogelijk via SPI, en dat ondersteunt het CNC310-board niet. Ook was er geen galvanische scheiding tussen de stuursignalen en de motorvoeding.

Figuur 1. In de TMC2160 gebeurt er een heleboel.

Uiteindelijk hebben we onze eigen TMC2160-gebaseerde driver ontworpen met het IC in standalone-modus, en met optocoupler-ingangen voor de stuursignalen. Dit maakt het mogelijk de parameters van de motordriver in te stellen met behulp van DIP-schakelaars.

De meeste moderne stappenmotordrivers zoals de TMC2160 zijn zogenaamde chopperdrivers, die snel een relatief hoge spanning (typisch acht maal de nominale motorspanning voor het beste resultaat) op de motorwikkelingen in- en uitschakelen. Deze techniek maakt het mogelijk om de gemiddelde stroom per fase te regelen. De meeste chopperdrivers gebruiken een chopperfrequentie in de orde van grootte van 20...50 kHz. Omdat diefrequentie boven het audiobereik ligt, blijft het geluidsniveau laag. Bij een constante vaste chopperfrequentie wordt de gemiddelde uitgangsstroom geregeld door de pulsbreedte van de uitgangspulsen te variëren, een techniek die bekend staat als pulsbreedtemodulatie (PWM).

Naast de klassieke chopper-modus met constante uit-tijd beschikt de TMC2160 ook over twee geavanceerde SpreadCycle en StealthChop2 chopper-modi, die een geruisloze werking garanderen in combinatie met een maximaal rendement en een optimaal motorkoppel.

StealthChop2 werkt volgens een voltage-mode chopperprincipe. Dit garandeert vooral dat de motor geruisloos is bij stilstand en langzame bewegingen, uiteraard afgezien van het geluid dat door de kogellagers wordt geproduceerd. In tegenstelling tot andere voltage-mode choppers hoeft StealthChop2 niet geconfigureerd te worden. Tijdens de eerste bewegingen na het opstarten worden automatisch de beste instellingen bepaald, die bij de volgende bewegingen worden geoptimaliseerd. Een initiële homing voldoende om te leren. StealthChop2 maakt een hoge motordynamiek mogelijk door direct te reageren op een verandering van de motorsnelheid.

SpreadCycle is een geavanceerde ‘per cyclus’ chopper-modus. Deze zorgt voor een soepele werking en goede resonantiedemping over een breed snelheids- en belastingsbereik. Het SpreadCycle chopper-principe integreert en regelt automatisch snelle afvalcycli waardoor een vloeiende nuldoorgang wordt gegarandeerd, en zorgt voor een groot dynamisch bereik en de hoogste topsnelheid met minimale trillingen.

Andere voordelen van de TMC2160 zijn de MicroPlyer-stapinterpolatie, trillingsdemping voor middenfrequente resonanties, DcStep belastingsafhankelijke snelheidsregeling, StallGuard sensorloze detectie van de motorbelasting en CoolStep stroomregeling voor maximaal 75% energiebesparing. Raadpleeg voor meer informatie de productpagina en de datasheet van de TMC2160.

 

Over het schema

Zie figuur 2. Onze TMC2160 driverprint is grotendeels gebaseerd op het Trinamic TMC2160 breakout-board. Hoewel de meeste aansluitingen naar de TMC2160 hetzelfde zijn en we dezelfde onderdelen hebben gebruikt voor de H-bruggen, zijn er nogal wat verschillen.

Figuur 2. In principe bestaat de schakeling uit motordriver IC1, twee MOSFET H-bruggen, drie optocouplers en een zesvoudige DIP-schakelaar.

Om de TMC2160 in standalone-modus te gebruiken, hebben we pen 22 (SPI Mode) aan massa gelegd. Daardoor zijn de pinnen 13...16 en 23...25 nu de configuratie-ingangen CFG0...CFG6 die we hebben aangesloten op de 6-polige DIP-schakelaar S1 (zie tabellen 1, 2 en 3). Aangezien de CFG4 en CFG5 interne pulldown-weerstanden hebben, hebben we besloten om ook externe pulldown-weerstanden te gebruiken voor de andere configuratie-ingangen (CFG0...CFG3). CFG5 en CFG6 zijn beide aangesloten op S1.6, omdat in het geval dat deze ingangen een verschillend niveau zouden hebben, ingang CFG6 een hoge stroom van 20 mA zou trekken, met als gevolg dat de interne lineaire spanningsregelaars van de TMC2160 te veel warmte zouden produceren.

De high-speed optocouplers van het type TLP2745 met digitale uitgangen (OK1...OK3) zorgen voor een galvanische scheiding tussen de stuuringangen (Enable, Step and Dir) en het TMC2160 driver-IC. De ingangen zijn geoptimaliseerd voor een spanningszwaai van 5 V. Hogere spanningen zijn toegestaan als extra weerstanden in serie met de stuuringangen worden opgenomen. Merk op dat we de naam van het ‘Step’-signaal hebben veranderd in ‘Pul’ (puls) om beter aan te sluiten bij de signaalnamen die zijn afgedrukt op de behuizingen van gangbare industriële stappenmotordrivers.

Een extra 6-pins boxheader (K3) maakt eenvoudige aansluiting mogelijk op onze CNC310 breakout-board met behulp van flatcable.

We hebben een vierlaags print ontworpen met grote kopervlakken voor betere koeling en met een vormfactor die gelijk is aan die van gangbare industriële stappenmotordrivers, inclusief ‘steekbare’ aansluitklemmen van Phoenix Contact, een piano-type 6-voudige DIP-schakelaar en een power indicatie-LED.

Ten slotte hebben we een suppressordiode van het type SMBJ36A toegevoegd om de schakeling te beschermen tegen spanningspieken op de voedingsrails. Wanneer de driver met lange draden op een voedingsrail is aangesloten, kan de parasitaire inductie van de draden bij het inschakelen van de voedingsspanning in combinatie met de MLCC-condensatoren C18 en C19 spanningspieken veroorzaken. Let op: de schakeling is niet beveiligd tegen ompoling, dus wees voorzichtig bij het aansluiten van de voedingskabels.

We hebben enkele tests uitgevoerd met een thermische camera bij verschillende belastingen. Bij een 24V-voeding liep de temperatuur van de TMC2160 en de MOSFET-transistoren op tot 50 °C resp. 41 °C, terwijl een NEMA 17-stappenmotor met verschillende snelheden werd aangedreven. De motorstroom werd met behulp van de SpreadCycle-chopper op 1,6 ARMS ingesteld (figuur 3).

Figuur 3. Warmtebeeld van de motordriver-print bij aansturing van een NEMA 17-stappenmotor met een stroom van 1,6 ARMS in de SpreadCycle chopper-modus.

Daarna vervingen we de stappenmotor door een NEMA 34-exemplaar en hebben we de voedingsspanning opgevoerd tot 32 V. De stroom werd ingesteld op 3,1 ARMS en de motor een gewicht van 12 kg trok. Daarbij steeg de temperatuur van de TMC2160 en de MOSFET’s tot 80 °C resp. 78 °C (figuur 4).

Figuur 4. Met een stroom van 3,1 ARMS en een motor die een gewicht van 12 kg trekt, nam de temperatuur toe tot ongeveer 80 °C.

Bij het aansturen van zwaardere stappenmotoren zoals NEMA 23- en NEMA 34-types verdient het aanbeveling om een koelplaat aan de onderkant van de print aan te brengen of met een kleine ventilator voor geforceerde luchtkoeling te zorgen.

(190255-04)