Note, Tonleiter, Akkord… einfach erklärt
Note, Tonleiter, Akkord… einfach erklärt

3D-Drucker aufrüsten mit TMC2208, leiser Treiber

Heute erstelle ich eine Seite zum Thema 3D-Drucker und Elektrotechnik. Einerseits ein Hobby, andererseits auch Beruf. Ihr denkt euch sicherlich, das passt doch nicht zur Musiktheorie, stimmt auch, passt nicht ganz. Aber ich möchte dieses Wissen gerne weiterteilen. So mancher stolzer 3D-Drucker-Besitzer/in steht vor dem Problem, dass der Drucker daheim bei manchen Aufgaben recht laut ist und dieser bei kreisförmigen Bewegungen schonmal eine Art chromatische Tonleiter von sich gibt.

Dagegen gibt es von einem tollen deutschen Hersteller eine Lösung: neue Treiber. Denn nicht nur das Stück Software, dass euren PC mit einem Drucker/Scanner etc. verbindet in Windows oder Linux nennt sich Treiber, sondern auch eine kleine Platine mit einem Kühlkörper, die die Schrittmotoren eines 3D-Druckers antreiben werden so genannt. Der Hersteller erklärt die Funktion von Schrittmotoren auf seiner Homepage sehr gut, darauf möchte ich hier gar nicht groß eingehen.

Meistens, so war es bei mir auch, kauft man sich einen 3D-Drucker und hat auf der Hauptplatine Treiber vom Typ A4988, auch Pololu genannt, verbaut. Das sind einfache, aber zuverlässige Treiber. Leider etwas laut 😉 Warum eigentlich?

Warum machen Treiber vom Typ A4988 so einen Lärm?

Die Standard-Treiber steuern die Schrittmotoren mit insgesamt 16 Schritten an, die leisen Treiber vom Typ TMC2208 von Trinamic steuern die Motoren mit 256 Steps an. Stellt euch ein Stück Holz mit 16 Ecken vor, das ihr auf dem Tisch hin und her rollt. Nun ein Stück Holz mit 256 Ecken, fast schon rund. Somit schaffen diese Treiber es tatsächlich, den 3D-Drucker leiser zu bekommen.

Was muss ich tun, wenn ich die Treiber ersetzen will?

Im Idealfall sind die Treiber gesteckt, so bei meinem Drucker mit einem „MKS GEN_L v1.0“-Board. Also einfach ausstecken, die neuen draufstecken und gut ist? Ja, fast… kommen wir zur Herausforderung.
Tatsächlich sind die Treiber zu 100% kompatibel, nur zwei Hürden gibt es: Die Motoren drehen sich nach dem Tausch verkehrt herum und ihr müsst eine Referenz-Spannung einstellen.

Hürde 1: die Referenzspannung

Das ist eigentlich der Teil, an dem wahrscheinlich viele verzweifeln. Man liest hier viel über ausprobieren, Wärmeentwicklung „fühlen“, Probeobjekte drucken usw… das hat mich verwirrt und ich wollte das theoretisch lösen und die neuen Treiber mit den alten Werten einstellen. Ihr braucht nur meine kleine Excel-Tabelle als Hilfe und dürft nicht sofort die alten Treiber rausreißen 😉 die brauchen wir noch.

Die Excel-Tabelle findet ihr hier:

Die alte Spannung am alten Treiber messen

VORSICHT! Bei solchen Messungen nicht an die 230V Spannung am Netzteil des Druckers fassen! Wenn ihr einen habt, dann verwendet einen Trenntrafo! Diese Information dient zur Orientierung für Fachpersonal, bei falscher Handhabung besteht Lebensgefahr durch Stromschlag! Keine Haftung für Schäden am Gerät und / oder am Menschen!
Bevor ihr die Platinen berührt, erdet euch kurz über den Schutzleiteranschluss einer Steckdose oder über ein unlackiertes Rohr an der Heizung. Es besteht sonst die Gefahr, dass ihr mit einer elektrostatischen Aufladung eure Platine zerschießt.

Das Makerboard MKS Gen_L V1.0. Unten die Treiber für X, Y, Z, E0 und E1

Als erstes schraubt ihr Euren Drucker auf und findet die Treiber, pro Motor gibt es einen. Auf diesen Treibern findet ihr ein Potentiometer. Hier stellt man die sog. Referenzspannung ein. Der Treiber soll nämlich nur einen gewissen maximalen Strom an die Schrittmotoren liefern, sonst „rauchen“ diese ab, weil sie zu heiß werden oder es dem Treiber selber zu heiß wird. Da man eine Spannung super einfach messen kann, misst man hier eine Referenzspannung um damit wiederum indirekt den Strom einzustellen. Wir messen nun die alte Referenzspannung und ermitteln uns damit den maximalen Strom, den der Motor aushalten kann.

Warum kein Typenschild ablesen und es so herausfinden? Nun, die meisten chinesischen Drucker haben an ihren Schrittmotoren keine Typenschilder… also messen wir es eben und berechnen uns das, was der chinesische Hersteller, hoffentlich richtig eingestellt hat. Aber wenn euer Drucker schon ein paar Monate läuft gehen wir mal davon aus, dass er das korrekt gemacht hat.
Wir messen nun mit einem Multimeter zwischen Masse (GND/Minus) und dem Potentiometer, dieses ist leitfähig, ihr könnt die Messspitze einfach darauf halten. Masse findet ihr z.B. am USB-Anschluss oder am Minus-Anschluss der Platine (Schraubkontakt mit dickem Kabel). Das Gehäuse des Netzteils muss nicht Masse sein!
Ihr notiert nun den Wert in die Excel-Tabelle unter der richtigen Bezeichnung des Motors (X, Y, Z, E0, E1). Das macht ihr so mit allen Treibern.

Excel-Tabelle zur Berechnung von Vref für den TMC2208

Foto machen, Kabel beschriften, dann die alten Treiber herausziehen

Der alte Treiber A4988 ohne Kühlkörper, die zwei Widerstände

3D-Drucker ausschalten und den Stecker ziehen. Nun ganz wichtig um Chaos vorzubeugen: ihr macht vom Ist-Zustand ein Foto. Warum? In 2min. wisst ihr nicht mehr, wie die alten Dinger auf diesen Sockeln gesteckt waren. Nun beschriftet ihr jedes Motorkabel, das sind die Stecker mit den vier Adern unter den Treibern mit der korrekten Bezeichnung und steckt sie dann aus. Haben die Stecker keine Nasen, müsst ihr das beim Einstecken beachten, aber ihr habt ja ein Foto gemacht! Auch das beugt dem vor, dass sich nachher der falsche Motor dreht und womöglich die Riemen beschädigt. Anschließend zieht ihr die Treiber von den Sockeln ab.
Auf den alten Treibern findet ihr zwei Mess-Widerstände, verdeckt vom Kühlkörper. Zieht den Kühlkörper ab und ihr seht diese. Nehmt eine Lupe und schaut euch diese zwei Widerstände an. Steht darauf 100, so ist die Excel-Tabelle schon richtig eingestellt auf 0,1Ohm. Ansonsten passt ihr den Wert in der Zelle C1 an. 200 wären dann z.B. 0,2 Ohm.

Neue Treiber korrekt einstecken und Spannung messen

Jetzt könnt ihr die neuen Treiber richtig herum einstecken (3D-Drucker ist ausgesteckt), macht das noch ohne die Kühlkörper, die kleben wir später drauf, die sind uns jetzt eher noch im Weg. Berührt die Mitte des Treibers nicht zu arg mit fettigen Fingern, weil der Kühlkörper sollte im Anschluss noch eine Möglichkeit haben zu kleben. Wie kommen die Treiber drauf? Die Hauptplatine hat einen Pin mit der Bezeichnung „En“ für Enable. Genauso hat der Treiber eine solche Bezeichnung. Dieser Pin gehört nun auf diesen Teil des Sockels. Zudem könnt ihr euch die Unterseite des A4988 anschauen, hier sind alle Pins beschriftet. Wo war der „EN“ Pin? In meinen Bildern immer oben rechts in der Ecke. Mit Eurem alten Foto könnt ihr nun bequem vergleichen, der Pin muss da hin, wo auch der alte Pin mit der Bezeichnung „EN“ war. Prüft das gut, wenn der Treiber falsch herum steckt, ist er nach dem Einschalten defekt!
Die Motorkabel müssen zwingend ausgesteckt sein! Jetzt stellen wir die Referenzspannung ein. Schaltet den 3D-Drucker wieder ein und messt genauso wie bei den alten Treibern gegen Masse (GND).
Die Excel-Tabelle gibt euch nun die einzustellenden Werte ganz rechts aus. Diese stellen wir nun ein:
Wie beim alten Treiber auch, messt ihr nun die Spannung zwischen Masse und dem Potentiometer, diese wird bei ca 1,2V liegen und ist ab Werk vor eingestellt. Mit einem kleinem Schraubendreher stellt ihr die Spannung nun vorsichtig ein. Ihr könnt einen Schraubendreher aus Metall nehmen und die Messspitze an den Schraubendreher halten. Aber Vorsicht, nicht abrutschen! Alternativ messt ihr, stellt ein, messt wieder und stellt ein…

Die neuen Treiber TMC2208 sind verbaut, hier schon mit Kühlkörpern

Kühlkörper draufkleben

Den 3D-Druckler wieder ausschalten und den Stecker ziehen. Nun klebt ihr die Kühlkörper auf den Treiber. Möglichst gerade und so, dass die Luft gut durchströmen kann. Dann steckt ihr die beschrifteten Kabel wieder in die korrekten Steckplätze.

Die neuen Treiber, EN ist hier oben rechts in der Ecke zu sehen.

Hürde 2: Treiber verbaut, erster Test, es dreht sich falsch herum

Jetzt könnt ihr den 3D-Drucker wieder einschalten. Alle Spannungen sind korrekt eingestellt, die Ströme sollten also passen. Aber leider dreht sich der Motor wahrscheinlich falsch herum. Das testen wir nun und bleiben am Stecker, damit nichts kaputt geht! Am besten schiebt ihr von Hand den Schlitten auf die Mitte des Druckbettes und bringt die Z-Achse weg vom mechanischen Anschlag. Nun könnt ihr mal die erste Achse „homen“ und dann schnell den Stecker ziehen, wenn sie sich falsch herum dreht.

Kleiner Nachteil: die Ausgänge dieses Treibers sind verkehrt herum

Nun müssen wir die Drehrichtung abändern.

In der Firmware

In der Firmware können wir sehr einfach die Drehrichtung abändern, bei Marlin ist das in der Configuration.h mit der Zeile „#define INVERT_E0_DIR true“ zu machen: Aus false wird true und aus true wird false, bei allen Achsen!

Marlin Firmware Configuration.h. Denkt auch an die Extruder! Diese müssen auch gedreht werden.

Ich kann nicht programmieren und das ist mir zu kritisch

Ok, die obige Variante habe ich als Programmierer natürlich bevorzugt, aber rein technisch betrachtet kann man das natürlich auch ohne Firmware-Eingriffe ändern:
Der Motor-Stecker auf dem Mainboard muss einfach um 180° gedreht werden. Hier gibt es zwei Möglichkeiten: der Stecker lässt sich sowieso drehen, weil er keine Nase hat oder er ist verpolungssicher mit einer Nase ausgestattet. Nun könnt ihr mit einer Zange das Gegenstück vorsichtig von der Hauptplatine entfernen, drehen und wieder aufsetzen. Das ist allerdings etwas kritisch, weil ihr bei der Aktion die Platine beschädigen könntet. Besser ist es die Drehung am Stecker umzusetzen. Die Adern/Kabel, die in den Stecker gehen haben vorne am Stecker eine metallerne Nase, die ihr am Stecker durch das Plastik erkennen könnt. Diese Nase drückt ihr mit einem spitzen Gegenstand hinein und rüttelt und zieht vorsichtig an dem Kabel. Sind alle Kabel raus, steckt ihr sie in der umgekehrten Reihenfolge wieder in den Stecker hinein, kontrolliert das mit eurem Bild. Keine Angst, das Schlimmste was passieren könnte, ist, dass der Motor sich nicht dreht, nur zuckt oder brummt.

Das war es schon! Eigentlich recht einfach, wenn man weiß, wie die Spannung einzustellen ist. Ich übernehme keine Haftung für etwaige Fehler in dieser Anleitung. Sie dient als Hilfestellung.

Testet nun euren Drucker vorsichtig, drehen sich die Achsen korrekt usw. Macht einen Testdruck, dieser sollte einwandfrei funktionieren, wenn der Drucker vorher schon funktionierte. Fühlt auch mal an den Motoren, sind diese sehr heiß? Meine werden maximal 50°C warm (gemessen, vor und nach dem Umbau, kein Unterschied nach 2h drucken). Falls nicht, kontrolliert nochmals die Spannungen. Auch ein Rückbau ist ohne Probleme machbar, nur die Drehrichtung wieder abzuändern ist etwas mühselig, Also schreibt eure Messwerte am Anfang gut auf und macht Fotos!

Ich will das verstehen, was da berechnet wird

Die Formel hinter dem Ganzen findet man natürlich in den Datenblättern. Beim A4988 stellt man mit der Referenzspannung den maximalen Strom ein, beim TMC2208 jedoch den Effektivstrom! Das ist das komplett verwirrende für jeden Nicht-Elektroniker 😉 Der Effektivstrom ist niedriger als der Maximale Strom, da es sich hier um eine Wechselspannung handelt und der Motor mit Impulsen angesteuert wird. Dadurch entsteht ein Effektivwert.

A4988 InfosTMC2208 Infos

Maximaler Strom A4988 = Referenz-Spannung / (8 * Messwiderstand)
Maximaler Effektivstrom = Maximaler Strom / 1,41     --> Wurzel 2
Referenz-Spannung TMC2208 = (Maximaler Effektivstrom * 2,5V) / 1,77A

Die 2,5V ist die maximal einstellbarere Spannung und die 1,77 A der maximale Effektivstrom.

Hinweis: Man stellt den Strom immer niedriger ein, als der maximal mögliche und angegebene Strom auf dem Typenschild! Dies macht man aber auch beim A4988 so und wir haben deswegen die Ströme einfach übernommen mit der Formel und damit auch den bereits früher schon niedriger eingestellten Strom. Man stellt weniger ein um die Treiber und die Motoren zu schonen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.