Home
Übersicht
Mechanik
Steuerung
Bedien-Paneel
User-Interface
|
Bedienung und ProgrammierungManuelle Bedienung mit PaneelZum Einrichten muss die Maschine unabhängig von einer Programmierung bedient werden können. Das Werkstück wird aufgespannt und die Achsen müssen auf den Nullpunkt des Werkstücks ausgerichtet werden. Es gibt zwei Betriebsarten, Manuell und Automatisch. Nach dem
Einschalten läuft es in der Manuellen Betriebsart. Die Steuerung bleibt
in dieser Betriebsart, wenn kein User-Interface angeschlossen ist.
Sobald Kommandos vom
User-Interface empfangen werden, schaltet es in die automatische
Betriebsart. Funktionen der Bedienelemente
|
Bedienelement |
Manuelle Betriebsart |
Automatik Betriebsart |
---|---|---|
Achsenwahl Tasten: X+, X-, Y+, Y: |
Funktionswahl F: Bewegt den Kreuztisch
solange die Taste gedrückt bleibt in der entsprechenden Richtung mit der
am Drehrad F eingestellten Eilgang Geschwindigkeit. Die Achsen können
gleichzeitig bewegt werden. Während sich die Achse bewegt, leuchtet die
Taste. Funktionswahl 0.01, 0.1, 1, 10: Bewegt bei jedem Tastendruck den Kreuztisch um den eingestellten Betrag in mm. Funktionswahl W1, W4: Vorwahl der Achse X oder Y. Beide X oder Y Tasten leuchten wenn vorgewählt. Mit aktiver Vorwahl kann der Tisch mit dem Handrad um 1mm oder 4mm pro Umdrehung bewegt werden. Die Vorwahl wird aufgehoben wenn die selbe Taste gedrückt wird, die andere Achse gewählt wird oder wenn mit dem Funktionswahlschalter die Funktion W abgeschaltet wird. |
Die Tasten leuchten in der Richtung in die sich
der Kreuztisch gerade bewegt. Werden beide Achsen gleichzeitig bewegt,
leuchten die entsprechenden 2 Tasten. |
Nullstelltasten: X=0, Y=0, Z=0 |
X=0, Y=0, Z=0 stellen die Positionsanzeige der
entsprechenden Achse auf Null (0.00 auf der Steuerung bzw, 0.000mm am
User Interface). |
X=0 und Y=0 haben keine Funktion. Z=0 ist jederzeit aktiv und kann auf Null gestellt werden wenn ein Loch gebohrt oder gefräst wird und der Bohrer/Fräser das Werkstück berührt um die Bohr-/Fräs-Tiefe zu messen. |
Funktionswahlschalter |
Wählt die Bewegungsart der Achsenwahl-Tasten. |
Keine Funktion |
Handrad |
Dient zum manuellen Bewegen der Achsen wenn sich
der Funktionswahlschalter in Stellung W befindet und eine Achse
vorgewählt wurde. |
Keine Funktion |
Drehrad F, Geschwindigkeit |
Geschwindigkeit der Achsenbewegung im Eilgang,
also wenn sich der Funktionswahlschalter in Stellung F befindet und eine
Achsenwahltaste gedrückt ist. |
Geschwindigkeit der Achsenbewegung im Eilgang, Reduktion der Fräs-Geschwindigkeit im Fräs-Modus. |
Operationstaste HALT |
Schrittfunktion, leuchtet im Halt Modus, alle Bewegungen sind unterbrochen. Erneutes Drücken beendet den Halt Modus. Fährt eine Achse in den Endschalter, blinkt die HALT Taste und die entsprechende Achsenwahl-Taste leuchtet. Befindet sich eine Achse am Endschalter, kann der Kreuztisch einzig mit dem Wahlschalter in Stellung F und der gegenüberliegenden Achsenwahl-Taste aus dem Endschalter bewegt werden. |
Gleich wie in der Manuellen Betriebsart. Zusätzlich: fährt eine Achse in einen Endschalter, schaltet die Betriebsart sofort in die Manuelle Betriebsart und alle Aktionen werden abgebrochen. |
Operationstaste TOOL |
Keine Funktion. |
Blinkt wenn das Werkzeug gewechselt werden muss. Drücken zum bestätigen und fortsetzen. |
Operationstaste START |
Keine Funktion. | Leuchtet wenn ein Z-Kommando empfangen wird und
ein Loch gebohrt werden muss oder beim Fräsen die Pinole abgesenkt oder
angehoben werden muss. Drücken zum bestätigen und fortsetzen. |
Operationstaste AUT |
Keine Funktion. |
Schrittaste Automatischer Start. Leuchtet wenn
eingeschaltet. Wird im Eilgang gearbeitet zum Löcher bohren (also kein
Fräsvorschub gewählt), wird automatisch gestartet nachdem die Pinole
nach Oben gefahren wurde. So kann man rationell eine Mehrzahl von Löcher
bohren. |
Operationstasten AUT & HALT |
Keine Funktion. | Drückt man AUT und HALT gleichzeitig, schaltet die Betriebsart sofort in die Manuelle Betriebsart und alle Aktionen werden abgebrochen. |
Alle Tasten sind mit einer LED ausgestattet. In der manuellen Betriebsart leuchtet jede Taste wenn sie gedrückt wird. So kann die Funktion der Taste und der LED geprüft werden.
Der Kreuztisch ist mit 4 Endschalter ausgestattet, einer für jede
Richtung. Die Endschalter müssen so eingestellt sein, dass wenn man im
Eilgang mit der höchsten Geschwindigkeit ans Ende fährt, der Motor
rechtzeitig anhält ohne in das mechanische Ende zu fahren. Ansonsten
können mechanische Schäden auftreten und der Motor kann Schritte
verlieren womit auch die genaue Position verloren geht (siehe auch Mechanik).
Hat man ein Kantentaster ("Zentrofix") zur Hand, geht es am einfachsten. Man kann aber auch wie Folgt vorgehen:
Man kann anstelle der 0.1 und 0.01 Schritten auch das Handrad
benutzen, muss allerdings vorsichtig drehen da man relativ schnell ins
Stück hineinfahren und etwas beschädigen kann.
Der Nullpunkt wird nicht gespeichert und geht mit dem
Netz-Ausschalten verloren. Das Problem ist, dass die Motorsteuerung
nach dem Einschalten beim Motoren-Pol 0 beginnt. Da es pro Pol 64 Teil- und
Mikroschritte sind, kann die Abweichung nach dem Einschalten bis 0.08mm
betragen. Ist das genau genug, kann man einfach vor dem Ausschalten die Positionen auf den Nullpunkt fahren.
Die Software zählt aber die Schritte innerhalb des Pols mit. Nun kann
man folgendermaßen die Schritte innerhalb eines Pols auf Null fahren:
Funktionswahlschalter auf 0.01 und dann gleichzeitig X+ und X- Taste
bzw. Y+ und Y- Taste drücken. So fährt die X-Achse auf den nächsten Pol.
Fährt man nun vor dem Ausschalten
mit den Achsen auf die Null-Position des Werkstücks und dann auf die X-
und Y-Pole, wird sich der Motor nach dem Netz-Einschalten nicht bewegen
da er sich bereits auf dem Pol befindet. Man notiert also den X- und
Y-Wert auf den Polen vor dem Ausschalten. Nach dem Einschalten fährt auf
die notierten Masse zurück und drückt danach die X=0 und Y=0 Tasten für
den genauen Nullpunkt.
Es gibt eine weitere Hilfsfunktion um den
Nullpunkt wiederherzustellen. Schaltet man im manuellen Modus den
Funktionswahlschalter auf F und drückt eine der X oder Y Tasten und
gleichzeitig die X=0 bzw. Y=0 Taste, wird die Achse auf Null
gestellt wenn der Endschalter schaltet. Man sollte danach aus dem
Endschalter zurück fahren und wiederholen mit
der minimalen
Geschwindigkeit so dass der Schaltpunkt präziser wird. Nun die Achse
nullen und erst danach den Nullpunkt des Werkstücks abtasten. Nun dieses
Maß notieren bevor man die Achse auf Null stellt. Nach dem Netz aus-,
einschalten erneut auf den Endschalter fahren und nullen. Danach auf das
notierte Maß zurück fahren, welches der Nullpunkt des Werkstücks ist.
Wird der USB Anschluss mit einem PC verbunden, wird mit Linux
automatisch ein Gerät mit dem Namen "/dev/ttyACM0" erstellt. Bei Windows
wird die nächste freie COMx Schnittstelle erzeugt. Mit einem einfachen
Terminal-Programm kann man dann Kommandos an die Steuerung senden. Das
geht sogar mit einem Handy und den entsprechenden Kommandos.
Die USB Schnittstelle arbeitet als einfaches Text-Terminal. Man kann Kommandos senden und bekommt jeweils die Position der Achsen und den Status als Antwort. Man kann noch eine einfache oder detailliertere Antwort wählen.
Einfach: [-]xxx.xx[ ][-]yyy.yy[ ]s[cr/lf] wobei:
[-] = Minuszeichen oder Leerzeichen
xxx.xx = X-Wert in mm mit Dezimalpunkt
yyy.yy = Y-Wert in mm mit Dezimalpunkt
[ ] = Leerzeichen
s = Status, 0=Beschäftigt (Motoren laufen gerade), 1=Wartet aufs nächste Kommando, 2=Warte auf Start (nach Z oder T), 3=Manuell
cr/lf = Zeilenende
Detailliert: [-]xxx.xxx[ ][-]yyy.yyy[ ][-]zzz.zzz[ ]s[cr/lf] wobei:
[-] = Minuszeichen oder Leerzeichen
xxx.xxx = X-Wert in mm mit Dezimalpunkt
yyy.yyy = Y-Wert in mm mit Dezimalpunkt
zzz.zzz = Z-Wert in mm mit Dezimalpunkt
[ ] = Leerzeichen
s = Status, 0=Beschäftigt (Motoren laufen gerade), 1=Wartet aufs nächste Kommando, 2=Warte auf Start (nach Z oder T), 3=Manuell
cr/lf = Zeilenende
Für eine flüssige Anzeige am User-Interface werden alle 50ms
ein [cr] an die Steuerung gesendet welche daraufhin den entsprechenden
Status sendet. Dieser wird dann vom User-Interface Programm (in unserem
Fall das cnc.py Python Script) entsprechend verarbeitet und angezeigt.
Wahl des Protokolls: Mit dem Kommando V1 und V2 kann die
einfache (V1) oder detaillierte (V2) Antwort eingestellt werden. Addiert
man 10 dazu, also V11 oder V12, wählt man zusätzlich den
Simulationsmodus.
Simulationsmodus: Mit der Protokollwahl V11 und V12 schaltet
man den Simulationsmodus ein. Er wird benötigt um das User-Interface
oder CNC Programme zu testen. Dieser Modus wird beim User-Interface beschrieben.
Software Update: Um eine neue Software-Version in die CNC Steuerung einzuspielen, kann man den RP2040-Zero in den Boot-Modus versetzen mit dem Kommando BOOT. Dies funktioniert aber nur wenn zuvor die korrekte Software geladen wurde (bei der Steuerung beschrieben). Das Kommando kann man mit dem User Interface via Taste "ManKomd" eingeben, welches erlaubt direkt Kommandos an die Steuerung zu senden. Nach der Eingabe von "BOOT" bricht die Verbindung ab und ein USB-Speicher erscheint. Um die Software zu laden, kopiert man das CNC-Steuerung-Binary mit der Endung .uf2 auf den USB-Speicher.
Kommando |
Funktion |
Beschreibung |
---|---|---|
M |
Manuelle Betriebsart |
Bricht alle laufenden Aktionen ab, gespeicherte Nullpunkte werden zurück geholt. |
F nnnn |
Fräsvorschub in mm/min |
Schaltet auf Betriebsart Fräsvorschub und stellt die gewählte Geschwindigkeit in mm/min ein (max. 2750mm/min). Alle
Bewegungen werden nun mit dieser Geschwindigkeit gefahren. Werden X- und
Y-Achse gleichzeitig bewegt, wird im Winkel gefahren und der Vorschub
gilt für die resultierende Geschwindigkeit. Beim Abbremsen bleibt das
Verhältnis der Geschwindigkeit erhalten. |
F |
Fräsvorschub | Schaltet auf Betriebsart Fräsvorschub wie oben beschrieben und verwendet die zuvor gewählte Geschwindigkeit. |
P |
Positionieren im Eilgang |
Schaltet auf Betriebsart Eilgang zum
Positionieren.
Im Eilgang fährt er mit max. 2750mm/min. Die Position wird angefahren und eine Spielaufhebung verwendet. Das
heißt, die Achsen fahren eine Position -0.1mm an und fahren dann mit
einer definierten Geschwindigkeit zur Endposition. Wird also z.B. XI-1mm
gefahren, fährt sie -1.1mm und dann +0.1mm, also nach -1.00mm. Wird
jedoch z.B. XI+1mm gefahren, fährt sie +0.9mm und dann +0.1mm, also nach
+1.00mm. Werden X- und Y-Achse gleichzeitig bewegt, laufen beide Achsen
im Eilgang und bremsen und positionieren unabhängig. |
X / Y +/- n.nnn |
Fährt absolut |
Fährt auf ein absolutes Mass, z.B. auf X+1.000mm
und Y-1.000mm. Beim Positionieren fährt er im Eilgang, beim Fräsen mit
entsprechendem Vorschub im Winkel. |
XI/YI +/- n.nnn |
Fährt inkremental |
Fährt ein inkrementales Mass, z.B. von
X+10.000 auf X+11.000 und von Y-10.000 auf Y-11.000mm. Beim
Positionieren fährt er im Eilgang, beim Fräsen mit entsprechendem
Vorschub im Winkel. Das I kann bei jeder X und Y Bewegung
hinzugefügt werden um inkremental statt absolut zu fahren. Also auch bei
Mehrfach-Löcher, Lochkreis, gerade Fräsen, Winkel fräsen oder Radien
fräsen. |
[F]X/Y/Rnnn |
Radius Fräsen |
Fräsbewegung in einem Radius. Anstelle von einer
Geraden oder einem Winkel wird im Radius bewegt. Z.B. XI100 R50 bewegt X
um +100mm, Y fährt im Radius 50mm mit nach +50 und zurück auf 0. Gibt
man R-50 ein, fährt er im Gegenuhrzeiger. Also X um +100mm, Y fährt im
Radius auf -50mm und zurück auf 0. Um z.B: einen Kreis von 100mm im Uhrzeigersinn zu fräsen, gibt man 2 aufeinanderfolgende Kommandos ein, erst XI100R50 und dann XI-100R50. Im Gegenuhrzeigersinn wäre es dann erst XI100R-50 und dann XI-100R-50. |
Z |
Loch bohren |
Wartet und die START Taste leuchtet um ein Loch
zu bohren. Um zu fräsen muss die Pinole abgesenkt und arretiert werden.
In der Folge muss ein F Kommando erfolgen um nach dem Drücken der Start
Taste mit gesenkter Pinole weiter zu fahren. Ansonsten wartet er bis die
Pinole oben ist. Am Ende des Fräsvorgangs erfolgt wieder ein Z Kommando
und danach ein P Kommando. |
[P]X/Ynnn Z n |
Mehrfach Loch |
Auf der Strecke nach X/Y werden mehrere Löcher
gebohrt. Z.B. mit XI100 und Z10 werden 10 Löcher auf der Strecke nach
XI100 gebohrt, also alle 10mm. Das Loch auf der aktuellen Position wird
nicht mit gezählt. Das heisst, er fährt erst 10mm, dann kommt die START
Taste, dann die nächsten 10mm usw. |
[P]X/Ynnn Rnn Znn |
Lochkreis |
Auf der Strecke nach X/Y werden mehrere Löcher mit dem Radius R gebohrt.
Z.B. ist die X-Achse bei 0.000 werden mit X100 R50 Z4 vier Löcher auf
der Strecke nach X100 im Radius 50mm gebohrt. Er macht also erst ein
Loch bei X14.645, Y35.355, dann bei X50.000 Y50.000, dann bei X85.355,
Y35.355 und noch bei X100.000, Y0.000. |
XZ / YZ |
Nullpunkt verschieben |
Verschiebt den Nullpunkt indem es die aktuelle
Position auf Null stellt. Dies kann verwendet werden wenn z.B. mehrere
identische Werkstücke an verschiedenen Positionen bearbeitet werden
sollen. Es können bis 9 Nullpunkte überlagert werden. |
XZ- / YZ- |
Vorherigen Nullpunkt |
Holt den vorherigen Nullpunkt zurück. Wurde z.B.
auf X100 gefahren und nun XZ ausgeführt, wird X auf 0.000 gestellt. Wird
nun auf X50 gefahren und erneut XZ ausgeführt, wird erneut X auf 0.000
gestellt. Fährt man nun X30 und führt XZ- aus, springt die X-Anzeige auf
80.000 ohne sich zu bewegen, also aktuell X 30 + der letzte Nullpunkt
bei X 50. Führt man erneut XZ- aus, springt die X Anzeige auf 180.000,
also da wo sich die X-Achse befindet ohne die Nullpunkte. |
Kk=nnn |
Korrektur setzen |
Setzt die Werkzeugkorrektur k (0<k<9) auf den
Wert von nnn. Die Korrektur kann nur positive Werte annehmen, es können
10 Korrekturen gesetzt und abgerufen werden, K0...K9. Kk=0 Setzt die
Korrektur k auf den Wert 0. |
X/Y/R +/- Kk |
Korrektur anwenden |
Wendet die Werkzeugkorrektur für die gewählte Achse
an. Die Korrektur kann positiv oder negativ sein. Z.B. X+K1 korrigiert X
positiv, also z.B. wenn sich der Fräser rechts von der Fräskante
befindet. Entsprechend würde X-K1 links von der Fräskante stehen. Das Selbe gilt für den Radius. R+K1 vergrößert den Radius (aussen), R-K1 verkleinert ihn (innen). Die Korrektur kann auf einer einzelnen Zeile oder inline angewendet werden. Sie gilt immer für die nächste Bewegung. Wenn z.B. ein Innenrechteck gefräst wird und man beginnt links, würde man erst mit "Xnnn X+K1" das Werkzeug positionieren, und danach mit "XI+nnn X-K1" zur rechten Seite fahren. Damit wird der Weg von X um 2xK1 verkürzt. Die Korrektur gilt auch beim Positionieren im Eilgang. So kann z.B. ein Fräser korrekt an den Anfang positioniert werden oder ein Lochkreis kann auf die Innen- oder Außenseite eines Kreises gebohrt werden. |
XK, YK, RK |
Korrektur aufheben |
Hebt die Werkzeugkorrektur für die entsprechende
Achse auf. Die Korrekturen werden auch aufgehoben, wenn ein
Werkzeugwechsel stattfindet mit dem Kommando T. |
Eine Beschreibung vom User-Interface und wie es funktioniert gibt es hier.
Das User-Interface kann CNC Programme abarbeiten und interpretiert auch
ein paar eigene Kommandos, welche das programmieren vereinfachen. Diese
Kommandos betreffen den Programmablauf, was die Steuerung nicht kann,
da diese die Kommandos einzeln verarbeitet und das CNC-Programm selbst
nicht kennt.
Die folgenden Tabelle listet und beschreibt die Kommandos, welches
das User Interface selbst interpretiert. Dabei wird intern alles in
GROSSBUCHSTABEN umgewandelt. Es werden nur Kommandos an die Steuerung
gesendet, welche nicht vom User-Interface interpretiert werden, also
Goto, Loop, Sprungmarken usw. werden nicht gesendet. Ebenfalls wird
alles hinter dem Semikolon ; ignoriert. Das dient zum einfügen von
Kommentaren oder auch welches Werkzeug man verwenden soll.
Im User-Interface wird das Programm im rechten Fenster Schritt für
Schritt aufgelistet, die Letzte Zeile ist jeweils die als nächstes
verwendete. Im Linken Fenster erscheinen die Kommandos welche an die
Steuerung gesendet wurden, auch die Manuell eingegebenen.
Kommando |
Beschreibung |
---|---|
Goto Label |
Führt das Programm weiter aus an der Stelle nach der entsprechenden Sprungmarke. Beispiel: Goto Bohrbild |
Gosub Label |
Verzweigt in ein Unterprogramm und führt das Programm weiter aus an der Stelle nach der Sprungmarke. Die Stelle nach dem Gosub Kommando im Programm wird gespeichert. Beispiel: Goto Bohrbild |
Return |
Beendet ein Unterprogramm und springt an die Stelle nach dem Gosub-Kommando. Beispiel: Return |
Sprungmarke: | Eine Sprungmarke steht einzeln auf einer Zeile und endet mit einem Doppelpunkt. Beispiel Bohrbild: |
Loop Name n |
Eine Wiederholung von Befehlen innerhalb einer
Schleife. Ein Name wird benötigt da mehrere Schleifen verschachtelt sein
können. n ist die Anzahl der Wiederholungen. Beispiel: Loop SchleifeX
10 |
Next Name |
Das Ende der Schleife. Das Programm Springt
zurück auf die Zeile nach dem Loop Kommando mit dem entsprechenden Namen
und zählt von n eins ab. Ist n auf Null, springt es nicht zurück und
läuft weiter. |