Archiv

Schrittmotortreiber

The same procedure as every year?

Irgendwie ist das mir viel zu bekannt, mitten im Druck geht mal wieder irgendwas kaputt. Natürlich auch immer dann wenn es sich um einen längern Druck handelt. In dem Falll zu fast halb fertig und schon eine gute Stunde gedruckt, dann ging die X-Achse nicht mehr. Der Motortreiber ist verreckt, warum weis ich nicht. Resultat also eine angefangener Druck, geschätze 3 Meter ABS Faden, der in die Luft gedruckt wurde und ein Treiber der nicht mehr funktioniert.

Und ich dachte ich hätte das Problem gelöst. Warum der DRV8825 hups gegangen ist weis ich nicht, und bin auch so langsam mit meinem Latein am Ende. Folglich werde ich den Treiber erstmal reaprieren und weitergucken.

Druckt denn noch jemand mit 24V+? Gibt es da auch Leute mit einer handvoll kaputten Treiber?

 

Nachtrag

Der DRV8825 war wohl nur das Opfer eines losen Stück Kupferdrahtes, der wurde wohl vom Lüfter einsaugt und hat auf RAMPS leider einen kleinen Kurzschluss verursacht, der den Treiber gegrillt hat.

Nach gut einer Stundearbeit ist aus dem Layout eine fertige Platine geworden. Als erstes wurde die Paltine geätzt, und zwar in zweifacher Ausführung (das hier ist nur ein Teil).

plaAnschließend wurden die Platine weiter zugeschnitten und die ganzen Löcher gebohrt, das ist auch der mühseligste Part. Danach etwas Lötlack darübergesprüht und eine ganze Menge Dioden verlötet. Als Schottky-Diode wurden Dioden des Types SK26A SMD verwendet. Diese können 60V bei 2A ab und waren die einzigen SMD Schottky-Dioden die ich in ausreichender Stückzahl rumliegen hatte, ander Dioden tuen es natürlich auch. Als Überspannungsschutzdiode kommt die Diode P6SMB 33A SMD zum Einsatz, diese schließt Spannungen größer 33V kurz. Das wäre für die Motortreiber A4988 etwas viel, da sollte man eine Diode mit 27V oder weniger nehmen wenn es die Betreibspannung (24V in meinem Falle) erlaubt.

Bestückt sieht die Platine (auf dem Bild noch ohne den Kondensator) dann so aus:

a2Hier mal als Nahaufnahme:

b1Wie man sieht hatte ich es mit dem Bestücken etwas eilig, deshalb habe ich auf der einen Seite auch nur jeden zweiten Pin verlötet, die Buchse hebt damit immernoch mehr als gut genug. Auf RAMPS aufgesteckt mit einem Treiber darin sieht das ganze dann so aus.

c9Nicht unbedingt super ästhetisch, speziell wenn die ganze Kiste auch verkabelt ist, aber sehr funktional! Damit solle an dieser Baustelle fürs erste mal Ruhe sein. :). gruener-haken

Problem

Normalerweise stecke ich die Motoren von RAMPS ab, wenn ich die Mechanik des Druckers manuell bewege. Das verhindert einfach das der Schrittmotor als Generator wirkt und mir die Schrittmotortreiber kaputt macht. Das passiert besonders gerne bei schnellen Bewegungen die dann auch noch über die Zahnräder zu einer recht schnellen Motorbewegung führen.

Da ich aber jetzt RAMPS mitsammt allen Kabeln in eine Box gepackt habe, macht es recht viel Arbeit den Deckel abzunehmen und den entsprechenden Stecker zu ziehen. Das Problem wurde auch schon mal in den Kommentaren aufgegriffen.

Lösungsidee

Also wäre ein integrierte Lösung ganz nett, man müsste einfach nur die Generatorspannung unterhalb der maximalen Betreibsspannung des Motortreiber halten. Das sind bei A4988 35V und bei DRV8825 45V. Gleichzeitig müssen Spannungen etwas größer als die Versorgungsspannung (bei mir 24V) erlaubt sein!

Dafür bieten sich Zener-Dioden oder unipolare Suppressordioden an. Diese verhalten sich wie ganz normale Dioden, werden aber bei einer bestimmten Spannung (Durchbruchsspannung) in Sperrichtung leitend. Also würde eine solche Diode dafür sorgen das Spannungen überhalb eines gewissen Levels kurzgeschlossen werden, Spannungen darunter aber keine Probleme verursachen.

Das hieße in meinem Fall bräuchte ich eine Diode mit einer Durchbruchsspannung  größer 24V aber kleiner 35V. Idealerweise lässt man in beide Richtungen etwas Spielraum, also irgendwas um die 30V wäre ideal. Die Diode muss nun nur noch zwischen Minus und die Motorspannung geschaltet werden, und zwar so das der Minuspol der Diode mit Plus der Motorspannung verbunden ist. Und schon sollter der Treiber noch etwas robuster sein.

Nachtrag

Nochmal hier die kurze Erklärung: Die Diode sorgt dafür das ab einer bestimmen Spannung der Hauptmotor Elko kurzgeschlossen wird um eine zu große Spannung zu verhindern die ansonsten den Motortreiber IC beschädigen könnte. Das passiert hauptsächlich wenn die Druckerelektronik stromlos ist und man die Achsen per Hand bewegt. Da hilft dann die Diode.

Falls die Diode auslöst während die Elektronik unter Strom steht löst entweder die Sicherung schnell genug aus oder die Diode gibt Rauchzeichen ab, so das man bei der Auswahl sorgfältig sein sollte.

Abhilfe könnte ein Widerstand schaffen, das würde nicht nur den Kondensator schonen, sondern auch den Kurzschlusstrom begrenzen, deshalb hab ich den hier mal eingezeichnet. Wenn man den weglässt und ordentlich damit umgeht, macht das auch nix die Diode soll ja nicht laufend einspringen.

t4Welches GND man nimmt ist egal, wobei das obere vielleicht minimal besser dafür geignet ist.

Aus kaputt mach ganz

Beim dem Motortreibertest ist mir auch leider eine A4988 Black Edition kaputt gegangen, ich hatte ohne aufzupassen den Treiber verpolt. Darauf hin war der Chip kaputt, da ich aber von einem Kollegen (Danke Hans ;)) ein paar A4988 ICs gestiftet bekommen habe wurde es Zeit diese zu Verwenden. Diese gibt es auch für zwischen 3 und 5 Euro bei den großen Elektronik Versandhändlern.

Also wurde der verklebte Kühlkörper mit etwas Gewalt heruntergerissen, der IC bliebt dann mit Rückständen des Klebers zurück.

a4988 repair1(Leider etwas unscharf, das Fotografieren duch eine Lupe muss noch geübt werden, wird aber bei den nächsten Bildern besser.)

Anschließend wurde der IC mit heißer Luft entlötet,

a4988 repair2und ein nagel neuer A4988 wieder mit Heißluft eingelötet.

44988 repair3Alles in allem 5 – 10 Minuten Arbeitsaufwand, und ein neuer Motortreiber für, in meinem Fall, Null Euro. Jetzt sitzt der Treiber wieder in der Z-Achse meines Druckers und leistet dort gute Dienste.

Für alle, die die Möglichkeit haben Treiber so zu reparienen, kann ich es nur empfehlen, das ist deutlich günstiger als ein neuer Treiber, wenn der Schaden am Treiber nicht zu groß ist.

Der ein oder andere mag es vielleicht kennen, man bastelt an der Druckerelektronik herum, oder möchte einfach nur mal schnell etwas umstecken und schon funktioniert einer der Motortreiber nicht mehr, weil man vergessen hat den Strom abzuschalten.

Das ist dann mehr als ärgerlich, weil das eigentlich nicht hätte sein müssen und ein teurer Spaß ist. Man hätte den Strom abschalten sollen oder der Treiber hätte einfach das abkönnen müssen. Eigentlich ist das nicht mal sonderlich schwer das zu realisieren, jedoch ist das leider nicht auf den A4899 Platinen noch auf der DRV8825 Platine vorhanden.

Deshalb warnt Pololu sowohl beim DRV8825 wie auch beim A4988

Warning: Connecting or disconnecting a stepper motor while the driver is powered can destroy the driver. (More generally, rewiring anything while it is powered is asking for trouble.)

Da ich das ob versehntlich oder absichtlich (in der Software mal wieder vorwärts und rückwärts vertauscht) des öfterern mal tue, muss da eine Lösung her, sonst stirbt mir wieder ein Treiber.

Achtung: Das ganze gilt selbstverständlich nur für Bidirektionale (bipolar) Schrittmotoren! Bei Unidirektionalen Schrittmotoren schließt man je nach Stromrichtung mit den Dioden den Motorstrom kurz! Aber die genannten Motortreiber sind eh nur für Bidirektionale Motoren ausgelegt, so das das nur als Sicherheitshinweis dient.

Die Lösung ist ziemlich einfach und erfordert nur acht (um auf Nummer sicher zu gehen) einfache schnelle Dioden. Diese sind so mit dem Treiber zu verbinden:

schutzDie Dioden besitzen eine doppelte Funktion, einmal als Schutz vor Induktionsspannung (die auch gerne mal den Treiber beschädigt wenn man den Motor im Betrieb trennt) und um den Strom in den PWM (Pulsweitenmodulation zur Stromregulation) Offphasen weiter fließen zu lassen. (Einen Teil davon würde die vier internen Schutzdioden auch schon übernehem, aber so ist das besser).

Wer es ganz genau wissen möchte findet die Info im Datenblatt (A4988, DRV8825), der wohl relevanteste Abschnitt dürfte allerdings dieser sein:

Synchronous Rectification

When a PWM-off cycle is triggered by an internal fixed-off time cycle, load current recirculates according to the decay mode selected by the control logic. This synchronous rectification feature turns on the appropriate FETs during current decay, and effectively shorts out the body diodes with the low FET Rds(on). This reduces power dissipation significantly, and can eliminate the need for external Schottky diodes in many applications. Synchronous rectification turns off  when the load current approaches zero (0 A), preventing reversal of the load current.

Aus dem Datenblatt des A4988.

Die Dioden soll mindestens den Motorstrom vertragen können, etwas Spannungsfest sein und je nach dem mit welcher Frequenz man das ganze ansteuern möchte auch schnell sein. Schottkydioden wären sicherlich die beste Wahl.

Wie ich das realisiere und mit dem Kondensatortausch kombiniere kommt im nächstem Artikel.

Resultate des Schrittmotorvergleiches

Der DRV8825 bleibt auf jeden Fall auf dem RAMPS Board und übernimmt weiterhin die Steuerung der X-Achse. Ansonsten bleiben erstmal die A4988 Treiber auf dem Board da diese noch vorhanden sind. Auch werden die defekten Treiber werden erstmal repariert (ich hab noch 3 tote A4988 und eine kaputte Black Edition, dazu aber demnächst mehr).

Ich werde aber keine neuen A4988s nachkaufen, dafür gefällt mir der DRV8825 viel zu gut. Ein neues RAMPS Board würde ich auf jeden Fall mit diesen ausrüsten.

Den Treiber gibt es zum Beispiel bei:

Wer den Treiber noch günstiger findet darf sich gerne melden!

Als nächstes kommt noch eine kleine Schutzmaßnahme, die sowohl dem DRV8825 wie auch dem A4988 das Halbleiterleben verlängern sollte, jedenfalls bei mir ;).

drv8825Hier mal etwas ganz neues. Der Schrittmotortreiber DRV8825 von Pololu. So gesehen die Weiterentwicklung der A4899 Reihe. Verwendet wird hier ein Chip von TI (Texas Instruments). Dieser bietet einige interresante weiterer Möglichkeiten.

Spezifikationen:

  • maximale Betriebspannung: 45V
  • maximaler Motorstrom: 2,2A
  • höchste Schrittauflösung: 1/32 Schritt
  • einstellbarer Motorstrom via Potentiometer
  • Motorstrom = Vref * 2
  • eingebauter Spannungswandler (kein Anschluss an Logik Versorgungsspannung notwendig)
  • mehrlagige Platine zur Hitzeabfuhr
  • diverse Schutzmaßnahmen: Übertermperatur, Unterspannung, Kurschluss, Kurzschluss gegen Masse

Temperatur Test

12V Betriebsspannung, mit aufgeklebtem Kühlkörper, Schrittgeschwinigkeit die 150mm/s bei meinem Drucker entspricht, in stiller Luft. Temperaturwerte sind in °C überhalb der Raumtemperatur (22°C).

  • Motorstom 500mA; Temperatur +5°C
  • Motorstrom 1A; Temperatur +11°C
  • Motorstrom 1,5A; Temperatur +23°C
  • Motorstrom 2,0A; Temperatur +41°C
  • Motorstrom 2,2A; Temperatur +50°C

Hier liegt mindestens eine der Stärken des DRV8825, er bliebt selbst unter großer Last recht kühl. Mehrlagige Platine, größere Chipfläche zur besseren Wärmeabfuhr und leicht gesteigerte Effizienz sorgen hier für fantastische Ergebnisse. Auch liese sich ein noch größererer Kühlkörper auf den Chip aufkelben und damit wären die Temperaturwerte noch besser.

Ich verwende bei den Treiber auch einen Lüfter, aber eigentlich wäre das nicht unbedingt notwendig. Mit etwas Luftstrom bleiben auch hier die Temperaturen unter 30°C. Es spielt auch keine wirkliche Rolle ob man den Treiber mit 12V, 24V, oder 30V (mehr hab ich nicht ;)) versorgt. Zwar wird der Treiber dadurch etwas Wärmer, das liegt aber deutlich unter +-5°C.

Effizienz

Der Chip von TI ist sogar leicht effizienter als der A4988, jedenfalls bei meinen Messungen.

Anfälligkeit

Hier liegt eine der weiteren Stärken, der Treiber ist nicht so Anfällig gegen Spannungsspitzen, da er einfach mehr Spannung abkann. Die Gefahr in duch eine LC-Spannungsspitze zu zerstören ist also nicht so hoch wie bei dem A4988. Das ist auf jedenfall ein Punkt für alle Leute die mit mehr als 12V drucken wollen!

md20a – md20b

Es existieren zwei Versionen des DRV8825 von Pololu. Unterscheiden kann man die Versionen an der Nummer auf der Unterseite der Platine. Die Platine mit md20a ist die erste Variante und kann nicht immer als Ersatz für den A4899 verwendet werden. Eigentlich bedarf es nur eine kleinen Modifikation. Man muss nur den Pin SLP (oder RST) mit FLT verbinden. Einfach mit einem Stück Kabel die Pins verbinden und schon kann man den Treiber auf RAMPS einsetzen. Die weiterentwickelte Variante md20b hat diese Verbindung schon intern und kann jederzeit als Ersatz für einen A4988 auf RAMPS eingesetzt werden.

Unterschiede zum A4988

  • maximal 45V anstelle von 35V Motorspannung, das ist bei mehr als 16 Microschritten auch sinnvoll
  • maximaler Motorstom von 2,2A anstelle von 2A
  • ein FAULT Pin existiert, wird aber nicht genutzt
  • 32 Microschritte sind möglich! 3 Jumper auf RAMPS gesetzt bedeutet 1/32 Schrittmodus
  • theoretisch kann DRV8825 nicht so schnell angesteuert werden, was eigentlich eine geringere zurückgeleget Strecke pro sekunde bedeuten (weniger mm/s) würde, aber dazu braucht man wohl einen Drucker der wie eine Rackete abgehnt. Aber dann sind auch die 32 Miroschritte nicht mehr so nützlich. Ich hatte auch bei hohe Geschwinigkeiten damit im Drucker keine Probleme.

Eigene Meinung

Der DRV8825 ist eindeutig ein würdiger Ersatz für den A4988. Er bleibt kälter, unterstützt mehr Schritte die nochmals die Druckqualität heben (bis jetzt leider nur auf einer Achse ;)) und ist nicht so Spannunganfällig.