Sonntag, 2. März 2014

Betrieb der Stepcraft 420 mit Linux

Warum Linux?

Bei der USB Starterversion der Stepcraft Fräsen wird "WinPC-NC Starter" mitgeliefert, die auch korrekt als "Einsteigersoftware" bezeichnet wird. Will man die Vollversion haben, muss man noch einmal 200 € extra drauflegen. Als Software-Entwickler und Langzeit Linux-User (demnächst 20 Jahre ...) siegte bei mir der geizige Tüftler. 

Ausserdem gibt es unter Linux jenseits der eigentlichen Maschinensteuerung (LinuxCNC) eine große Menge freier Software, z.B. LibreCAD zum Zeichnen oder dxf2gcode zur Umwandlung von CAD-Zeichnungen in G-Code.
Das ist auch ein weiterer für mich wichtiger Unterschied: LinuxCNC läuft im "Profiformat" G-Code, nicht mit einer Plotdatei, wo die Tiefen der Fräsung erst unmittelbar vor dem Fräsvorgang eingestellt werden.
Und die Tatsache, dass die verwendeten Programme Open Source sind ermöglichen es (mir als Softwareentwickler), diese nach meinen Vorstellungen anzupassen. Von dieser Möglichkeit habe ich auch tatsächlich Gebrauch gemacht, dazu später mehr ...

Ganz wichtig: Für den Betrieb mit LinuxCNC braucht man unbedingt das Parallelport-Interface (zu meinen kleinen Problemen mit der Inbetriebnahme der Fräse siehe meinen Baubericht).

Rechnerauswahl

Zurück zum Betrieb der Fräse mit LinuxCNC. Die erste Hürde ist natürlich die Auswahl eines Rechners, der für den Betrieb mit LinuxCNC geeignet ist.
Paradoxerweise ist dafür ein ganz neuer Rechner nicht unbedingt hilfreich, wichtig ist, dass der Rechner gute Echtzeiteigenschaften hat, d.h. dass er möglichst exakt auf ein vorgegebenes Signalintervall verfügbar ist.
Das Gute daran ist, dass man LinuxCNC ohne Installation von CD starten kann (LiveCD), um festzustellen, ob ein Rechner gut für das Steuern der Fräse geeignet ist. 

Ist LinuxCNC gestartet wählt man aus dem Menü Anwendungen → CNC → Latency Test. Danach muss man auf dem Rechner auch "etwas tun", um die maximalen Abweichungen (Jitter) zu ermitteln. Idealerweise sollten dabei beide Jitter-Werte unter 15.000 bis 20.000 bleiben (lt. LinuxCNC Wiki).

Geschafft! Ein Rechner mit idealen Max Jitter-Werten


Folgende Pi-mal-Daumen-Regeln hab ich aus meinen Erfahrungen abgeleitet:
  • Alte, aber nicht gar zu alte Hardware ist gut. In meinem Fall wurde es ein AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ mit einer nVidia GeForce 6600 GT auf einem nForce2 Motherboard.
  • Wenn man sehr alte Hardware versuchen möchte, kann es empfehlenswert sein, die "ältere" CD von LinuxCNC zu verwenden (siehe hier unter Ubuntu 8.04 Hardy Heron (older)).
  • Je weniger Hardware in einem Rechner verbaut ist, desto geringer die Wahrscheinlichkeit, dass ein Teil darunter ist, das die Echtzeiteignung zunichte macht
  • Die Grafikkarte ist meist das größte Problem. Ich habe viele nVidia-Karten durchprobiert (und auch immer proprietärer Treiber oder der Open-Source "Nouveau"-Treiber), bis ich das passende gefunden habe. Die schon erwähnte nVidia 6600 GT mit nouveau war dann schließlich perfekt.
  • Es wird zwar ausdrücklich erwähnt, dass man beim Latenz-Test den Browser starten soll, allerdings ist Firefox mittlerweile ein echtes Monster und so wird auch in einschlägigen Foren davon abgeraten, Firefox während des Latenztests zu starten. Umgekehrt heißt das natürlich, dass man auch während des Fräsens den Browser besser nicht verwendet.
    Sehr wohl muss man aber ein OpenGL-Programm laufen lassen, da auch Axis (das GUI von LinuxCNC) diese Grafikschnittstelle verwendet. glxgears kann man starten indem man Alt+F2 drückt und dann glxgears in das Eingabefeld eingibt, gefolgt von der Return-Taste.

Installation

Die Installation von LinuxCNC gestaltet sich denkbar einfach, da LinuxCNC auf Ubuntu basiert und dieses um die benötigte Software für die Steuerung (Axis) und Echtzeit - Erweiterungen für den Kernel erweitert. Daher auch der Hinweis, dass man nicht einfach einen Ubuntu-Systemupgrade durchführen darf, sonst ist es aus mit Echtzeit-Steuerung und damit auch mit CNC-Fräsen.

Einrichten der Stepcraft 420

Sowohl im Stepcraft Forum als auch auf YouTube habe ich schon vor dem Kauf meiner Fräse die wichtigsten Informationen gefunden, wie man mit stepconf die Stepcraft einrichtet. Ich habe meine Dateien (ohne jede Garantie, bitte jedenfalls selbst kontrollieren, bei anderer Fräse als 420 natürlich die möglichen Verfahrwege anpassen) hier freigegeben (herunterladen und dann in stepconf Modify a configuration already created with this program auswählen).

Man kann mit stepconf aber natürlich auch ganz einfach selber die Daten eingeben:
 
Hat man die Dateien runtergeladen, wählt man hier Modify a configuration already created with this program, sonst eben Eine neue Konfiguration erstellen.


Wichtige Grundeinstellungen, ich habe bei Maximale Systemtakt-Abweichung einen Wert eingegeben, der deutlich über den ermittelten Werten liegt, um auf der ganz sicheren Seite zu sein.

Hier kann man Erweiterungen zum Axis GUI einstellen, fürs erste hab ich es mal leer gelassen

 
Die Pin-Belegung

Wichtig bei der Pinbelegung ist, dass man Pin 11, den Notausschalter invertiert. Sonst wird in Axis die Fräse als inaktiv angezeigt obwohl sie eigentlich "an" ist. Pin 1 steuert die Schaltsteckdose und auf Pin 10 ist der Werkzeuglängen-Sensor angebracht.

Konfiguration X-Achse (links-rechts), hat man ein anderes Modell als die 420, muss der Verfahrweg angepasst werden.
Konfiguration Y-Achse (vor-zurück); Da der Referenzschalter ganz hinten liegt, gibt man hier das Ende als Punkt an, die Geschwindigkeit ist positiv; Ein paar mm hab ich hier als Sicherheitsreserve eingespart.

Die Z-Achse (auf-ab): Hier ist die lt. Datenblatt geringere Maximale Geschwindigkeit zu beachten.

Wenn man mit stepconf fertig ist, bekommt man einen schönen Link am Desktop, den man zum Starten von Axis benutzen kann. Dort empfiehlt es sich zunächst vorsichtig im Reiter Manual Control die Achsen zu bewegen (läuft alles richtig?, in die richtige Richtung?).

Hat man die Fräse zum ersten Mal in Betrieb sollte man aus der Erste Schritte - Anleitung von Stepcraft den Punkt 2.5 ÜBERPRÜFUNG DER LINEARACHSEN durchführen. Danach steht einem erfolgreichen Betrieb der Fräse nichts mehr im Weg.

Ausblick

Dieser Artikel beschreibt nur die Einrichtung von LinuxCNC. Um von einer Idee zum fertig gefrästen Bauteil zu kommen, braucht es aber noch mehr Software (LibreCAD, dxf2gcode). Deren Einrichtung und Verwendung beschreibe ich einem meiner nächsten Artikel...





5 Kommentare:

  1. Cool danke für deine Mühen das bereitzustellen und öffentlich zu dokumentieren!

    Warte und freue mich schon auf deine zukünftige Blogeinträge dazu!

    AntwortenLöschen
  2. Schöne Anleitung, die WinPC USB Starterversion war ein absoluter Krampf.

    AntwortenLöschen
  3. Hallo, ich bin ein absoluter Neuling und bräuchte ein wenig
    Unterstützung bei der Einrichtung.

    Ich habe mir eine SC600 zugelegt.
    In der Anleitung ist angegeben, dass die Motoren 1,8° im Vollstepmodus zu betreiben sind, die Spindelsteigung ist mit 3mm angegeben.

    Stelle ich Steps/Umdrehung, 1 (Vollschritt) und 3mm für die Spindelsteigung ein, fährt die Maschine nur die Hälfte des erwarteten Weges. Was könnte ich falsch machen?

    In deiner Konfiguration sind 400/2/4mm angegeben.

    Gebe ich bei mir analog dazu 400/2/3mm ein, dann fährt die Maschine doppelt so weit wie gewünscht.

    Hattest Du ähnliche Probleme und (ich gehe davon aus deine Spindeln haben 2mm Steigung) hast die zurückzulegenden Wege durch die doppelte Spindelsteigung angepasst?

    Vielen Dank für etwaige Anregungen.

    Gruß,
    Harald

    AntwortenLöschen
  4. In der Anleitung steht "Alle verwendeten Motoren haben 1,8°/Vollstepp", aber nicht, dass man sie im Vollstep betreiben muss.
    Betrieben werden sie im Halbstep (zumindest mit LinuxCNC scheint das so zu sein).

    Das hat mich auch mächtig verwirrt damals, ich hatte meine Daten aus einem YouTube Video ;-).

    Die Stepcraft-1 420, die ich habe, hat 2.0 mm / Umdrehung und weil Halbschritt musste ich (400/2/4mm) angeben.

    Also glaube ich, du brauchst 400/2/6, dann sollte es passen.

    AntwortenLöschen
  5. Vielen Dank.
    Probiere ich gleich morgen aus.

    Hast du bzgl. max. Geschw./Beschl. noch was berücksichtigt?
    Beispielsweise die Werte halbiert wg. Halbschritt?
    Bei meiner SC600 ist max. Verfahrgeschw. 3000 mm/min angegeben.
    Das wären dann normalerweise 50 mm/sec bei jeder Achse.

    Sorry wegen der blöden Fragen.

    AntwortenLöschen