Die Käse Fräse bekommt einen Refresh!
Die in 2016/17 gebaute CNC-Fräse nach dem c’t Hacks Bauvorschlag hat in der Zwischenzeit viele gute Sachen produziert. Einen Schwippbogen, wir ursprünglich geplant, konnten wir mangels Interesse leider noch nicht damit erstellen.
Leider gab es durch den ge-fork’ten GRBL-Controller mit physischem Jog-Pad keine Weiterentwicklung auf die aktuellen GRBL-Versionen. Insbesondere die Ansteuerung eines Laserkopfes mit dynamischer Leistung auf die Geschwindigkeit abgestimmt (M4) vermisse ich an dieser Stelle.
Weiterhin hat sich inzwischen der Tachoring der verwendeten Kress-Frässpindel verabschiedet, weswegen diese immer eine Notabschaltung durchführt. Der Tachoring ist separat (mittlerweile von AMB) zu erhalten und wird sicherlich irgendwann erneuert.
Durch diese Umstände ist die Käse Fräse leider nicht mehr nutzbar. Im Gegenzug ist dies die Gelegenheit, umfassende Modernisierungen durchzuführen:
- HF-Spindel mit Ansteuerung der Drehzahl über Frequenzumrichter
- Erneuerung des Controllers mit aktueller GRBL-Version
- Zusätzliche Verwendung des Ortur Laser-Master Kopfes als zweites Tool
Bei der Suche nach aktueller GRBL-Version und geeigneter Hardware bin ich auf eine sehr interessante Kombination gestoßen:
- MKS Tinybee – ESP32 basietres Mainboard aus den 3D-Druck-Bereich mit vielen Optionen
- FluidNC – GRBL-kompatible Firmware, mit vielen Optionen
- https://github.com/bdring/FluidNC
- It includes a web based UI and the flexibility to operate a wide variety of machine types. This includes the ability to control machines with multiple tool types such as laser plus spindle or a tool changer.
Die wesentlichen mechanischen Komponenten wollte ich zunächst weiterverwenden. Gerade die Kombination aus neuer Frässpindel und Controller bieten sich an, hier einen ersten Schritt zur Erneuerung durchzuführen.
Die Führung der Z-Achse wird für die HF-Spindel angepasst werden müssen. Wie gut der Rest mit dem höhren Gewicht klar kommt, wird sich zeigen.
Die Schritt-Motoren samt Treiber sollen zunächst 1:1 verbleiben.
Umsetzung
Als erstes habe ich die Software (FluidNC) auf das MKS Tinybee Board geladen.
Im nächsten Schritt muss eine config.yaml Datei erstellt werden, die der Softwar verrät, welche Hardware ihr zur verfügung steht und wie diese angebunden ist. Hier werden zudem die von GRBL bekannten Parameter zu den Achsen hinterlegt. Das ist alles recht ordentlich hier dokumentiert: Wiki FluidNC
Da ich den vorhandenen externen Stepper-Treiber weiterverwenden wollte habe ich nicht die Option der aufsteckbaren Step-Sticks gewählt. Das MKS Tinybee hat für externe Treiber separate Pin-Reihen vorgesehen, die sogar auf 5V-Logikpegel arbeiten.
Leider hat mior hier die Dokumetation der FluidNC eine kleinen Streich gespielt. In der Beispiel Datei für das MKS TinyBee wird die Motor-Sektion dargestellt. Jedoch für die Treibermodule, die aufgesteckt werden. Will man einen externen Treiber verwenden muss dies angepasst werden. Es schien für mich nur eine namentliche Benennung zu sein, hat aber tatsächlich funktionale Auswirkungen:
axes: x: steps_per_mm: 80 [...] homing: cycle: 2 [...] motor0: limit_neg_pin: gpio.33:low:pu [...] standard_stepper: step_pin: I2SO.1:high direction_pin: I2SO.2:high disable_pin: I2SO.0:low
Heißt die Sektion „stepstick“ wird der nur invertiert benannte Enable_Pin (/Disable_Pin) angesteuert, jedoch der Step_Pin nicht. Erst mit dem Namen „standars_stepper“ werden die Signale hier auf die Pinreihe geführt.
Nun bewegen sich mit der neuen Kombination aus MKS TinyBee und FluidNC als Cntroller immerhin schon die drei Achsen X/Y/Z.