Mit meiner Hobbyline zusammen bestellte ich den CNC Controller von PlanetCNC. Drei Gründe waren für mich ausschlaggebend:
1: USB-Anbindung
2: Viele Features
3. Nutzung unter Linux (kein LinuxCNC sondern das übliche UBUNTU oder Debian Image)
Da es noch wenig Berichte über den CNC Controller von PlanetCNC gibt, will ich euch meine Erfahrungen nicht vorenthalten.
Ich habe mich für den MK3/4 entschieden. Der hat schon von vorne herein schraubbare Terminals. Beim großen Bruder MK3 muss man das alles noch mit bestellen.
Der MK3/4 hat als Nachteil jedoch nur 4 Eingänge und und drei Ausgänge. Für meine Anwendung hat das gereicht.
Früher konnte man über Pfostensteckanschlüsse noch SPI/I2C und EXT nutzen. Bei meinem Controller sind das schon Mini-Anschlüsse, die einen besonderen Stecker brauchen. Es gibt derzeit noch keine Dokumentation von PlanetCNC, wie diese Kontakte beschalten sind.
Der MK3/4 hat auch noch einen Pfostenanschluss für ein 25-Poliges Kabel. Dort kann man z.B. einen Offline-Controller anschließen.
Der MK3/4 hat auch noch einen Pfostenanschluss für ein 16-Poliges Kabel. Dort kann man ein Jogging Keyboard anschließen.
Die Software von PlanetCNC ist auf diesen Controller speziell zugeschnitten. Sie bietet einige Einstellungen und Nutzungsmöglichkeiten, die ich bei EstlCam oder BeamiCom nicht gefunden habe.
So kann man über eine Tatstatur z.B. frei programmierte Zahlencodes zur Steuerung des Controllers nutzen (MDI-Schnittstelle). Diese Zahlencodes können dann über einen Mikrokontroller per USB-HID ausgegeben werden.
Diese Feature nutzte ich für einen Eigenbau einer Handsteuerung.
Ja. Über den Jog-Pfostenstecker ist das auch möglich. Allerdings kann man dann tatsächlich nur die Achsen steuern und deren Fahrgeschwindigkeit über ein Potentiometer regeln. Das war mein erster Ansatz gewesen. Funktioniert auch hervorragend, allerdings war mir das zu langweilig.
Über MDI kannst du alles bedienen, was die Shortcut-Liste bietet.
Bei mir hat allerdings das Bedienen des Jog-Modes über MDI Zahlencodes nicht so richtig funktioniert. Die Software meldete ständig, dass die Maschine nicht bereit sei.
Ich habe dann den Ansatz verfolgt, das Ganze über GCODE zu steuern. Das heißt, wenn z.B X nach vorne soll wird ein GCODE für X ausgegeben. Ich bediene mich dabei den GCODES G90,G91,G00,G01. Über meinen Handsteuerung habe ich auch noch einen GCODE für das Messen mit belegt (G38.1). Außerdem kann ich den Feed bestimmen. Der ist ja durch GCODE F definiert.
Damit das tadellos funktioniert, nutze ich die API der Software. Hierfür gibt es eine Beschreibung und Beispiele für C++,C# und Python. Mit dieser API habe ich es hinbekommen, zuerst die schon vorhandenen Positionswerte abzuholen, damit meine Handsteuerung genau auf diesem Positionspunkt aufsetzt (das wird ja auch bei über USB angeschlossene Handräder so gemacht)
Natürlich habe ich mir auch das von PlanetCNC angebotene Handrad beschafft. Dieses wird über USB-HID-RAW betrieben. Dafür sind besondere Berechtigungen erforderlich. Die Installationsroutine von PlanetCNC, die mit der Software mitkommt, soll diese Berechtigungen einrichten. Allerdings muss man da noch mal hinschauen. Wer sich mit Linux beschäftigt, weiß z.B, dass die Berechtigungen in den udev-rules begraben ist. Dort muss man vor allem die Bus-Belegung des Dongles, der zur Handsteuerung gehört, berücksichtigen. Bei mir war der Dongle auf USB-Bus 5. Das war nicht eingetragen. Das ist wichtig. Ohne diesen Eintrag sieht die Software das Handrad nicht.
Ich gehe davon aus, dass mit den richtigen Berechtigungen auch das China-Handrad WHB04B-4 funktioniert, da dies auch über USB-HID-RAW betrieben wird.
Falls noch Fragen zu diesem Controller, zu der Software, zu meinem Aufbau oder zum Handrad sind; ihr seid herzlich willkommen.
Schöne Grüße