Sparkcube V1.1 XL Build Aufbaulog Teil1

Die Teile für meinen neuen Drucker sind endlich gekommen. Nach etwa einem Monat Lieferzeit sind jetzt alle Teile aus den verschiedenen Quellen eingetroffen. Der Aufbau der Sparkcube XL ist von Sparklab in einigen Videos dokumentiert:

Nach dem ich mich an den Videos orientiert habe stand das grobe Gerüst nach etwa einem Tag.

Die Elektronik und den Extruder werde ich selbst anbringen. Daher habe ich noch ein paar weitere 3D gedruckte Teile gebraucht. Das vorerst fertige Ergebnis sieht schon mal aus wie ein 3D-Drucker. So weit so gut.

Jetzt zu den Dingen, die noch fehlen, verbesserungswürdig sind oder einfach schlichtweg nicht funktionieren.

Z-Achse & Druckbett

Das Druckbett ist auf einem T-förmigen Träger angebracht. Die drei Ecken des Trägers haben jeweils eine eigene Gewindespindel. Rechts und links sind die Gewindespindeln noch durch Linearführungen unterstützt. Somit ist es möglich die Ebene beliebig (in gewissen Grenzen) im Raum zu platzieren. Idealerweise natürlich parallel zu der XY-Ebene der Extruderspitze. Das ist in diesem Video schön gezeigt. Nachteil ist, dass man für jeden der Motoren der Z-Achse einen eigenen Treiber am Mainboard benötigt. Im Moment ist ein Schrittmotor Treiber für die drei Motoren zuständig. Das läuft ok, aber nicht 100%ig zufriedenstellend. Ein Ausrichten des Druckbetts geschieht mit den 3 Schrauben, die für ein manuelles Anpassen vorgesehen sind.

Extruder

Ich möchte, dass der Drucker mit zwei Extrudern bestückt ist, die idealerweise zwei unterschiedliche Kunststoffe ausdrucken können. So können einerseits Stützstrukturen besser entfernt werden, andererseits können Verbundwerkstoffe erzeugt werden. Beispielsweise ABS Gehäuse mit Gummierter Außenseite. Im Moment ist an dem Drucker lediglich ein einzelner Extruder angebracht. Um einen zweiten anzubringen muss ich zuerst den XY-Schlitten neu designen. Die Energiekette bringt bereits genügend Leitungen und Stecker mit um ein weiteres Hotend zu betreiben.

Firmware

Als Firmware wird Marlin verwendet. Marlin hat eine Vielzahl von Konfigurationsmöglichkeiten und schier unendliche Komplexität. Ich habe bis jetzt nur die Oberfläche angekratzt und habe es noch nicht geschafft, dass alle Funktionen so funktionieren wie erhofft. Unter den fehlenden Funktionen sind: 3 Motoren für Z, WiFi über das Modul auf der Hardware, Lüftersteuerung für das Hotend.
Ich habe das von ST erzeugte Projekt kopiert und werden alle meine Änderungen auf GitHub veröffentlichen. Vor allem möchte ich das Einstellen der Z-Achsen wie im Video oben gezeigt gerne auch in der Software haben.

Hardware

Wenn die oben beschriebenen Funktionen umgesetzt werden sollen, bringt das die Hardware von ST an Grenzen. Wie genau die Funktionen erweitert werden können bin ich mir noch unsicher. Für den Drucker mit zwei Extrudern ergeben sich folgende Anforderungen:
  • 2 Motoren für XY
  • 3 Motoren für Z 
  • 2 Motoren für Extruder
  • 2 FETs für Hotends
  • 1 FET für das Heizbett
  • 3 Thermistor Eingänge
  • 3 Endschalter Eingänge
  • optional 2 Eingänge für Filamentsensoren
  • optional 2 weitere Endstops für Z
  • optional 5 weitere Endstops für jeden Achstenmotor als maximum Stop.
Features der Hardware sind:
  • 6 Motortreiber
  • 3 Extruder
  • 3 Extruder FETs
  • 3 Hotend FETs
  • 3 Extruder Thermistoren
  • 3 Hotend Thermistoren
  • 6 Endstops
  • 1 Erweiterungsstecker
    • 6 Endstops
    • 3 NTCs
    • SD Card Interface
    • SPI Interface
    • USB Interface
    • UART Interface
    • I2C Interface
    • 4 GPIOs
    • 5V and 3V3 Power
Die Interfaces des Erweitungssteckers liefern genügend Signale um die benötigten Features nachzurüsten. Es sollte als möglich sein mit dem STEVAL-3DP001V1 einen voll funktionsfähigen 3D Drucker mit allen benötigten Funktionen zu erstellen. Und das Beste daran: das Board kostet nur 
116$

Assembly of a Chinese 3D Delta Printer Kit

I got myself a Chinese 3D printer kit. It is a delta configuration build after the Reprap Kossel Mini . The Set included:

  • Hardware (linear rails, belts, motors, screws feathers, print surface)
  • Electronics (RAMPS 1.4, LC-display, SD-card, switches, cables)
  • Extruder (direct bowden extruder)
  • Hotend (E3D clone with heater cartridge and thermistor)
  • Heated Bed PCB (for heating up the print surface)
  • Free PLA filament
Contents of the two packages

Everything was shiped with DHL Express from Hong Kong and arrived 7 days after purchasing. Which is very nice for a package from china. Shipping was only 32$ extra. In Germay customs claimed another 68€ so in total 370€ which is not too bad for the two packages containing (hopefully) all of the parts needed for assembly.

Unpacking all the boxes leaves us with heaps of material. The threr cardboard boxes contain all of the parts. The tube contains the linear slides for the towers. The black beams are for the frame and the red PCB is the heater for the print surface. Included in the package were all the Allen keys needed for assembly. A lot of M3, M4 and M5 screws, nuts and various bits. An SD card with the necessary firmware and build instructions were included as well. All the mechanical connections are printed with PLA in a OK quality. The dimensions are met so I was no problem to put everything together.

All the assembly parts layed out on the table

With my comprehensive knowledge of simplified Chinese symbols, which is none, I could read some of the documentation. Luckily the internet is full of assembly instructions for the reprap Kossel mini.

After a few hours the mechanics where done and everything moves smoothly. After adjusting the delta values in the firmware, z height and probe offset for finding the true Z0 position it printed with the included PLA filament. The test cube was sliced with slic3r with a configuration I came up with. After a few layers the extruder stopped working and nothing was fed into the hotend anymore. After some fiddling around with the temperature and manually trying to push the filament through the hotend I dissembled the whole hotend part. It showed that the free filament sample had a huge part of 2mm diameter instead of 1.78, which i measured before configuring the slicer. Due to the large diamter the filament got stuck in the cold part of the hotend. Stupid thing but easyly fixable. Pushing with a small screwdriver from the nozzle side of the cold part released the stuck piece of filament.
Well the free sample found its way to the bin and a spool of light blue high quality PLA found its way to the extruder and out of it again. Tightening the hotend in a hot state will hopefully do the job.

The thing is running, litterally. A nice piece of hardware

If you are looking for a nice kit to build yourself a kossel mini 3D printer you can go for one of the cheap sets from china. But keep in mind, you are in for a steep learning curve. If you want to print 3D models and not fiddle around to much, buy something else.

Reinigen einer 3D Drucker Düse

Ich habe heute ausprobiert, wie gut man die Düse eines FFM Druckers mit einer Lötlampe reinigen kann das Ergebnis ist erstaunlich. Die Düse sieht fast aus wie neu. 

In den Bildern zu sehen ist die 1mm Düse. Durch den großen Durchmesser muss die Temeratur der Düse beim Drucken auf 255°C erhöht werden. Das führt dazu, dass Kunststoffreste außen an der Düse verkohlen. Mit einer einfachen Propangas Flamme aus der Lötlampe lassen sich die Kunststoffreste problemlos entfernen. Nebenbei wird die Zange gleich noch mit abgeflammt. Die Technik funktioniert auch hervorragend für den Heizblock, sollte der auch mit verkohltem Kunststoff verdreckt sein. Nach dem Flambieren habe ich die Teile auf dem Abziehstein wieder glatt und glänzend geschliffen und eingebaut. Funktioniert hervorragend.

3D Drucker Update: Drucken von ABS

Mein 3D Drucker ist ein Bausatz von RepRapPro.com und wurde ursprünglich für das Drucken von 1,75mm breitem PLA Kunststoff entwickelt. PLA hat den Vorteil, dass es bei ~200°C flüssig ist und sich somit hervorragend extrudieren lässt. Es haftet auf warmen (65°C) Kapton Klebeband und bei schweren Fällen auf Pritt-Stift. Dabei ist zu beachten, dass die Wärmeausdehnung von PLA sehr gering ist und daher das Risiko, dass sich ein Objekt während dem Druck verzieht gering. PLA ist ein sehr spröder Werkstoff, der allerdings bei geringen Temperaturen weich wird. Für allgemeine Bauelemente, die keiner großen Belastung ausgesetzt sind, oder Dekorationen eignet PLA sich hervorragend, da es einfach und Energiesparend zu verarbeiten ist. Außerdem entstehen bei PLA keine unangenehmen Gerüche.

ABS hingegen ist ein Thermoplast, dessen Schmelzpunkt etwas weiter oben liegt als der des PLA. Ein Druck mit 240°C für das von mir verwendete ABS erzeugt gute Verbindungen der einzelnen Schichten. Allerdings ist die Wärmeausdehnung von ABS gegenüber der von PLA wesentlich höher, sodass es passieren kann, dass das zu druckende Objekt sich bereits zusammenzieht, während eine weitere Schicht aufgetragen wird. Diese zeiht sich dann auch wieder zusammen und so kommt es vor, dass Ecken des Objektes von der Druckplatte abgehoben werden. Dies erzeugt dann einen Spalt, in dem Luft zirkulieren kann und das Objekt weiter abkühlt. Eine komplette Ablösung von der Druckplatte ist dann sehr wahrscheinlich.

Um einem zu schnellen Abkühlen vorzubeugen kann das Objekt auf einer beheizten Oberfläche gedruckt werden. Diese ermöglicht ein langsameres Abkühlen der Schichten und verhindert somit, dass sich das Objekt verzieht. Die Platte sollte dabei etwas mehr als 100°C haben. 
Der Ormerod Drucker von RepRapPro kam mit einem PC Netzteil als Stromquelle für das Heizbett. Mit dem Netzteil war es möglich die Platte unter konstante anliegender Spannung auf 80°C zu erhitzen. Mit einem leistungsstärkeren Netzteil sind 120°C nach einer gewissen Aufwärmzeit problemlos möglich. Der Druck kann also beginnen.
Zu Beginn befindet sich der Druckkopf sehr nahe über der Oberfläche des Druckbetts. Der originale Kopf des Druckers besitzt drei Düsen, die die Luft nahe an der Austrittsstelle der Düse vorbeileitet. Das führt zu einer starken Abkühlung der Druckplatte an dieser Stelle. Nachdem ich den originalen Kühlluftadapter so modifiziert hatte, dass die Luft wahlweise auch zur Seite abgeblasen werden kann, ist auch die Temperatur stabil geblieben.
Reibung der Y-Achse beim Verfahren nach links erzeugt diese Schräge
Der Drucker besitzt keinerlei Seitenwände und so kommt es vor, dass leichte Luftzüge das Druckbild beeinflussen, bzw. zu einem vollständigen Ablösen des Objekts führen. Mit etwas Karton konnte aber schnell Abhilfe geschafft werden. Dabei zeigt sich, wie wichtig es ist, dass das Druckbett frei beweglich bleibt. Andernfalls kann es zu solchen Schönheiten kommen.
Die Kunststoffteile des Druckers sind, wie es sich für einen RepRap gehört, alle mit einem RepRap hergestellt worden. Dabei wurde PLA verwendet und das ist, wie oben angesprochen nicht sehr temperaturfest. Bereits einige Stunden mit ABS haben dem Schlitten der X-Achse stark zugesetzt.
Hohe Temperaturen haben den Kunststoff des Schlittens verformt
Zu testen bleibt jetzt nur noch das transparente ABS. Allerdings muss der Prozess des Druckens vereinfacht werden, da ich nicht immer den kompletten Drucker umbauen möchte, wenn das Material gewechselt werden soll.

Back on track… Es druckt wieder

Nach einigen Reparaturarbeiten ist der Drucker wieder unter den Lebenden. Einige Dinge, die ich dabei gelernt habe und die für andere nützlich sein könnten:

Stotternder Schrittmotor

Nachdem ich die Treiber des Duet Controller-Boards getauscht hatte ist der Y-Motor nicht mehr korrekt verfahren. Ich habe das auf die Tatsache geschoben, dass dieser Treiber eventuell nicht richtig verlötet wurde. Also habe ich das Board noch einmal nachgelötet und mit einem ausgebauten Motor getestet. Das Ausbauen des Motors war schnell erledigt und nachdem ich die Lötstellen noch einmal erwärmt hatte hat der Motor sich auch korrekt gedreht. Also alles wieder eingebaut und diesmal die Verkabelung genau überprüft und der Motor stottert immer noch. Nach Erhöhen des Motorstroms und verringern der Beschleunigungswerte ist die Achse auch wieder verfahren. Allerdings ist der Tisch anstatt der 10mm ist der Tisch aber 80mm verfahren. Ein eindeutiges Zeichen, dass mit den Microstep Jumpern etwas nicht stimmt. Wie im Schaltplan des Duet Boards zu erkennen ist, wird jeder Motortreiber auf 1/16 Microstep konfiguriert. Ein kurzes nachmessen des betroffenen Treibers und siehe da, die Konfiguration für MS2 war auf low statt high. Da hat sich beim Tauschen der Treiber wohl eine Leiterbahn gelöst. Ein Draht von Pin 6 auf 3,3V und schon lief wieder alles wie geschmiert.

Stotternder Schrittmotor 2

Ein weiteres Stottern der Y-Achse nach dem erfolgreichen Zusammenbauen und dem ersten Druck ließ sich auf eine lose Steckverbindung des Motors zurück führen. Nicht immer ist das Controller-Board der Verursacher. 

Kabelführung

Die Verschiedenen Kabelstränge des Druckers sind jetzt in einem Bündel mit einem Spiralschlauch zusammen gefasst und somit nicht mehr so gefährdet sich zu verheddern. Der Spiralschlauch ist günstig auf Amazon zu haben.

Luftzug

Der Lüfter für die Hotend-Kühlung kann keinen nennenswerten Druck aufbringen. Da die Luftdüsen des Kühlerteils allerdings nicht dem Durchmesser des Lüfters entsprechen, wir eine große Menge der Luft zur Zuführungsseite zurückgedrückt und weht auf das Druckbett. Das soll angeblich zu schlechteren Drucken führen. Mit einer Abdeckung kann dem entgegengewirkt werden. Ob das wirklich funktioniert, wird sich zeigen.

Stromversorgung

Ich habe das ATX Netzteil durch ein 400W LED Netzteil ausgetauscht. Die Druckplatte ist wesentlich schneller auf Temperatur, die Steigung der Temperaturgerade ist fast doppelt so hoch wie vorher, und der Lüfter des Hotends bekommt beim Einschalten der Heizplatte oder des Hotends kein Drehzahleinbruch mehr. Ich hoffe dass dadurch die Druckergebnisse Konstanter werden, da teilweise der gleiche Druck einmal gelungen ist und beim nächsten Mal wieder nicht.
Die 400W sind allerdings auch viel zu hoch ausgelegt, aber was soll’s, es funktioniert.

Hotend Kühlung

Wie bereits oben beschrieben ist die Drehzahl des Lüfters am Hotend ab sofort nicht mehr davon abhängig, ob die Heizplatte oder das Hotend eingeschaltet ist. Wie und ob sich da bei den Druckergebnissen bemerkbar macht bleibt abzuwarten. Besonders interessant werden Brücken, die nun konstant gekühlt werden können. 

Wärmeleitpaste

Ich habe zwischen Heizplatte und Aluminiumabdeckung eine gehörige Portion Wärmeleitpaste verteilt. Das Ergebnis ist , dass die Glasplatte jetzt wesentlich näher am Wert der im Web-Interface eingestellt ist liegt als vorher. Der thermische Verlust zwischen PCB und Aluplatte war durchaus signifikant. Wenn ich im Web-Interface 50°C einstelle hat die Glasplatte nach einiger Zeit auch zwischen 48°C und 49°C erreicht. Erstaunlich.
Den Schalttransistoren im Netzteil habe ich ebenfalls eine Portion Wärmeleitpaste verpasst, denn die waren einfach nur auf einen Alu-Heatsink geschraubt. Der Thermistor im Hotend ist durch diverse Unfälle mittlerweile komplett mit PLA im Heizblock eingegossen. Insofern dient hier das dauernd geschmolzene PLA als ‚Wärmeleiter‘.
Alles wieder am Laufen

Zukunftspläne

In nächster Zukunft werde ich einen Halter für den Kabelschlauch des Trägerarms machen, denn der führt im Moment dazu, dass sich die Steckverbinder zum Controller-Board bewegen und das ist kein guter Zustand.
Ebenso ist das Kabel zum Heizbett zu lang. das werde ich auch noch kürzen.

Druckprobleme und -lösungen

Seit meine Rolle weißes PLA von FilamentPrint zu Ende ging habe ich eine 1kg Rolle schwarzes Filament aus China am Drucker hängen. Seit dem hatte ich keine so guten Ergebnisse mehr erzielt. Nach einigen Versuchen habe ich jetzt einige Methoden ermittelt mit denen der Druck dann auch mit dem billigen China PLA zum Erfolg wurde.

PLA darf nicht auf einem zu heißen Druckbett gedruckt werden

Im Gegensatz zu ABS biegt sich PLA auf einem zu heißen Druckbett, was zum Crash mit dem Lüfter führt. Dadurch wird dann der schon gedruckte Körper vom Bett weggerissen. Ein zu kaltes Druckbett führt allerdings zu geringeren Haltekräften auf dem Kaptonband. Daher ist die Einstellung der Temperatur ein klein wenig aufwändig und man muss einige Versuche für verschiedene PLA Rollen durchführen. Aktuell habe ich das Druckbett auf 48°C eingestellt. Was nicht bedeutet, dass das Kapton 48°C heiß wird, denn der Thermistor ist in der Heizplatte lediglich eingeklemmt. Es ist davon auszugehen, dass die Heizplatte etwas wärmer ist. Die Oberfläche der Glasplatte kann allerdings kälter sein. ich habe leider kein Thermometer da um das zu bestätigen.

Langsamer drucken ist für die erste Schichte keine Allgemeinlösung

Die erste Schicht einfach langsamer zu drucken ist für nicht haftende Drucke (zumindest aus PLA) kein allgemein gültiges Heilmittel. Die Zeit, die die Düse auf dem schon aufgebrachten PLA verbringt, führt dazu, dass es zu Biegekräften kommt. Die sind dann ebenfalls für das Hochbiegen von Ecken und Kanten verantwortlich. Eine für mich erfolgreiche Geschwindigkeitsreduzierung ist 50% Druckgeschwindigkeit für die erste Schicht mit innernen Kanten zuerst, dann Äußere Kante und dann Füllung. Die so erzielten Druckergebnisse sind sehr zufrieden stellend.

Z-Achen Refernez und Druckbettausgleich

Der Abstand der Z-Ache zum Druckbett sollte im Bereich von 0,1mm sein. Der Druckkopf darf auf keinen Fall mit Kraft auf das Druckbett drücken, wenn er auf Z=0 gefahren ist. Da das Druckbett des Ormerod Druckers nicht parallel zur X-Achse verläuft ist eine Kompensation notwendig. Diese wird auf Grund des etwas klapprigen Y-Tisches nach jedem Start und beim Referenzieren der Z-Achse ausgeführt. Diese Kompensation führt zwar zu einem erhöhten Betrieb der Z-Achse, führt aber zu wesentlich besseren Druckergebnissen als ohne. 
Schiefes Druckbett des Ormerod Druckers

Die stärkere Belastung der Z-Achse ist nicht schlimm, da in meinem Drucker die M5 Gewindestange gegen eine gut geschmierte Tr10x2 Gewindestange getauscht wurde. So ist es immer wieder schön zuzuschauen, wie die Z-Achse mit verfährt um eine Ebene zu schaffen, die Schräg zur X-Achse liegt.

Das unendliche Projekt

Warum gibt es 3D Drucker für 2000€ wenn man sich einen ähnlichen schon für 500€ selbst bauen kann?

Diese Frage hat mich in der letzten Zeit beschäftigt. Einerseits sind die offensichtlichen Punkte einen fertig montierten Drucker zu kaufen offensichtlich. Er muss nicht mehr zusammengebaut werden. Andererseits ist das auch eine Aufgabe, die ich persönlich als sehr faszinierend empfinde.
Nach einigen Wochen der regelmäßigen Benutzung meines Ormerod 1 Druckers kann ich allerdings die Kaufentscheidung für einen fertig montierten und in Betrieb genommenen Drucker verstehen. Die meiste Zeit ist mein Drucker nämlich nicht mit drucken beschäftigt. Es ist leider nicht möglich direkt nach dem Einschalten loszudrucken. Die Mechanismen, die den Druckkopf zum Druckbett referenzieren sollen sind leider (noch) nicht in der Lage an verschiedenen Tagen gleiche Ergebnisse zu liefern. Weiterhin muss ich nach jedem beendeten Druck den Drucker resetten und die Z-Achsen Referenzierung durchführen. Somit kann ich den Drucker leider nicht wie erhofft von einem entfernten Rechner mit Daten füttern, die er dann gedruckt hat, wenn ich nach Hause komme. Das ist im Moment das angestrebte Ziel.
Bis es soweit ist sind mir noch einige Dinge Aufgefallen, die eine Verbesserung verlangen:
  • Das Druckbett ist aus 3mm MDF und alles andere als Stabil. Einige Unfälle haben dazu geführt, dass die Ecken deutlich wegsacken. Noch sind sie leicht oberhalb der Y-Achse, wenn sie allerdings weiter absinken, wird das unweigerlich zum Crash am Ende der Achse führen. Hier muss also eine Stabilisierung eingebaut werden.
  • Die M5 Gewindestange der Z-Ache ist mittlerweile eine 10mm Trapezgewindespindel. Das hat zu einem sehr ruhigen Lauf der Z-Achse und wunderschönen Ergebnissen der Schichten geführt. Allerdings passt der Abstand der Achse noch nicht zur Spindel und so neigt sich die Spindel, je tiefer die Z-Achse steht. 
  • Der kapazitive Sensor der Z-Achse hat eine Reproduziergenauigkeit von 4% das sind bei den Einstellungen zur Zeit ca. 0,3mm und somit ausschlaggebend, ob ein Druck gelingt, oder von vornherein zum Scheitern verurteilt ist.
Allerdings hat sich in der letzten Zeit auch einiges Positive entwickelt. Ich habe den Drucker auf Vibrationsdämpfern stehen. Jetzt kann man sich in dem Raum auch wieder unterhalten, wenn der Drucker aktiv ist. Ich habe außerdem eine Rollenhalterung gedruckt, die die Filamentrolle für den Feeder bereit hält. Auch das funktioniert hervorragend.

Anschnallen und festhalten! 3D-Drucker in Hyperspeed

Die neuse Version des Ormerod Firmware Branches ermöglicht die Einstellung eines Geschwindigkeitsmultiplikators. Zusammen mit einem erhöten Motorstrom kann hier an der Druckgeschwindigkeit gedreht werden. Die Motoren des Ormerod sind für 1,4 A ausgelegt und die Treiber können bis zu 2 A treiben. Dabei ist darauf zu achten, dass die Treiber nur passiv ohne zusätzliche Heatsinks außer dem PCB gekühlt werden. Der obere Berecih der Motorströme sollte also möglichst gemieden werden. Ich habe aktuell die Achsenmotoren auf 1 A und den Extruder bei 800 mA gestellt und erreiche damit bei 300% Druckgeschwindigkeit zufriedenstellende Ergebnisse.
Der Geschwindigkeitsmultiplikator beeinflusst jede Geschwindigkeit des Druckers und kann somit von 0% bis ???% den Drucker auch mal an die Grenzen des Möglichen bringen. Die Bewegungen werden linear Skaliert, was für die Beschleunigungswerte ebenfalls eine skalierung bedeutet. Hierdurch werden im System neue Schwingungen eingebracht, die durch die ruckartigen Start- und Stopbewegungen entstehen. Neben dem erhöhten Geräuschpegel führen die Vibrationen auch zu mechanischen beeinträchtigung. Meine Druckbettbefestigung hat sich im hinteren Bereich gelöst, was dazu führte, das das Bett abgesunken und der Druck damit nach zwei Stunden 300% Druckgeschwindigkeit leider doch noch fehlgeschlagen ist.

Lessons learned:

  • Schraubensicherungslack für Schraube-Mutter alle Verbindungen verwenden
  • Vibrationsdämpfer für den Drucker herstellen
  • Druckgeschwindigkeit im G-Code Generator festlegen und nicht manuell alles beschleunigen
  • Z-Achse ist das ausbremsende Element
  • Große Druckaufträge dauern auch mit 300% Geschwindigkeit sehr lange.

Zum Schluss: Verfahrgesräusche bei 300%

3D Drucker Augen zu und kapazitiv testen

Im Rahmen einer kleinen Umbauaktion des Druckers habe ich auch den optischen Sensor gegen einen kapazitiven Nährungesschalter getauscht. Das ging nicht so leicht wie erwartet. Der optische Näherungsschalter wird zum Einstellen der X- und Z-Achse verwendet. Diese Konfiguration kann mit einem kapazitiven Sensor nicht durchgeführt werden, da der Sensor wesentlich größer ist als die kleine Platine des optischen Sensors.

Druckkopf mit vorläufig angebrachtem kapazitiven Sensor zur Druckbettbestimmung

Im Hintergrund der Abbildung kann man den neuen Endschalter der X-Achse erkennen. Der wird, wie der Endschalter der Y-Achse am Duet Board an den Pins neben dem Z-Motor. Dabei wird der Schalter wie der Y-Endschalter angeschlossen. Die LED auf dem Duet Board soll nun leuchten, wenn der Endschalter nicht betätigt wird. Die Löcher zur Montage des Tasters sind im X-Achstenträger schon vorhanden und müssen nicht neu angebracht werden.

Der schwierigste Teil ist es den Endtaster jetzt als Quelle für den Nullpunkt zu etablieren. Dazu muss die Firmware geändert werden. Dank 3D-ES gibt es aber ein script, mit dem man sich das git Repository von dc42 herunterladen kann. Dort muss in der Auswahl allerdings der dev tree und nicht der duet tree aus.

   – git clone -b duet ${FW_REPO}/${FIRMWARE} ${FIRMWARE}
   + git clone -b dev ${FW_REPO}/${FIRMWARE} ${FIRMWARE}

Nachdem das Repository heruntergeladen wurde kann mit 

   ./make.sh && ./make.sh install

Der Code kompiliert und installiert werden. Die zu ändernden Werte befinden sich in der Datei „Platform.h“ bei Zeile 120

   – #define Z_PROBE_AXES {true, false, true}
   + #define Z_PROBE_AXES {false, false, true}

Damit wird der Firmware gesagt, dass nur noch die Z-Achse mit Hilfe des Z-Sensors genullt werden soll. Alle anderen Achsen haben eigene Endstops.

Bei der Einstellung des Z-Nullpunkts kann wie in der Anleitung beschrieben vorgegangen werden, nur dass man jetzt einen definierten Schaltpunkt hat und daher der Wert keine Rolle spielt. Ich habe mich langsam an den Nullpunkt herangetastet und dann 1,5mm nach oben gefahren. Der Schaltpunkt des Sensors habe ich dann so eingestellt, dass er gerade an diesem Punkt schaltet. Dann den Punkt noch einmal angefahren und der neue Wert für M31 stand fest.

   M31 Z1.66 P600

Wobei der Wert bei P wie oben schon beschrieben relativ egal ist, da der Sensor einen Schaltpunkt hat ab dem er dann von 0V auf einen festen Wert springt. Dieser Wert ist meistens die Betriebsspannung des Sensors. In unserem Fall ist das aber ehr hinderlich, da der Sensor mit 12V betrieben werden muss. Also ein Spannugnsteiler zwischen Signal und Masse, sodass ein ca. 3V starkes Signal am ADC Eingang anliegt. Den Sensor, wie den Taster für die X-Achse, als einfacher Enschalter zu verwenden scheitert, da der Sensor auf Versorgungsspannung schaltet und nicht auf GND, wie es von den Endschaltern getan ist. Hier kann man eventuell noch etwas verbessern.

Alle Änderungen in der Firmware des Ormerod werden in meinem github Repository eingespielt und stehen zur Verwendung zur Vefügung.

3D Drucker der zweite Akt

Ein paar Drucke sind erfolgreich beendet worden, es sind sogar ein paar brauchbare Sachen dabei herausgekommen. Aber was wäre denn ein RepRap, wenn er nicht direkt mit besseren Teilen erweitert wird. Wie im ersten Bericht schon beschrieben sind die Zahnräder für die Z-Achse bereits ersetzt. Heute habe ich das Flachbandkabel für das beheizte Druckbett mit einem 1,5 mm² Kabel ersetzt. Das ist jetzt wesentlich leichter zu verlegen und blockiert nicht die komplette Steuerplatine. Weiterhin habe ich das Netzteil so angeschlossen, dass ich über G-Code Befehle die 12V Steuerspannung zu und abschalten kann. Das benötigt allerdings eine angepasste Firmware. Ich habe es heute mit der Version von dc42 versucht. Die bringt auch gleich eine neue Weboberfläche mit. Somit ist jetzt lediglich die Logik mit dem Standbystrom des Netzteil verbunden und bei bedarf wird die komplette Energie des Netzteils hinzugeschaltet.

Ormerod 1 mit erhöhtem Druckbett und neuem Kabelbaum für den Heizer

Das Software update hat allerdings auch seine Nachteile mit sich gebracht. Einmal führte es dazu, dass der X-Achsen Motor falsch herum angesteuert wurde. Im Nachhinein sind jetzt alle Achsenmotoren gleich angeschlossen und es funktioniert wieder. Ein weiteres Problem, das leider weiterhin besteht ist, dass der Vorgang des Nullens der Z-Achse das Koordinatensystem verschiebt. Und das führt dazu, dass die Punkte für den automatischen Bettabgleich nicht mehr an den ursprünglichen Punkten zu finden sind. Ich hatte aber heute keine Zeit mehr die Punkte anzupassen und zu testen, ob ich mit neuen Referenzpunkten auf ein annehmbares Ergebnis komme. Laut dc42 liegt dieser Fehler an einem Bug in der RepRapPro Firmware, die auch in sinem Fork nicht behoben wurde. Der Bug tritt auf, wenn Achsenkompensation verwendet wird. Eine weitere Untersuchung folgt. Update: Die heute erschienene Version 0.78t zeigt dieses Verhalten nicht mehr.

Geplant sind weitere Erweiterungen, wie ein Schwingungsdämpfer, sowie ein Schutz für den Lüfter. Auch werde ich auf lange Sicht den optischen Sensor gegen einen kapazitiven tauschen, ich habe nämlich heute einige Tests gemacht, die sehr vielversprechend auf die Reproduzierbarkeit der Ergebnisse gelaufen sind. Das Problem des optischen Sensors ist, neben der Empfindlichkeit gegenüber Tageslicht, die ungleichen Refektionseigenschaften der unterschiedlichen Tastpunkte. Mit dem kapazitiven Sensor habe ich an zwei unterschiedlichen Stellen den Nullpunkt einwandfrei bestimmen können.

Ein weiterer geplanter Umbau ist die Neustrukturierung des X-Auslegers. Dort wird im Moment eine M5 Gewindestange verwendet um den Arm nach obern und unten zu verfahren. Ich habe mir überlegt die vorhandenen Kunststoffteile so neu zu drucken, dass die Kraft nicht mehr von der Seite, sondern zwischen Führungslinie und Biegekraft liegt, also auf einer Achse mit dem Ausleger. Außerdem soll die M5 Spindel gegen eine stabilere und spielfreie Tr10x2 Trapezspindel getaucht werden. Der Motor wird auch nicht über Zahnräder die Achse antreiben, sondern direkt über eine Kupplung. Dieser Umbau benötigt allerdings einen funktionierenden Drucker, also erst einmal die Fehler der Achsenkompensation auftreiben und eliminieren.