CNC Portalfräsmaschine CNC3040T Drucken
Geschrieben von: Malte   
Freitag, den 22. November 2013 um 22:43 Uhr

bildspacerIch habe mir kürzlich eine relativ billige chinesische CNC Portalfräse über eBay bestellt. Maschinen dieser Art gibt es in unterschiedlichen Größen und Varianten, sie heißen entsprechend ihrem Arbeitsbereich CNC2030 (200 x 300 mm), CNC3040 (300 x 400 mm) oder CNC6040 (400 x 600 mm). Zu den Maschinen gehört ein einfacher Spindelmotor und eine ebenfalls recht einfache Schrittmotorsteuerung, die Schritt- und Richtungsinformationen über einen PC Druckerport erhält. Man kann die Maschinen also z. B. mit Mach3 über einen WinXP Rechner betreiben. Alternativ kann auch ein G-Code Interpreter wie Grbl auf externer Hardware wie einem Arduino eingesetzt werden.

Ich habe mir eine Maschine mit einem Verfahrweg von (nominal) 300 x 400 mm ausgesucht. Der Händler verschickte aus Deutschland und bot deutschen eBay Käuferschutz, sodass ich nicht übermäßig ängstlich war. Die Maschine war für 769,89€ inklusive Versand angeboten. In anderen Angeboten war der Preis etwa 50€ billiger, dafür sollten dann Versandkosten von 50€ anfallen. Der Verkäufer bot die Möglichkeit, einen Preis vorzuschlagen, ich habe ihm 750€ (inklusiv Versand) geboten, was er akzeptierte. Ich kann allerdings schon vorwegnehmen, dass ich im Endergebnis nochmal 160€ für die zahlreichen Mängel zurückerstattet bekommen habe, so dass ich jetzt  540€ für die Maschine (ohne Versandkosten, die man wohl fairerweise abziehen muss) bezahlt habe.

Ich habe an einem Sonntagnachmittag bestellt und bezahlt, in der gleichen Nacht wurde der Artikel als verschickt markiert. Außerdem gab mir der Händler umgehend eine positive eBay Bewertung, die er mit "good lucky!" kommentierte. Könnte es ein böses Omen sein, dass er mir "viel Glück" (oder sowas ähnliches) mit der Maschine wünschte?

spacer

Erster Augenschein | Der Versand sollte laut Angebot per Hermes erfolgen, tatsächlich kam die Maschine dann am nächsten Dienstag per DHL bei mir an. Das war schonmal sehr zügig, gut! Das Paket sah dann allerdings folgendermaßen aus (was die Vorfreude auf den ersten Blick erstmal etwas dämpfte):

bildspacerbild

spacer

spacerbild

spacer

Huch, da hat sich wohl ein Loch gebildet ... Die Verpackung war insgesamt ein (schlechter) Witz. Die Maschine stand lose im Karton, es wurden dann noch einige Verpackungsabfälle als alibi Stoßschutz mit hineingeworfen. Der Abdruck des Handrades der z-Achse im Kartondeckel auf der linken Seite zeigt, dass die Maschine ordentlich Druck von oben hatte - oder vielleicht einen Stoß? Was da seitlich durch den Karton gestoßen hat, ist das Ende der Spindel der x-Achse. Auf der genau gegenüberliegenden Seite sieht man einen Riß im Karton, auch hier ist das Handrad der Achse durchgedrückt. Vermutlich hat  also auch diese Achse ordentlich was abbekommen.

Zur näheren Inspektion habe ich das gute Stück erstmal aus der dürftigen Verpackung gehoben.bildspacer Ich fürchte die Luftpolsterfolie schützt eine Maschine von knapp 30 kg nicht wirklich vor irgendetwas auf dem Versandweg. Das Portal war noch ein wenig mit Schaumstoffstreifen gepolstert - was den Durchstoß des Spindelstummels der x-Achse durch den Karton ja aber auch nicht verhindern konnte. Die Schrittmotorsteuerung befand sich in einem extra Karton, dieverser Kleinkram lag durch Folie fixiert auf dem Karton. Mal rundrum betrachtet macht die Maschine erstmal durchaus einen soliden Eindruck - wobei von vornherein klar ist, dass die Konstruktion verschiedene Schwächen hat.

bildspacerbild

spacer

Schon beim ersten Angucken fallen allerdings einige Macken ins Auge. Das ist technisch nicht weiter schlimm (wobei die dicken Kratzer in der Aufspannplatte natürlich u. U. schon stören können), aber auch nicht unbedingt das, was man sich bei einer neuen Maschine vorstellt.

bildspacerbild

spacer

 

Technische Eigenschaften | Bevor ich auf die Probleme eingehe, die ich mit der Maschine hatte, will ich zunächst kurz einige ihrer technischen Eigenschaften nennen.

Als Linearführung kommen bei x- und y-Achse geschliffene Stahlwellen mit 16 mm, bei der z-Achse mit 12 mm Durchmesser zum Einsatz. Die Wellen sind nicht unterstützt, hängen also frei. Auf allen Wellen laufen jeweils zwei Kugelumlaufbuchsen. Die Maschine verfügt in allen drei Achsen über 12 x 2 mm Trapezgewindespindeln, die Spindeln haben also 12 mm Durchmesser und 2 mm Steigung. Die Spindelmuttern bestehen aus einem weißen Kunsstoff (s.u., Polyamid?). Bei x- und y-Achse ist die Spindel einseitig in einem Radialkugellager gelagert, auf der jeweils anderen Seite ist sie über eine flexible Wellenkupplung mit dem Schrittmotor verbunden, also über diesen gelagert. Bei der z-Achse ist die Situation nochmal deutlich ungünstiger, diese Spindel ist nur über den Schrittmotor gelagert, axiale Kräfte drücken also direkt in den Motor. Deshalb wurde ein einfaches Axiallager am Motor nachgerüstet (s. u.). Für die drei Achsen der Maschine messe ich abgerundet folgende Verfahrwege:

x: 310 mm, y: 390 mm, z: 55 mm

Bei den angebauten Schrittmotoren handelt es sich um Nema 23 Typen (56 mm Flanschmaß) mit 1.8° Schrittwinkel, also 200 Schritten/Umdrehung. Die Motoren werden vom zugehörigen Treibermodul konstant im 1/8 Mikroschritt betrieben. Bei einer Spindelsteigung von 2 mm/Umdrehung und 800 Mikroschritten/Umdrehung des Motors ergibt sich also eine Auflösung von 400 Schritt/mm, bzw 2.5 µm/Schritt.

Ich habe die Drehzahl des Fräsmotors etwas improvisiert mit einem Reflexoptokoppler nachgemessen. Im Leerlauf macht er maximal etwa 6000 rpm (im Angebot zur Maschine wurde behauptet er mache max. 8000 rpm). Diese Drehzahl erreicht er bei etwa 83 V DC Versorgung, er hat dabei eine Stromaufnahme von etwa 210 mA.

 

Pleiten, Pech und Pannen | Als erstes fiel mir auf, dass die Achsen der Maschine mit den Handrädern nur schwer zu drehen waren. Wie sich bald herausstellte, lag das daran, dass die Räder gegen die Motorgehäuse geschoben waren und dort beim Drehen rieben. Das mag durch Stöße beim Transport passiert sein. Das Problem war immerhin leicht zu beheben.

Natürlich interessierte mich dann vor allem, wie spielfrei das Portal steht. Der erste kleine Rütteltest verlief erschütternd - im wahrsten Sinne des Wortes:

Auch der Grund war schnell klar. Bei der y-Achse der Maschine kommen SC16UU Linearlager zum Einsatz. Die Lager bestehen aus einem Alu-Bock in dem jeweils eine LM16UU Kugelumlaufbuchse sitzt. Die Kugelbuchse läuft recht ordentlich auf der 16 mm Achse. Aber die Buchse hat deutlich Spiel in dem Bock, wie man (vielleicht) in dem Video oben sieht. Das ist bei allen vier Lagern der y-Achse der Fall. Eine Messung ergab, dass die Bohrung in dem Bock fast 0.1 mm zu groß ist, während der Außendurchmesser der Kugelbuchse ziemlich genau stimmt. Was also tun?

Zum einen habe ich mich über eBay beim Verkäufer beschwert. Der antwortete promt und freundlich - was er übrigends die ganze Zeit über tat. Ich sollte Bilder oder ein Video an eine kryptische eMail-Adresse senden, was ich getan habe. Er bot an, mir neue Lager zuzuschicken, was ich eigentlich nicht wollte. Erstens hätte ich nicht erwartet, dass seine Austauschlager besser sind, zweitens hatte ich schon eine eigene Lösung im Blick. Ich einigte mich mit dem Verkäufer auf 80€ Rückerstattung.

Es ist völlig klar, dass die Kugelbuchse fest in ihrem Bock sitzen muss, damit das Portal ordentlich steht. Das wurde durch eine kleine Modifikation erreicht: Die Böcke wurden längs mit einem 0.7 mm Schlitz versehen, um die Buchsen dann mittels langer Schrauben durch das Befestigungssloch im Bock klemmen zu können. Das löste das Problem des wackligen Portals zumindest für die y-Achse.

bildspacerbild

spacer

bildspacerspacer

Als ich mich als nächstes der x-Achse zuwendete, fiel von Beginn an auf, dass sie über ihren Verfahrweg von etwa 300 mm einen extremen z-Fehler zeigte. Das heißt, der Abstand des Fräskopfes (und damit des Fräsers) zur Aufspannplatte änderte sich um über einen Millimeter, wenn der Fräskopf in x-Richtung verfahren wurde. Zwar ist zu erwarten, dass die frei hängenden Linearführungen durchbiegen, aber nicht in dieser Größenordnung. Was sich hier als Fehlerquelle rausstellte, war einigermaßen erstaunlich.

bildspacerbild

spacer

Nachdem ich die Verschraubungen der Linearachsen gelöst hatte, klaffte eine deutliche Lücke zwischen den Enden der oberen Achse und den Seitenteilen des Portals. Sollten die Achsen wirklich unterschiedlich lang sein? Das bestätigte sich nach dem Auseinanderbauen des Portals. Zum einen sah man in den Seitenteilen an der Stelle, wo die unterere Achse saß, viel deutlichere Spuren im Lack als beim oberen Loch. Nachmessen der Achslängen ergab dann, dass die obere Achse tatsächlich 1.3 mm kürzer war als die unterere. Krass! Das Portal war also mit roher Gewalt zusammengeknallt worden, dabei dürfte sich die untere Achse der x Linearführung nach unten durchgebogen haben. Das deckt sich mit meinen Messungen zum z Fehler.

bild

spacer

Zunächst dachte ich, man könne dem Problem mit eigens zu diesem Zwecke hergestellten Abstandsscheiben begegnen. Der Sache nach funktionierte das auch gut.

bildspacerbild

spacer

Dummerweise hatte ich zunächst nur den Durchmesser der zu kurz geratenen Achse gemessen, weil ich die andere für okay hielt.bildspacer Nachdem die Längenanpassung dann erledigt war, habe ich beide Achsen parallel in ihre Kugelumlaufbuchsen gesteckt. Und siehe da, die längere Achse klapperte fröhlich in ihren Buchsen hin und her. Eine kurze Messung gab dann schnell Erhellung: die Achse hatte fast 0.1 mm Untermaß. Autsch! Wie kann das nun wieder sein? Wer zum Henker braucht eine Achse mit 15.91 mm Durchmesser? In bewegten Bildern sieht das Ganze folgendermaßen aus.

Damit war klar, dass zumindest die zu dünne Achse ersetzt werden muss. Ich habe jetzt allerdings hier direkt zwei neue geschliffene 16 mm/h6 Achsen bestellt, die ich für die x Führungen verwenden werde. Die Achsen sind mittlerweile eingetroffen und ich bin sehr zufrieden mit der Qualität. Sie wurden vom Anbieter mit einem Trennschleifer sauber auf Wunschmaß abgelängt und angefast. Um die Gewindelöcher habe ich mich selbst gekümmert. Die Oberflächenhärtung der Achsen reicht nur etwa 1 mm ins Material, die Stirnseiten lassen sich also relativ problemlos bearbeiten.

bildspacerbild

spacer

Auch die 12 mm Führungen der z-Achse waren mir Endeffekt zu ungenau, sodass ich mittlerweile auch diese ersetzt habe. Auch die Achse läuft dadurch nun um einiges besser.

Ein Problem der Konstruktion der z-Achse bei dieser Maschine ist, dass die Kräfte die z-Richtung beim Fräsen auftreten dirkekt in Motorlager drücken. Der Motor hat kein Axiallager, tatsächlich kann man den ganzen Rotor bei hinreichender Belastung etwas nach oben schieben. Ich weiß nicht ob das dem Motor möglicherweise schadet, zumindest wird es sich im Betrieb nicht gerade günstig aufs Drehmoment auswirken, wenn die axiale Ausrichtung des Rotors sich ändert. Um hier ein Axiallager nachzurüsten, wird die Tatsache ausgenutzt, dass die Welle des Motors auf der Seite des Handrades eine kleine Zentrierbohrung hat. Es wurde eine Brück angefertigt, mit deren Hilfe eine Kugeldruckschraube in die Zentrierbohrung gedrückt wird. Dadurch beim Fräsen auftretende axiale Kräfte von der Brücke abgefangen.

bildspacerbild

spacer

bildspacerbild

spacer

Bei billigen chinesischen Gerätschaften habe ich mir angewöhnt, alles was mit elektrischem Strom, insbesondere Netzspannung betrieben wird, auseinanderzunehmen, bevor ich es zum ersten Mal einschalte. Das hat sich auch bei der Schrittmotorsteuerung, die zu dieser Maschine gehört, als sinnvoll erwiesen. Denn wie das folgende rechte Bild zeigt, klebten kleine blanke Drähtchen in der Wärmeleitpaste auf den Schrittmotortreiberplatinen, und zwar mehr oder weniger exakt auf den Anschlüssen des Treiber ICs. Da wären im Betrieb Fehlfunktionen, wenn nicht gar ein Defekt der Elektronik zu erwarten gewesen. Also habe ich die drei Treiberkarten ausgebaut und von solchen Resten der Verkabelungsarbeit befreit. Die Typenbezeichnung der Treiber war übrigens abgeschliffen, ich werde mich nochmal gesondert darum kümmern herauszufinden, worum es sich handelt. Direkt auf der Platine zu erkennen waren zwei 0.22 Ohm Leistungswiderstände, bei denen es sich um die Messshunts für die Motorstromregelung handeln muss. Außerdem ist ein Trimmer vorhanden, über den man höchstwahrscheinlich den Motorstrom einstellen kann. Im ersten Testlauf wurden die Motoren absolut nicht warm, ggf. kann man hier also den Strom noch etwas erhöhen, um eine höhere maximale Verfahrgeschwindigkeit rauszuholen. Aber das kommt später. Achso, arpopos Testlauf: ja, funktionieren tut die Steuerung, und der Spindelmotor tut's auch.

Erstaunlich fand ich allerdings noch, warum man Befestigungslöcher passend aber schief angeordnet bohrt. Ist schief einfacher als gerade? Nicht dass ich wüsste ...

bildspacerbild

spacer

Nachdem die x- und die y-Achse soweit in Ordnung gebracht sind, läuft die Maschine auch einigermaßen. Im folgenden Video lasse ich den g-Code für einen Lüfterausschnitt mit einer Messuhr auf einer Glasplatte abfahren. Wie man sieht hält sich der z-Fehler zumindest für diesen kleinen Arbeitsbereich in Grenzen. Über den gesamten Arbeitsbereich ist er allerdings deutlich größer. Ich will noch ein wenig nachjustieren bevor ich ihn bei Zeiten genau messen werde und die Ergebnisse dann hier veröffentliche.

 

Erste Versuche | Für den ersten Trockenlauf habe ich eine Messuhr an den Fräskopf geschraubt, die über eine Glasplatte fährt. Auf diese Weise wollte ich einen ersten Eindruck von der Genauigkeit in der z-Achse gewinnen.

Folgend einer der ersten Gravurtests. Ich habe versucht, mein a1robotics Logo in Plexiglass zu fräsen. Das Logo wurde in Inkscape gezeichnet und dann mit dem Plug-In "gcodetools" in G-Code umgewandelt. Der G-Code wurde dann von Mach3 zu Steuerung der Fräsmaschine verwendet.

Die Fräsreihenfolge der Buchstaben für die Unterschrift unter dem Logo ist etwas seltsam. Ich bin dem noch nicht nachgegangen, aber ich glaube, das ist die Reihenfolge in der ich die Buchstaben gezeichnet habe. Das Endergebnis sieht folgendermaßen aus:

bildspacerDie Gravurtiefe ändert sich noch ziemlich stark über den Bereich des Werkstücks. Man sieht unten rechts beim Rahmen des Logos, dass dieser zu flach eingefräst wurde. Auch die Präzision insgesamt ist nach wie vor etwas ernüchternd. Wenn man genau hinsieht, erkennt man, dass die Buchstaben nicht ganz sauber aussehen. Oben links in dem Linenzug des A1 Logos erkennt man, dass sich Start- und Endpunkt der Gravur nicht genau treffen. Ich werde versuchen die Maschine noch weiter zu optimieren.

 

Steuerung der Maschine mit Grbl | Weil die zur Maschine gehörigen Motorendstufen über einen Parallelportbild spacermit Step-/Dir-Signalen gesteuert werden, ist zur Verwendung der Software Mach3 ein 32 Bit Windows Rechner erforderlich - zumindest wenn man den Controller direkt an einem PC betreiben will. 64 Bit Windows Systeme erlauben es offenbar nicht mehr, low level auf den Parallelport zuzugreifen. Um die CNC Maschine dennoch an einem 64 Bit Windows Rechner verwenden zu können, habe ich jetzt mal testweise das Grbl-System verwendet, um die Step-/Dir-Signale zu generieren.

Bei Grbl handelt es sich um einen auf einem 8 Bit AVR - typischerweise einem kleinen Arduino-Board - ausgeführten G-Code Interpreter. Der auszuführende G-Code wird von einem PC über einen virtuellen COM-Port kontinuierlich zu Grbl gestreamt und dort mit präzisem Timing in entsprechende Step-/Dir-Signale für die Motorendstufen für drei Achsen umgesetzt.

Man kann eine compilierte Version von Grbl direkt auf einen Arduino flashen. Man lädt dazu das entsprechende Hex File mit einem Hex Loader wie z.B. XLoader (s. u.) auf das Arduino Board. Damit ist das System sofort einsatzbereit. Das Grbl Wiki zeigt, wie die Steuersignale an den Steckverbindern eines Arduino Uno Boards anliegen. Diese müssen nun nur noch an die Motorsteuerung gekabelt werden. Das Parallelport-Interface an dem zu meiner CNC gehörigen Steuergerät ist folgendermaßen belegt:

bildNeben den Step- und Direction-Ausgängen für die X-, Y- und Z-Achse, bietet Grbl einige weitere Signalein- bzw. ausgänge. Hier verwende ich davon zunächst nur den Reset/Abort-Eingang. Die Not-Aus-Taste an dem Steuergerät zieht Pin 10 des Parallelports auf Masse, dieser kann also direkt mit dem Grbl Reset/Abort-Eingang verbunden werden (die Pull-Up-Widerstände des AVRs sind an den Eingängen aktiviert). Wichtig ist selbstverständlich noch, dass die Masse des Steuergerätes mit der Masse vom Grbl Controller (dem Arduino) verbunden wird.

Um G-Code zu Grbl zu streamen verwende ich ein Tool, das ich kürzlich auf mikrocontroller.net entdeckt habe. Das Programm heißt SerialComCNC und wird von seinem Autor Ulrich A. Maassen in diesem Thread in der jeweils neusten Version angeboten und diskutiert. In dem dort zur Verfügung gestellten zip-Archiv befindet sich auch das jeweils für die aktuelle Version von SerialComCNC geeignete Hex-File von Grbl und der XLoader, um einen Arduino zu flashen. Bisher funktioniert SerialComCNC in Verbindung mit Grbl für meine Belange sehr gut.

bildspacerbild

 

Fortsetzung folgt!


Zuletzt aktualisiert am Mittwoch, den 04. Februar 2015 um 12:33 Uhr