Strona 1 z 1

Algorytm obliczania interpolacji kołowej G2/G3

: 14 sty 2017, 00:28
autor: typniepokorny86
Witam,
pytanie generalnie takie jak w temacie, trochę fantastycznonaukowe:> Zacznę od tego, że pytanie wiąże się z tym, że ostatnio na frezarce haasa pojawił mi się alarm iż pozycja końca łuku, lub środka nie mieści się w zakresie 0,01mm. Kolega miał coś podobnego na innej maszynie z Fanuciem.
Dla jasności, nie chodzi mi o to jak się programuje interpolację kołową bo to wiem (a przynajmniej tak mi się wydaje), ani o to w jaki sposób sterownik steruje serwomotorami. Chodzi mi o to jak sterownik przelicza wartości, współrzędne,... przy programowaniu G2/G3 z użyciem parametrów I i J. Dlaczego to takie ciekawe..? Otóż dlatego, że żeby w pełni utwierdzić łuk na płaszczyźnie, lub jak kto woli odebrać mu wszystkie stopnie swobody wystarczy nadać mu 5 (pięć) więzów lub wymiarów. Programując G2/G3 z użyciem parametru R (wartością promienia łuku) mamy 5 danych (X i Y początku łuku, X i Y końca, oraz R) i teoretycznie układ jest w porządku. Zaś programując G2/G3 z użyciem I i J mamy takich danych 6, czyli układ jest przewymiarowany.
Tak więc pytanie, jak sterownik przelicza, jakich algorytmów matematycznych używa, aby przeliczyć ten nadmiar informacji?

: 14 sty 2017, 17:55
autor: capt.d.
Aloha
typniepokorny86 pisze:aby przeliczyć ten nadmiar informacji?
Nie mamy do czynienia z nadmiarem. Parametry I i J służą do określenia położenia środka okręgu względem aktualnej pozycji narzędzia (w bloku G2/G3) i promienia toru narzędzia.

Pozdrawiam

: 16 sty 2017, 14:01
autor: typniepokorny86
To że parametry I i J służą do określenia środka łuku, a w związku z tym i jego promienia to ja wiem. Ale sterownik to liczy. Bo z matematycznego punktu widzenia, nie da się tego policzyć w jednym równaniu.

: 16 sty 2017, 18:12
autor: WZÓR
typniepokorny86 pisze:To że parametry I i J służą do określenia środka łuku, a w związku z tym i jego promienia to ja wiem. Ale sterownik to liczy. Bo z matematycznego punktu widzenia, nie da się tego policzyć w jednym równaniu.
A kogo to obchodzi .... (?)
Jak większość z nas skupia się raczej na pracy , a nie na rozmyślaniu.

P.s.
Pytanie w sam raz do studentów .... , najlepiej w sobotę przy piwku.
Wtedy wszyscy są mądrzy. :neutral:

Mariusz.

: 18 sty 2017, 16:10
autor: typniepokorny86
WZÓR pisze: A kogo to obchodzi .... (?)
Jak większość z nas skupia się raczej na pracy , a nie na rozmyślaniu.

Mariusz.
To tak jak jeden z operatorów powiedział mi, że nie musi (przynajmniej trochę) znać G-kodu. Zwłaszcza, że nie robi tylko "na guziku", a musi ustawiać robotę.

Swoją drogą, to rzeczywiście, nie jest to najważniejsza rzecz jaką powinienem wiedzieć. Po prostu mnie to ciekawi, zwłaszcza, że z tego powodu są generowane alarmy.

: 08 lut 2017, 12:03
autor: cosimo
Zaś programując G2/G3 z użyciem I i J mamy takich danych 6, czyli układ jest przewymiarowany.
Sam piszesz, że wiesz iż I,J wyznaczają środek okręgu - potrzeba do tego dwóch liczb więc co tu jest „nadmiarowe/przewymiarowane” ?
Zacznę od tego, że pytanie wiąże się z tym, że ostatnio na frezarce haasa pojawił mi się alarm iż pozycja końca łuku


I,J wyznacza środek względem aktualnej pozycji narzędzia zatem łatwo policzyć odległość (pitagoras) aktualnej pozycji od punktu środka i w ten sposób masz „R”. Alarm pojawi się wtedy gdy zadeklarowany koniec ruchu (XY) znajduje się w innej odległości od środka niż R. Taki błąd teoretycznie może się zdarzyć gdy łuk zaczynasz nie tam gdzie powinieneś, albo ktoś zaoszczędził na cyfrach po przecinku w kodzie, albo pisał z palca i się pomylił...
Tak więc pytanie, jak sterownik przelicza, jakich algorytmów matematycznych używa, aby przeliczyć ten nadmiar informacji?
Aby narysować okręg albo łuk trzeba mieć jego środek – to w prosty sposób załatwiają I,J. Kiedy masz podane samo R i tak musisz obliczyć środek – i to jest dopiero problem ;-)