Die Steuerung der kleinen Fräsmaschine erfolgt über die Software Mach3, die auf einem gewöhnlichen, nicht mehr allzu aktuellen IBM-PC mit zwei IEEE 1284 Parallelports installiert ist. Im Folgenden werden Details zur Konfiguration von Mach3 beschrieben.
„Mach3” von Artsoft[1] ist eine Windows-Software für die Steuerung von CNC-Fräsen, ‑Drehmaschinen oder ‑Plasmaschneidern mit Schritt- oder Servomotoren. Ursprünglich erfolgt die Steuerung über Parallelschnittstellen des PCs, wobei auch mehr oder weniger beliebte USB-Schnittstellen erhältlich sind.
Trotz einiger Eigenheiten hat sich diese Maschinensteuersoftware in der Vergangenheit als sehr zuverlässig und komfortabel herausgestellt. Im Folgenden werden einige dieser Eigenheiten und Konfigurationsmöglichkeiten beschrieben und die vielen kleinen aufgezeigt, die mir selbst den Weg zur eigenen CNC-Fräse erschwerten. Die Lösungen erforderten einige Recherche in Anleitungen, Foren und unterschiedlichen Websites. An dieser Stelle sei auch den Menschen gedankt, die anderen diese Fragen so beantwortet haben, daß ich sie finden konnte.
Andere Artikel, die mit Details aus Mach3 Berührpunkte haben sind:
Als Steuer-PC findet ein gewöhnlicher, nicht mehr allzu aktuellen IBM-PC Verwendung, ausgestattet mit einem Intel Celeron, 2,88 GHz, 2GB RAM und mit einer Erweiterungskarte mit zwei IEEE 1284 Parallelports. Damit stehen insgesamt drei Parallelports für die Maschinensteuerung zur Verfügung. An zwei davon ist die Steuerung meiner BF 20 und an einen ist eine kleine Stepcraft-CNC angeschlossen.
Bei zwei Parallelports kommen insgesamt 34 konfigurierbare Pins zusammen. Um nicht die Übersicht zu verlieren, ist eine ständig aktuell gehaltene Konfigurationstabelle unumgänglich.
Port 1 | ||
---|---|---|
Motorsteuerung | ||
1 | H | Output#4 (M8, ungenutzt) |
2 | H | Dir Achse X |
3 | L | Step Achse X |
4 | H | Dir Achse Y |
5 | L | Step Achse Y |
6 | H | Dir Achse Z |
7 | L | Step Achse Z |
8 | H | Dir Achse A |
9 | L | Step Achse A |
10 | - | |
11 | L | Not-Halt/ESTOP |
12 | - | |
13 | - | |
14 | - | |
15 | - | |
16 | - | Ladungspumpe |
17 | - |
Port 2 | ||
---|---|---|
Interfacekarte | ||
1 | - | |
2 | H | OEM-Trigger#2 (Handrad) |
3 | H | OEM-Trigger#3 (Handrad) |
4 | H | OEM-Trigger#4 (Handrad) |
5 | - | MPG#1 Kanal A |
6 | - | MPG#1 Kanal B |
7 | - | |
8 | L | Endschalter Z++/Z-Home |
9 | L | Endschalter Z-- |
10 | L | Endschalter Y++ |
11 | L | Endschalter Y--/Y-Home |
12 | L | Endschalter X--/X-Home |
13 | L | Endschalter X++ |
14 | L | Output#3 (ungenutzt) |
15 | H | OEM-Trigger#1 (Handrad) |
16 | L | Output#1 (Spindel 1) |
17 | L | Output#2 (Spindel 2, M7) |
Die Ladungspumpe (charge pump) ist ein von Mach3 ausgegebenes Rechtecksignal mit ungefähr konstanter Frequenz, das der Steuerung als watchdog-Signal dient, d.h. der Kontrolle, ob der Steuer-PC unerwartete Zeitverzögerungen hat, abgestürzt ist oder einfach keine Bewegung gewollt ist. Fällt das Rechtecksignal kurz aus, wird von der Steuerung ein Not-Halt ausgelöst. Meine Schrittmotorsteuerung erwartet ein Rechtecksignal mit mindestens 10kHz.
Ist die Frequenz der Ladungspumpe zu gering (6,5kHz), ist wahrscheinlich der „Kernel Speed” zu niedrig eingestellt:
Wichtig ist, daß das Programm nach dem Umstellen verlassen und neu gestartet wird. Andernfalls werden die Änderungen nicht übernommen. [3]
Die Zeiten, in denen ein Parallelport grundsätzlich unter der Adresse
3F3
oder 2F3
zu finden war, sind endgültig vorbei,
insbesondere wenn eine Parallelport-Erweiterungskarte genutzt wird. Hier hilft uns ein
Blick in den Gerätemanager unter „Ressourcen” des entsprechenden
Geräts. Steht hier beispielsweise:
E/A Bereich DCE8-DCEF
E/A Bereich DCFO-DCF7
Dann lautet die Portadresse „0xDCE8” [4].
Der Hersteller von Mach3 rät von einer Nutzung seines Programms auf einem Notebook vehement ab. Grund sind Energiesparoptionen und -Treiber, die das Timing von Mach3 durcheinanderbringen können.
Trotzdem läuft hier Mach3 auch auf einem IBM Thinkpad T43, wobei selbstverständlich nur ein Parallelport zur Verfügung steht. Bei der Installation wurde darauf geachtet, daß Energiespartreiber und Treiber für z.B. WLAN, Bluetooth oder die Soundkarte erst gar nicht installiert wurden.
Windows XP bietet mit der „Basiskonfiguration0001” eine manuelle Einstellung, die dem traditionellen LPT-Port mit Adresse 0x378 und IRQ 7 entspricht. Damit kommt Mach3 sofort und problemlos klar.
Momentan sind, dank des zweiten Parallelport-Interfaces genügend Relaiskontakte (nämlich vier) vorhanden. Zwei befinden sich auf dem Zweiten Parallelport-Interface, zwei in der TripleBeast. Aus diesem Grund werden die Hauptspindel und die Zweitspindel über zwei separate Relaiskontakte bedient. Dabei sollen beide Relais immer gleichzeitig anziehen und abfallen. Welche Spindel dann wirklich startet wird mit den Hauptschaltern der beiden Spindeln manuell ausgewählt.
Das Relais der Hauptspindel ist unter Mach3 „Output#1”, das Relais der Nebenspindel „Output#2”. Realisiert wird die „Parallelschaltung” unter Mach3 mit einem sogenannten „brain”[5]:
Leider ist der Anschluß eines externen Handrades nur nach der Anleitung von Mach3[6] irgendwo zwischen „schwierig” und „unmöglich” anzusiedeln. Zum Glück gibt es diese beiden Websites, nach deren Studium zu diesem Thema keine Frage offen bleibt:
Das heißt bei mir tat es genau das nicht. Wurde bei dem — bei Mach3 mitgelieferten — LazyCam G-Code erzeugt, so konnte dieser direkt von Mach3 übernommen werden. Obwohl das bei SheetCam auch funktionieren sollte, tat es das zuerst nicht. Grund dafür war ein Fehler des Mach-Installers, der einen Registryeintrag[9], [10] vergessen hat. Mit den folgenden Registrierungsschlüsseln hat sich das Problem gelöst:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Mach4.Document] @="Mach4.Document" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Mach4.Document\CLSID] @="{CA7992B2-2653-4342-8061-D7D385C07809}"
Tauschen Mach3 und SheetCAM dann immer noch keine Daten aus, kann es sein, daß das SheetCAM-Plugin (zu finden unter in Mach3 unter Config → Config plugins → SheetCamRemote) noch nicht aktiviert ist.
Die korrekte Einbindung der Rundachse scheint auf den ersten Blick ganz problemlos zu sein: Die Achse wird mit der entsprechenden Schrittzahl/Einheit (in diesem Fall Grad) in den Motorparametern hinterlegt und die Achse in der Konfiguration als rotary axis markiert, und schon läßt sich die Achse mit dem Handrad oder dem Eilgang korrekt verfahren.
Leider sieht es bei den normalen Vorschubewegungen nicht so einfach aus. Der Vorschub-Parameter „F” bezieht sich immer auf einen Weg. Unter „Config” → „Toolpath” gibt es ein Häkchen „Use diameter for feedrate”. Dies ist aktiv. Unter dem Reiter „Settings” in der Hauptoberfläche (der zweite Reiter von rechts) sind oben rechts drei DROs mit dem Namen „Rotation Radius”. Dort wird unter „A” ein Werkstückradius eingegeben. Daraus kann Mach3 mit dem Vorschub in mm/min einen Vorschub in °/min errechnen.
Bei der direkten Eingabe des Werkstückdurchmessers in Millimeter stimmt der Vorschub allerdings noch nicht- er muß mit einem konstanten Faktor multipliziert werden, der vermutlich der Quotient aus dem Längenverhältnis eines amerikanischen Zolls und einer ägyptischen Pyramidenelle ist. Sprich: Hier bleibt nur das Überprüfen der tatsächlichen Vorschubbewegung mit der Stoppuhr und die Korrektur mittels Dreisatzes. Bei mir ist der Radius jetzt so, daß für den maximalen Spanndurchmesser meines Dreibackenfutters der Vorschub genau stimmt. Für kleinere Werkstücke ist er eben entsprechend kleiner.
Die Einstellungen einer Mach3-Installation lassen sich leicht sichern, da es sich durchgängig um Textdateien handelt, und alle relevanten Dateien den Profilnamen, z.B. Mach3Mill tragen. Das sind:
Damit lassen sich Einstellungen auch von PC zu PC kopieren.