CNC-Fräse

Aus HaSi Wiki
Wechseln zu: Navigation, Suche

Die Fräse ist eine Spende gewesen und wurde vom Vorbesitzer auf GRBL umgebaut. Aktuelle Version ist GRBL 1.1.

        https://wiki.hackspace-siegen.de/index.php?title=Vorlage:ProjektInfoBox&action=edit
CNC-Fräse

Release status: stable [box doku]

CNC.jpg
Description Eine auf GRBL basierende CNC-Fräse.
Hersteller: Colinbus
Fräsmotor: Kress FM 6990 E
Hut  Smeik
Last Version  1.0
Platform  Arduino

Fräsmotor

  • Kress FM 6990 E

Zum Feststellen den orangenen Knopf an der Seite hochziehen und die Welle drehen bis sie einrastet. Danach den Hebel festhalten.

Arbeitsfläche

X:298mm * Y:379mm * Z:~53mm (abhängig vom verwendeten Fräser)

Software

Workflow

1. Fusion360 herunterladen. Dafür wird leider ein Konto bei Autodesk benötigt :/ meh.

2. Diese beiden Videos durcharbeiten um ein Gefühl für Fusion360 zu bekommen.1 und 2. Am Ende des ersten Videos ist zu sehen, wie der GCODE erzeugt wird. Bei diesem Vorgang sollte beim Postprocessing GRBL auswählt werden.Postprozess Einstellung

3. Nachdem der GCODE erzeugt wurde muss noch jeweils in Header und Tail des Codes die Zeilen mit G28 gelöscht werden. Die entfernten Zeilen sorgen dafür, dass die Fräse versucht an die Maschinenposition 0 zu fahren. Da diese Position deutlich außerhalb des Arbeitsbereichs liegt ist dies nicht ratsam. Die Limitswitches würden beim Versuch getriggert werden.

Gcode modifizierung

4. bCNC herunterladen, hier braucht man kein Konto :D. Nicht ganz so schöne, aber dafür freie Software!

5. bCNC öffnen und unter dem Reiter File kann der Arduino mit bCNC verbunden werden. Dafür den passenden Pfad auswählen und Baudrate einstellen. Hier zum Beispiel /dev/ttyACM0 und 115200 Baudrate.

Verbindung mit Arduino

6. Eine Verbindung zur Fräse über den Arduino ist nun hergestellt und die Fräse kann gesteuert werden. Nun auf den Reiter Control wechseln. Im unteren Feld wird ein Steuerkreuz angezeigt mit dem alle drei Achsen(x,y,z) verfahren werden können. Um herauszufinden, wie die Fräse auf manuelles Verfahren reagiert Schritte auf 4 einstellen und das Steuerkreuz bedienen. Ein höherer Wert bei den Schritten verfährt die Fräse entsprechend schneller. Abschließend müssen die Units auf mm eingestellt werden.

Postprozess Einstellung

7. Als Nächstes wird über den Reiter File eine .nc Datei mit Open in grbl geladen. Im Fenster rechts wird das geladene Werkstück angezeigt.

8. Material aus dem das Werkstückstück gefräst werden soll einspannen. Es können entweder Spannzangen verwendet werden oder M6-Schrauben.

HIER BILD!

9. Wenn das Material fest eingespannt ist, mit dem Ende des Fräsers zum Startpunkt auf dem Material fahren. Anschließend müssen alle drei Achsen genullt werden. Dazu die Tasten X=0, Y=0, Z=0 drücken.Z=0 bedeutet, dass der Fräser auf der Oberfläche aufliegt. Das ist ab jetzt der Startpunkt.

HIER BILD!

10. Nun auf Play drücken und immer schön die Späne absaugen ;)

Config

Hier die aktuelle GRBL 1.1f Config der Fräse:

Das Mapping für die einzelnen Variablen findet man hier.

$0=10
$1=25
$2=0
$3=3
$4=0
$5=1
$6=0
$10=1
$11=0.010
$12=0.002
$13=0
$20=0
$21=1
$22=1
$23=3
$24=25.000
$25=500.000
$26=50
$27=5.000
$30=1000
$31=0
$32=0
$100=133.333
$101=133.333
$102=133.333
$110=500.000
$111=500.000
$112=500.000
$120=10.000
$121=10.000
$122=10.000
$130=200.000
$131=200.000
$132=200.000

Die Config wird über den Befehl $$ angezeigt.

TODO

  • Open Source Alternative zu Fusion360 suchen.(Freecad, openscad + pycam)
  • Absaugvorrichtung
  • Ersatzfräser

Troubleshooting

Zerstörte Config

Bei zerstörter Config von GRBL muss der EEPROM vom Arduino resettet werden, das geht leider nur indem man den EEPROM mit 0 vollschreibt, hier der Code:

#include <EEPROM.h>
void setup() {
 // initialize the LED pin as an output.
 pinMode(13, OUTPUT);
 for (int i = 0 ; i < EEPROM.length() ; i++) {
   EEPROM.write(i, 0);
 }
 // turn the LED on when we're done
 digitalWrite(13, HIGH);
}
void loop() {
}

Danach kann man einfach die Firmware wieder draufflashen.

Endschalter lösen dauerhaft aus

GRBL geht bei Endschaltern grundsätzlich von NO(normaly open) Schaltern aus, hier sind aber NC(normaly closed) verbaut, daher muss in der GRBL-config $5 - Limit pins invert, boolean auf 1 gesetzt werden.

$5 = 1

Wenn alles geklappt hat antwortet GRBL mit "ok". Um die Config zu Prüfen "$$" eintippen.

So weit so gut. Allerdings hatte ich hier noch ein ganz anderes Problem, die Endschalter haben nicht nur wegen der fehlenden Invertierung dauerhaft ausgelöst.

Rauschen auf Endschalterpin

Im Bild rechts sieht man, dass es Peaks bis 2,5V auf der Endschalterleitung gibt, dadurch denkt GRBL das dieser ausgelöst wurde. Um das zu verhindern habe ich 3 x 15nF-Kondensatoren parallel zu den Signalleitungen geschaltet um die Störung herauszufiltern.