Vielleicht wolltet ihr auch schon immer mal eine synchrone 4. Achse (A-Achse als Drehachse) auf der Hobby-Line integrieren?
Hier zeige ich euch, wie ich das (mit nur geringen Zusatzkosten) realisiert habe...
Nach vielen sehr zufriedenen Stunden mit meiner Hobby-Line 6045 mit ESTLCAM-Steuerung über USB->LPT-Adapter->Interface Advance PRO im klassischen 3-Achs-Modus wollte ich mir eine 4. Achse als Drehachse (A-Achse) dazu bauen. Natürlich sollte das Ganze kein Vermögen kosten und so stellte ich dabei, wie viele vor mir wahrscheinlich ebenfalls, folgende Einschränkungen bei der Ausstattung meiner Hobby-Line mit Standard-Midi-Steuerung per ESTLCAM fest:
1. ESTLCAM ist nur für 3-Achs-Maschinen ausgelegt (und wird es wohl auch bleiben), eine Drehachse wird nicht unterstützt
2. Der in meiner Hobby-Line-Steuerung verbaute ESTLCAM-LPT-Adapter ist wahrscheinlich ungeeignet, um Steuersignale für eine 4. Achse zu verarbeiten (kenne die interne Programmierung nicht)
3. Zum Betreiben der Hobby-Line mit einer 4. Achse sind mindestens folgende Ergänzungen notwendig:
- klar: Zukauf der 4. Achse mit Schrittmotor ist notwendig
- auch klar: 4. Schritt-Motor-Treiber (Platz in der Standard Midi-Box ist vorhanden, und meine Interface Advance PRO kann 4 Achsen) muss integriert werden
- Notwendig: Neue Ansteuerelektronik anstelle von ESTLCAM LPT-Port Adapter
- Notwendig: Neue Software mit GUI (auf Laptop in der Werkstatt) zur Ansteuerung des Interface Advance PRO
Nach längerem Hin und Her habe ich mir also folgendes überlegt:
- Ganz wichtig: Der Umbau soll möglichst wenig kosten und möglichst viel Spass machen!
- Die Drehachse (inkl. Ansteuerelektronik) lässt sich einfach zukaufen: bei Amazon ein günstiges Nachrüstset (Nema 23-Schrittmotor (6:1) K12-100 mm 4-Backen-Bohrfutter 100 mm CNC 4. Achse A Axis Drehachse + Reitstock für CNC-Fräser (mit DM542-Antrieb))
- Als neue Steuerelektronik soll ein Arduino Mega 2560 mit GRBL-Mega-5X zum Einsatz kommen: https://github.com/fra589/grbl-Mega-5X
- Das Breakout-Board (Aufsteck-PCB) für den Arduino -> Interface Advance PRO LTP-Port wird auf der Hobbi-Line selbst hergestellt (schließlich kann Fusion360 inzwischen auch PCB-Design) [Bei Bedarf stelle ich mein PCB-Design gern zur Verfügung]
- Aufgrund mangelnder (kostenfreier) Alternativen wird die Steuersoftware mit GUI für den Betrieb aller 4 Achsen selbst programmiert (soll möglichst so gut wie ESTLCAM funktionieren)
- Die Tool-Chain von der 3D-Modellierung bis zur Maschinenbewegung für die Hobby-Line soll weiterhin wie folgt bestehen: Fusion360 3D Modell -> Fusion 360 CAM (für 4-Achs-Bearbeitung) -> GCODE -> Eigene GRBL-GUI-Software auf Werkstatt-Laptop -> USB -> Arduino Mega 2560 im Midi-Steuergehäuse -> eigenes Breakout-Board für LPT-Adapter -> Interface Advance PRO
So weit so gut - dann ging es an die Umsetzung (ca. 3 Monate Elektronik-Umbau, Arduino-Programmierung, C# WPF GUI-Programmierung (hier hat mich die Echtzeitfähigkeit des GUIs in Verbindung mit dem USB-Serial-Interface zum Arduino so einige graue Haare gekostet)). Nachdem die Endschalter im Arduino richtig erkannt, die Spindel-Ansteuerung meines AMB Fräsmotors mit PWM über den Arduino richtig konfiguriert und die echtzeitfähige 4D-Visiualisierung im neuen SOROTEC Community-GRBL-GUI richtig lief, sah es wie folgt aus (ich habe mir erlaubt das SOROTEC-Hobby-Line Community Build in der GUI-Software zu integrieren):
pasted-from-clipboard.png pasted-from-clipboard.png
Die neue Software ist zwar noch in den Kinderschuhen, macht aber bisher einen guten Job im Betreiben des Arduino Mega mit GRBL über USB und die GCODE-Generierung mit Fusion360 CAM benötigte nur kleine Anpassungen im Post-Prozessor, um die A-Achse zu integrieren.
Fazit
Der Umbau der Hobby-Line zum Betreiben einer 4. Achse ist auf Hardware-Ebene sehr einfach. Drehachse kaufen, draufschrauben, fertig! Die Kosten dafür belaufen sich auf ca. 200 EUR für die Achse inkl. Motor-Treiber, 15 EUR für den Arduino Mega, < 10 EUR für Kleinteile, Kabel, Lötmaterial...
Nur die kleinen aber feinen Details machen richtig Arbeit: Die Softwareentwicklung war wohl der aufwendigste Teil, da kostenfreie 4-Achs-GRBL-GUIs im Internet noch auf sich warten lassen. Für 3 Achsen gibt es diese in großer Vielzahl, aber bei 4 Achsen sieht es leider dünn aus, wenn meine gewünschten Funktionen dabei sein sollen. Da ich auch eine schöne 3D-Visualisierung des GCODES mit Pan-, Zoom- und Tilt-Funktion im GUI haben wollte, musste ich mir zunächst einen GCODE-Parser und die 3D Visualisierung der Bewegungsbahnen programmieren (siehe Beispiele dazu in den Bildern) - am liebsten hätte ich das zukunftstauglich mit Windows UWP gemacht, hier gibt es aber noch keine guten 3D-Visualisierungs-Libraries. Also musste noch das klassische C# .NET WPF mit DirectX Visualisierung her halten. Immerhin ist das GUI so schön skalierbar und lässt sich auch auf meinem Werkstatt-Laptop per Touch-Screen prima bedienen. Vielleicht wäre das auch in Phyton oder Java gegangen (um die Linux-Fangemeinde dabei zu haben), das war mir aber zu aufwendig.
Die Achsen laufen im JOG-Modus inzwischen sowohl per Tastatur, als auch per Gamepad (ja, ich habe gleich ein Interface für einen Playstation 4-Controller integriert) tadellos. Der GCODE wird fehlerfrei in Echtzeit zum Arduino gestreamt und Nothalt, Spindel- und Drehzahlregulierung und die Ansteuerung meiner Absaugung (Werkstatt-Staubsauger über integriertes Midi-Steuerungs-Relais angeschlossen) laufen prima.
Ausblick
Nachdem ich nun einmal damit angefangen habe, kommen mir natürlich noch viele Ideen. Als erstes wird die Werkzeug-Längenmessung auf der Softwareseite noch integriert (hier kann GRBL-5X alle nötigen Funktionen bereits per G38.2 umsetzen). Danach baue ich mir wohl einen eigenen 3D Taster und integriere diesen zur Vermessung von Werkstückdurchmessern auf der 4. Achse. Die GCODE-Generierung für rotationssymmetrische Freiformflächen in Fusion360 ist noch etwas umständlich - vielleicht finde ich hier bald eine passende Lösung, oder ihr habt Ideen?
Lasst mich wissen, wie ihr den Umbau findet und welche Ideen euch dabei kommen...