Von Winkel, Achsen und Koordinaten:



  Schwenken im 3-D-Raum  
... mit PALmill5


Wer nicht länger nur ein (verunsichertes) Anhängsel seiner 5-Achsen-Maschine oder CAD-CAM-Software bleiben will, der muss die Grundlagen des Schwenkens verstehen und die wichtigsten Begriffe unterscheiden können.





Technisch-mathematische Grundlagen

Um die Schwenkposition zu beschreiben, benötigt man den sog. Eulerwinkel. Das ist der Winkel, um den ein Objekt (Werkzeug bzw. Werkstück) um eine definierte Achse gedreht wird.
Da ein Raum dreidimensional ist, sind auch 3 Schwenkachsen nötig, um jede beliebige (Ver_)drehung zu erreichen.

Die 3 Linearachsen X, Y, Z stehen sinnvollerweise senkrecht zueinander, und zwar nach den Fingern der rechten Hand. (sog. "Rechte-Hand-Regel"; s. linke Skizze)
Die 3 zugehörigen Schwenkachsen A, B, C bilden sich lt. dem math. Rechtssystem (= rechtshändiges Koordinatensystem): Zeigt der Daumen der rechten Hand in Richtung der Linearachse, so zeigen die Finger die Drehrichtung der zugehörigen Drehachsen an. (s. linke Skizze)


Überraschung Nr. 1: Wir sparen eine Schwenkachse ein:

Um die Bearbeitungsebene von der Waagerechten ("Flächen-Normale" o. Normalenvektor C zeigt nach oben.) zu einer anderen, beliebigen Orientierung zu bekommen, benötigt man nur 2 Achsen. Hier sind's die Achsen A + B.

Will man allerdings am Ende die Bearbeitungsebene so drehen, dass z.B. die X-Koordinate waagerecht zeigt, bräuchte man dazu eine 3. Achse. Vgl. die rote Fläche am Ende der Animation.
Der Maschinenhersteller erspart sich aber diese dritte Achse, denn der Computer kann diese Drehung intern (mit der freundlichen Unterstützung von Sinus und Cosinus) verrechnen.

--> CNC-Maschinen haben neben 3 Linearachsen meist nur 2 Schwenkachsen.


Überraschung Nr. 2: Die Schwenkreihenfolge ist entscheidend.


a + b = b + a
3 * 4 = 4 * 3
Wer 2 km nach Norden segelt, und dann 3 km nach Westen, kommt an die selbe Stelle, wie jemand, der zuerst 3 km nach Westen und dann 2 km nach Norden segelt.
Gilt dieses "Kommutativgesetz" auch für Schwenkbewegungen?

In der folgenden Animation testen wir das "Vertauschungsgesetz" beim Schenken mit mehreren Rotationsachsen:


Es macht einen großen Unterschied, ob man zuerst die A-Achse vor dem Schwenken der B-Achse dreht, oder umgekehrt. (Vgl. Mathe 12. Klasse: Keine Kommutation beim Kreuzprodukt von Vektoren)
Drum aufgemerkt:

Stets die Schwenk-Reihenfolge beachten! :


Muss man (und muss die Steuerung) sich dann die gesamte Schwenk-"Historie" merken, damit die Lage aller Achsen eindeutig bestimmt ist?

Nein! Man beschreibt jede neue Schwenkposition, als sei sie aus 3 Drehungen um die feststehenden "Welt"-Koordinatenachsen A, B und dann C entstanden; nur diese 3 Raumwinkel bleiben gespeichert. Sie bilden die math. Basis für den "Schwenkzustand".

Sie sind oben (und auf dem PALmill-Simulations-Bildschirm) rechts in der grauen Tabelle abzulesen.

Andere Bezeichnungen für die (Spatial- oder) Raumwinkel A, B und C sind:
    Roll         Pitch          Yaw
    Roll-        Nick- und    Gierwinkel
    Bank      Attitude       Heading
    Phi        Theta           Psi

Mathematische Vertiefung:
Mit Hilfe der Sinus- und Cosinuswerte dieser Raumwinkel berechnet die Steuerung die Faktoren, mit denen die X-, Y- und die Z-Werte eines Punktes jew. in die zugehörigen X-, Y- und Z-Komponenten des Welt- bzw. Maschinenkoordinatensystem umgerechnet werden: Sie erstellt eine Rotationsmatix:
   

Der Mathematiker ist fertig und zufrieden, aber an den Maschinen sind doch ganz andere Drehachsen?

By the way Mathematiker: Die Rotationsmatix ist identisch mit dem "bunten Koordinaten-Dreibein XYZ" in der PALmill-Simulation von der "Länge 1".


Schwenkachsen

Überraschung Nr. 3: Die Schwenkachsen an der Maschine sind gar nicht alle feststehend:

Der Maschinenhersteller entscheidet (je nach Raumbedarf, Kosten, Steifigkeit, Leistung, Maßhaltigkeit, ...) wie und weiviel Schwenkachsen er einbaut.

Oft wird durch das Schwenken um eine Achse eine andere Achse in ihrer Ausrichtung verändert.
Das bedeutet, dass die Schwenkwinkel der real vorhandenen Maschinenachsen (Achswinkel, o. Kardanwinkel) nicht immer mit den o.g. Raumwinkel identisch sein dürften!!

Im linken Beispiel bleiben die Achsen B und C ortsfest; A verändert sich durch B.
 
Im 2. Bild verändert sich die Raumlage der Achse A, wenn B schwenkt.

Wird die C-Koordinate verändert, so ändern sich die Lagen von A und B!!

Ein CNC-Programm, das die Winkel der Maschinenachsen verwenden würde, liefe nur auf Maschinen richtig, die die gleiche prinzipielle Bauweise der Schenkachsen hätten.
     
CNC-Programme müssen aber auf allen Maschinentypen richtig funktionieren!

Ein CNC-Programm darf also nicht die Winkel der Maschinenachsen, sondern muss die Raumwinkel (oder die zugehörige Rotationsmatix) der Steuerung mitteilen!
Dies geschieht entweder direkt mit G17 AM.. BM.. CM oder indirekt mit den restlichen G16- bzw. G17-Funktionen.
Merke:     Achswinkel haben eigentlich nichts im Programm zu suchen!  *
Erst die Steuerung errechnet dann (aus der Rotationsmatrix) die jew. Achswinkel der jew. Maschinenkinematik. Damit das an jeder Maschine richtig funktioniert, musste bei der Ersteinrichtung diese Maschinenkonstante (neben Weg- u. Geschwindigkeitsbegrenzung, Bremsrampe, Wkz- o. Palettenwechser u.v.a.m.) mitgeteilt (= "konfiguriert") werden.

* (Viele Steuerungen erlauben's, weil sie sie intern zu Raumwinkel zurückrechnen.)
(Wer's trotzdem üben will, kann den PALmill-Befehl G170 verwenden. G170 gibt's bei PAL nicht!)



Programmierung der Schwenkbewegung

Überraschung Nr. 4: Zwei Programmschritte sind notwendig, damit was schwenkt:


Der Wegbefehl lautete:
   G00 BT-18
   G01 X20
Steht die Winkelangabe in einem Wegbefehl, so stellt sich nur das Werkzeug zur Bearbeitungsebene schräg.

Das ist allerdings nur sehr selten erwünscht.
In den Skizzen sieht man die (z.T. übertrieben großen) Anstell- oder auch Einstellwinkel.

Der "Sturz" verbessert hier
die Zerspanung.
Im Allgemeinen soll der Fräser (und muss der Bohrer) senkrecht zur Bearbeitungsebene stehen:
Deshalb muss zum Bearbeiten schräger Flächen das Koordinatensystem gedreht werden.
Dazu wird einer der G17-Befehle angewendet.
Zuerst sorgt man dafür, dass das Werkzeug sich "in Sicherheit" befindet. ("Weit genug weg.")
Jetzt wird der Koordinatenursprung verschoben: G59 XA 120
Nun wird das Koordinatensystem um 45 Grad gekippt: G17 BM45

Dadurch ist aber keine Bewegung erfolgt! Erst mit: G00 X0 Y0 Z60
dreht und verfährt das Werkzeug an die Position im neuen Koordinatensystem. (Kollisionsgefahr!)

Tipp: Immer alle 3 Koordinaten (X,Y und Z) eingeben, da sonst ein undefiniert Zustand besteht.
Drum aufgemerkt:
    Wkz auf Sicherheitsdistanz bringen!
    Mit G16/G17 das Koordinatensystem kippen
    Mit einem Wegbefehl schwenken + verfahren.

Beide Schritte sind bei PALmill5 erforderlich. (Wie's bei der PAL-CNC aussehen soll, weiß ich nicht.) Bei Heidenhain kann man eingeben, ob und wie die Maschinen(ausgleichs)bewegungen sein sollen.



Überraschung Nr. 5: In der Werkstückzeichnung stehen (meistens) keine Raumwinkel.:

Die Koordinatendrehung mit den Raumwinkeln ist dann "easy", wenn nur eine Achse gedreht werden muss:
Angenommen, der Winkel Alpha wäre 15 Grad. Damit "Z" des zu drehende Koordinatensystems senkrecht zur blaue Fläche zeigt, programmiert man:
G17 BM-15 ;         nicht genannte Schwenkachsen werden 0 gesetzt.
Analog dreht man auf die "rosa Fläche" mit: G17 AM-15
( Die Positon des Koordinatensystems hat sich in beiden Fällen natürlich nicht verändert.)

Aber wehe, wehe, wenn min. 2 nicht-rechtwinklige Drehungen nötig sind:
         

Die X-Achse des geschwenkten Koordinatensystems soll auf Linie I gelegt werden:

Zuerst muss der Koordinatenursprung mit G59 XA20 ZA70 verschoben werden.
Wenn man nun (schrittweise, also inkremental) um die Raumwinkel drehen will, muss man leider beachten, dass die 1. "Dreh-Einstellung" beim nächsten Schritt mitgedreht wird!! Also: Nicht zuerst die B-Achse drehen,sonst liegt X nachher nicht mehr auf I, sondern man muss das Koordinatensystem (mit G17 AR34,44 , bzw. hier auch mit G17 AM34,44) um X drehen und dann erst um die Raumachse B!!
    G17 AR34,44
    G17 BR36,87     relative Raumachse, also schrittweise
Da beide relativen Drehungen mit der def. Drehreihenfolge AM -> BM -> CM (absolut) übereinstimmt, hätte man die beiden Schritte zusammenfassen können zu:     G17 BM36,87 AM34,44     feste Raumachse
Das Programmieren mittels Raumwinkeln ist also "gefährlich fehleranfällig"; Alternativen verwenden! s. u.

    Wer's nicht glaubt, lege die Y-Achse auf Linie II: Die rel. Drehung der Raumachsen wäre dann:     G17 BR29,66     G17 AR40,6
    alternativ auch:     G17 AM44,6 BM22,1 CM20,3     Ist doch Wahnsinn, oder?

Mein Tipp bei "schiefen Schrägen": Lass' die Finger weg von den Raumwinkeln.
Schwenke lieber (schrittweise) um die aktuelle Bearbeitungsebene! (s.u.)

Eingabe-Alternativen

Überraschung Nr. 6: Die Steuerung hilft mit allerlei Winkeln und Vektoren:

Viel einfacher ist das Programmieren, wenn man statt um die fixen Raumachsen, um die aktuelle, evtl. gedrehte Koordinatenachse schwenkt. Das heißt, wir schwenken im obigen Beispiel umgekehrt: zuerst um die B-Achse und nun um die geschwenkte Achse A. (Die Achsen, die wir bereits geschwenkt haben, bleiben nun fix; die Fehlergefahr ist gesunken.) Wir verwenden G16, die "inkrementelle Drehung der aktuellen Bearbeitungsebene.
    G16 BR36,87
    G16 AR34,44
       
Der Mathematiker schwenkt seine 3 Raumwinkel, der Programmierer die vielen Winkel seiner Bearbeitungsebenen und die CNC-Maschine ihre (beiden) Achswinkel. Die NC-Steuerung beherrscht alle.


Eine weitere Erleichterung ist die "Ebenenanwahl mit Schnittwinkeln" G17 AS BS CS:

AS beschreibt den Winkel der Bearbeitungsebene auf der Y-Z-Ebene.
BS beschreibt den Winkel der Bearbeitungsebene auf der X-Z-Ebene.
CS beschreibt den Winkel der Bearbeitungsebene auf der X-Y-Ebene.


Nachdem der Koordinatenursprung mit G59 XA20 ZA70 verschoben wurde, wird mit der 1. Winkelangabe die X-Koordinate festgelegt. mit dem 2. Winkel wird Y "angedeutet" (d.h. er muss nicht schon exakt zu X ausgerichtet sein). ! Soll X auf Linie I liegen, so ist's eine "B-Drehung", soll X auf Linie III liegen, so wär's eine "C-Drehung", soll X auf Linie II liegen, so wäre der 1. Parameter AS...
    G17 BS36,8   CS41,24

Die beiden Winkel definieren eine Fläche, von der die Steuerung die "Flächennormale" (Z-Richtung) errechnet. Aus X und Z wird abschließend die Y-Richtung festgelegt. (Das "Koordinaten-Dreibein" und somit die Rotationsmatrix sind nun definiert.)

Will man X lieber auf die Linie III legen, so muss man die Reihenfolge der Winkel vertauschen. Aber Vorsicht Rechtssystem! Damit Z nicht um 180 Grad "umgepolt" wird, muss der 2. Winkel um 180 Grad umgedreht werden.
    G17 CS41,2   BS216,8


Ähnlich funktioniert auch die 4. Alternative: "Drei-Punkte-Definition einer Bearbeitungsebene "

Statt der o.g. Winkel benutzt man zuerst die Linie 1-2 und dann die Linie 1-3. Es werden also 3 Punkte auf der Bearbeitungsebene angegeben. Den G59-Befehl kann man sich sparen, wenn man so den 1. Punkt definiert. (Die Berechnung der Winkel, die oben nötig waren, entfällt hier.)
    G17 XD20 YD0 ZD70   XE100 YE0 ZE10   XF100 YF70 ZF70
Danach läuft alles genau so, wie oben bei den Schnittwinkeln beschrieben.

Will man X lieber auf die Linie III liegen, so muss auch hier, laut Rechtssystem, die Richtung des 2. Vektors "umgepolt" werden.
    G17   XD20 YD0 ZD70   XE100 YE70 ZE70   XF-60 YF0 ZF130


Ist die Senkrechte der Bearbeitungsebene bekannt, verwendet man besser die:
"Ebenenanwahl mit Basis- und Zustellvektor "
Will man die beiden (Kühlmittel-)Bohrungen miteinander verbinden, so kann sich die mühsame Winkel-Rechnerei sparen.
Man legt zuerst den Nullpunkt auf die "Treffer"-Stelle der 1 Bohrung:
    G59 XA30 YA20 ZA50

Zum Zielpunkt sind's nun 40 in X, 50 in Y und -30 in Z. Die Ebenen-Normale zeigt aber genau umgekehrt. (von der Bohrerspitze zum Spannfutter) Also:
    G17 XB50 YB0 ZB0   XN-40 YN-50 ZN30

Der Basisvektor wurde hier "grob" festgelegt; die Steuerung legt ihn korrekt rechtwinklig, in dem sie ihn auf die Bearbeitungsfläche projiziert.








G170   Achswinkel programmieren    Direct Rotary Axis Angles

(Nicht bei PAL)
Für eine ausgewählte CNC-Maschinenkinematik kann man mit dem G170-Befehl, statt der Raum- oder der aktuellen Ebenen-Winkel, die beiden an der Maschine vorhandenen Achswinkel (z.B.: A und B) zum Schwenken verwenden.
(Um die Schräglage im vorletzten Beispiel zu erzeugen, müsste man z.B. beim Typ TAB mit AM=40,6 und BM=29,7 arbeiten; wer kann das berechnen?!)
Für Maschinen, bei denen das (zylindrische) Werkstück geschwenkt wird, ist das anschaulich und bei einfachen, oder
rechtwinkligen Situationen ist dies sinnvoll, aber das CNC-Programm ist so nur für Maschinen gleichen Typs verwendbar.

NC-Satz
G170 [AM] [BM] (absolute Winkel)

   alternativ auch: A.. B.. X..      oder: G91 A.. B.. X.. ...
Wer unbedingt mit den Achswinkeln programmieren will, muss die jeweilige Maschinen-Kinematik beachten.


WBC (Workpiece C sitzt auf B)


      G170 BM60 CM-90

Die mitgelieferte Datei "4_Beispiel_Rohr.nc5" zeigt einen sinnvollen Einsatz. ( ... aber mit G17 AM=P1 wär's auch gegangen.)

Meide es, mit Achswinkel zu programmieren!    Programmiere maschinenunabhängig.






In eigener Sache: Ich habe nur sehr wenig Informationen zu diesem Thema gefunden. Ich hoffe, dass sich kein größerer Fehler eingeschlichen hat.Sollten Sie jedoch feststellen, dass etwas nicht richtig dargestellt wurde, so mailen Sie mir das bitte. Danke
Meine E-mail-Adresse steht auf der Startseite von PALmill.




..