Siemens
Digital Industries, Motion Control, Machine Tool Systems
8840
Follower:innenKugel fräsen
18.04.2019, 11:04 Uhr
Moin
Ich habe ein Problem, ich muss eine Innenkugel Mit einem Durchmesser von 118,7 fertigen.
Diese soll in ein Quadrat mit der Stärke von 75mm. Werkzeug Messerkopf D80 mit runden Platten D20.
In stufen bekomme ich das hin möchte es aber gerne in einer Helix Bewegung machen
Ich habe ein Problem, ich muss eine Innenkugel Mit einem Durchmesser von 118,7 fertigen.
Diese soll in ein Quadrat mit der Stärke von 75mm. Werkzeug Messerkopf D80 mit runden Platten D20.
In stufen bekomme ich das hin möchte es aber gerne in einer Helix Bewegung machen
18.04.2019, 15:23 Uhr
Verstehe ich das richtig: Du hast eine Platte, die 70 mm dick ist und aus dieser Platte soll eine Kugel bzw. der Teil einer Kugel ausgeschnitten werden, d.h. eine "Kugelschicht"?
Wenn das ganze symmetrisch ist, hätte man an beiden Seiten eine Öffnung von jeweils 47,931 mm und in Plattenmitte die vorgegebenen 118,7 mm.
Stimmt das so?
Wie genau muss denn das ganze sein, d.h. mit welcher Zustellung für eine volle Umdrehung muss man ungefähr rechnen?
Wenn das ganze symmetrisch ist, hätte man an beiden Seiten eine Öffnung von jeweils 47,931 mm und in Plattenmitte die vorgegebenen 118,7 mm.
Stimmt das so?
Wie genau muss denn das ganze sein, d.h. mit welcher Zustellung für eine volle Umdrehung muss man ungefähr rechnen?
23.04.2019, 10:30 Uhr
Verstehe ich das richtig: Du hast eine Platte, die 70 mm dick ist und aus dieser Platte soll eine Kugel bzw. der Teil einer Kugel ausgeschnitten werden, d.h. eine "Kugelschicht"?
Wenn das ganze symmetrisch ist, hätte man an beiden Seiten eine Öffnung von jeweils 47,931 mm und in Plattenmitte die vorgegebenen 118,7 mm.
Stimmt das so?
Wie genau muss denn das ganze sein, d.h. mit welcher Zustellung für eine volle Umdrehung muss man ungefähr rechnen?
Wenn das ganze symmetrisch ist, hätte man an beiden Seiten eine Öffnung von jeweils 47,931 mm und in Plattenmitte die vorgegebenen 118,7 mm.
Stimmt das so?
Wie genau muss denn das ganze sein, d.h. mit welcher Zustellung für eine volle Umdrehung muss man ungefähr rechnen?
23.04.2019, 11:08 Uhr
Kann man hier Datein hochladen?
23.04.2019, 13:44 Uhr
Ja sicher kannst du eine Datei hochladen.
Unter dem Eingabefeld findest du "Anhänge / Wähle eine Datei".
Begrenzung auf 2MB.
Unter dem Eingabefeld findest du "Anhänge / Wähle eine Datei".
Begrenzung auf 2MB.
08.05.2019, 13:58 Uhr
Ja sicher kannst du eine Datei hochladen.
Unter dem Eingabefeld findest du "Anhänge / Wähle eine Datei".
Begrenzung auf 2MB.
Unter dem Eingabefeld findest du "Anhänge / Wähle eine Datei".
Begrenzung auf 2MB.
Angehängte Datei(en)
20190423_112743.jpg ( 455.75KB )
Anzahl der Downloads: 77
20190423_112743.jpg ( 455.75KB ) Anzahl der Downloads: 52
20190423_112743.jpg ( 455.75KB ) Anzahl der Downloads: 52
09.05.2019, 07:02 Uhr
Wenn du eine echte Spirale haben willst, musst du mit Werkzeugkorrektur arbeiten. Das würde ich folgendermaßen machen:
Man tut so, als müsse man einen Zylinder mit D 119.7 fräsen. Die Gesamtkontur setzt man dann aus lauter Kreissegmenten (z.B. Halbkreisen) zusammen, die jeweils eine neue Z-Komponente bekommen, so dass eine Helix entsteht.
Den kleiner werdenden Radius zu den Rändern hin erzeugt man, indem in jedem Satz abhängig von dem veränderten Z-Wert auch einen veränderten OFFN-Wert programmiert.
Mit einem positiven OFFN- wird so getan, als ob sich der Werkzeugradius vergrößern würde, d.h. das reale Werkzeug "entfernt" sich von dem Zylinder.
Bei der Berechnung des OFFN-Wertes muss man berücksichtigen, dass der Berührpunkt des Fräsers mit der Kontur auf dem Fräser wandert. Die Abhängigkeit ist nichtlinear, was der Hauptgrund dafür ist, dass man die Gesamtkontur in einzelne Teilsätze zerlegen muss, denn in jedem Satz wird Z und OFFN linear interpoliert.
Aus dem gleichen Grund weicht die Z-Position des jeweilige Berührpunktes vom programmierten Wert ab. Man kann natürlich auch die Position des Berührpunktes vorgeben und daraus die Z-Position der Helix bestimmen.
Man tut so, als müsse man einen Zylinder mit D 119.7 fräsen. Die Gesamtkontur setzt man dann aus lauter Kreissegmenten (z.B. Halbkreisen) zusammen, die jeweils eine neue Z-Komponente bekommen, so dass eine Helix entsteht.
Den kleiner werdenden Radius zu den Rändern hin erzeugt man, indem in jedem Satz abhängig von dem veränderten Z-Wert auch einen veränderten OFFN-Wert programmiert.
Mit einem positiven OFFN- wird so getan, als ob sich der Werkzeugradius vergrößern würde, d.h. das reale Werkzeug "entfernt" sich von dem Zylinder.
Bei der Berechnung des OFFN-Wertes muss man berücksichtigen, dass der Berührpunkt des Fräsers mit der Kontur auf dem Fräser wandert. Die Abhängigkeit ist nichtlinear, was der Hauptgrund dafür ist, dass man die Gesamtkontur in einzelne Teilsätze zerlegen muss, denn in jedem Satz wird Z und OFFN linear interpoliert.
Aus dem gleichen Grund weicht die Z-Position des jeweilige Berührpunktes vom programmierten Wert ab. Man kann natürlich auch die Position des Berührpunktes vorgeben und daraus die Z-Position der Helix bestimmen.
11.05.2019, 09:03 Uhr
Kann man eigentlich so eine Kugel irgendwie wie eine Kreistasche auch machen (z.B. G3 Ap=0 Rp=40 Z-50 Turn=50)? Würde ich bei meinem Beispiel ein offn reinschreiben, ergibt das einen Kegel. Gibt es da ne Möglichkeit, oder kann man eine Kugel an der Maschine nur mit deinem Vorschlag machen?
11.05.2019, 10:40 Uhr
Wie du richtig schreibst, entsteht bei einer Spirale mit Zustellung in Z ein Kegel. Wenn es eine Kugel werde sollte müsst sich der Offset nichtlinear ändern. Das ist aber in der Steuerung nicht vorgesehen, deshalb geht das - meiner Meinung nach - nur, wenn man das stückweise annähert.
Man kann eine Kugel natürlich auch mit einem Kugelfräser fertigen, indem man immer Längenkreise abfährt. Das hat den Vorteil, dass man immer nur den gleichen Kreis, aber jedes Mal um die Polachse gedreht, fahren müsste.
Für die Variante, um die es hier geht, habe ich mal ein kleines Programm geschrieben. Das ist allerdings nicht getestet.
Man kann eine Kugel natürlich auch mit einem Kugelfräser fertigen, indem man immer Längenkreise abfährt. Das hat den Vorteil, dass man immer nur den gleichen Kreis, aber jedes Mal um die Polachse gedreht, fahren müsste.
Für die Variante, um die es hier geht, habe ich mal ein kleines Programm geschrieben. Das ist allerdings nicht getestet.
CODE
N10 DEF REAL _R_KUGEL = 119.7 / 2.0 ; Kugelradius
N20 DEF_REAL _X_MAX = 75 / 2 ; Halbe Dicke des Rohteils
N30 DEF REAL _W_INC = 2 ; Winkelinkrement fuer die Bearbeitung
N40 DEF INT _N_SPIRAL_SEG = 2 ; Zahl der Kreissegmente fuer einen Vollkreis
N50 DEF REAL _R_PLATTE = 10 ; Radius der Schneidplatten
N70 DEF REAL _W_KUGEL = ASIN(_X_MAX / _R_KUGEL) ; Halber Winkel des Kugelausschnitts
N80 DEF INT _N_SPIRAL = TRUNC(_W_KUGEL / _W_INC + 1) ; Zahl der 360-Grad-Spiralen
N90 DEF REAL _W_INC_IST = (_W_KUGEL / _MAX_SPIRAL) / _N_SPIRAL_SEG;Winkel auf der Kugel je Spiralsgement
N100 DEF REAL _W_SPIRAL_INC = 360. / _N_SPIRAL_SEG ; Winkel eines Spiralsgements
N110 DEF INT _CNTR_SPIRAL ; Zaehler fuer 360-Grad-Spiralen
N120 DEF INT _CNTR_SPIRAL_SEG ; Zaehler fuer Segmente einer 360-Grad-Spirale
N130 DEF_REAL _PHI ; Aktueller Winkel zwischen X-Y-Ebene und dem Berührpunkt des Werkzeugs
N140 DEF REAL _Z_ACHS ; Aktuelle Z-Achs-Position am Satzende
N150 DEF REAL _OFFN ; Aktueller Wert des Werkzeugradiusoffsets am Satzende
N160 DEF REAL _W_SPIRAL; Aktueller Winkel des Spiralsegements am Kreisende
; Annahme: Kugelmittelpunkt liegt im Nullpunkt
N170 G0 X0 Y0
N180 Z=-_R_PLATTE ; Kugelmittelpunkt anfahren (Werkzeuglaenge bis Unterkante Schneidplatte)
N190 G1 G42 G64 KONTC X=_R_KUGEL Y0 OFFN = 0 F2000
N200 G2 I=-_R_KUGEL; Ein Vollkreis ohne Z-Zustellung am Anfang
N210 FOR _CNTR_SPIRAL = 0 TO _N_SPIRAL - 1
N220 FOR _CNTR_SPIRAL_SEG = 1 TO _N_SPIRAL_SEG
N230 _PHI = (_CNTR_SPIRAL * _N_SPIRAL_SEG + _CNTR_SPIRAL_SEG) * _W_INC_IST
N240 _Z_ACHS = (_R_PLATTE - R_KUGEL) * SIN(_PHI) - _R_PLATTE
N250 _OFFN = (_R_KUGEL - R_PLATTE) * (1.0 - COS(_PHI))
N260 _W_SPIRAL = _CNTR_SPIRAL_SEG * _W_SPIRAL_INC
N270 X=_R_KUGEL * COS(_W_SPIRAL) Y=_R_KUGEL * SIN(_W_SPIRAL)I=AC(0)J=AC(0) Z=_Z_ACHS OFFN=_OFFN
N280 ENDFOR
N290 ENDFOR
N300 I=-_R_KUGEL; Ein Vollkreis ohne Z-Zustellung am Ende
N310 G0 G40 X0 Y0
N320 Z200
N330 M30
N20 DEF_REAL _X_MAX = 75 / 2 ; Halbe Dicke des Rohteils
N30 DEF REAL _W_INC = 2 ; Winkelinkrement fuer die Bearbeitung
N40 DEF INT _N_SPIRAL_SEG = 2 ; Zahl der Kreissegmente fuer einen Vollkreis
N50 DEF REAL _R_PLATTE = 10 ; Radius der Schneidplatten
N70 DEF REAL _W_KUGEL = ASIN(_X_MAX / _R_KUGEL) ; Halber Winkel des Kugelausschnitts
N80 DEF INT _N_SPIRAL = TRUNC(_W_KUGEL / _W_INC + 1) ; Zahl der 360-Grad-Spiralen
N90 DEF REAL _W_INC_IST = (_W_KUGEL / _MAX_SPIRAL) / _N_SPIRAL_SEG;Winkel auf der Kugel je Spiralsgement
N100 DEF REAL _W_SPIRAL_INC = 360. / _N_SPIRAL_SEG ; Winkel eines Spiralsgements
N110 DEF INT _CNTR_SPIRAL ; Zaehler fuer 360-Grad-Spiralen
N120 DEF INT _CNTR_SPIRAL_SEG ; Zaehler fuer Segmente einer 360-Grad-Spirale
N130 DEF_REAL _PHI ; Aktueller Winkel zwischen X-Y-Ebene und dem Berührpunkt des Werkzeugs
N140 DEF REAL _Z_ACHS ; Aktuelle Z-Achs-Position am Satzende
N150 DEF REAL _OFFN ; Aktueller Wert des Werkzeugradiusoffsets am Satzende
N160 DEF REAL _W_SPIRAL; Aktueller Winkel des Spiralsegements am Kreisende
; Annahme: Kugelmittelpunkt liegt im Nullpunkt
N170 G0 X0 Y0
N180 Z=-_R_PLATTE ; Kugelmittelpunkt anfahren (Werkzeuglaenge bis Unterkante Schneidplatte)
N190 G1 G42 G64 KONTC X=_R_KUGEL Y0 OFFN = 0 F2000
N200 G2 I=-_R_KUGEL; Ein Vollkreis ohne Z-Zustellung am Anfang
N210 FOR _CNTR_SPIRAL = 0 TO _N_SPIRAL - 1
N220 FOR _CNTR_SPIRAL_SEG = 1 TO _N_SPIRAL_SEG
N230 _PHI = (_CNTR_SPIRAL * _N_SPIRAL_SEG + _CNTR_SPIRAL_SEG) * _W_INC_IST
N240 _Z_ACHS = (_R_PLATTE - R_KUGEL) * SIN(_PHI) - _R_PLATTE
N250 _OFFN = (_R_KUGEL - R_PLATTE) * (1.0 - COS(_PHI))
N260 _W_SPIRAL = _CNTR_SPIRAL_SEG * _W_SPIRAL_INC
N270 X=_R_KUGEL * COS(_W_SPIRAL) Y=_R_KUGEL * SIN(_W_SPIRAL)I=AC(0)J=AC(0) Z=_Z_ACHS OFFN=_OFFN
N280 ENDFOR
N290 ENDFOR
N300 I=-_R_KUGEL; Ein Vollkreis ohne Z-Zustellung am Ende
N310 G0 G40 X0 Y0
N320 Z200
N330 M30
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: