Движение по окружности

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
evgenymcp
Мастер
Сообщения: 1418
Зарегистрирован: 23 апр 2017, 05:37
Репутация: 326
Настоящее имя: Евгений
Откуда: Абакан,Хакасия
Контактная информация:

Движение по окружности

Сообщение evgenymcp »

Недавно обратил внимание как lcnc фрезерует окружности и немного озадачился. Суть проблемы в следующем. При фрезеровке окружности всегда в одном месте станок делает небольшую паузу. Составил тестовую УП, прогнал в симуляторе, никакой задержки нет. На станке в момент перехода от первой дуги ко второй станок на долю секунды замирает. При переходе от 2 к 3 дуге и от 3 к 4 всё норм :wik: Настройки всё по умолчанию.

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

%
G21 G40 G49 G64 P0.03 M6 T1
G17
M7
G0Z20.000
G0X0.000Y0.000S18000M3
G0X-25.000Y-15.000Z5.000
G1Z-4.000F600.0
G3X-35.000Y-25.000I0.000J-10.000F1200.0
G3X-25.000Y-35.000I10.000J0.000
G3X-15.000Y-25.000I0.000J10.000
G3X-25.000Y-15.000I-10.000J0.000
G0Z5.000
G0X0.000Y20.000
G1Z-4.000F600.0
G3X-20.000Y0.000I0.000J-20.000F1200.0
G3X0.000Y-20.000I20.000J0.000
G3X20.000Y0.000I0.000J20.000
G3X0.000Y20.000I-20.000J0.000
G0Z5.000
G0X-25.000Y35.000
G1Z-4.000F600.0
G3X-35.000Y25.000I0.000J-10.000F1200.0
G3X-25.000Y15.000I10.000J0.000
G3X-15.000Y25.000I0.000J10.000
G3X-25.000Y35.000I-10.000J0.000
G0Z5.000
G0X25.000
G1Z-4.000F600.0
G3X15.000Y25.000I0.000J-10.000F1200.0
G3X25.000Y15.000I10.000J0.000
G3X35.000Y25.000I0.000J10.000
G3X25.000Y35.000I-10.000J0.000
G0Z5.000
G0Y-15.000
G1Z-4.000F600.0
G3X15.000Y-25.000I0.000J-10.000F1200.0
G3X25.000Y-35.000I10.000J0.000
G3X35.000Y-25.000I0.000J10.000
G3X25.000Y-15.000I-10.000J0.000
G0Z5.000
G0Z20.000
G0X0.000Y0.000
M2
%
mazepa
Кандидат
Сообщения: 41
Зарегистрирован: 06 фев 2018, 02:38
Репутация: 0
Настоящее имя: Денис
Откуда: Moscow
Контактная информация:

Re: Движение по окружности

Сообщение mazepa »

а если изменение скорости подачи вынести отдельно перед выполнением первой дуги?
evgenymcp писал(а):

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

G3X-35.000Y-25.000I0.000J-10.000F1200.0
G3X-25.000Y-35.000I10.000J0.000
G3X-15.000Y-25.000I0.000J10.000
G3X-25.000Y-15.000I-10.000J0.000
сделать

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

G3F1200.0
G3X-35.000Y-25.000I0.000J-10.000
G3X-25.000Y-35.000I10.000J0.000
G3X-15.000Y-25.000I0.000J10.000
G3X-25.000Y-15.000I-10.000J0.000
Аватара пользователя
evgenymcp
Мастер
Сообщения: 1418
Зарегистрирован: 23 апр 2017, 05:37
Репутация: 326
Настоящее имя: Евгений
Откуда: Абакан,Хакасия
Контактная информация:

Re: Движение по окружности

Сообщение evgenymcp »

mazepa писал(а):а если изменение скорости подачи вынести отдельно перед выполнением первой дуги?
evgenymcp писал(а):

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

G3X-35.000Y-25.000I0.000J-10.000F1200.0
G3X-25.000Y-35.000I10.000J0.000
G3X-15.000Y-25.000I0.000J10.000
G3X-25.000Y-15.000I-10.000J0.000
сделать

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

G3F1200.0
G3X-35.000Y-25.000I0.000J-10.000
G3X-25.000Y-35.000I10.000J0.000
G3X-15.000Y-25.000I0.000J10.000
G3X-25.000Y-15.000I-10.000J0.000
Если сделать так, то выдаст ошибку, для G03 не переданы параметры.
Переделал УП, удалил F1200.0 везде, кроме первой окружности. Ничего не изменилось. При переходе с 1 на 2 дугу небольшая задержка.
mazepa
Кандидат
Сообщения: 41
Зарегистрирован: 06 фев 2018, 02:38
Репутация: 0
Настоящее имя: Денис
Откуда: Moscow
Контактная информация:

Re: Движение по окружности

Сообщение mazepa »

evgenymcp писал(а):Переделал УП, удалил F1200.0 везде, кроме первой окружности. Ничего не изменилось. При переходе с 1 на 2 дугу небольшая задержка.
странно
а если начинать окружность с другой точки, не с севера? или переделать в вариант по часовой стрелке? будет ли опять же заминка на этапе 1-2 или именно в точке перехода на западе?
смысл понять связано ли это с определенной сменой направления движения по осям или с чем-то еще
Аватара пользователя
evgenymcp
Мастер
Сообщения: 1418
Зарегистрирован: 23 апр 2017, 05:37
Репутация: 326
Настоящее имя: Евгений
Откуда: Абакан,Хакасия
Контактная информация:

Re: Движение по окружности

Сообщение evgenymcp »

mazepa писал(а):
evgenymcp писал(а):Переделал УП, удалил F1200.0 везде, кроме первой окружности. Ничего не изменилось. При переходе с 1 на 2 дугу небольшая задержка.
странно
а если начинать окружность с другой точки, не с севера? или переделать в вариант по часовой стрелке? будет ли опять же заминка на этапе 1-2 или именно в точке перехода на западе?
смысл понять связано ли это с определенной сменой направления движения по осям или с чем-то еще
Не имеет значения. Сейчас протестировал обработку по вектору, внутри вектора, снаружи вектора, встречное и попутное направление. В любом случае при переходе с 1 на 2 дугу пауза, между 2-3 и 3-4 паузы нет :wik:
Аватара пользователя
evgenymcp
Мастер
Сообщения: 1418
Зарегистрирован: 23 апр 2017, 05:37
Репутация: 326
Настоящее имя: Евгений
Откуда: Абакан,Хакасия
Контактная информация:

Re: Движение по окружности

Сообщение evgenymcp »

Снял видео для наглядности.
https://youtu.be/wbMt-SwQ3gM
mazepa
Кандидат
Сообщения: 41
Зарегистрирован: 06 фев 2018, 02:38
Репутация: 0
Настоящее имя: Денис
Откуда: Moscow
Контактная информация:

Re: Движение по окружности

Сообщение mazepa »

evgenymcp писал(а):Снял видео для наглядности.
ага, странное поведение
а обработка g-кода на стороне компа или у станка свой контроллер? если первое то тогда стоит им на форуме отписать по багу. если же второе - ну тут тогда к контроллеру вопрос
sergx99
Новичок
Сообщения: 35
Зарегистрирован: 27 фев 2016, 17:03
Репутация: 7
Настоящее имя: Сергей
Контактная информация:

Re: Движение по окружности

Сообщение sergx99 »

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

F600
G10 L1 P1 R15. Z1
G1 X 00.0 Y 00.0 Z14
G41 D1
G1 X 25.0 Y 25.0
G1 X 25.0 Y-25.0
G1 X-25.0 Y-25.0
G1 X-25.0 Y 25.0 Z13
G1 X 25.0 Y 25.0	(!Stop)
G1 X 25.0 Y-25.0
G1 X-25.0 Y-25.0
G1 X-25.0 Y 25.0 Z12
G1 X 25.0 Y 25.0	(!Stop)
G1 X 25.0 Y-25.0
G1 X-25.0 Y-25.0
G1 X-25.0 Y 25.0 Z11
G1 X 00.0 Y 00.0	(!?)
(G1 X 25.0 Y 25.0)      (если раскоментировать, на предыдущей строке будет замирание)
M2
Тоже не совсем понятное поведение, связано с вертикальной подачей.
После огибания угла, вконце дуги останавливается, если вертикальная подача (скорость) меняется на 0
Но если это последний сегмент, проходит без останова. LinuxCNC 2.7.12 -> LPT
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2180
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

Re: Движение по окружности

Сообщение ukr-sasha »

А если так:
G1F1200.0 Х(начало дуги) Y(начало дуги)
G3X-35.000Y-25.000I0.000J-10.000
G3X-25.000Y-35.000I10.000J0.000
G3X-15.000Y-25.000I0.000J10.000
G3X-25.000Y-15.000I-10.000J0.000
Аватара пользователя
evgenymcp
Мастер
Сообщения: 1418
Зарегистрирован: 23 апр 2017, 05:37
Репутация: 326
Настоящее имя: Евгений
Откуда: Абакан,Хакасия
Контактная информация:

Re: Движение по окружности

Сообщение evgenymcp »

Сейчас запустил тестовый файл из папки с примерами linuxcnc/nc_files/examples/3dtest.ngc - круг отрисовал без пауз.
Файл 3dtest.ngc

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

n099    (This is a test plot nc program to be run on backplot)
n100    (Author Ray Henry 10-Feb-2000)
n101    g20
n102    g0 x0 y0 z0 f30
n103    x1 y1(start xy circle)
n104    g17 g02 i.5 j.5
n106    g0 z.1 (add xy lettering)
n107    y1.75
n108    z0
n109    g1 y1.25 x1.4
n110    y1.5 x1.2
n111    y1.25 x1
n112    y1.75 x1.4
n113    g0 z.1
n114    y1.75 x1.6
n115    z0
n116    g1 y1.5 x1.8
n117    y1.75 x2
n118    y1.5 x1.8
n119    y1.25
n120    g0 x0 y0 z0
n121    x1 z1(start xz circle)
n122    g18 g02 i.5 k.5
n124    g0 y.1 (add xz lettering)
n125    z1.75
n126    y0
n127    g1 z1.25 x1.4
n128    z1.5 x1.2
n129    z1.25 x1
n130    z1.75 x1.4
n131    g0 y.1
n132    z1.75 x1.6
n133    y0
n134    g1 x2
n135    z1.25 x1.6
n136    x2
n137    g0 x0 y0 z0
n138    y1 z1 (start yz circle)
n139    g19 g02 j.5 k.5
n141    g0 x.1 (add yz lettering)
n142    z1.75
n143    x0
n144    g1 z1.5 y1.2
n145    z1.75 y1.4
n146    z1.5 y1.2
n147    z1.25
n148    g0 x.1
n149    z1.75 y1.6
n150    x0
n151    g1 y2
n152    z1.25 y1.6
n153    y2
n154    g0 x0 y0 z0
n155    m2
А это мой файл, на котором происходит задержка

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

%
G21 G40 G49 G64 P0.03 M6 T1
G17
M7
G0Z20.000
G0X0.000Y0.000S18000M3
G0X0.000Y39.250Z5.000
G1Z-4.000F1500.0
G2X39.250Y0.000I0.000J-39.250F3000.0
G2X0.000Y-39.250I-39.250J0.000
G2X-39.250Y0.000I0.000J39.250
G2X0.000Y39.250I39.250J0.000
G0Z5.000
G0Z20.000
G0X0.000Y0.000
M2
%
Надо чтобы кто-то протестил на lcnc. Ускорения по осям X,Y 300мм/c2, Z 600. Может это какая-нибудь особенность планировщика? :?
sergx99
Новичок
Сообщения: 35
Зарегистрирован: 27 фев 2016, 17:03
Репутация: 7
Настоящее имя: Сергей
Контактная информация:

Re: Движение по окружности

Сообщение sergx99 »

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

G0X0.000Y39.250Z5.000  ->  G0X0.000Y39.250Z-4.000 сбоя нет
Это на планировщик похоже, если перед входом в круг высоту не менять, проходит без спотыканий.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Движение по окружности

Сообщение PKM »

А какие настройки G61, G64?
Аватара пользователя
evgenymcp
Мастер
Сообщения: 1418
Зарегистрирован: 23 апр 2017, 05:37
Репутация: 326
Настоящее имя: Евгений
Откуда: Абакан,Хакасия
Контактная информация:

Re: Движение по окружности

Сообщение evgenymcp »

По умолчанию. G64. Пробовал G61 ничего не меняется. Да и запинка только у первой арки происходит, что странно.
Активные G коды

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

G1 G17 G40 G21 G90 G94 G54 G49 G99 G64 G97 G91.1 G8 M2 M5 M9 M48 M53 M0 F0 S18000
sergx99
Новичок
Сообщения: 35
Зарегистрирован: 27 фев 2016, 17:03
Репутация: 7
Настоящее имя: Сергей
Контактная информация:

Re: Движение по окружности

Сообщение sergx99 »

Сбой происходит после прохода арки, если нет смены высоты Z, а на предыдущей строке Z менялось.
Если Z и далее меняется, останова не вижу.

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

%
G21 G40 G49 G64 P0.03 M6 T1
G17
M7
G0Z20.000
G0X0.000Y0.000S18000M3
G0X0.000Y39.250Z5.000
G1Z-4.000F1500.0
G2X39.250Y0.000I0.000J-39.250F3000.0Z-3.000
G2X0.000Y-39.250I-39.250J0.000Z-4.000
G2X-39.250Y0.000I0.000J39.250Z-3.000
G2X0.000Y39.250I39.250J0.000Z-4.000
G0Z5.000
G0Z20.000
G0X0.000Y0.000
M2
%
http://www.cnc-club.ru/forum/viewtopic. ... ad#p418896
здесь при компенсации диаметра G41, LinuxCNC скругляет углы и также замирает после скругления,
если перед скруглением была смена высоты, а дальше изменения Z нет.
---Update---
Или если смена Z была на холостом перемещении.
Ниже G1Z-4.000F1500.0 на G0Z-4.000F1500.0 поменял, замирания нет.

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

%
G21 G40 G49 G64 P0.03 M6 T1
G17
M7
G0Z20.000
G0X0.000Y0.000S18000M3
G0X0.000Y39.250Z5.000
G0Z-4.000F1500.0
G2X39.250Y0.000I0.000J-39.250F3000.0
G2X0.000Y-39.250I-39.250J0.000
G2X-39.250Y0.000I0.000J39.250
G2X0.000Y39.250I39.250J0.000
G0Z5.000
G0Z20.000
G0X0.000Y0.000
M2
%
1240
Мастер
Сообщения: 972
Зарегистрирован: 25 янв 2013, 17:11
Репутация: 278
Откуда: Украина, Харьков.
Контактная информация:

Re: Движение по окружности

Сообщение 1240 »

Эту проблему обнаруживают разные люди в разное время (и иногда о ней пишут):
http://www.cnc-club.ru/forum/viewtopic. ... 67#p378243

Я решения не нашел (но и особо не искал (мало времени на эксперименты).
Аватара пользователя
evgenymcp
Мастер
Сообщения: 1418
Зарегистрирован: 23 апр 2017, 05:37
Репутация: 326
Настоящее имя: Евгений
Откуда: Абакан,Хакасия
Контактная информация:

Re: Движение по окружности

Сообщение evgenymcp »

Обновляемся до 2.7.15
Ответить

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