Work in progress: CNC Fräse mit 3 Achsen

Hallo zusammen,

ich mache hier mal auf Basis dieser Diskussion bzw. Idee einen neuen Thread auf.

Ich werde hier von Zwischenerfolgen und eventuellen Rückschlägen berichten und natürlich auch jede Menge Fragen stellen und Euch um Feedback bitten. Im Idealfall ist der Thread am Ende eine brauchbares Inspirationsquelle für andere CNC Interessierte.

Ich möchte einen "straight-forward" Ansatz verfolgen und nicht das Rad neu erfinden. Wenn möglich, möchte und werde ich auf bereits verfügbare Hard- und Software zurückgreifen.

Gesteuert werden sollen also erstmal 3 Achsen. Diese werden von Schrittmotoren der Bauform Nema 17 angetrieben. Die Motoren werden von 3 A4988 "Endstufen" angetrieben, welche auf einem CNC-Shield stecken. Das Shield steckt auf einbem Arduino Uno.

Da die Hardware noch unterwegs ist, beginne ich erstmal mit der Software - mir also eine funktionierende Toolchain zusammenzusuchen.

Wie gesagt, wenn es schon irgendetwas brauchbares gibt, nehme ich das. Recht verbreitet für die Ansteuerung von 3D-Druckern, Lasercuttern, CNC-Fräsen usw. ist offenbar ein Format namens G Code, um die numerischen Steuerungsinformationen zu übertragen. Also nehme ich das auch.

Es gibt ein Projekt namens Gbrl, welches im Prinzip ein G Code Interpreter für den Arduino Uno ist. Der Arduino nimmt dann über die serielle Schnittstelle G Code Daten oder Konfigurationsbefehle entgegen und steuert selbstständig die Motoren.
Das ist eine große Erleichterung, weil man sich so nicht selbst um die "gleichzeitige" Ansteuerung der Motoren, um Beschleunigungs- u. Bremsrampen, um die Skalierung der Fahrtwege usw. kümmern muss. Es beschränkt sich wirklich darauf, alles zu konfigurieren. Genial.

Ich habe Grbl auf den Arduino geladen und kann nun via Serial Terminal mit ihm sprechen. Habe mit den Einstellungen rumgespielt, simple G Code Kommandos gesendet und mir im LA den Output angesehen. Scheint bis ca. 30 kHz zu funktionieren. Fein.

Nun will man eher selten den G Code zeilenweise von Hand eingeben, sondern braucht ein Programm, welches dem Arduino den Code zeilenweise "vorliest". Ich habe mich für grblControl entschieden. Dieses Programm lädt und visualisiert den G Code, legt den 0 Punkt für die Achsen fest und sendet schließlich zeilenweise via USB an den Arduino.

Der G Code ist im Prinzip die Summe der CAM Daten. Also welches Werkzeug wann wolang fährt. Die muss man erzeugen. Ich habe einen guten ersten Eindruck von Estlcam. Dieses nimmt die DXF CAD Daten entgegen und dort legt man die Fräspfade fest. Innenkontur / Außenkontur / Inseln / Gegenlauf- oder Gleichlauffräsen usw. und noch vieles mehr...

Als Grundlage braucht man CAD Daten - also die eigentliche Zeichnung des zu erzeugenden Werkstücks. Ich habe LibreCAD ausprobiert und festgestellt, dass meine CAD Kenntnisse ziemlich eingerostet sind... das letzte Mal habe ich mich vor 20 Jahren beim Studium damit beschäftigt - allerdings nur mit CATIA...

Ich bin also jetzt soweit, dass ich simple Sachen zeichnen kann, festlegen, wie die gefräst werden sollen und darauf basierend G Code erzeugen, diesen zum Arduino senden (und gleichzeitig am PC visualisieren :wink: ) und es blinken bei mir 3 Leds an den x/y/z Direction Pins. Zusammenhänge zwischen Visualisierung des Fräsfortschritts und der ausgegebenen Motorenrichtung sind bereits erkennbar. Yeah!

Frage an Euch: Ist die Toolchain LibreCAD->Estlcam->gbrlControl->Grbl sinnvoll? Gibt es da bessere / intuitivere Software? Bevor ich mich da jetzt detailliert einarbeite und dann feststellen muss, dass bei komplexeren Jobs ein oder mehrere dieser Programme Schrott sind.

Hat jemand Erfahrungen mit diesen Programmen oder kann seine eigenen Lieblingsprogramme empfehlen?

Soweit zum ersten Bericht.

Beste Grüße in die Runde,

Helmuth.

N'abend,

Estlcam hat ja eine integrierte Steuerung, die auf GRBL basiert. Ich würde daher Estlcam als CAM und Steuerung nutzen.

Gruß vom Schattenfänger

Hallo Schattenfänger,

das hatte ich kurz probiert, aber aus unerfindlichen Gründen kommuniziert der Arduino dann nur noch mit 9600 Baud. Mit Grbl 0.9i gehen 115200.

Deshalb entschied ich mich für die externe Lösung. Auch im Hinblick darauf, dass bei hochaufgelösten Fräsarbeiten sehr viele G Code Daten anfallen deren Übertragung ziemlich aufhält.

Und wenn der Fräser einmal am Holz ist muss das zügig weitergehen, sonst verbrennen die Kanten.

Ich konnte jedenfalls bei meinem Testlauf ohne Motoren eine deutlich kürzere Verarbeitungszeit bei der Verwendung von gbrlControl feststellen. Mit identischem G Code (ca. 200 kB).

Was steuerst Du mit Estlcam?

Grüße,

Helmuth

Hi, ich bin zwar neu im Forum angemeldet, lese aber schon seit Jahren mit.

Also ich nutze für die Steuerung meines Plotters und einer Fräse auch Estlcam zur Generierung des Gcodes. Meiner Meinung nach eines der besten kostenlosen Programme für diese Aufgabe.

An einer Maschine nutze ich auch die integrierte Steuerung von Estlcam und bin recht zufrieden. Mittlerweile steuere ich aber die Maschine über ein Webinterface mit Hilfe eines RaspberryPi am Arduino. Es ist eine NodeJS-App und sie läuft meiner Meinung nach super flüssig. Auch der Entwickler ist fit und superschnell in seinen Reaktionen auf eventuelle Fehler und so. Vielleicht ist es ja etwas für dich: https://www.npmjs.com/package/cncjs

Viele Grüße

Frage an Euch: Ist die Toolchain LibreCAD->Estlcam->gbrlControl->Grbl sinnvoll? Gibt es da bessere / intuitivere Software? Bevor ich mich da jetzt detailliert einarbeite und dann feststellen muss, dass bei komplexeren Jobs ein oder mehrere dieser Programme Schrott sind.

Wie so oft im Leben: selbstverständlich gibt es immer noch etwas Besseres :slight_smile:

Es ist halt eine Frage des Geldes, was man bereits ist, auszugeben, um damit höher, schneller, weiter ...

Ich habe seit ein paar Jahren eine kleine CNC-Fräse im Einsatz und nutze "Vectric" Software.
Zur Zeit VCarve Pro, liebäugele aber mit einem upgrade auf Aspire. Da sprechen wir dann aber i.d.R. über 3-4stellige Software-Investitionen.

VCarve ist eine Kombination aus CAD und CAM, hat (eingeschränkte) 3D-Funktionen, kommt mit einer umfangreichen Toolsammlung, Vorlagenbibliothek, kann Bitmaps importieren und in Vektoren umwandeln und erzeugt für dutzende CNC-Maschinen G-Code mit/ohne automatischem Werkzeugwechsel etc.

Super vor allem die 3D-Vorschau des zu erwartenden Ergebnisses, wo man Einstell-Fehler noch vor dem Verarbeiten sofort erkennen und korrigieren kann.

Nach den Versuchen mit ESTLCam und CamBam (und einigen anderen) ist dies für mich und meine Einsatzzwecke die rundeste, weil "all-in-one" Software (kommt immer darauf an, wie viel Geld man bereit ist auszugeben und wie viel man dafür kriegt).

In Kürze will ich mir einen kleinen CNC-Laser für Gravurarbeiten bauen; hier wird dann ein Arduino mit grbl und entsprechendem shield in Einsatz kommen. Die Vorbereitungen des GCodes mache ich dann aber nach wie vor mit VCarve-Pro. Wenn ich das recht in Erinnerung habe, gibt es Konvertier-Software, die die Z-Achsen-Befehle dann in Laser EIN/AUS umsetzen kann. Diese Konvertierung muss ich dann noch "nachschalten", wenn VCarve-Pro den GCode erzeugt hat.

Danke für Eure Antworten! Im Open Source Bereich sieht es offensichtlich echt dünn aus mit brauchbarer Software. Erstaunlich eingentlich.

Da es sich um eine reine Hobbyspielerei handelt, möchte ich erstmal kein Geld für Software ausgeben.

Ich werde mir noch Autodesk Fusion 360 ansehen - da gibt es die Möglichkeit der legalen Nutzung für Studenten und Startups mit < 100k Umsatz.

Motoren sind jetzt da, leider kommen die Treiber erst in einem Monat, weil ich beim Bestellen nicht aufgepasst habe.

Naja, so habe ich also Zeit, mich erstmal um die Mechanik zu kümmern, diese Bastelei in Uhrmacher Dimensionen ist neu für mich und dauert.

Erkenntnis: Beim Bau einer CNC Fräse würde das Vorhandensein einer bereits funktionierenden CNC Fräse vieles erleichtern...

Für X und Z werde ich zum Probieren erstmal einen vorhandenen Proxxon KT 70 Mini-Kreuztisch verwenden. Den gibt es auch "CNC ready" für 230 € bzw. einen Umbausatz (= 2 Motorenhalter) für 50 €. Ich bin optimistisch, dass ich die Motoren ohne derartige Investitionen selbst befestigt bekomme. Berichte folgen.
Der Y Antrieb (Rotation der Spindel) scheint dagegen easy zu sein.

Bin schon sehr gespannt, welche Bewegungsgeschwindigkeiten und Beschleunigungswerte ich mit der Mechanik hinbekomme, ohne Schritte zu verlieren.

Beste Grüße,

Helmuth

Zur Mechanik: Ich habe gerade eine Idee, wie ich mit minimalem Aufwand die Spindeln vom Kreutzisch antreiben kann. Wer sagt denn, dass die Achsen direkt angetrieben werden müssen?

Der Stepper kommt daneben und wird mit einer kleinen Untersetzung das existierende Handrad antreiben.

Problemchen: Dafür benötige ich kleine Ringe von diesem Zahnriemen (6mm breit, Zahnabstand 2mm).
Wo bekomme ich die her?
Oder mit welcher Techologie kann ich den Riemen von meiner 5m Rolle zu Ringen kleben / schweißen / ...

Er muss am Ende über ein 20 Zahn-Aluzahnriemenrad laufen - Biegeradius ca. 5 mm - wenn Nahtstelle, sollte sie also ziemlich flexibel sein.

Vorschläge, wie man das lösen kann?

Danke, H.

Spontan fällt mir da Mädler ein, deren Sortiment sollte sowas abdecken.

Perfekt, danke @sth77!

Ich habe von einem Kumpel 2 Motortreiber geliehen bekommen. Jetzt brummt und zwitschert es auf meinem Schreibtsch. :slight_smile:

Der Antrieb der Linearführungsspindeln funktioniert zum Glück so, wie ich mir das gedacht habe. Gedrechselte Holzscheiben, welche exakt auf die Handrädchen passen - mit der Schaube der Handkurbel fixiert - perfekt. Die Reibung zwischen Holz und Riemen reicht völlig aus - auch ohne Zahnriemenscheibe. Kosten dafür bisher: 4 € für die 2 Riemen, zuzüglich 20 Minuten an der Drechselbank + ein Stück Brennholz.

Nächster Schritt: Motoren ordentlich befestigen und einen fixierten Stift über den Kreuztisch spannen.

So sieht der Versuchsträger momentan aus:

Grüße, Helmuth

Hallo,

Helmuth:
das hatte ich kurz probiert, aber aus unerfindlichen Gründen kommuniziert der Arduino dann nur noch mit 9600 Baud. Mit Grbl 0.9i gehen 115200.

Estlcam kommuniziert mit 500000 Baud. Funktioniert mit allen originalen Arduinos - nur manche Nachbauten machen da Probleme.
Direkt g-codes z.B. per Terminal kann man an die Estlcam Firmware allerdings nicht senden - die Kommunikation muss über Estlcam selbst laufen.

Christian

Die Reibung zwischen Holz und Riemen reicht völlig aus - auch ohne Zahnriemenscheibe

Für den test: prima; aber beachte bitte: alles quasi ohne Last.

Sobald du aber Achsen/Portale bewegen musst (und: noch schlimmer: gegen die Schwerkraft bei der Z-Achse, und die ist nicht gerade leicht, wenn der Fräsmotor aufsitzt) wirst du zumindest Schlupf haben, was bei CNC-Maschinen tödlich ist.

Du wirst also Zahnriemenscheiben oder Wellenkupplungen im späteren Betrieb zwingend brauchen; wenn nicht, dann musst du die Riemen-Spannungen so erhöhen, dass die Antriebswelle(n) der Steppermotoren sich mit Ächzen und Verbiegungen verabschieden werden, weil die Lager nicht für diese Kräfte ausgelegt sind.

Danke für die Hinweise. Momentan ist das ganze nur ein Versuchsträger mit dessen Hilfe ich mich experimentell in die CNC Materie einarbeiten möchte. Es ist motivierend, wie steil die Lernkurve am Anfang ist.

Wenn ich alles so hinbekomme, wie ich es mir vorstelle, werde ich später einen großen Kreuztisch motorisieren, welcher stabiler ist und längere Fahrwege bietet.

@Christian: Vermute ich zu Recht, dass Du der Autor von Estlcam bist? Willkommen hier im Forum!

Grüße,

Helmuth

Hallo Helmuth,

Helmuth:
@Christian: Vermute ich zu Recht, dass Du der Autor von Estlcam bist? Willkommen hier im Forum!

genau - ich bin der Programmierer.

Christian

Hatte mal wieder ein paar Stunden Zeit zum Basteln - Prototyp läuft jetzt.

Grüße,

Helmuth

Hallo,

coole Geräusche. :slight_smile:
Einen Hinweis habe ich. Die Holzscheiben werden sich mit der Zeit verändern. Verziehen und ihre Größe ändern. Ich weiß zwar das es bei Holz nicht auf 1/10mm ankommt, aber wenn doch, dann leidet dadurch die Genauigkeit, weil sich die Übersetzung verändert. Ansonsten cooler Aufbau, könnte Papa gebrauchen. :slight_smile:

Hallo Doc,

ja, der Ufo-Sound hat was. Bei Ganzschrittansteuerung ziemlich laut.
Bin jetzt auf 1/4 Step runtergegangen, da schreien die Motoren nicht mehr ganz so heftig, aber das Drehmoment reicht trotzdem.

Holzscheiben haben sich bereits verzogen und (bei konstanter Luftfeuchtigkeit) ihr Endmaß erreicht. Eine komplette Umdrehung der Holzscheibe entspricht 1/10 mm Vorschub. Minimale Diskontinuitäten durch eine leicht verzogene Scheibe fallen überhaupt nicht auf. Und in Holz schon gar nicht.

Das Lager vom nur einfach gelagerten Proxxon "Fräsmotor" ist (wenig überraschend) bereits hin. Werde mal eine doppelt gelagerte Kress draufschrauben, oder einen kleinen Druckluftmotor, mal schauen.

Ist jedenfalls ein geiles Spielzeug.

Grüße,

Helmuth

Hallo Helmuth,

na wenn das so eine große Untersetzung ist, dann spielt das Holz-Eigenleben wirklich keine Rolle. :slight_smile:
Wie gesagt, ich finds einfach nur geil. :slight_smile:
Weitermachen!