Shapeoko 2: Unterschied zwischen den Versionen
Echox (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
|||
(58 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{ | {{GeraetInfoBox | ||
|name | |name = Shapeoko 2 | ||
|status | |status = beta | ||
|image | |image = | ||
| | |manufacturer = Inventables | ||
| | |model = Shapeoko 2 | ||
| | |description = CNC-Fräse | ||
| | |documentation = | ||
| | |owner = | ||
| | |username = | ||
| | |financing = | ||
|location = | |||
| | |||
}} | }} | ||
Nach Abstimmung im Septemberplenum 2014 hat das RaumzeitLabor eine CNC Fräse vom Typ "Shapeoko 2" von [http://inventables.com Inventables] gekauft. | Nach Abstimmung im Septemberplenum 2014 hat das RaumzeitLabor eine CNC Fräse vom Typ "Shapeoko 2" von [http://inventables.com Inventables] gekauft. | ||
== Doku & Links == | == Doku & Links == | ||
* http://docs.shapeoko.com/ -- Manual und viel Info des Herstellers | <s>* http://docs.shapeoko.com/ -- Manual und viel Info des Herstellers | ||
* http://www.shapeoko.com/wiki/index.php/Endmills -- Gute Wiki-Seite, die die Unterschiede zwischen verschiedenen Fräser-Typen und Materialien erläutert. | ** http://www.shapeoko.com/wiki/index.php/Endmills -- Gute Wiki-Seite, die die Unterschiede zwischen verschiedenen Fräser-Typen und Materialien erläutert.</s> | ||
Hinweis: Das Wiki ist nicht mehr erreichbar. Es gibt ein paar gespiegelte Infos hier: https://www.reddit.com/r/shapeoko/wiki/g-code/ | |||
* http://www.cnccookbook.com/ -- Be a better CNC'er | |||
* https://github.com/synthetos/ -- Github-Repo der Controller-Hardware. Relevante Repos bzw. deren Wikis sind: | |||
** https://github.com/synthetos/tinyg/wiki | |||
** https://github.com/synthetos/g2/wiki | |||
** https://github.com/synthetos/grblShield/wiki | |||
* https://github.com/grbl/grbl/wiki -- Grbl Wiki und Firmware | |||
** https://github.com/grbl/grbl/wiki -- Development-Version grbl | |||
== Workflow == | |||
Leider ist zerspanendes Arbeiten nicht so gutmütig und Einsteiger-freundlich wie 3d-Drucken. Wir wirken ja mit zerstörerischer Kraft auf das Werkstück ein und bei Fehlern geht also schnell mal was kaputt - bestenfalls das Werkstück, schlimmstenfalls Körperteile. Es lohnt sich also zunächst einige Zeit in Planung ('''zweimal Messen, einmal Schneiden!''') und Anlesen von Basiswissen zu investieren. <s>Ein guter Einstiegspunkt ist [http://www.shapeoko.com/wiki/index.php/Main_Page#Overview diese Wikiseite im Shapeoko-Wiki].</s> | |||
=== 2.5D vs. 3D === | |||
Man spricht bei einer CNC Fräse von 2.5D, wenn man eine 2D Vektordatei fräst und sich der dreidimensionale Teil auf die Tiefe beschränkt. D.h. Die 2D Vektorlinien werden "extrudiert" zu einem 3D Modell ==> 2.5D, In diesem Fall muss der Fräser nur die Vektoren abfahren und sich auf der Z-Achse nur schrittweise nach unten bewegen, um nach und nach Material ab zutragen. Bei einem echten 3D Job dagegen wird das Werkstück in verschiedenen Richtungen überfahren und der Fräskopf muss dabei die Konturen auf der Z-Achse Nachfahren. D.h. er hebt und senkt sich (je nach Modell) während er eine Fläche ab trägt. | |||
Für 2.5D benötigt man kein 3D Modell und kein Tool zum bearbeiten von 3D Modellen (3D-CAD oder andere modeling tools wie bspw. "blender"). Es genügt ein 2D Vektorgrafik-Programm wie Illustrator, Inkscape <s>oder MakerCAM</s>. Bei den reinen Vektor-Grafik-Editoren sind dabei meist Plugins zur Beschreibung der Tiefe und zum Exportieren von gCode notwendig. | |||
=== CAD -> CAM -> (Post-Prozessor) -> Gcode -> (Simulator) -> G-Code-Sender -> Controller -> Aktoren === | |||
Ähnlich wie beim 3D Druck ist der Weg zum Fräsen in folgende Schritte eingeteilt: | |||
* Modell erstellen | |||
* Modell in Schichten zerlegen (G-Code) | |||
* G-Code an Controller senden | |||
* Controller steuert Fräse bzw. 3D Drucker nach G-Code-Instruktionen | |||
<s>Einen guten Überblick über Toolchains und den gesamten Workflow gibt [http://www.shapeoko.com/wiki/index.php/Workflow diese Wikiseite auf shapeoko.com].</s> | |||
== Toolchains == | === Toolchains === | ||
Es gibt Toolchains wie Sand am Meer sowohl Freeware und/oder OpenSource als auch im hochpreisigen Bezahlsegment. | Es gibt Toolchains wie Sand am Meer sowohl Freeware und/oder OpenSource als auch im hochpreisigen Bezahlsegment. | ||
Wie immer bei Software leider auch ein sehr inkonstantes Feld. | |||
<s>[http://www.shapeoko.com/wiki/index.php/Software Hier] ist ein guter Einstiegspunkt um sich für die Plattform der Wahl einen Überblick zu verschaffen. Letzten Endes hilft eigentlich nur ausprobieren womit man gut zurecht kommt.</s> | |||
==== Connect to Fräse ==== | |||
Um eineige Probleme mit dem "tinyG + chilipeppr.com/tinyg Setup" anzugehen bietet es sich an die Fräse nicht über rzl-hardcore anzusprechen ;-). | |||
Statdessen hat die Fräse ihr eigenes wifi (rzl-fraese) mit identischem Passwort wie rzl-hardcore. Im Unterbau der Fräse steht hierzu ein AP. Auf dem Laptop neben der Fräse läuft der serial-port-json-server. | |||
Wer jetzt nur noch Bahnhof versteht, sei auf das TinyG-Kapitel dieses Artikels verwiesen. | |||
==== User-Toolchains ==== | |||
In diesem Kapitel sind alle Anwender aufgerufen ihre (aktuelle) Toolchain zu dokumentieren. Was funktioniert, was nicht? Welche Versionen werden eingesetzt? Bitte Datum nicht vergessen! Ggf. muss auch das Controller-target angegeben werden! | |||
* 09/2017 2D Kontur, Aluminium | |||
** Usecase: 3mm Alu-Fräsen für MendelMax2 | |||
** CAD: Autodesk Fusion 360 (derzeit auf Mindstorms Laptop 3 installiert) | |||
** CAM: Autodes Fusion 360 | |||
** Machining: CNCjs (derzeit auf Mindstorms Laptop 3 installiert) | |||
** Status: funktioniert | |||
* 06/2016 3D [silvester] | |||
* | ** Usecase: 3D-Fräsen aus Vollmaterial (Dachlatte und Acryl) | ||
* | ** Controller-target: TinyG v0.95 | ||
* | ** CAD: OpenSCAD 2015.03 | ||
* | ** CAM: CamBam v.0.9.8p | ||
** Simulation: CamBam + Chilipeppr | |||
** Machining: [http://chilipeppr.com/tinyg Chilipeppr.com/tinyg] + Serial-Port-JSON-Server. | |||
** Status: funktioniert. | |||
** Probleme: Siehe generelle Probleme mit TinyG | |||
* 02/2017 2D-PCB [silvester] | |||
** Usecase: PCB-Fräsen (isolation routing. Garavieren, Bohren, Ausschneiden) | |||
** Controller-target: TinyG v0.95 | |||
** CAD: KiCAD v4.0.4 (Layout wird als Gerber-File exportiert) | |||
** CAM: pcb2gcode.py | |||
** Simulation: Fuck no! We're doin' it live! | |||
** Machining: http://chilipeppr.com/tinyg | |||
** Status: funktioniert. | |||
** Probleme: eigentlich keine. pcb2gcode funktioniert erstaunlich gut. [https://github.com/s1lvester/mydotfiles/blob/master/millproject HIER] gibts das verwendete profile für pcb2gcode | |||
* 10/2016 2D-PCB [silvester] | |||
** Usecase: PCB-Fräsen (isolation routing. Garavieren, Bohren, Ausschneiden) | |||
** Controller-target: TinyG v0.95 | |||
** CAD: KiCAD v4.0.4 (Layout wird als Gerber-File exportiert) | |||
** CAM: Flatcam v8.5 (3 aufeinanderfolgende Jobs: 1. Gravieren, 2. Bohren, 3. Outlines fräsen), Export zu Gcode | |||
** Simulation: Fuck no! We're doin' it live! | |||
** Machining: | |||
*** 1. [http://chilipeppr.com/tinyg Chilipeppr.com/tinyg] + Serial-Port-JSON-Server. Damit dann zunächst auto-leveling, dann Übernahme des Höhenprofils in den Gcode. | |||
** Status: funktioniert. | |||
** Probleme: Aufwändig. Much hassle. Siehe auch: generelle Probleme mit TinyG | |||
== Fräsbare Materialien == | == Fräsbare Materialien == | ||
Zeile 78: | Zeile 108: | ||
Polyethylen High-Density, siehe [https://www.youtube.com/watch?v=T1pkyLY8Qvs Verarbeitungsbeispiel]. [http://www.s-polytec.de/pe-platten-schwarz_pe-platte-schwarz-20mm-auf-mass.html Bezugsquelle] | Polyethylen High-Density, siehe [https://www.youtube.com/watch?v=T1pkyLY8Qvs Verarbeitungsbeispiel]. [http://www.s-polytec.de/pe-platten-schwarz_pe-platte-schwarz-20mm-auf-mass.html Bezugsquelle] | ||
== Verkabelungsinformationen == | === Sperrholz (Modell: "Dachlatte") === | ||
Einfach zu verarbeiten. Die Fräse schafft hier locker 1mm Zustellung beim Schruppen. X/Y-Vorschub bis 600mm/min. Z-Vorschub maximal 300mm/min. (Das ganze mit einer "3mm 2-Flute Endmill") | |||
=== Aluminium === | |||
Auf unserer Maschine der absolute Endgegner. Bisher getestet: | |||
Aluminiumblech 3mm aus dem Bauhaus sowie AlMg4,5Mn. 3mm Fräser, Vorschub 100mm/min, mehrere Passes mit jeweils 0,25mm Tiefe, Eintauchgeschwindigkeit 10mm/min. Dauert ewig, aber geht. Problem ist die mangelnde Steifigkeit unserer Shapeoko. Entsprechende Fräser hat Feli, einfach fragen. | |||
=== Delrin === | |||
Absolutes Traummaterial, super einfach zu fräsen. | |||
== Aktuell verbauter Controller: TinyG == | |||
Der TinyG Controller stellt ein serielles Interface zur Verfügung. Prinzipiell ist das Protokoll frei wählbar. Per default laufen 115200 Baud 8N1 mit Hardware-Flow-Control. Verbindet man sich auf dieses Interface z.B. mit '''minicom -d /dev/ttyUSB0 -c on''' erhält man mit '''$h''' das help menue. Grundsätzlich spricht der TinyG entweder ascii oder json. Der Parser kann explizit oder implizit (Command beginnt mit geschweifter Klammer) zwischen den Modi hin und her switchen. | |||
=== Firmware & Config === | |||
Unter https://synthetos.github.io/ gibt es aktuelle Firmware und eine flash-Anleitung für den TinyG. Am 05.12.2015 wurde die Version 440.20 aus dem master-branch installiert. Die Firmware selbst wird ist zunächst über eine Reihe von Variablen konfiguriert. Auf der seriellen Konsole erhält man mittels '''$$''' alle definierten Variablen. | |||
Auf der Unterseite [[Shapeoko_2/tinyg_settings]] ist eine aktuelle Config inklusive der konfigurierten Endstops dokumentiert. | |||
==== Z-Achse ==== | |||
Weil unsere Maschine bereits das ACME-Z-Achsen-Upgrade eingebaut hat passt die standard-config von tinyG nicht. Auf dieser Seite [http://www.shapeoko.com/wiki/index.php/Zaxis_ACME#Updating_Software im shapeoko-wiki] wird gezeigt wie die Steppings berechnet werden. | |||
Aktuell (05.12.2015) ist ein normales x/y/z-Koordinatensystem konfiguriert, d. h. 0/0/0 ist links unten und die Spindel ist komplett am Anschlag ausgefahren. Von hier aus kann nun in positiver x/y-Richtung und negativer z-Richtung gearbeitet werden. Das sollte auch so bleiben, weil Standard, weil isso. [https://github.com/grbl/grbl/wiki/Frequently-Asked-Questions#why-is-grbl-in-all-negative-coordinates-after-homing-or-it-so-annoying-and-not-what-im-used-to Erklärung hier.] | |||
=== I/O-Belegung === | |||
<gallery> | |||
File:tinyg_status_1.JPG|pre | |||
</gallery> | |||
=== Probleme & TODO: TinyG gegen ARM + gShield tauschen --> Upgrade auf g2core (=tinyg2) === | |||
Der TinyG war zwar 2014 mal eine geile Idee aber stand 2016 ist der Controller einfach nur hinderlich. Synthetos hatte ein eigenes JSON-Protokoll spezifiziert und den offiziellen Softwaresupport auf Chillipeppr umgestellt (Online only, siehe: [http://chillipeppr.com/tinyg]). Damit wurde der TinyG zur Insellösung, der Rest der Welt macht grbl. Das hat Stand 10/2016 auch Synthetos eingesehen und den TinyG als feature-complete bzw. EOL definiert. Alle neuen features werden in dem Projekt [https://github.com/synthetos/g2/wiki/ "g2Core"] als "Next Generation Grbl-Controller" von Synthetos entwickelt. Der Controller basiert auf ARM-Prozessoren und soll ermöglicht features die mit den 8-bit Prozessoren des Arduino UNO und des TinyG nicht möglich sind. Im wesentlichen also ein ARM (bspw. Arduino DUE) und eln bisschen Logik an den Pinouts. Für unseren Einsatzzweck ist das bereits vorhandene gShield-v5b ausreichend. Hierfür ist allerdings komplettes Neu-Verkabeln der Controllerbox notwendig. Unklar bleibt leider weiterhin ob die GUI-Developer außerhalb von Chilipeppr die Neuentwicklung annehmen, denn so wie es Momentan aussieht wird das JSON-Protokoll übernommen. --[[Benutzer:S1lvester|S1lvester]] ([[Benutzer Diskussion:S1lvester|Diskussion]]) 10:09, 25. Okt. 2016 (CEST) | |||
=== grbl === | |||
[https://github.com/grbl/grbl grbl] ist eine relativ einfache C-Firmware für ATMEL-Arduinos, die seriell gestreamten G-Code annimt und in digitalen + analogen Output umsetzt um (über entsprechende stepper-driver) Schrittmotoren zu steuern, voltage-ramps zu generieren, Input von Switches anzunehmen. De-facto laufen Stand 10/2016 alle DIY CNC-Router, 3d-Drucker, Lasercutter, Laser-Solder, Plotter, usw. mit grbl oder Abwandlungen davon. So gut wie alle Hersteller und Distributoren im DIY-Bereich fördern die Entwicklung. | |||
Aktuelle und aktive Development-Branches liegen Stand 10/2016 hier: https://github.com/gnea/grbl | |||
== WTF?! grbl, tinyg, tinyg2, g2, g2core, gShield, grblShield, Chilipeppr, Serial-Port-JSON-Server, Synthetos == | |||
Im Folgenden mal ein paar Begriffs-Definitionen die Dir zwangsläufig über den weg laufen werden sobald Du dich mit dem Thema CNC oder Lasercutting und DIY beschäftigst. | |||
Der ganze Zoo lässt sich so zusammenfassen: http://imgs.xkcd.com/comics/standards.png | |||
* grbl: s. oben. | |||
* tinyg: Controller-Board von Synthetos. Status: EOL. Gleichzeitig auch immer wieder synonym für das von Syntheos spezifizierte JSON-Protokoll gebraucht | |||
* tinyg2: == g2 | |||
* g2: == g2core | |||
* g2core: ARM-Port der tinyg-firmware von Synthetos. Aktiver development-branch unter https://github.com/synthetos/g2 Stand 10/2016 viel Aktivität. Platform-target ist aktuell der Arduino DUE + gShield. Gab auch ein paar Ankündigungen, dass Synthetos neue Hardware (wahrscheinlich integriert) produzieren will. | |||
* grblShield: == gShield | |||
* gShield: Connector-Board mit stepper-drivern von Synthetos. Ausgeführt wie der Name vermuten lässt als Arduino-Shield. Hardware-Revisionsnummern Beachten! [https://github.com/synthetos/grblShield/wiki/gShield-v5-Notes] | |||
* Chilipeppr: Online-Workspace für G-Code Simulation, Manipulation und Streaming sowie machine-control. Erweiterbar durch Plugins ("Widgets"). Javascript + Node + WebGL. Works best in Chrome. Wohnt auf http://chilipeppr.com . Stand 10/2016 die einzig brauchbare Lösung um voll-umfänglich mit dem tinyg zu arbeiten. Wird zwar nicht von Synthetos entwickelt aber gefördert. | |||
* Serial-Port-JSON-Server: Kleines Binary, dass auf dem Rechner einen TCP-Socket aufmacht und dort eingehenden JSON-Code an den Serial-Port streamt. | |||
* Synthetos: "Firma" hinter gShield, tinyg, g2core. Stand 10/2016 die einzige Möglichkeit stepper-driver-Boards als Addon-Board oder im Fall tinyg auch mit CPU zu kaufen. Qualität der Hardware ist exzellent und ein Selsbtbau eines stepper-drivers ergibt eigentlich keinen Sinn. | |||
== Informationen zur Hardware == | |||
Bearbeitbare Fläche: 260x275x70mm | |||
=== Ausstattung === | |||
Wir haben: | |||
* den Bausatz für eine Shapeoko2 Standard | |||
* Ein [https://www.inventables.com/technologies/waste-board-with-threaded-inserts Wasteboard mit Schraubeinsätzen zum Befestigen von Werkstücken] | |||
* Einen [https://www.inventables.com/technologies/clamp-set Satz Klemmen zur Befestigung] (mehr können dann gefräst werden) | |||
* Einen [https://www.inventables.com/technologies/knob-with-crank Drehknopf zur manuelles Bewegen der Z-Achse] | |||
* Eine [https://www.inventables.com/technologies/quiet-cut-spindle 300Watt Quiet Cut Spindle] als Ersatz für den China-Dremel mit allem benötigten Zubehör | |||
* Zwei [https://www.inventables.com/technologies/drag-chain Drag Chains] fürs Kabelmanagement | |||
* Einen [https://www.inventables.com/technologies/e-stop-button NOT-AUS Taster] (könnten noch mehr werden) | |||
* Eine [https://www.inventables.com/technologies/er11-a-collets-nuts-and-wrenches zusätzliche Halterung] für andere Fräser Durchmesser | |||
* Ein [https://www.inventables.com/technologies/solid-carbide-1f-engraving V-Bit Fräser] für sehr feine Arbeiten (hint: Platinen) | |||
* 8 [https://www.inventables.com/technologies/microswitch Mikrotaster] als Homing und Endstopps, damit die Maschine weiß, wo sie endet | |||
* einen [https://www.inventables.com/technologies/tinyg-cnc-controller TinyG CNC Controller] der Endstopps kann und deutlich mehr kann als ein g-shield ([https://www.synthetos.com/project/tinyg/ noch mehr info]) | |||
* Das [http://shop.shapeoko.com/collections/frontpage/products/shapeoko-2-acme-upgrade-1 ACME Z-Achsen upgrade] | |||
* Die [http://shop.shapeoko.com/collections/frontpage/products/shapeoko-side-shields Side shields zum Schutz der Achsen vor Dreck] | |||
* Zwei Spannzangen zur Aufnahme von Fräsern mit 3 und 6mm Schaftdurchmesser. | |||
Durch den TinyG Controller können wir die 300W Spindel im G-Code Speed controllen und an/ab-schalten! | |||
=== [[Diskussion:Shapeoko_2|"build-log"]] === | |||
Alle an der Maschine vorgenommenen Änderungen sollen bitte im [[Diskussion:Shapeoko_2|"build-log"]] protokolliert werden, damit sie für die anderen Maker nachvollziehbar bleiben. | |||
=== Verkabelungsinformationen === | |||
Die Schleppkettenkabel vom Typ ÖLFLEX® CHAIN 808 CP 5 G 0.75 mm² sind für die Schrittmotoren folgendermaßen verkabelt (Adernnummern sind auf die einzelnen Litzen aufgedruckt): | Die Schleppkettenkabel vom Typ ÖLFLEX® CHAIN 808 CP 5 G 0.75 mm² sind für die Schrittmotoren folgendermaßen verkabelt (Adernnummern sind auf die einzelnen Litzen aufgedruckt): | ||
Zeile 117: | Zeile 235: | ||
| 2 || X Endstop Min || weiß | | 2 || X Endstop Min || weiß | ||
|- | |- | ||
| 3 || X Endstop Max || | | 3 || X Endstop Max || grau | ||
|- | |- | ||
| 4 || Y Endstop Min || gelb | | 4 || Y Endstop Min || gelb | ||
Zeile 125: | Zeile 243: | ||
| 6 || Z Endstop Max || rosa | | 6 || Z Endstop Max || rosa | ||
|- | |- | ||
| 7 || | | 7 || Z Min (Probe) || violett | ||
|- | |- | ||
| 8 || frei || blau | | 8 || frei || blau | ||
Zeile 131: | Zeile 249: | ||
|} | |} | ||
== | ===TODO und Planung=== | ||
* NOTAUS-Taster an der Maschine! | |||
* Fräsen einer stabilen Aufnahme für die Fräs-Spinel um die Steifigkeit der Maschine zu erhöhen. | |||
* Absaugung | |||
** Selbstbau-direkt-Absaugung http://www.emagu.de/absaugung.htm | |||
** [https://www.youtube.com/watch?v=4zrKHVaICbE Dust Boot] aus PEHD für die Makita Fräse | |||
* Hardware-Controls (Taster für Feed-Hold, Resume-Cycle und Jogging) | |||
* Z-Probing für nicht elektrisch-leitende Werkstücke | |||
* 3d-Probing (3-axis-edge-finding) | |||
* Gehäuse bauen | |||
** Rundecken wie bei Flightcases | |||
** Beleuchtung mit Wasserdichtem LED Band | |||
** Gummifüße für das Gehäuse zur Entkoppelung | |||
** integrierte Absaugung | |||
** Schallisolierung | |||
* Mögliche weitere Modifikationen: | |||
** NEMA-23 Motoren für alle Achsen [http://shop.shapeoko.com/products/shapeoko-2-nema-23-z-axis-motor-mount Z-Achse] [https://www.inventables.com/projects/nema-23-shapeoko-2-upgrade-parts-list X/Y-Achse] | |||
** [https://www.inventables.com/projects/1000mm-x-1000mm-shapeoko-upgrade-kit Vergrößerung auf 1000*1000mm] | |||
** [http://www.amazon.de/Makita-RT0700CX2J-Oberfr%C3%A4se-und-Trimmer/dp/B00CKYCG8S/ref=sr_1_1?ie=UTF8&qid=1410477948&sr=8-1&keywords=makita+fr%C3%A4se Makita Frässpindel] (ca. 200€) mit [https://www.youtube.com/watch?v=T1pkyLY8Qvs Halterung] | |||
[[Kategorie: | [[Kategorie:Werkstatt]] | ||
[[Kategorie:Gerät]] | [[Kategorie:Gerät]] | ||
[[Kategorie:Fräse]] |
Aktuelle Version vom 16. August 2024, 10:34 Uhr
Shapeoko 2 Status: beta [box doku] | |
---|---|
Hersteller | Inventables |
Typ | Shapeoko 2 |
Beschreibung | CNC-Fräse |
Nach Abstimmung im Septemberplenum 2014 hat das RaumzeitLabor eine CNC Fräse vom Typ "Shapeoko 2" von Inventables gekauft.
Doku & Links
* http://docs.shapeoko.com/ -- Manual und viel Info des Herstellers
http://www.shapeoko.com/wiki/index.php/Endmills -- Gute Wiki-Seite, die die Unterschiede zwischen verschiedenen Fräser-Typen und Materialien erläutert.
Hinweis: Das Wiki ist nicht mehr erreichbar. Es gibt ein paar gespiegelte Infos hier: https://www.reddit.com/r/shapeoko/wiki/g-code/
- http://www.cnccookbook.com/ -- Be a better CNC'er
- https://github.com/synthetos/ -- Github-Repo der Controller-Hardware. Relevante Repos bzw. deren Wikis sind:
- https://github.com/grbl/grbl/wiki -- Grbl Wiki und Firmware
- https://github.com/grbl/grbl/wiki -- Development-Version grbl
Workflow
Leider ist zerspanendes Arbeiten nicht so gutmütig und Einsteiger-freundlich wie 3d-Drucken. Wir wirken ja mit zerstörerischer Kraft auf das Werkstück ein und bei Fehlern geht also schnell mal was kaputt - bestenfalls das Werkstück, schlimmstenfalls Körperteile. Es lohnt sich also zunächst einige Zeit in Planung (zweimal Messen, einmal Schneiden!) und Anlesen von Basiswissen zu investieren. Ein guter Einstiegspunkt ist diese Wikiseite im Shapeoko-Wiki.
2.5D vs. 3D
Man spricht bei einer CNC Fräse von 2.5D, wenn man eine 2D Vektordatei fräst und sich der dreidimensionale Teil auf die Tiefe beschränkt. D.h. Die 2D Vektorlinien werden "extrudiert" zu einem 3D Modell ==> 2.5D, In diesem Fall muss der Fräser nur die Vektoren abfahren und sich auf der Z-Achse nur schrittweise nach unten bewegen, um nach und nach Material ab zutragen. Bei einem echten 3D Job dagegen wird das Werkstück in verschiedenen Richtungen überfahren und der Fräskopf muss dabei die Konturen auf der Z-Achse Nachfahren. D.h. er hebt und senkt sich (je nach Modell) während er eine Fläche ab trägt.
Für 2.5D benötigt man kein 3D Modell und kein Tool zum bearbeiten von 3D Modellen (3D-CAD oder andere modeling tools wie bspw. "blender"). Es genügt ein 2D Vektorgrafik-Programm wie Illustrator, Inkscape oder MakerCAM. Bei den reinen Vektor-Grafik-Editoren sind dabei meist Plugins zur Beschreibung der Tiefe und zum Exportieren von gCode notwendig.
CAD -> CAM -> (Post-Prozessor) -> Gcode -> (Simulator) -> G-Code-Sender -> Controller -> Aktoren
Ähnlich wie beim 3D Druck ist der Weg zum Fräsen in folgende Schritte eingeteilt:
- Modell erstellen
- Modell in Schichten zerlegen (G-Code)
- G-Code an Controller senden
- Controller steuert Fräse bzw. 3D Drucker nach G-Code-Instruktionen
Einen guten Überblick über Toolchains und den gesamten Workflow gibt diese Wikiseite auf shapeoko.com.
Toolchains
Es gibt Toolchains wie Sand am Meer sowohl Freeware und/oder OpenSource als auch im hochpreisigen Bezahlsegment.
Wie immer bei Software leider auch ein sehr inkonstantes Feld.
Hier ist ein guter Einstiegspunkt um sich für die Plattform der Wahl einen Überblick zu verschaffen. Letzten Endes hilft eigentlich nur ausprobieren womit man gut zurecht kommt.
Connect to Fräse
Um eineige Probleme mit dem "tinyG + chilipeppr.com/tinyg Setup" anzugehen bietet es sich an die Fräse nicht über rzl-hardcore anzusprechen ;-). Statdessen hat die Fräse ihr eigenes wifi (rzl-fraese) mit identischem Passwort wie rzl-hardcore. Im Unterbau der Fräse steht hierzu ein AP. Auf dem Laptop neben der Fräse läuft der serial-port-json-server. Wer jetzt nur noch Bahnhof versteht, sei auf das TinyG-Kapitel dieses Artikels verwiesen.
User-Toolchains
In diesem Kapitel sind alle Anwender aufgerufen ihre (aktuelle) Toolchain zu dokumentieren. Was funktioniert, was nicht? Welche Versionen werden eingesetzt? Bitte Datum nicht vergessen! Ggf. muss auch das Controller-target angegeben werden!
- 09/2017 2D Kontur, Aluminium
- Usecase: 3mm Alu-Fräsen für MendelMax2
- CAD: Autodesk Fusion 360 (derzeit auf Mindstorms Laptop 3 installiert)
- CAM: Autodes Fusion 360
- Machining: CNCjs (derzeit auf Mindstorms Laptop 3 installiert)
- Status: funktioniert
- 06/2016 3D [silvester]
- Usecase: 3D-Fräsen aus Vollmaterial (Dachlatte und Acryl)
- Controller-target: TinyG v0.95
- CAD: OpenSCAD 2015.03
- CAM: CamBam v.0.9.8p
- Simulation: CamBam + Chilipeppr
- Machining: Chilipeppr.com/tinyg + Serial-Port-JSON-Server.
- Status: funktioniert.
- Probleme: Siehe generelle Probleme mit TinyG
- 02/2017 2D-PCB [silvester]
- Usecase: PCB-Fräsen (isolation routing. Garavieren, Bohren, Ausschneiden)
- Controller-target: TinyG v0.95
- CAD: KiCAD v4.0.4 (Layout wird als Gerber-File exportiert)
- CAM: pcb2gcode.py
- Simulation: Fuck no! We're doin' it live!
- Machining: http://chilipeppr.com/tinyg
- Status: funktioniert.
- Probleme: eigentlich keine. pcb2gcode funktioniert erstaunlich gut. HIER gibts das verwendete profile für pcb2gcode
- 10/2016 2D-PCB [silvester]
- Usecase: PCB-Fräsen (isolation routing. Garavieren, Bohren, Ausschneiden)
- Controller-target: TinyG v0.95
- CAD: KiCAD v4.0.4 (Layout wird als Gerber-File exportiert)
- CAM: Flatcam v8.5 (3 aufeinanderfolgende Jobs: 1. Gravieren, 2. Bohren, 3. Outlines fräsen), Export zu Gcode
- Simulation: Fuck no! We're doin' it live!
- Machining:
- 1. Chilipeppr.com/tinyg + Serial-Port-JSON-Server. Damit dann zunächst auto-leveling, dann Übernahme des Höhenprofils in den Gcode.
- Status: funktioniert.
- Probleme: Aufwändig. Much hassle. Siehe auch: generelle Probleme mit TinyG
Fräsbare Materialien
PE-HD
Polyethylen High-Density, siehe Verarbeitungsbeispiel. Bezugsquelle
Sperrholz (Modell: "Dachlatte")
Einfach zu verarbeiten. Die Fräse schafft hier locker 1mm Zustellung beim Schruppen. X/Y-Vorschub bis 600mm/min. Z-Vorschub maximal 300mm/min. (Das ganze mit einer "3mm 2-Flute Endmill")
Aluminium
Auf unserer Maschine der absolute Endgegner. Bisher getestet:
Aluminiumblech 3mm aus dem Bauhaus sowie AlMg4,5Mn. 3mm Fräser, Vorschub 100mm/min, mehrere Passes mit jeweils 0,25mm Tiefe, Eintauchgeschwindigkeit 10mm/min. Dauert ewig, aber geht. Problem ist die mangelnde Steifigkeit unserer Shapeoko. Entsprechende Fräser hat Feli, einfach fragen.
Delrin
Absolutes Traummaterial, super einfach zu fräsen.
Aktuell verbauter Controller: TinyG
Der TinyG Controller stellt ein serielles Interface zur Verfügung. Prinzipiell ist das Protokoll frei wählbar. Per default laufen 115200 Baud 8N1 mit Hardware-Flow-Control. Verbindet man sich auf dieses Interface z.B. mit minicom -d /dev/ttyUSB0 -c on erhält man mit $h das help menue. Grundsätzlich spricht der TinyG entweder ascii oder json. Der Parser kann explizit oder implizit (Command beginnt mit geschweifter Klammer) zwischen den Modi hin und her switchen.
Firmware & Config
Unter https://synthetos.github.io/ gibt es aktuelle Firmware und eine flash-Anleitung für den TinyG. Am 05.12.2015 wurde die Version 440.20 aus dem master-branch installiert. Die Firmware selbst wird ist zunächst über eine Reihe von Variablen konfiguriert. Auf der seriellen Konsole erhält man mittels $$ alle definierten Variablen.
Auf der Unterseite Shapeoko_2/tinyg_settings ist eine aktuelle Config inklusive der konfigurierten Endstops dokumentiert.
Z-Achse
Weil unsere Maschine bereits das ACME-Z-Achsen-Upgrade eingebaut hat passt die standard-config von tinyG nicht. Auf dieser Seite im shapeoko-wiki wird gezeigt wie die Steppings berechnet werden.
Aktuell (05.12.2015) ist ein normales x/y/z-Koordinatensystem konfiguriert, d. h. 0/0/0 ist links unten und die Spindel ist komplett am Anschlag ausgefahren. Von hier aus kann nun in positiver x/y-Richtung und negativer z-Richtung gearbeitet werden. Das sollte auch so bleiben, weil Standard, weil isso. Erklärung hier.
I/O-Belegung
-
pre
Probleme & TODO: TinyG gegen ARM + gShield tauschen --> Upgrade auf g2core (=tinyg2)
Der TinyG war zwar 2014 mal eine geile Idee aber stand 2016 ist der Controller einfach nur hinderlich. Synthetos hatte ein eigenes JSON-Protokoll spezifiziert und den offiziellen Softwaresupport auf Chillipeppr umgestellt (Online only, siehe: [1]). Damit wurde der TinyG zur Insellösung, der Rest der Welt macht grbl. Das hat Stand 10/2016 auch Synthetos eingesehen und den TinyG als feature-complete bzw. EOL definiert. Alle neuen features werden in dem Projekt "g2Core" als "Next Generation Grbl-Controller" von Synthetos entwickelt. Der Controller basiert auf ARM-Prozessoren und soll ermöglicht features die mit den 8-bit Prozessoren des Arduino UNO und des TinyG nicht möglich sind. Im wesentlichen also ein ARM (bspw. Arduino DUE) und eln bisschen Logik an den Pinouts. Für unseren Einsatzzweck ist das bereits vorhandene gShield-v5b ausreichend. Hierfür ist allerdings komplettes Neu-Verkabeln der Controllerbox notwendig. Unklar bleibt leider weiterhin ob die GUI-Developer außerhalb von Chilipeppr die Neuentwicklung annehmen, denn so wie es Momentan aussieht wird das JSON-Protokoll übernommen. --S1lvester (Diskussion) 10:09, 25. Okt. 2016 (CEST)
grbl
grbl ist eine relativ einfache C-Firmware für ATMEL-Arduinos, die seriell gestreamten G-Code annimt und in digitalen + analogen Output umsetzt um (über entsprechende stepper-driver) Schrittmotoren zu steuern, voltage-ramps zu generieren, Input von Switches anzunehmen. De-facto laufen Stand 10/2016 alle DIY CNC-Router, 3d-Drucker, Lasercutter, Laser-Solder, Plotter, usw. mit grbl oder Abwandlungen davon. So gut wie alle Hersteller und Distributoren im DIY-Bereich fördern die Entwicklung.
Aktuelle und aktive Development-Branches liegen Stand 10/2016 hier: https://github.com/gnea/grbl
WTF?! grbl, tinyg, tinyg2, g2, g2core, gShield, grblShield, Chilipeppr, Serial-Port-JSON-Server, Synthetos
Im Folgenden mal ein paar Begriffs-Definitionen die Dir zwangsläufig über den weg laufen werden sobald Du dich mit dem Thema CNC oder Lasercutting und DIY beschäftigst.
Der ganze Zoo lässt sich so zusammenfassen: http://imgs.xkcd.com/comics/standards.png
- grbl: s. oben.
- tinyg: Controller-Board von Synthetos. Status: EOL. Gleichzeitig auch immer wieder synonym für das von Syntheos spezifizierte JSON-Protokoll gebraucht
- tinyg2: == g2
- g2: == g2core
- g2core: ARM-Port der tinyg-firmware von Synthetos. Aktiver development-branch unter https://github.com/synthetos/g2 Stand 10/2016 viel Aktivität. Platform-target ist aktuell der Arduino DUE + gShield. Gab auch ein paar Ankündigungen, dass Synthetos neue Hardware (wahrscheinlich integriert) produzieren will.
- grblShield: == gShield
- gShield: Connector-Board mit stepper-drivern von Synthetos. Ausgeführt wie der Name vermuten lässt als Arduino-Shield. Hardware-Revisionsnummern Beachten! [2]
- Chilipeppr: Online-Workspace für G-Code Simulation, Manipulation und Streaming sowie machine-control. Erweiterbar durch Plugins ("Widgets"). Javascript + Node + WebGL. Works best in Chrome. Wohnt auf http://chilipeppr.com . Stand 10/2016 die einzig brauchbare Lösung um voll-umfänglich mit dem tinyg zu arbeiten. Wird zwar nicht von Synthetos entwickelt aber gefördert.
- Serial-Port-JSON-Server: Kleines Binary, dass auf dem Rechner einen TCP-Socket aufmacht und dort eingehenden JSON-Code an den Serial-Port streamt.
- Synthetos: "Firma" hinter gShield, tinyg, g2core. Stand 10/2016 die einzige Möglichkeit stepper-driver-Boards als Addon-Board oder im Fall tinyg auch mit CPU zu kaufen. Qualität der Hardware ist exzellent und ein Selsbtbau eines stepper-drivers ergibt eigentlich keinen Sinn.
Informationen zur Hardware
Bearbeitbare Fläche: 260x275x70mm
Ausstattung
Wir haben:
- den Bausatz für eine Shapeoko2 Standard
- Ein Wasteboard mit Schraubeinsätzen zum Befestigen von Werkstücken
- Einen Satz Klemmen zur Befestigung (mehr können dann gefräst werden)
- Einen Drehknopf zur manuelles Bewegen der Z-Achse
- Eine 300Watt Quiet Cut Spindle als Ersatz für den China-Dremel mit allem benötigten Zubehör
- Zwei Drag Chains fürs Kabelmanagement
- Einen NOT-AUS Taster (könnten noch mehr werden)
- Eine zusätzliche Halterung für andere Fräser Durchmesser
- Ein V-Bit Fräser für sehr feine Arbeiten (hint: Platinen)
- 8 Mikrotaster als Homing und Endstopps, damit die Maschine weiß, wo sie endet
- einen TinyG CNC Controller der Endstopps kann und deutlich mehr kann als ein g-shield (noch mehr info)
- Das ACME Z-Achsen upgrade
- Die Side shields zum Schutz der Achsen vor Dreck
- Zwei Spannzangen zur Aufnahme von Fräsern mit 3 und 6mm Schaftdurchmesser.
Durch den TinyG Controller können wir die 300W Spindel im G-Code Speed controllen und an/ab-schalten!
"build-log"
Alle an der Maschine vorgenommenen Änderungen sollen bitte im "build-log" protokolliert werden, damit sie für die anderen Maker nachvollziehbar bleiben.
Verkabelungsinformationen
Die Schleppkettenkabel vom Typ ÖLFLEX® CHAIN 808 CP 5 G 0.75 mm² sind für die Schrittmotoren folgendermaßen verkabelt (Adernnummern sind auf die einzelnen Litzen aufgedruckt):
1 | Rot | B1 / B+ |
2 | Blau | B2 / B- |
3 | Grün | A1 / A- |
4 | Schwarz | A2 / A+ |
Ausnahme: Der X-Stepper ist folgendermaßen belegt (Verpeilung?)
1 | Grün | A1 |
2 | Rot | B1 |
3 | Schwarz | A2 |
4 | Blau | B2 |
Achtung: Bei dem linken Stepper der Y-Achse ist Grün und Schwarz vertauscht, siehe die Shapeoko2-Dokumentation.
Der Sensorstecker ist wie folgt belegt:
TODO und Planung
- NOTAUS-Taster an der Maschine!
- Fräsen einer stabilen Aufnahme für die Fräs-Spinel um die Steifigkeit der Maschine zu erhöhen.
- Absaugung
- Selbstbau-direkt-Absaugung http://www.emagu.de/absaugung.htm
- Dust Boot aus PEHD für die Makita Fräse
- Hardware-Controls (Taster für Feed-Hold, Resume-Cycle und Jogging)
- Z-Probing für nicht elektrisch-leitende Werkstücke
- 3d-Probing (3-axis-edge-finding)
- Gehäuse bauen
- Rundecken wie bei Flightcases
- Beleuchtung mit Wasserdichtem LED Band
- Gummifüße für das Gehäuse zur Entkoppelung
- integrierte Absaugung
- Schallisolierung
- Mögliche weitere Modifikationen:
- NEMA-23 Motoren für alle Achsen Z-Achse X/Y-Achse
- Vergrößerung auf 1000*1000mm
- Makita Frässpindel (ca. 200€) mit Halterung