Nachdem ich auf dem Bastlertreffen 2013 einen 3D-Drucker in Aktion gesehen hatte, war
ich angefixt. Ein paar Wochen später sah ich dann einen Vellemann K8200 bei einem
Bastlerkollegen und fand das eine faszinierende Maschine.
Als es dann im November
2013 bei Reichelt das Ding
für rund 700€ gab, habe ich mir den Drucker bestellt.
Der Drucker kommt als Bausatz. In etwas mehr als 40 Tüten sind die Bauteile gruppenweise verpackt und müssen nach der mitr 765 Seiten starken Anleitung (PDF-Dokument) zusammengebaut werdebn. Die mir vorliegende Version der Anleitung müsste der Hersteller vielleicht einmal selbst benutzen. Es ist ja toll, dass jeder Schritt mit Text und Foto beschrieben ist. Leider bezieht sich der Text unter einem Foto meist auf das Bild auf der nächsten Seite, weshalb man ständig am hin-und-her blättern ist. Oft werden Schraube, Mutter, Zahnscheibe und Unterlegscheibe verwechselt und die X-Achse sollte ich 2x anschließen (die Y-Achse nicht - Offensichtlicher Kopierfehler). Da heisst es also mitdenken!
Nach 2 Abenden war dieses 3D-Puzzle für Erwachsene dann zusammengeschraubt und die abenteuerliche Verkabelung verlötet.
Der Drucker ist alles andere
als ausgereift. Aber eine super
Grundlage zum selber dran
rumbasteln.
Schon beim Zusammenbau habe ich Verbesserungen vorgenommen. Die Schraube zum
einstellen des Z-Achsen-Endpunktes kam anders herum rein, damit man sie auch einstellen kann.
Laut Anleitung war das so gedacht:
Die 1Kg Spule
mit dem Filament dreht sich auf einer 6mm Gewindestange.
Mit 2 Kugellagern
aus ausrangierten Inlinern und einem Stück Alu-Rohr als Abstandshalter ist die Filamentspule
nun deutlich leichtgängiger gelagert.
Da ich Filament mehrerer Hersteller besitze, die natürlich unterschiedliche Spulenkörper benutzen, brauche ich auch mehrere Alu-Rohre.
Als Erstes habe ich mir eine gute Luftdüse gedruckt um damit eine bessere
Luftdüse zu drucken. (Quelle)
Diese Düse steckt man ohne zu schrauben
einfach auf den Lüfter.
Sie sorgt für eine schnellere Kühlung
des weichen Filaments durch
den kleinen Lüfter.
Das wird immer dann gebraucht, wenn entweder Freiräume überspannt
werden müssen (Brücken) oder auf einer Ebene so wenig zu drucken ist,
dass das Filament bis zum Druck der nächsten Ebene keine Zeit zum fest
werden hat.
Die bessere Düse ist recht groß, hat
aber einen Fuß mit wenig Fläche. (Quelle)
Nachdem sich der Ausdruck mehrmals beim Drucken des oberen Teils von der Heizplatte gelöst hat, habe ich ihn nach einem cm Bauhöhe während des druckens mit Tesakrepp festgeklebt:
Das hat nicht ganz problemlos geklappt und es entstand ein Riß weshalb ich den unteren Teil anschließend mit Epoxidharz verstärkt habe.
Nachdem ich mich mit diversen Programmen rumgeärgert habe, bin ich irgendwann bei TinKerCad gelandet. Das ist ein (Stand 12/2013) kostenloses Online-Programm mit dem man schön einfach Dinge entwerfen kann. Da eine Javascript-Api eingebaut ist, kann ich komplizierte Kurven auch durch Programmcode entwerfen.
Einziger Nachteil: bereits zwei mal haben die
Entwickler es geschafft die Software so weiter zu entwickeln, dass ich tagelang
die entworfenen Gegenstände nicht runterladen konnte. Das waren frustige
Tage.
Die Z-Achse
wird von einer primitiven M8-Gewindestange bewegt die in einem leicht schiefen Gewinde
einer Gewindebuchse steckt. Dadurch wird der
Motor beim drehen in seiner Halterung hin-
und her gebogen. Die Gewindebuchse und das Lager für die Z-Achse wurden
ersetzt. Dazu habe ich eine Wellenkupplung entworfen und mir von Thingiverse
eine schöne
Kugellagerhalterung runtergeladen und ausgedruckt.
Die Wellenkupplung
als Idee und als Ausdruck:
Der Ausdruck ist so ausgelegt, dass die senkrechten Flächen erst abgefeilt werden müssen, um ineinander zu passen. Ohne abfeilen hätte man leicht wellige senkrechte Flächen, die sich ineinander verzahnen würden. Nach der Schlüsselfeilenbehandlung sind sie schön glatt und die Kupplung läuft spielfrei.
Montiert sieht das so aus:
Das Z-Achsen Lager machte Probleme beim Ausdruck, da sich ein Ende vom Druckbett gelöst hat und nun immer weiter nach oben gezogen wurde. Nach der Montage ist die Unterseite oben und es sieht fast wie gewollt aus:
Da der Z-Achsen Schlitten schon mal klemmt, war eine Sicherungsschraube über dem Kugellager notwendig, damit die Achse den Schlitten runterdrücken kann.
Das Flachbandkabel der Y-Achse schleift bei großen Ausdrucken
am Zahnriemen der X-Achse. Also habe ich eine federleichte Kabelbrücke entworfen und
montiert.
Da auch der Ausdruck sich dauernd gelöst hat, sind 3 Ringe dran,
die man beim Druck festkleben kann und anschließend abbricht.
Befestigt ist die Rampe mit nur einer Schraube - jedes Gramm zählt!
Welche Achse ist die Y-Ache?
Kann ich mir nicht merken. Also als Fingerübung
einen Wegweiser aufgestellt:
Die Buchstaben wurden mit weißem Nagellack so kontrastreich gemacht.
Die Heizplatte
erscheint recht uneben.
Insbesondere in der Nähe
der Befestigungsschrauben.
Da ich eine Meßuhr besitze habe ich einen Meßuhrhalter
entworfen um die Uhr temporär an der Z-Achse zu befestigen.
Die Uhr zeigt bis zu 0,3mm Unebenheit - mehr als eine Drucklage
dick ist. Also ist das Druckbett unbrauchbar.
Abhilfe schafft eine
Ikea-Spiegelfliese Sörli, die ich vollflächig mit Wäremeleitpaste
eingeschmiert und anfangs mit Tesakrepp und meiner einzigen Foldback-Klammern
auf dem Heizbett fixiert habe.
Inzwischen hängen da an jeder Seite Klammern dran und irgendwann habe ich die Oberfläche mit Kapton-Klebeband beklebt und anschließend mit 400er Schleifpapier aufgerauht. Jetzt kleben die Ausdrucke recht gut von allein.
Und die gesamte Fläche
hat weniger als 1/10mm Unebenheit. Jetzt kann ich auch schwierigere Sachen
drucken.
Aufgrund des Gewichts der Spiegelfliese verlor die X-Achse gelegentlich Schritte. Das sieht dann so aus:
Also habe ich den Spulenstrom ein wenig erhöht und nun klappt der Ausdruck einwandfrei.
Der Temperaturfühler am Extruder ist eine winzige Glasperle mit ein paar haarfeinen Anschlußdrähten die in einem ebenso winzigen Loch im Extruder sitzen soll.
Beim Zusammenbau hatte ich erst die Drähte gekürzt um sie dann an die dicken Anschlußkabel zu löten. Dabei ist beim berühren mit dem Lötkolben die Glasperle vom Tisch gehüpft und ich habe mit starker Taschenlampe und Kopflupe eine Viertelstunde erfolglos den Boden abgesucht um anschließend den beiliegenden Reservefühler einzubauen. Dabei habe ich erstmal einen dünnen langen roten Draht an ein Bein gelötet, dann das andere abgeknipst, mit dem Anschluß verlötet und erst dannach das 2. Bein gekürzt.
Nach ein paar Wochen war die Lötstelle gebrochen und ich mußte das irgendwie flicken. Jetzt habe ich einen Fädeldraht an ein Bein gemacht, wodurch sich die Perle deutlich einfacher in dem Loch im Extruder platzieren läßt.
Damit der Fühler sich nicht von Zugluft irritieren läßt, habe ich nichtleitende 300°C feste Wärmeleitpaste in das Loch geschmiert und dann die Perle montiert.
Damit man eine Vorstellung von der Winzigkeit hat: Die fett aussehende Schraube ist lediglich eine M3 Schraube, der Kupferdraht ist 1/3mm dick!
Nun funktioniert die Temperaturregelung prima und der Temperaturmonitor zeigt Schwankungen von nur noch wenigen Grad an.
Die Zuleitung hat
einen Drahtbruch direkt unter der Unterlegscheibe. Also muss das verbessert werden. Auch die
vorgesehene Montage hat mir gar nicht gefallen. Hier meine neue Lösung:
In ein Stück
Lochrasterplatine mit Lötstreifen habe ich ein 3.5mm Loch gebohrt un den Temperatursensor
an einer Seite angelötet. Die Beine habe ich dabei
recht kurz gehalten.
Die weißen Anschlussdrähte kommen an die andere Seite der Platine.
Mit einer Isolierscheibe habe ich die Platine an das Hotend geschraubt. Die Montage geht erheblich problemloser und der Temperaturfühler kann nach dem Anschrauben in dem kleinen Loch versenkt und dann mit Wärmeleitpaste zugeschmiert werden..
Die Hitze setzt der Platine natürlich ganz schön zu. Inzwischen ist das blanke Kupfer teilweise schwarz, was die Funktion aber nicht beeinträchtigt.
Nach ein paar Monaten beginnt die Temperatur wieder zu spinnen. Die Heizung läuft zeitweise einfach volle Pulle durch. So macht drucken keinen Spaß:
Die Platine ist für diese Temperaturen offensichtlich ungeeignet. Da ist ja nix gutes mehr dran:
Da ich zukünftig ABS-Filament
verdrucken will, für dass Temperaturen um 240° nötig sind, brauche
ich eine robustere Lösung.
Die Idee: Die Lötstellen vom Temperatursensor
möglichst kühl lassen. Die Beinchen ordentlich lang lassen und vom Heizelement
wegführen. Dazu habe ich ein schlecht wärmeleitendes Edelstahlblech zurechtgebogen,
ausgefeilt und mit Unterlegscheibe als Abstandshalter angeschraubt:
Die Anschlussdrähte der Glasperle wurden kaum gekürzt und mit temperaturfestem Gewebeschlauch isoliert.
Dann habe ich mir eine kleine Kartusche Hochtemperatur-Silikon besorgt:
Damit wurden die Drähte im Halter fixiert:
Anschließend wurde das ganze Gebilde schön zugeschmiert, damit Luftzug nicht direkt den Fühler erreicht.
Das hat geholfen und sich nun schon einige Wochen bewährt.
"Abs ist empfindlich
gegen Zug, braucht über 100 Grad Heizbettemperatur
und stinkt fürchterlich so dass man es nicht im Wohnraum
verdrucken kann." Das habe ich zumindest gelesen.
"Auf dem Heizbett
bringt man am Besten eine in Aceton gelöste ABS-Schicht auf, damit die
Drucke haften". Welch Aufwand! Wenn ich dann wieder PLA drucke, muss
ich dann gen ganzen Drucktisch reinigen?
Dann habe ich es einfach ausprobiert
und festgestellt: alles halb so wild.
Benutzt habe
ich 3mm Filament von Innofil. Temperatur 238°C, Bettemperatur: bei ersten Versuchen
alles was mein 30V/5A Netzteil hergibt. Das waren knapp 110°C. Das beigefügte
15V Netzteil ist dafür ungeeignet. Damit kam ich nur auf rund 65°
nach ewiger Wartezeit.
Erstaunlicherweise stinkt beim Drucken nix. Ich fand
es ist kaum mehr Geruchsbelästigung
als beim PLA. Als Haftvermittler
dient bei mir Haarspray das gelegentlich auf die Glasplatte gesprüht wird. Das klappt bei
PLA und ABS! Bei den Haarsprays scheint es aber gewaltige Unterschiede bei der Eignung zu geben.
Zufällig war das Erste von mir benutzte auch das bisher mit Abstand Beste:
Selbst wenn man von der gleichen Marke eine Dose Extra Starker Halt in der Version mit rotem Ring (statt blauem) nimmt, hält das Objekt nicht mehr ganz so gut.
Die Temperatur des Heizbettes stelle ich inzwischen auf 85°C. Reicht völlig! Damit klebt das ABS bombenfest an der Glasplatte. Man muss nach dem Druck wirklich warten, bis sich alles abgekühlt hat, sonst bekommt man das Objekt nicht ab.
Leider bildet sich innerhalb des Extruders ein dicker Tropfen, so dass man nach dem Abkühlen das Filament nicht mehr herausbekommt.
Für einen Wechsel auf eine andere Farbe oder PLA habe ich mehrfach den Extruder auseinandernehmen müssen, weil die Wärme da wohl nicht so leicht hin kommt. Daher werfe ich nun das Filament nach dem Drucken einfach ganz raus und schneide den Tropfen dann ab. Der End-Code sieht bei mir nun so aus:
---------------------------------------------------------------------- M140 S0 ; Disable heated bed G91 ; Relative positioning G1 Z15 ; --- Anheben G1 F2000 E-100 ; --- Filament auswerfen {IF_EXT0}T0 {IF_EXT0}G1 E-1 ; Reduce filament pressure M104 T0 S0 M107 ; Turn off fan G90 ; Absolute positioning G1 X0 Y0 ; Get extruder out of way. G92 E0 ; Reset extruder position M84 ; Turn steppers off ----------------------------------------------------------------------
Sehr ärgerlich: manchmal kommt der Drucker in Resonanz und dann verliert er einen Schritt. Meist in X-Richtung.
Klar, da muss der kleine Motor rund 1,7Kg Masse hin und her schubsen.
Abhilfe schafft eine geringere Beschleunigung.
Mit dem M201 Kommando kann man die Beschleunigung einstellen. Im Quellcode sind 1000 Steps/s² zu finden. Ich habe dern Wert einfach halbiert und seit dem keinen Schritt mehr verloren. Einstellen kann man das mit dem M201 Kommando. So habe ich bei kritischen Ausdrucken folgenden Code im Start-G-Code (der vor jedem Ausdruck übertragen wird):
---------------------------------------------------------------------- M201 X300 Y400 Z100 ; Butterweiche Beschleunigung M203 Z8 ; MARLIN: Z-Achse auf max 8mm/s ----------------------------------------------------------------------
Die zweite Zeile macht die Z-Achse langsamer, wodurch der Extruder nach einer Bewegung nicht mehr so schwingt.
Die Temperatur beim Drucken von ABS wird nicht besonders gut gehalten, sondern schwingt ordentlich um den eigentlichen Sollwert. Die Software beherrscht aber ein sogenanntes Autotuning des PID-Reglers.
Das geht so:
Bei kaltem Extruder gibt man in Repetier-Host manuell diese G-Code Kommando ein:
---------------------------------------------------------------------- M303 E0 S238 C8 ----------------------------------------------------------------------
Dabei ist S238 die Solltemperatur auf die optimiert werden soll, hier also 238°C.
Der Drucker heizt nun auf, macht ein wenig mit den Temperaturen rum und gibt dann 3 Werte (Kp, Ki und Kd) aus, die man nun
für die Temperaturregelung nutzen kann.
Nutzen tut man sie mit dem Kommando M301. Ich habe in den Script, der vor jedem Drucken ausgeführt wird, folgendes eingebaut:
---------------------------------------------------------------------- M301 P27.78 I1.06 D182.06 ----------------------------------------------------------------------
Wie gut das wirkt habe ich mal aufgezeichnet:
Im Detail:
Besser geht's wirklich nicht!
Die Z-Achse ist ja immer noch so eine olle M8 Gewindestange mit 1.25mm Steigung und selbstgedruckter Motorkupplung. Das ist alles nicht besonders präzise und deshalb haben meine Ausdrucke alle 1,25mm eine Unebenheit. Und wenn die X-Achse kräftig rappelt, schwingt der ganze Ausleger so dass der Druckkopf schon mal bis auf das Objekt drückt. Das kann man ja besser machen.
Bei Reichelt gab es für den K8200 das Angebot für rund 60 Euros eine Trapezgewindespindel mit Mutter(Kunststoff) und Wellenkupplung zu erhalten. Plus Porto. Also habe ich lieber bei Dold-Mechatronik für 40€ incl. Versand zwei Trapezgewindespindeln 8x1,5 rechts 50cm (1502), zwei Trapezgewindemuttern ELRM 8x1,5 rechts Rotguss D22L20 (1567) und eine Wellenkupplung RB flexibel D20L25 5,00/8,00mm (40109) bestellt. Dazu noch ein Zahnriemen PU-Zahnriemen 6-T5-1115 von Zahnriemen24. (13,35€ + 2,90€)
Die notwendigen Kunststoffteile wurden mit OpenScad entworfen und natürlich selbst gedruckt. Die Rotguss-Mutter wird von diesem Ding gehalten und ist mit einer M3 Schraube gegen verdrehen gesichert:
Montiert sieht das so aus:
Die senkrechten M3 Schrauben habe ich eingebaut, da der Block ja auf Lagen auseinanderreißen belastet wird und ich der Stabilität des ABS da nicht ganz traue.
Nachdem ich die Gewindespindel eingebaut habe, stellte ich fest, dass die Mitte nicht genau zur Motorwelle passt. Aber durch hinterlegen eines Kartonstreifens war das einfach zu beheben.
Die Welle soll nicht auf dem Motor stehen, sondern am oberen Lager hängen. Also habe ich eine Trapezgewindemutter gebraucht. So ein Gewinde zu konstruieren ist nicht leicht. Und es zu drucken auch nicht. Also habe ich ein simples M8 Gewinde genommen und die Steigung um Faktor 1.5/1.25 skaliert.
In den noch heißen Ausdruck (ABS) habe ich dann die Spindel direkt auf dem Heiztisch eingedreht. Das ging einigermaßen.
Bei den folgenden Muttern (ich brauche 4) habe ich die Spindel in Aceton getaucht und dann die Mutter drübergewürgt. Nach wenigen Sekunden
dreht sie sich ganz leicht. Am nächsten Tag war sie dann dermaßen fest, dass ich sie fast nicht mehr los bekommen habe. Aber durch das
Anlösen des ABS mit Aceton hat die Spindel ihr Gewindeprofil prima auf die Mutter übertragen.
Montiert sieht das so aus:
Nun musste noch die geänderte Spindelsteigung in der Firmware berücksichtigt werden. Dazu braucht man die Software Arduino 1.0.6 (genau die! Version 1.6.0 geht nicht) und stöbert den Marlin Quelltext der Firmware auf. Download, auspacken, Marlin.ino öffnen. Als Board Arduino Mega2560 or Mega ADK einstellen. In Configuration.h dann die Anpassungen vornehmen. Im Original steht da
---------------------------------------------------------------------- // default steps per unit for ultimaker #define DEFAULT_AXIS_STEPS_PER_UNIT {64.25,64.25,2560,600} ----------------------------------------------------------------------
Das habe ich geändert in
---------------------------------------------------------------------- // default steps per unit for K8200 #define DEFAULT_AXIS_STEPS_PER_UNIT {64.25,64.25,3200/1.5, 600} ----------------------------------------------------------------------
Auf dem Prozessorboard unterhalb der Anschlüsse für Fan/Z/Y/X nun die die 2 PROG Kontakte mit einem Jumper brücken und auf Upload klicken. Wenn der Upload geklappt hat, den Jumper wieder entfernen. War eigentlich ganz easy.
Und das Resultat der Mühe:
Die Ausdrucke wurden schlagartig besser! Also war ich motiviert, auch die zweite Spindel zu montieren. Los geht's.
Halterung oben:
Die Langlöcher dienen zum spannen des Zahnriemens. Deshalb musste im senkrechten Teil die Einlage für das Aluprofil getrennt vom Halter sein. An den Halter habe ich kleine Blöcke als Mutternauflage für die M5 Muttern drangebaut.
Der untere Halter hat keine Langlöcher sondern ist nach ausprobieren der Riemenspannung einfach auf Maß gedruckt.
Montiert sieht das so aus.
Die Verbindung zum Extruder-Halter habe ich mit zwei Gabeln gemacht, die auf den Seeger-Ring des Linearlagers gehen.
Das ist leider ein wenig wackelig, weil sich die Bronzemutter auf der Spindel etwas kippen läßt. Ich habe die Achse nun so eingestellt, dass sie den Alu-Ausleger ganz leicht anhebt. Die Unregelmäßigkeiten der Ausdrucke in Z-Richtung sind nun völlig verschwunden.
Die zugehörigen Scad und STL Dateien findet ihr unten in der Datei 137_Z2-Objekte.zip
Ich wollte es schon immer mal hinbekommen, ein rundes in ein eckiges Objekt übergehen zu lassen. Das war nicht ganz trivial, da man in OpenScad
zur Laufzeit keine Arrays erzeugen kann. Also erkläre ich kurz die Umsetzung:
Erstmal habe ich mir ein Modul geschrieben, mit dem ich einen Stab von Punkt a nach b erzeugen kann.
Mit einer Schleife laufe ich dann mit den Endpunkten mit einem Ende auf dem Kreis und dem anderen auf dem Rechteck. Das gibt dann sowas:
Davon mit hull() die komplexe Hülle erstellt
und dann das Ganze nochmal etwas kleiner erzeugt, ineinander gesteckt und das Differenzobjekt erzeugt (ausgehöhlt). Ein Flansch dran und das Ende abgeschrägt gibt das eine prima Luftdüse:
Nachtrag: Mann kann sich den ganzen Aufwand sparen, indem mann einfach eine Scheibe Ring und ein Rechteck erzeugt und davon die komplexe Hülle mit hull() generiert. Das Ganze nochmal, aber mit scale() um die Wandstärke verkleinert und mit difference() davon abziehen.
Den Ausdruck habe ich dann mit Acetondampf geglättet. Dazu kam ein Einmachglas auf das Druckbett (aufgeheizt auf 45°C), ein Schuß Aceton rein und die Luftdüse auf eine Bodenplatte.
Nach 15 Minuten war die Düse sehr schön glatt und glänzend:
Die zugehörigen Scad und STL Dateien findet ihr unten in der Datei 137_Z2-Objekte.zip
Diverse der hier beschriebenen ausdruckbaren Objekte habe ich in einem Archiv zusammengepackt.
Die Objekte sind im .stl Format, bei vielen habe ich auch ein Bild der Objekte als .jpg oder .png beigepackt.
Die Z-Achsen Bauteile habe ein extra Archiv. Da sind die .stl und die .scad Quelltexte mit drin.
137_3d-objekte.zip
(2MB)
137_z2-objekte.zip
(220KB)
Kommentieren | Startseite |
Diese Seiten sind darauf optimiert mit möglichst jedem Browser zu funktionieren.
Aber der Seitenquelltext (strg-U) sieht auch interessant aus, zumindest wenn man ihn mit einem Monospace Font in sehr kleiner Schriftgröße betrachtet.