586.308 aktive Mitglieder*
3.625 Besucher online*
Kostenfrei registrieren
Einloggen Registrieren

Interpolationsparameter

Das könnte Sie auch interessieren...

Beitrag 13.08.2006, 19:00 Uhr
enne87
enne87
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 07.08.2006
Beiträge: 53

Hi wiedermal!

Beim CNC-Drehen hab ich ja bei G02 und G03 die Interpolationsparameter I und K. Ist dabei I immer der Radius?

mfg enne
TOP    
Beitrag 13.08.2006, 19:06 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.928

I, J, K sind normalerweise die Abstände des Mittelpunktes vom Startpunkt in X,Y und Z.
Normalerweise deshalb, weil es auch Varianten gibt, bei denen I, J, K nicht inkrementell sondern absolut wirken, d.h. man gibt mit diesen Parametern dann die Koordinaten des Mittelpunktes an.

Bei der Standardprgrammierung ist I nur dann gleich dem Radius, wenn der jeweils andere Kreisparameter 0 ist. Das wäre K bei G18, d.h. bei einer typischen Drehanwendung .
TOP    
Beitrag 13.08.2006, 21:02 Uhr
enne87
enne87
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 07.08.2006
Beiträge: 53

Aha, jetzt kenn ich mich aus, vielen Dank. Eine Frage noch:

Ich hab eine Welle mit einem Durchmesser von 20mm. Jetzt möchte ich am äußersten Ende der Welle eine Abrundung mit dem Radius 5mm machen. Der Mittelpunkt des Kreises soll aber um 2mm in Z verschoben sein.
Ich hab folgendes geschrieben:

N005 G1 X10 Z0
N010 G3 X20 Z-5 I0 K-3

Das klappt aber irgendwie nicht. Was mach ich falsch?
TOP    
Beitrag 13.08.2006, 21:42 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.928

Ein Kreis ist ja ddurch gekennzeichnet, daß alle seine Punkte von einem weitern Punkt (nämlich dem Mittelpunkt) gleich weit entfernt sind.
Diese Bedingung ist in dem Beispiel nicht erfuellt:
Der Mittelpunkt ist vom Startpunkt 3mm entfernt (K-3), der Enpunkt aber
sqrt(104) = 10,2mm.
Du mußt dir darüber klar werden wie der Kreis nun asusehen soll:
Du schreibst, er soll 5mm Radius haben, schreibst aber K-3. Das paßt nicht zusammen.
Start- und Endpunkt haben einen Abstand von sqrt(125) = 11,2mm. Zwei Punkte mit diesem Abstand kann man aber nicht mit einem Kreisbogen mit Radius 5mm verbinden (das Maximum wären 10mm).
Ich schlage vor, das Ganze zunächst mal mit Lineal und Zirkel aufzumalen, dann wird auch die Programmierung klar.

Noch eine Anmerkung am Rande: "Das klappt aber irgendwie nicht." ist eine ganz schlecht Problembeschreibung. Jemand, der bereit ist zu helfen, kann in der Regel nicht ahnen, was nicht klappt, wenn es nicht gerade so einfach ist, wie in diesem Fall.
TOP    
Beitrag 13.08.2006, 22:13 Uhr
enne87
enne87
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 07.08.2006
Beiträge: 53

Ok, jetzt funktioniert es, du hattest Recht, der Code ergab wirklich keinen Sinn.

Übrigens, es ist nicht so einfach ein Problem zu beschreiben, wenn man nicht weiß, was das Problem ist. Stimmt, ich hatte vorhin einen Denkfehler, nur wusste ich da nicht, wo das Problem lag. wink.gif

Egal, vielen Dank für die tolle Hilfe smile.gif
TOP    
Beitrag 13.08.2006, 23:38 Uhr
enne87
enne87
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 07.08.2006
Beiträge: 53

Sorry wenn ich nochmal lästig bin, aber ich komm nicht drauf:

Ich hab geschrieben:

N001 G1 X15 Z0
N002 G2 X20 Z-3 I4.5825 K2

Das sollte normalerweise ein nicht ganz voller Viertelkreis sein.
I ist doch parallel zur X-Achse oder? Daher muss I = sqrt(5²-2²) = 4.5825 sein. Dies ist der Abstand vom Mittelpunkt zum Anfangspunkt, welcher normal zur Z-Achse ist.
Der Abstand vom Mittelpunkt zum Endpunkt ist 5, da 2(K2) + 3(Z-3) = 5 ergibt.

Sollte doch stimmen oder?
TOP    
Beitrag 14.08.2006, 06:27 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.928

Der Kreismittelpunkt liegt bei X19.5825 Z2.
Damit ist der Abstand zum Startpunkt 5mm.

Der Abstand vom Mittelpunkt zum Endpunkt ist

sqrt(25 + 0.1743) = 5.017

Es stimmt also fast, aber nicht ganz.
In Z-Richtung ist der Abstand ja 5mm, dazu kommt aber noch der Abstand von 0,4175mm in X-Richtung.
TOP    
Beitrag 14.08.2006, 06:39 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.928

Für einen Kreis mit 5mm Radius ergben sich die folgenden Werte für I und K:

I4.5899
K1.9832
TOP    
Beitrag 14.08.2006, 14:24 Uhr
enne87
enne87
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 07.08.2006
Beiträge: 53

Unglaublich, das klappt tatsächlich. Ich hab jetzt noch nicht ganz überrissen, wie du auf die Werte kommst, aber ich schaus mir gleich nochmal an, dann komm ich sicher drauf. Vielen Dank nochmals smile.gif
TOP    
Beitrag 14.08.2006, 14:46 Uhr
enne87
enne87
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 07.08.2006
Beiträge: 53

Ah, ok, ich kenn mich jetzt aus. Jetzt brauch ich nur noch die Länge des Kreises berechnen und die Sache ist gelaufen wink.gif
TOP    
Beitrag 14.08.2006, 22:20 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.928

QUOTE (enne87 @ Montag, 14.08.06 - 14:46 Uhr)
Ah, ok, ich kenn mich jetzt aus.

Davon kannst du mir ich nur überzeugen, wenn du mir die beiden Kreisparameter für einen Kreis mit - sagen wir mal - 10mm Radius nennst. biggrin.gif
TOP    
Beitrag 14.08.2006, 22:27 Uhr
manni_mammfred
manni_mammfred
Level 6 = Community-Doktor
******
Gruppe: Moderator
Mitglied seit: 08.07.2005
Beiträge: 818

QUOTE (CNCler @ Montag, 14.08.06 - 22:20 Uhr)
QUOTE (enne87 @ Montag, 14.08.06 - 14:46 Uhr)
Ah, ok, ich kenn mich jetzt aus.

Davon kannst du mir ich nur überzeugen, wenn du mir die beiden Kreisparameter für einen Kreis mit - sagen wir mal - 10mm Radius nennst. biggrin.gif

... dem ich mich anschließ! biggrin.gif .... Wir warten auf die Antwort! tounge.gif ...


--------------------
MfG Manni


Nicht jeder weiß alles und nicht jeder kann alles wissen - doch sollte man immer offen für Neues sein!
TOP    
Beitrag 15.08.2006, 14:37 Uhr
enne87
enne87
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 07.08.2006
Beiträge: 53

Na schön, ich geb zu, wie du auf I4.5899 und K1.9832 gekommen bist versteh ich net hundertprozentig. Da K 1.9832 ist, trifft der Wert X19.5825 nicht mehr zu, oder?

Auch die Rechnung

sqrt(25 + 0.1743) = 5.017

versteh ich nicht ganz, da die beiden Werte kein Quadrat haben und dies somit kein Pythagoräischer Lehrsatz ist.

Wenn ich schreibe

N0050 G1 X15.4175 Z0
N0045 G2 X25 Z-3 I4.5825 K2

scheint es ganz gut zu funktionieren. wink.gif
TOP    
Beitrag 15.08.2006, 21:50 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.928

Also ich versuche es nochmals zu erklären (ist ein bisschen schwierig ohne Zeichnung). Es wir am besten sein, wenn du dir das aufzeichnest, damit du das nachvollziehen kannst.
Man verbindet Start- und Endpunkt mit einer Geraden (das ist dann eine Kreissehen, die brauchen wir später noch!). Zu dieser Geraden bildet man die Mittelsenkrechte. Jeder Kreis der durch Start- und Enpunkt geht hat seinen Mittelpunkt auf dieser Geraden, d.h. auch der Mittelpunkt des gesuchten Kreises mit 5mm Radius muß irgendwo auf dieser Geraden liegen. Wenn man das Ganze nur zeichnerisch konstruieren will, schlägt man einach um den Startpunkt (oder um den Endpunkt) einen Kreis mit dem gewünschten Radius, desssen Schnittpunkt mitt der Mittelsenkrechtenist der gesuchte Kreismittelpunkt.
Wenn man diesen Punkt zahlenmäßig braucht, muß man ein bisschen rechnen. Es gibt dazu mehere Lösungswege. Man könnte z.B. den Schnittpunkt aus der Mittelsenkrechten und dem Kreis um den Startpunkt berechnen. Ich will hier aber mal einen anderen Weg beschreiben:
Startpunkt, Mittelpunkt der Sehne und Kreismittelpunkt bilden ein rechtwinkeliges Dreieck, bei dem zwei Seiten bekannt sind. Die Hypotenuse ist der Kreisradius mit 5mm, die eine Kathete ist die halbe Sehnenlänge, d.h 0.5 * sqrt(3*3 + 5*5) = 0.5 * sqrt(34) = sqrt(8.5) = 2.91547.
Mit dem Pythagoras können wir dann die zweite Kathete ermitteln:
s = sqrt(5 * 5 - 8.5) = sqrt(16,5) = 4.062.
Soweit ist der Kreismittelpunkt von der Sehne entfernt. Wir müssen jetzt noch die Anteile in X- und Z-Richtung bestimmen. Man sieht (ähnliche Dreiecke!), daß Z- und X-Anteil im Verhältnis 5 : 3 stehen.
Nennen wir einen Längenanteil u, so muß gelten (Pythagoras):
16,5 = 3u * 3u + 5u * 5u ==> u*u = 16,5 /34 ==> u = 0.6966

D.h, wir haben in Z-Richtung 5u = 3.4832
und in X-Richtung 3u = 2.0899

Das sind die Weganteile der Geraden vom Sehnenmittelpunkt zum Kreismittelpunkt in Z- bzw. in X-Richtung.
Dazu muessen wir vom Startpunkt aus noch die Strecken bis zum Sehnenmittelpunkt addieren / subtrahieren:

K = 3.4832 - 1.5 = 1.9832
I = 2.0899 + 2.5 = 4.5899


Jetzt solltest du es selber auch für einen Radius von 10mm hinkriegen.

Noch eine Anmerkung: NC-Steuerungen sind unterschiedlich tolerant was die Genauigkeit der Kreisprogrammierung angeht. Wenn die drei Punkte Startpunkt, Endpunkt und Mittelpunkt nicht zusammnpassen, wird entweder eine Fehlermeldung generiert, oder die Steuerung versucht mit den Daten zurecht zu kommen. Das geschieht z.B. dadurch, daß kein Kreis, sondern eine Spirale gefahren wird, oder indem der Mittelpunkt gegnüber dem eigentlich programiierten Wert verschoben wird. Deswegen kommt man unter Umständen auch mit Kreisparametern, die man irgndwie im Probierverfahren ermittelt hat, zum Ziel. Sauber ist das aber nicht.
TOP    
Beitrag 16.08.2006, 22:12 Uhr
enne87
enne87
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 07.08.2006
Beiträge: 53

Zuerst mal vielen Dank CNCler für die Mühe, die du dir extra wegen mir machst.
Ich hab das jetzt für Radius 10mm ausgerechnet:

Ich komm gleich zu dem rechtwinkligen Dreieck:

Die Hypothenuse ist 10mm lang, die halbe Sehnenlänge beträgt 5.22mm.
Der Abstand vom Kreismittelpunkt zur Sehne beträgt 8.529mm.
Verhältnis X:Z gleich 3:10 -> 72.75 = 3u*3u + 10u*10u -> u = 0.817

K= 8.169-1.5 = 6.669
I= 5+2.451 = 7.451

Sollte jetzt hoffentlich stimmen. Nochmals: Vielen Dank für die absolut großartige Hilfe.
Noch etwas: Wenn dir jetzt noch zufällig ein nicht allzu komplizierter Weg einfallen sollte, wie man die Bogenlänge von G2 bzw. G3 - Befehlen ausrechnen kann, bist du ab sofort mein persönlicher CNC-Gott wink.gif

mfg enne
TOP    
Beitrag 17.08.2006, 08:20 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.928

Also die Werte sind nicht ganz richtig. Richtig ist

I=7.4214
K=6.7024

Bin jetzt aber zu faul deine Rechnung nachzuvollziehen (vielleicht heute Abend).

Zur Bogenlänge: Das wurde in einem anderen thread vor 1 oder 2 Wochen schon mal abgehandelt. Hier aber nochmals

Bogenlänge s = 2 * r *asin(0.5 * sqrt(x*x +z*z) / r)
Dabei sind x und z die Positionsdifferenzen zwischen Start -und Endpunkt.
asin muß das Ergebnis im Bogenmaß liefern. Falls asin das Ergebnis in Grad liefert, den Wert durch 180 diviedieren und mit 3.14159 (Pi) multipliziern.

In unserem Beispiel haben wir also

s = 2 * 5 * asin(0.5 * sqrt(25 + 9) / 5) = 10 * asin(0.583095) = 6.2253mm

Zum Rechengang:
Man benötigt den Winkel, den die beiden Radien vom Mittelpunkt zu Start- und Endpunkt einschließen. Der Sinus des halben Winkels ist die halbe Länge der Sehne dividiert durch den Radius, der ganze Winkel entsprechend das Doppelte.
Die Bogenlänge eines Kreisbogens ist einfach Radius * Winkel (im Bogenmaß).
Die Formel oben gilt übrigens so nur für Kreisbögen, die kleiner als ein Halbkreis sind.
TOP    
Beitrag 17.08.2006, 19:14 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.928

QUOTE
Die Hypothenuse ist 10mm lang, die halbe Sehnenlänge beträgt 5.22mm.


Wie kommst du auf den Wert 5.22?
Die halbe Sehnenlänge ist

0.5 * sqrt(3*3 + 5*5) = 2.9154....
TOP    
Beitrag 17.08.2006, 20:47 Uhr
enne87
enne87
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 07.08.2006
Beiträge: 53

QUOTE (CNCler @ Donnerstag, 17.08.06 - 19:14 Uhr)
Wie kommst du auf den Wert 5.22?
Die halbe Sehnenlänge ist

0.5 * sqrt(3*3 + 5*5) = 2.9154....

Also ich hab hier:

0.5*sqrt(3*3+10*10) = 5.22, da der Radius 10mm beträgt.

Die halbe Sehnenlänge ist dann sqrt(10*10 - 5.22*5.22) = 8.529

Übrigens danke für die Formel für die Kreislänge, glücklicherweise hatte ich die gleiche Formel, nur rechnet Visual Studio von Haus aus im Bogenmaß smile.gif
TOP    
Beitrag 17.08.2006, 21:19 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.928

QUOTE
0.5*sqrt(3*3+10*10) = 5.22, da der Radius 10mm beträgt.


In der Wurzel muß es 3*3 + 5*5 heißen, denn die 5 ist nicht der Kreisradius sondern der Abstand zwischen Start- und Endpunkt in X-Richtung (die 3 entprechend in Z-Richtung).
Die Kreissehne wird ja ausschließlich durch Start- und Enpunkt bestimmt und hängt nicht vom Kreisradius ab.
TOP    
Beitrag 17.08.2006, 22:48 Uhr
enne87
enne87
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 07.08.2006
Beiträge: 53

QUOTE (CNCler @ Donnerstag, 17.08.06 - 21:19 Uhr)
In der Wurzel muß es 3*3 + 5*5 heißen, denn die 5 ist nicht der Kreisradius sondern der Abstand zwischen Start- und Endpunkt in X-Richtung (die 3 entprechend in Z-Richtung).
Die Kreissehne wird ja ausschließlich durch Start- und Enpunkt bestimmt und hängt nicht vom Kreisradius ab.

Du hast natürlich wiedermal ganz Recht, hab mir das wiedermal falsch zusammengereimt. Ich überleg mir jetzt noch was, wie ich die Bogenlänge bei einem Winkel größer 180 Grad ausrechnen kann, und das schlimmste wär überstanden. danke.gif nochmals CNCler!
TOP    



1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: