Ich habe mir einen Atomstack A10 V2 gekauft. Vom Aufbau her ist es super leicht, auch an der Qualität kann ich nichts aussetzen, wirklich alles sauber verarbeitet. Die Anleitung ist auch ok. Also wenn ich mich an einen i3 Prusa China klon erinnere, ist das hier ein Kinderspiel.
Aber meine Probleme begannen mit der Software.
Ich bin Linux-User, Microsoft kommt für mich nicht mehr infrage. Deshalb hatte ich die CNC schon auf FluidNC umgestellt.
Laut Atomstack werden LaserGRBL und LightBurn empfohlen.
Dies gilt für Windows-Benutzer, für Linux gibt es nur noch die Version 1.7 von LightBurn.
Neue Versionen werden für Linux nicht mehr veröffentlicht. Man kann sich mit der alten Version begnügen. Außerdem habe ich keine Lust auf diese blöde Lizenzierung.
LightBurn ist eine Windowsanwendung. Läuft über Mono/Wine auch auf Linux, aber ob Mono das so 1:1 wie Dot.Net macht, bezweifle ich und für mich ist das alles andere als eine saubere Lösung.
Es gibt auch eine APP für iOS/Android. Man muss sich mit dem Access Point verbinden. Das WLAN erstellt der Controller, es sollte ein SSID erscheinen, mit dem Namen „Engraver_xxxxx“, xxxx ist eine Nummer, die bei jedem anders ist. Das Passwort ist „12345678“.
Dann startet man die App, nur die will gleich Zugriffsberechtigung für „Lokales Netzwerk“ und „Ortungsdienst“. Ohne Ortung, lasst sich der A10 V2 nicht hinzufügen.
Also ab hier ist für mich Schluss, warum wollen die schon wieder wissen, wo meine Anlage steht.
App geschlossen und gelöscht. Dann habe ich nach einer Möglichkeit gesucht, die Firmware zu aktualisieren, in der Hoffnung, dass es besser wird. Hier kommt der nächste schlechte Witz, die Firmware ist nicht auffindbar. Man bedient sich hier schön am Open Source Code, kastriert dann die Firmware, damit man weitere Controller teuer verkaufen kann. Wo die gleiche Platine drauf ist, nur die Firmware etwas weniger kastriert ist. Am Deckel ist der zusätzliche Ausschnitt für das Kabel.
Und schon kann man wieder ca. 70 € verlangen.
Ab hier ist nun meine Schmerzgrenze überschritten und es muss FluidNC her.
Also wer das jetzt nachmacht, macht das auf eigenes Risiko.
Man kann hier die Maschine unbrauchbar machen!
Als ersten mache ich mal ein Backup der aktuellen Firmware.
Als Erstes holte ich mir ESPTOOL:
git clone https://github.com/espressif/esptool.git
cd esptool
pip3 install intelhex
Nun den ESP Flash speicher auslesen:
python3 esptool.py --port /dev/ttyUSB0 read_flash 0x00000 0x400000 a10v2_dump.bin
Der Hardwarecontoller ist ein „LS ESP32 V1.0“:
Befor ich den ESP komplett lösche und dann mit FluidNC bespiele, habe ich mich nochmal mit Engraver_xxxxx wlan verbunden und die Konfiguration vom Backend (Browser http://192.168.4.1) gesichert.
Für FluidNc muss man eine Config im Yaml Format erstellen. Da sind diese Parameter wichtig. Bei mir sieht es so aus:
| Label | Value | Unit | Parameter | Description | |
|---|---|---|---|---|---|
| Set | $0 | microseconds | Step pulse time | Sets time length per step. Minimum 3usec. | |
| Set | $1 | milliseconds | Step idle delay | Sets a short hold delay when stopping to let dynamics settle before disabling steppers. Value 255 keeps motors enabled with no delay. | |
| Set | $2 | mask | Step pulse invert | Inverts the step signal. Set axis bit to invert (00000ZYX). | |
| Set | $3 | mask | Step direction invert | Inverts the direction signal. Set axis bit to invert (00000ZYX). | |
| Set | $4 | boolean | Invert step enable pin | Inverts the stepper driver enable pin signal. | |
| Set | $5 | boolean | Invert limit pins | Inverts the all of the limit input pins. | |
| Set | $6 | boolean | Invert probe pin | Inverts the probe input pin signal. | |
| Set | $10 | mask | Status report options | Alters data included in status reports. | |
| Set | $11 | mm | Junction deviation | Sets how fast Grbl travels through consecutive motions. Lower value slows it down. | |
| Set | $12 | mm | Arc tolerance | Sets the G2 and G3 arc tracing accuracy based on radial error. Beware: A very small value may effect performance. | |
| Set | $13 | boolean | Report in inches | Enables inch units when returning any position and rate value that is not a settings value. | |
| Set | $20 | boolean | Soft limits enable | Enables soft limits checks within machine travel and sets alarm when exceeded. Requires homing. | |
| Set | $21 | boolean | Hard limits enable | Enables hard limits. Immediately halts motion and throws an alarm when switch is triggered. | |
| Set | $22 | boolean | Homing cycle enable | Enables homing cycle. Requires limit switches on all axes. | |
| Set | $23 | mask | Homing direction invert | Homing searches for a switch in the positive direction. Set axis bit (00000ZYX) to search in negative direction. | |
| Set | $24 | mm/min | Homing locate feed rate | Feed rate to slowly engage limit switch to determine its location accurately. | |
| Set | $25 | mm/min | Homing search seek rate | Seek rate to quickly find the limit switch before the slower locating phase. | |
| Set | $26 | milliseconds | Homing switch debounce delay | Sets a short delay between phases of homing cycle to let a switch debounce. | |
| Set | $27 | mm | Homing switch pull-off distance | Retract distance after triggering switch to disengage it. Homing will fail if switch isn’t cleared. | |
| Set | $28 | ||||
| Set | $30 | RPM | Maximum spindle speed | Maximum spindle speed. Sets PWM to 100% duty cycle. | |
| Set | $31 | RPM | Minimum spindle speed | Minimum spindle speed. Sets PWM to 0.4% or lowest duty cycle. | |
| Set | $32 | boolean | Laser-mode enable | Enables laser mode. Consecutive G1/2/3 commands will not halt when spindle speed is changed. | |
| Set | $41 | ||||
| Set | $47 | ||||
| Set | $46 | ||||
| Set | $102 | steps/mm | Z-axis travel resolution | Z-axis travel resolution in steps per millimeter. | |
| Set | $101 | steps/mm | Y-axis travel resolution | Y-axis travel resolution in steps per millimeter. | |
| Set | $45 | ||||
| Set | $44 | ||||
| Set | $43 | ||||
| Set | $42 | ||||
| Set | $50 | ||||
| Set | $40 | ||||
| Set | $100 | steps/mm | X-axis travel resolution | X-axis travel resolution in steps per millimeter. | |
| Set | $103 | steps/mm | A-axis travel resolution | A-axis travel resolution in steps per millimeter. | |
| Set | $104 | steps/mm | B-axis travel resolution | B-axis travel resolution in steps per millimeter. | |
| Set | $105 | steps/mm | C-axis travel resolution | C-axis travel resolution in steps per millimeter. | |
| Set | $110 | mm/min | X-axis maximum rate | X-axis maximum rate. Used as G0 rapid rate. | |
| Set | $111 | mm/min | Y-axis maximum rate | Y-axis maximum rate. Used as G0 rapid rate. | |
| Set | $112 | mm/min | Z-axis maximum rate | Z-axis maximum rate. Used as G0 rapid rate. | |
| Set | $113 | mm/min | A-axis maximum rate | A-axis maximum rate. Used as G0 rapid rate. | |
| Set | $114 | mm/min | B-axis maximum rate | B-axis maximum rate. Used as G0 rapid rate. | |
| Set | $115 | mm/min | C-axis maximum rate | C-axis maximum rate. Used as G0 rapid rate. | |
| Set | $120 | mm/sec^2 | X-axis acceleration | X-axis acceleration. Used for motion planning to not exceed motor torque and lose steps. | |
| Set | $121 | mm/sec^2 | Y-axis acceleration | Y-axis acceleration. Used for motion planning to not exceed motor torque and lose steps. | |
| Set | $122 | mm/sec^2 | Z-axis acceleration | Z-axis acceleration. Used for motion planning to not exceed motor torque and lose steps. | |
| Set | $123 | mm/sec^2 | A-axis acceleration | A-axis acceleration. Used for motion planning to not exceed motor torque and lose steps. | |
| Set | $124 | mm/sec^2 | B-axis acceleration | B-axis acceleration. Used for motion planning to not exceed motor torque and lose steps. | |
| Set | $125 | mm/sec^2 | C-axis acceleration | C-axis acceleration. Used for motion planning to not exceed motor torque and lose steps. | |
| Set | $130 | mm | X-axis maximum travel | Maximum X-axis travel distance from homing switch. Determines valid machine space for soft-limits and homing search distances. | |
| Set | $131 | mm | Y-axis maximum travel | Maximum Y-axis travel distance from homing switch. Determines valid machine space for soft-limits and homing search distances. | |
| Set | $132 | mm | Z-axis maximum travel | Maximum Z-axis travel distance from homing switch. Determines valid machine space for soft-limits and homing search distances. | |
| Set | $133 | mm | A-axis maximum travel | Maximum A-axis travel distance from homing switch. Determines valid machine space for soft-limits and homing search distances. | |
| Set | $134 | mm | B-axis maximum travel | Maximum B-axis travel distance from homing switch. Determines valid machine space for soft-limits and homing search distances. | |
| Set | $135 | mm | C-axis maximum travel | Maximum C-axis travel distance from homing switch. Determines valid machine space for soft-limits and homing search distances. |
Board Version: MKS DLC32 V2.1
Firmware: V4.00(8M.H35.20230606)
Jetzt habe ich den FluidNC Web Installer (https://installer.fluidnc.com) verwendet, das geht mit einem Browser wie Chromium, mit Firefox geht es nicht.Anschließend muss ich mich mit dem FluidNC AP (eigenes WLAN) verbinden.
Dort muss man nun eine config.yaml hochladen. Meine config kann hier heruntergeladen werden, aber ihr müsst die Parameter anpassen. Auch hier übernehme ich keine Gewähr, dass es bei euch auch so funktioniert.
Als Software benutze ich jetzt Inkscape. Inkscape ist eine freie und plattformunabhängige Software. Ich erstelle also nur die Zeichnung und generiere den G-Code, lade ihn über das Web zu FluidNC, stelle die Startposition der Maschine über den Browser ein und schon kann es losgehen.



