Trinamic Motion Control 3D-Druck: Höhere Geschwindigkeit, bessere Auflösung

Das Trinamic Reprap Arduino 
Mega Shield (TRAMS) wurde 
mitsamt Beispielcode als Referenzdesign 
für 3D-Drucker mit dedizierten 
Rampencontrollern entwickelt.
Das Trinamic Reprap Arduino Mega Shield (TRAMS)wurde mitsamt Beispielcode als Referenzdesign für 3D-Drucker mit dedizierten Rampencontrollern entwickelt.

Mit den monolithischen Schrittmotortreibern der cDriver-Familie macht Trinamic die häufig von Hobbyisten entworfenen 3D-Drucker reif für den Consumer-Markt.

Die 3D-Drucker werden nicht nur schneller, exakter und leiser, auch neue Generationen lassen sich schnell und effektiv entwickeln - ebenfalls ein Kriterium für den Erfolg auf dem Consumer-Markt.

In den vergangenen Jahren wurde das Verfahren, mit geschmolzenem Kunststoff-Filament dreidimensional zu drucken (FDM) - getrieben von technischen Enthusiasten -, zu einer beeindruckenden Technologie entwickelt. Trotz der begrenzten Leistungsfähigkeit von 8-Bit-Mikrocontrollern hat die wachsende Community es bewerkstelligt, eine schnelle Berechnung der benötigten Bahnkurven zu implementieren. Fast alle der gebräuchlichen Architekturen basieren auf Schrittmotoren. Wie bei den meisten Technologien tut sich nun auch vor den 3D-Druckern die Kluft zwischen Enthusiasten und Visionären einerseits und den ersten Mainstream-Nutzern andererseits auf. Kleine Unzulänglichkeiten, die der Enthusiast für sein Hobby akzeptiert, entpuppen sich für die Vermarktung als ein ernstes Problem.

Weil die Mehrheit der Drucker Desktop-Geräte sind und nahe am Schreibtisch des Benutzers betrieben werden, der zunehmend nicht in einem Labor, einem Bastelkeller oder der Garage steht, ist eins der wichtigsten Ziele die Senkung des Geräuschpegels. Der naheliegende Weg dahin ist zunächst eine höhere Mikroschritt-Auflösung, um die Resonanzen von Schrittmotor und Mechanik weniger anzuregen.

Das zweite, naheliegende Ziel ist eine höhere Druckgeschwindigkeit - ohne dabei allerdings Abstriche bei der Qualität machen zu müssen. Weil in bisherigen Designs die Mikrocontroller die Schrittpulse erzeugen, ist die maximal erreichbare Druckgeschwindigkeit begrenzt durch die höchste erreichbare Interrupt-Frequenz.

Typische Architektur

Derzeit liegt den meisten gebräuchlichen 3D-Druckern - sowohl kommerziell als auch Open-Source Lösungen - dasselbe Funktionsprinzip zu Grunde: Ein zentraler Prozessor stellt die Kommunikation zu einem Host-PC über USB oder andere Schnittstellen her, liest Druckdaten von einer SD Karte und steuert in einigen Fällen ein Display für Statusinformationen und zur Bedienung. Zusätzlich steuert derselbe Prozessor vier oder mehr Schrittmotoren und berechnet Be- und Entschleunigungs-Rampen sowie die aktuelle Schrittfrequenz. Typisches Interface zu den Schrittmotortreibern ist eine Schritt-/Richtungs-Schnittstelle. Die Regelung der Ströme für die einzelnen Mikroschrittpositionen übernimmt der Schrittmotortreiber.

Im 3D-Druck wie in CNC-Anwendungen ist für mindestens drei der Achsen - x, y und Extruder - eine Bahnsteuerung erforderlich. Das heißt, dass die Motoren nicht nur die Zielposition gleichzeitig erreichen, sondern für jeden Punkt auf dem Weg synchronisiert werden müssen. Für alle koordinierten Achsen müssen also die Geschwindigkeiten und die Rampen gleichzeitig berechnet und die Schrittpulse in den gleichen Interrupt-Zyklen ausgegeben werden. Die maximal erreichbare Interrupt-Frequenz stellt also die maximale Puls-Geschwindigkeit der schnellsten Achse dar.

Um bei begrenzten Ressourcen etwas mehr Geschwindigkeit herauszuholen, haben die Entwickler der gebräuchlichen Open-Source-Firmware-Projekte tief in die Trickkiste gegriffen. Diese Tricks fanden auch in einige kommerzielle Drucker Eingang. Statt eines Pulses werden nun in einem Interrupt mehrere Schrittpulse ausgegeben. Zunächst kann der Motor damit schneller gedreht werden. Allerdings ergibt sich eine neue Herausforderung: Die nun nicht mehr gleichmäßigen Zeiten zwischen den Pulsen verursachen mechanische Vibrationen und damit unerwünschte Geräusche. Außerdem wird Drehmoment, das zum Verfahren der Motoren benötigt wird, in Vibrationen umgewandelt. Die maximale Geschwindigkeit wird also mechanisch begrenzt. Obendrein leidet die Druckqualität durch Vibrationen und schlecht synchronisierte Motoren.

Dedizierte Motion Controller entlasten Prozessor

Trinamic gibt mit der letzten Generation von Schrittmotortreibern Entwicklern von 3D-Druckern intelligente Komponenten in die Hand, die weit mehr umfassen als der klassische Verstärkerbaustein. Die Familie der "cDriver", der Motortreiber mit integriertem Rampencontroller, zeichnet sich durch in einem kompakten, kosteneffizienten Building-Block aus: optimale Stromregelung und dedizierte Motion Controller.

Bei kaum verändertem Firmware-Design entlasten die Komponenten den Prozessor erheblich und machen Ressourcen frei für neue Aufgaben, wie etwa die Benutzerführung. Gleichzeitig können die beiden eingangs formulierten Ziele erreicht werden. Weil für die Pulsgenerierung nun nicht mehr der Prozessor zuständig ist, kann die Systemgeschwindigkeit bis an die Grenzen des mechanischen Aufbaus erhöht werden, und die Mikroschrittauflösung kann ohne weitere Belastung von den typischen 16 Mikroschritten pro Vollschritt auf 256 Mikroschritte erhöht werden. Begrenzender Faktor für die Geschwindigkeit ist jetzt nicht mehr der einzelne Motorschritt, sondern die kürzeste Länge eines Bahnsegmentes. Weil aber in der frei werdenden Rechenzeit ein Puffer an Bahnsegmenten im Voraus berechnet werden kann, muss in der Interrupt-Service-Routine lediglich das SPI-Datagramm gesendet werden.