Blue Flower

Projekt 3D-Fräse

Das Ursprüngliche Projekt war ein 3D-Fräsbohrplotter um Platinen für Bastelzwecke aus einer kupferbeschichteten Hartpapierplatte zu fräsen.

Begonnen habe ich damit 2006, nach der Geburt unserer Söhne ruhte das Projekt dann und erlebt nun seine Fortsetzung.

Aber lest selbst. 

Fräse komplett Kress 


 

Die erste Steuerung

Die erste Steuerung habe ich komplett selbst entworfen, sie zusammengelötet, die Microcontroller programmiert, getestet und in Betrieb genommen.
Nicht lachen, der erste Satz Schrittmotoren war - wie für Bastler üblich - aus ausgeschlachteten uralten IDE-Festplatten (20-50MB!!!) und 5 1/4 Zoll Floppys.

Diese mussten nun mit Strom versorgt werden uns ich kam zum Standardgespann L297/L298. Dies dann pro Achse schön auf eine Lötstreifenplatine gepackt und die Treiber waren fertig.
Damit aber nicht genug. Eine Steuerung musste her. Aber nicht wie üblich über den Printerport, sondern per RS232. Gesagt, getan, eine Platine genommen, einen AT-Mega32 draufgepackt,
ein Programm geschrieben, dass die RS232-Befehle in brauchbare Steuerbefehle umwandelt und gut.

Steuerung Prototyp_1  Steuerung Front_1

Damit immer noch nicht genug, denn ich wollte das Teil ja auch manuell verfahren. Also 2 Joysticks bestellt, in ein Gehäuse gepackt, ein Kabel dran und dann mit an den Mega32 gepackt,
das Programm ergänzt und auch dieses funktionierte.

Fernbedienung komplett

Jetzt noch eine Stromversorgungsplatine zusammegelötet, damit alles genug Leistung bekam (24V für die Schrittmotortreiber und 5V für die Elektronik).

Jetzt noch 2 Solid-State-Relais zusammengelötet und mit Steckdosen verbunden um die Frässpindel und den Staubsauger einschalten zu können.

Halbleiterrelais

Ein kleines Programm für den PC geschrieben um Befehle halbwegs vernünftig an die Achssteuerung übergeben zu können und soweit hats dann auch funktioniert,
dass ich "Das Haus vom Nikolaus" oder einen Frontplattenausschnitt für eine 9pol. Sub-D-Buchse fräsen konnte.

Screenshot Programm

Die Geradeninterpolation bekam ich noch programmiert, aber für die Kreisbahnberechnung bin ich dann ausgestiegen. Das war mir zu hoch.

 


 

Die Mechanik

Um mechanisch in 3 Achsen zu verfahren gibts eine Möglichkeiten.
Ich habe mich dazu entschieden runde Linearführungen mit Kugelumlaufbuchsen zu verwenden.
Grund: Bohrungen sind leicht herzustellen und unschlagbar günstig sind sie obendrein (vergleichen mit Profilschienenführungen und ihren Schlitten).
Wenn man kein allzu üppiges Budget hat, spielt das eine sehr große Rolle.

Als Antriebsspindeln dienen M6-Messinggewindestangen. Diese sind sehr maßhaltig und man kann das Übersetzungsverhältnis sehr leich berechnen.
Beispiel: Der Schrittmotor hat 200 Schritte pro Umdrehung und ein M6 Gewinde 1mm Steigung pro Umdrehung --> ergo 200 Steps/mm.
Als Gegenstück dienen grüne Kunststoffblöcke mit ihren selbstschmierenden Eigenschaften. Durch das lange Gewinde im Kunststoff sind sie annähernd spielfrei.

Führung Z-Achse  Führungen mit Aufnahme  Komplett ohne Spindel Front 

Auch die restlichen Teile wie Lagerböcke, Führungshalter und dgl. wurden der einfacheren Bearbeitbarkeit zuliebe aus weißem Kunststoff gefertigt.

Endschalter X-Achse 2

Die ganzen Teile wurden mittels Tischkreissäge und Tischständerbohrmaschine gefertigt und dann montiert.

Die ersten Motorhalterungen sehen zwar etwas windig aus, waren für ihren Zweck aber durchaus brauchbar.

Die "Schlauchkupplung" wurde auch eher aus der Not geboren, da ich leider nicht im Besitz eines 6,35mm Bohrers war und der Schlauch zufällig auf der Werkbank lag.
Gepasst hat er auf Anhieb und die 2-Ohr-Klemmen waren auch in der Wühlkiste, somit war der Antrieb auch fertig.

 

 


 

Upgrade V2

Nachdem die Technik ja nicht stehenbleibt und es mittlerweile bezahlbare Angebote gibt, habe ich mich entschlossen meine Steuerung upzudaten und mir ein RAMPS 1.4 mit Pololus und FullGraphicDispaly zuzulegen.

Ramps1.4 mit Graphic-LCD_1

Die Platine ist klein und handlich, die Kühlkörper sind schon fast minimalisitsch, ein ATX-Netzteil hatte ich noch rumliegen und ein ausgedienter PC war auch schnell ausgestaubt und wieder angeseteckt.
Auf dem PC läuft opensuse 12.3 mit installiertem Arduino Sketch. Als Frirmware-Grundlage habe ich die Marlin hergenommen und angepasst, als Host kommt Repetier zum Einsatz.

Das hat mich leider mehr Nerven gekostet als ich dachte und so ganz schlau bin ich - nachdems jetzt funktioniert - immer noch nicht ?!?
Aber es Funktioniert immerhin, so wie ich möchte.

Ich stellte aber fest, dass die "kleinen" Schrittmotoren dann wohl doch zu windig waren um die Spindeln vernünftig antreiben zu können.
Also größere Schrittmotoren besorgt (gabs im 5er-Set) 2,8Nm Halte und 1,1Nm Antriebsmoment sollten reichen.

Schrittmotor neu_1

Endschalter (Hardware, keine Hall !) in der Z-Achse wurden auch noch angebracht und somit können auch die Null- und Homepunkte angefahren werden.

 


Test V2

Ums wieder testen zu können hab ich mir noch einen gefederten Stift gebaut.

Gefederter Stift als Fräserersatz und zum Testen_1

Dazu habe ich ein Aluröhrchen verwendet in dem ein runter Bleistift fast genau reinpasst (ok, war Zufall). Auf einer Seite habe ich ihn dann an 4 Stellen so zusammengequetscht, dass der Stift nicht mehr raus kann, sich aber auch nicht verklemmt.
Nun von hinten noch mit einer Feder draufdrücken und schon ist das Werkzeug fertig.
In den Adapter der Frässpindelaufnahme habe ich diesen so weit eingeschoben, dass er so ziemlich dem Fräser der Spindel entspricht. So könnte ich das eine gegen das andere austauschen.

Wie mir aber aufgefallen ist, arbeiten die Antriebe erst, wenn die Solltemperatur (ist ja für einen 3D-Drucker gedacht) von Extruder und Bett erreicht ist.
Um dies zu umgehen, habe ich mir einfach an die Kabel Potis angelötet und somit simuliere ich die Temperatursensoren.
Wers brauchen kann: T0 (Extruder) sind 540 Ohm = 200°C; T1 (Bett) sind 22,2 kOhm = 60°C.

Da ich mir ja eine Fräse zusammengebaut habe, zweckentfremde ich die 3 noch verbleibenden Ausgänge für Lüfter, Bett- und Extruderheizung.
An den Lüfter kommt ein Solid-State-Relais (SSR) für den Fräsmotor und die Extruderheizung schaltet über ein SSR den Staubsauger.
So brauch ich nicht in der Programmierung von Marlin rumpfuschen (denn mehr wäre es bei mir nicht) und kann trotzdem diese Ausgänge über die M-Befehle steuern.
Bei der Bettheizung muss man vorsichtig sein, denn die reagiert teils extrem zeitverzögert !

Was ich allerdings bei einem Blick interessehalber in die Marlin Programmierung gesehen habe: Marlin kann G2- und G3-Befehle verarbeiten (entgegen der RepRap-Anleitung) !

Das habe ich dann auch ausprobiert und siehe da, man kann mit Marlin auch Kreisbahnfahren (rechtes Beispiel) !

G-Code-Programme Stifttest_1

Der Code dazu sieht so aus:

G-Code-Programm Radien_1

Jetzt bräuchte es nur noch einen Slicer, der diese Befehle auch nutzt, denn ich habe das Beispiel eines Speichenrades gesehen, dass einfach in Scheibchen zerschnitten wurde.
Das gibt aber keine runden Kreisbahnen (ja, ich weiß dass Schrittmotoren auch keine wirklichen Kreisbahnen fahren, aber sie lösen viel feiner beim Fahren eines Kreises auf).

Vor allem sollte der Slicer auch eine Werkzeugauswahl oder Eingabe beherrschen, denn ich habe z.B. nun mal einen 4mm Fräser und keine 0.25mm Düse.

Aber das ist der nächste Schritt.