4-я ось: настройка поворотной оси (мини FAQ)

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение Serg »

http://linuxcnc.org/docs/devel/html/con ... AJ-section
AXES = 3 - One more than the number of the highest joint number in the system. For an XYZ machine, the joints are numbered 0, 1 and 2; in this case AXES should be 3. For an XYUV machine using trivial kinematics, the V joint is numbered 7 and therefore AXES should be 8. For a machine with nontrivial kinematics (e.g., scarakins) this will generally be the number of controlled joints.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение verser »

UAVpilot писал(а):http://linuxcnc.org/docs/devel/html/con ... AJ-section
AXES = 3 - One more than the number of the highest joint number in the system. For an XYZ machine, the joints are numbered 0, 1 and 2; in this case AXES should be 3. For an XYUV machine using trivial kinematics, the V joint is numbered 7 and therefore AXES should be 8. For a machine with nontrivial kinematics (e.g., scarakins) this will generally be the number of controlled joints.
То есть, если я хочу XYZB, то надо так?
(и [AXIS_3] типа пропускаем?):

Код: Выделить всё

...
[DISPLAY]
DISPLAY = axis
GEOMETRY = XYZB
...
[TRAJ]
AXES = 5
COORDINATES = X Y Z B
...
# Third axis = Z
[AXIS_2]
TYPE =                          LINEAR
#HOME =                          0.0
MAX_VELOCITY =                  18
MAX_ACCELERATION = 180
STEPGEN_MAXACCEL = 200
BACKLASH = 0.000
INPUT_SCALE =                   1280
OUTPUT_SCALE = 1.000
MIN_LIMIT =                     0.0
MAX_LIMIT =                     62
FERROR = 0.050
MIN_FERROR = 0.010
HOME_OFFSET =                    1.0
HOME =                           30
HOME_SEARCH_VEL =                -10.0
HOME_LATCH_VEL =                 0.390625
HOME_USE_INDEX =                 NO
HOME_IGNORE_LIMITS =             YES
HOME_SEQUENCE = 0
HOME_IS_SHARED = 1

# Fourth axis = B
[AXIS_4]
TYPE =                          ANGULAR
WRAPPED_ROTARY = 1
HOME =                          0.0
MAX_VELOCITY = 356.25
MAX_ACCELERATION = 4800.0
STEPGEN_MAXACCEL = 6000.0
INPUT_SCALE = -26.6666666667
FERROR = 1
MIN_FERROR = .25
BACKLASH = 0.000
OUTPUT_SCALE = 1.000
HOME_OFFSET =                    0.0
HOME_SEARCH_VEL =                0.0
HOME_LATCH_VEL =                 0.0
HOME_USE_INDEX =                 NO
HOME_IGNORE_LIMITS =             YES
HOME_SEQUENCE = 0
...
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение Serg »

Да. Ось B в любой конфигурации будет 5-ой, хотя-бы потому, что по стандарту (про g-код) переменные, содержащие какую-либо координату по оси В всегда должны быть 5-ми в своей группе.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение verser »

Получилось :good: Спасибо UAVpilot и ukr-sasha.
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение verser »

Ок. А теперь что за фигня с привязкой к абсолютным координатам? Мне при смене инструмента надо менять отступы - но вся картинка в Gremline при этом расползается!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение Serg »

Может менять не отступы, а делать коррекцию длины?..
А вообще непонятно что у тебя там происходит...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение verser »

UAVpilot писал(а): А вообще непонятно что у тебя там происходит...
При попытке задать новые нули X Z командой G92 отображение траектории оси B вместо того, чтобы сместиться в нужную точку, увеличивается в диаметре, т.е. получается что отображение оси B как то привязано в Gremline к машинным нулям по X Z ?
UAVpilot писал(а):Может менять не отступы, а делать коррекцию длины?..
А в чем разница?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение Nick »

Да, вращение ABC - это по идее вращения заготовки относительно осей XYZ. Меняешь положение оси X - меняется Gкод...
Но лучше покажи пару скриншотов :)
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение verser »

Вот так, когда все отступы совпадают с машинными - все правильно отображается
xyzb.png (4215 просмотров) <a class='original' href='./download/file.php?id=30110&sid=83afb3652501f3638cf06bab8f75292a&mode=view' target=_blank>Загрузить оригинал (27.78 КБ)</a>
Теперь меняю инструмент на более длинный, фиксирую для него нулевое положение по Z теперь Z отличается от абсолютного в данном примере на 10 мм, и получаю при отображении оси B увеличенный на 10мм радиус траектории, что не соответствует действительности.
Выглядит неправильное отображение так
xyzb1.png (4215 просмотров) <a class='original' href='./download/file.php?id=30111&sid=83afb3652501f3638cf06bab8f75292a&mode=view' target=_blank>Загрузить оригинал (29.77 КБ)</a>
Ось B попрежнему вращается вокруг Y, на высоте Z=0
А мне надо, чтобы и ось вращения сместилась на 10мм вверх и вращалась на картинке вокруг Y на высоте Z=10 в абсолютных .
Последний раз редактировалось verser 26 июн 2014, 18:43, всего редактировалось 2 раза.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение Serg »

Помоему всё правильно: изменив смещение по Z ты изменил расстояние от центра дуги до её начала т.е. её радиус.
Показал-бы чтоль свой секретный G-код... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение verser »

UAVpilot писал(а): Показал-бы чтоль свой секретный G-код... :)
Вот

Код: Выделить всё

(4X-PC-fBces21)
G00 G90 X-1.57 Y-24.48 B0.  Z8 F1080 
G01 X-1.59 Y-24.49 Z7.1 F1080 
G93 B17.09 F500 
B35.53 F463 
B54.47 F451 
B72.91 F463 
B90. F500 
B107.09 F500 
B125.53 F463 
B144.47 F451 
B162.91 F463 
B180. F500 
B197.09 F500 
B215.53 F463 
B234.47 F451 
B252.91 F463 
B270. F500 
B287.09 F500 
B305.53 F463 
B324.47 F451 
B342.91 F463 
B0. F500 
G94 Z6.1 F1080 
G93 B17.09 F577 
B35.53 F535 
B54.47 F521 
B72.91 F535 
B90. F577 
B107.09 F577 
B125.53 F535 
B144.47 F521 
B162.91 F535 
B180. F577 
B197.09 F577 
B215.53 F535 
B234.47 F521 
B252.91 F535 
B270. F577 
B287.09 F577 
B305.53 F535 
B324.47 F521 
B342.91 F535 
B0. F577 
G94 Z5.1 F1080 
G93 B17.09 F681 
B35.53 F631 
B54.47 F614 
B72.91 F631 
B90. F681 
B107.09 F681 
B125.53 F631 
B144.47 F614 
B162.91 F631 
B180. F681 
B197.09 F681 
B215.53 F631 
B234.47 F614 
B252.91 F631 
B270. F681 
B287.09 F681 
B305.53 F631 
B324.47 F614 
B342.91 F631 
B0. F681 
G94 Z4.1 F1080 
G93 B17.09 F827 
B35.53 F766 
B54.47 F746 
B72.91 F766 
B90. F827 
B107.09 F827 
B125.53 F766 
B144.47 F746 
B162.91 F766 
B180. F827 
B197.09 F827 
B215.53 F766 
B234.47 F746 
B252.91 F766 
B270. F827 
B287.09 F827 
B305.53 F766 
B324.47 F746 
B342.91 F766 
B0. F827 
G94 Z3.1 F1080 
G93 B17.09 F1044 
B35.53 F968 
B54.47 F942 
B72.91 F968 
B90. F1044 
B107.09 F1044 
B125.53 F968 
B144.47 F942 
B162.91 F968 
B180. F1044 
B197.09 F1044 
B215.53 F968 
B234.47 F942 
B252.91 F968 
B270. F1044 
B287.09 F1044 
B305.53 F968 
B324.47 F942 
B342.91 F968 
B0. F1044 
G94 Z2.1 F1080 
G93 B17.09 F1381 
B35.53 F1280 
B54.47 F1247 
B72.91 F1280 
B90. F1381 
B107.09 F1381 
B125.53 F1280 
B144.47 F1247 
B162.91 F1280 
B180. F1381 
B197.09 F1381 
B215.53 F1280 
B234.47 F1247 
B252.91 F1280 
B270. F1381 
B287.09 F1381 
B305.53 F1280 
B324.47 F1247 
B342.91 F1280 
B0. F1381 
G94 Z1.1 F1080 
G93 B17.09 F1882 
B35.53 F1745 
B54.47 F1699 
B72.91 F1745 
B90. F1882 
B107.09 F1882 
B125.53 F1745 
B144.47 F1699 
B162.91 F1745 
B180. F1882 
B197.09 F1882 
B215.53 F1745 
B234.47 F1699 
B252.91 F1745 
B270. F1882 
B287.09 F1882 
B305.53 F1745 
B324.47 F1699 
B342.91 F1745 
B0. F1882 
G94 Z0.1 F1080 
G93 B17.09 F2285 
B35.53 F2119 
B54.47 F2063 
B72.91 F2119 
B90. F2285 
B107.09 F2285 
B125.53 F2119 
B144.47 F2063 
B162.91 F2119 
B180. F2285 
B197.09 F2285 
B215.53 F2119 
B234.47 F2063 
B252.91 F2119 
B270. F2285 
B287.09 F2285 
B305.53 F2119 
B324.47 F2063 
B342.91 F2119 
B0. F2285 
G94 X0 Y-24.48 Z-0.1 F1080
G93 B359.999 F1700
G94 F1080
G00 Z7.9 
Z8 
M2 
%
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение verser »

UAVpilot писал(а):Помоему всё правильно: изменив смещение по Z ты изменил расстояние от центра дуги до её начала т.е. её радиус.
А как тогда народ инструмент выставляет ?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение Serg »

ini тоже покаж, а то у меня sim_9axis какую-то хрень рисует. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение verser »

ini
gmoccapy_4_axis.ini
(7.06 КБ) 1280 скачиваний
hal
mill_4axis.hal
(5.13 КБ) 1224 скачивания
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение verser »

Такое чувство, что при задании смещения по Z, надо как-то дать команду на смещение высоты вращения оси B, только как?
Последний раз редактировалось verser 26 июн 2014, 18:58, всего редактировалось 1 раз.
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение verser »

UAVpilot писал(а):Помоему всё правильно: изменив смещение по Z ты изменил расстояние от центра дуги до её начала т.е. её радиус.
Тут я согласен. Но траектория в Gremline по идее должна отображать кончик фрезы, а не фиксированную точку на шпинделе.
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение verser »

Вот здесь Marled переписал кинематику, чтобы сделать компенсацию длины инструмента на XYZA станке, неужели и меня это ждет? http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Rot4thaxiskins
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение Nick »

А отступ на длину инструмента не работает?
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: переход через 360°, согласование угловых скорос

Сообщение verser »

Nick писал(а):А отступ на длину инструмента не работает?
Еще не доводилось пользоваться "отступами на длину инструмента", планировал знакомство с ними когда буду делать автосмену на своем станке. Теперь ознакомился. Теперь понял что имел в виду UAVpilot
UAVpilot писал(а):Может менять не отступы, а делать коррекцию длины?..
И оно таки работает! Проблема решена! Nick и UAVpilot спасибо!
Внес подробности решения в шапку.
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: 4-я ось: настройка поворотной оси (мини FAQ)

Сообщение verser »

Нужен совет.
Параметр WRAPPED_ROTARY = 1 позволяет задавать максимальную угловую координату 359.9999°, но не 360°(на 360°linuxcnc выдает ошибку превышения абсолютной координаты для WRAPPED оси)
При выполнении финишной фрезеровки поверхности прутка(цилиндра), чтобы все правильно проворачивалось, приходится применять в цикле такую пару команд

Код: Выделить всё

G1 Y<#new_y> B359.999 F<#calculated_feed>
G1 B0 (доворот до полного оборота)
Проблема в том, что после каждого полного оборота происходит ненужная пауза движения.
Как можно от этой паузы избавиться?
Ответить

Вернуться в «LinuxCNC»