Shapeoko 2

Aus RaumZeitLabor Wiki
Wechseln zu: Navigation, Suche
 
Shapeoko 2

Release status: beta [box doku]

Description CNC-Fräse
Maintainer(s)  all makers

Nach Abstimmung im Septemberplenum 2014 hat das RaumzeitLabor eine CNC Fräse vom Typ "Shapeoko 2" von Inventables gekauft.

Doku & Links

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. Ein noch zu haltender und hier zu verlinkender Vortrag im RZL soll einen Überblick geben. (--TabascoEye ( 1Diskussion)2:01, 16. Sep. 2014 (CEST))

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 + chillipeppr.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 Cnc-lumberg-stecker.png 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