Shapeoko 2: Unterschied zwischen den Versionen

Aus RaumZeitLabor Wiki
Keine Bearbeitungszusammenfassung
 
(23 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{ProjektInfoBox
{{GeraetInfoBox
|name       = Shapeoko 2
|name         = Shapeoko 2
|status     = beta
|status       = beta
|image       =  
|image         =  
|description = CNC-Fräse
|manufacturer  = Inventables
|author      =  
|model        = Shapeoko 2
|maintainer  = all makers
|description  = CNC-Fräse
|hostname    =  
|documentation =  
|version    =  
|owner        =  
|update     =  
|username     =  
|platform    =
|financing     =  
|license     =  
|location      =  
|download    =
|bausatz    =
|preis      =  
}}
}}
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
* 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/ -- Github-Repo der Controller-Hardware. Relevante Repos bzw. deren Wikis sind:
Zeile 32: Zeile 30:
== Workflow ==
== 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 [http://www.shapeoko.com/wiki/index.php/Main_Page#Overview diese Wikiseite im Shapeoko-Wiki].
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 ===
=== 2.5D vs. 3D ===
Zeile 38: Zeile 36:
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.
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.
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 ===
=== CAD -> CAM -> (Post-Prozessor) -> Gcode -> (Simulator) -> G-Code-Sender -> Controller -> Aktoren ===
Zeile 48: Zeile 46:
* Controller steuert Fräse bzw. 3D Drucker nach G-Code-Instruktionen
* Controller steuert Fräse bzw. 3D Drucker nach G-Code-Instruktionen


Einen guten Überblick über Toolchains und den gesamten Workflow gibt [http://www.shapeoko.com/wiki/index.php/Workflow diese Wikiseite auf shapeoko.com].
<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.
Ein noch zu haltender und hier zu verlinkender Vortrag im RZL soll einen Überblick geben. (--[[Benutzer:TabascoEye|TabascoEye]] ( 1[[Benutzer Diskussion:TabascoEye|Diskussion]])2:01, 16. Sep. 2014 (CEST))
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>


Wie immer bei Software leider auch ein sehr inkonstantes Feld. [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.
==== 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 ====
==== 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!
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]
* 06/2016 3D [silvester]
Zeile 69: Zeile 79:
** Machining: [http://chilipeppr.com/tinyg Chilipeppr.com/tinyg] + Serial-Port-JSON-Server.
** Machining: [http://chilipeppr.com/tinyg Chilipeppr.com/tinyg] + Serial-Port-JSON-Server.
** Status: funktioniert.
** Status: funktioniert.
** Probleme: Siehe: generelle Probleme mit TinyG
** 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]
* 10/2016 2D-PCB [silvester]
Zeile 78: Zeile 98:
** Simulation: Fuck no! We're doin' it live!
** Simulation: Fuck no! We're doin' it live!
** Machining:  
** 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
*** 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.
*** 2. Fräsen mit [https://github.com/cheton/cnc Dieser Software]. Reason: Die Kombi Serial-Port-JSON-Server + Chilipeppr ist zu flaky.
** Status: funktioniert.
** Status: funktioniert.
** Probleme: Aufwändig. Much hassle. No funs. Siehe auch: generelle Probleme mit TinyG
** Probleme: Aufwändig. Much hassle. Siehe auch: generelle Probleme mit TinyG


== Fräsbare Materialien ==
== Fräsbare Materialien ==
Zeile 95: Zeile 114:
=== Aluminium ===
=== Aluminium ===


Auf unserer Maschine der absolute Endgegner.
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 ==
== Aktuell verbauter Controller: TinyG ==
Zeile 113: Zeile 138:
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.]
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.]


=== Probleme & TODO: TinyG gegen ARM + gShield tauschen ===
=== 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)
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 ==
=== 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.
[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
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 ===
== 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.
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.
Zeile 137: Zeile 167:
* Serial-Port-JSON-Server: Kleines Binary, dass auf dem Rechner einen TCP-Socket aufmacht und dort eingehenden JSON-Code an den Serial-Port streamt.
* 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.
* 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.
::<small>Kleiner Rant: Synthetos besteht aus einem Haufen von bike-shedding Windows Hardware-devs die mal besser die Finger von Software lassen sollten um einfach weiter ihre Boards zu bauen. Gepaart mit dem IP-bullshit den die Abziehen drängen sich parallelen mit den Erfahrungen des RZL beim Thema "ich mach da ein business draus und dann $$$" auf. Schon mal versucht deren firmwares zu kompilieren? Geht nicht. Das ganze verf*ckte Makefile und die libs sind mit hardcoded paths durchzogen. Der main-dev meint dazu man solle doch einfach seine sch... IDE unter Win in genau den selben Pfad installieren! Und als sie dann gemerkt haben, dass sie keinen Plan, keine Idee und kein Talent für ein Frontend haben, haben sie ihr offizielles (tgFX) einfach eingestampft und meinen man soll halt chilipeppr verwenden. Weil G-Code-Streaming von einer online-only Webanwendung mit f*ing helper-binary über nen TCP-Socket und den Bus ja für Echtzeit-machining so ne geile Idee ist. Geht's noch?! Jeder Jog-Command hat eine Sekunde Latenz!!! Hauptsache WebGL und WebHipster-JS-Scheisz am Start. Und statt das Problem "Die grbl-Community hat auf nem kack Arduino UNO mehr Gcodes implementiert als wir auf unserem Atmega-Board obwohl die auch nur 8-bit haben" vernünftig anzugehen, die grbl-Ideen zu übernehmen und ihre krepel-Firmware mit grbl Kompatibel zu machen ist deren Lösung nen größeren Buffer zu implementieren.  Ist ja auch logisch, damit bei ihrer flaky JSON-Streaming-Geschichte nicht bei jedem gedroptem TCP-Paket, weil das WebGL gerade irgend ne Kack-Animation rendern muss, die Maschine stehen bleibt. Bleibt nur zu hoffen, dass Sie mit ihrem ARM-Port wieder einen Schritt Richtung grbl-Community machen. Śonst muss das RZL halt ein grbl-kompatibles board mit 6 stepper-drivern und IO entwickeln. Der Absatzumarkt darfür wäre groß genug. Mich fickt es echt an wie viel Lebenszeit ich schon darauf verschwendet habe zu versuchen den Synthetos-Scheiß zu verstehen. I give up. You can't fix stupid. --[[Benutzer:S1lvester|S1lvester]] ([[Benutzer Diskussion:S1lvester|Diskussion]]) 10:24, 25. Okt. 2016 (CEST)</small>


== Informationen zur Hardware ==
== Informationen zur Hardware ==
Bearbeitbare Fläche: 260x275x70mm


=== Ausstattung ===
=== Ausstattung ===
Zeile 160: Zeile 191:


Durch den TinyG Controller können wir die 300W Spindel im G-Code Speed controllen und an/ab-schalten!
Durch den TinyG Controller können wir die 300W Spindel im G-Code Speed controllen und an/ab-schalten!
Der Arbeitsbereich beträgt ungefähr 30*30*6cm.


=== [[Diskussion:Shapeoko_2|"build-log"]] ===
=== [[Diskussion:Shapeoko_2|"build-log"]] ===
Zeile 248: Zeile 277:
** [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]
** [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:Projekt]]
 
[[Category:Hardware]]
[[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

Hinweis: Das Wiki ist nicht mehr erreichbar. Es gibt ein paar gespiegelte Infos hier: https://www.reddit.com/r/shapeoko/wiki/g-code/

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

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:

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:

Nummer auf Stecker Signal Kabelfarbe Bild
1 GND braun Buchse Rückansicht
2 X Endstop Min weiß
3 X Endstop Max grau
4 Y Endstop Min gelb
5 Y Endstop Max grün
6 Z Endstop Max rosa
7 Z Min (Probe) violett
8 frei blau

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.
  • 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