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

Настройки всё по умолчанию.
Код: Выделить всё
%
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
%
Re: Движение по окружности
Добавлено: 11 фев 2018, 07:31
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
Re: Движение по окружности
Добавлено: 11 фев 2018, 07:40
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 дугу небольшая задержка.
Re: Движение по окружности
Добавлено: 11 фев 2018, 07:55
mazepa
evgenymcp писал(а):Переделал УП, удалил F1200.0 везде, кроме первой окружности. Ничего не изменилось. При переходе с 1 на 2 дугу небольшая задержка.
странно
а если начинать окружность с другой точки, не с севера? или переделать в вариант по часовой стрелке? будет ли опять же заминка на этапе 1-2 или именно в точке перехода на западе?
смысл понять связано ли это с определенной сменой направления движения по осям или с чем-то еще
Re: Движение по окружности
Добавлено: 11 фев 2018, 08:05
evgenymcp
mazepa писал(а):evgenymcp писал(а):Переделал УП, удалил F1200.0 везде, кроме первой окружности. Ничего не изменилось. При переходе с 1 на 2 дугу небольшая задержка.
странно
а если начинать окружность с другой точки, не с севера? или переделать в вариант по часовой стрелке? будет ли опять же заминка на этапе 1-2 или именно в точке перехода на западе?
смысл понять связано ли это с определенной сменой направления движения по осям или с чем-то еще
Не имеет значения. Сейчас протестировал обработку по вектору, внутри вектора, снаружи вектора, встречное и попутное направление. В любом случае при переходе с 1 на 2 дугу пауза, между 2-3 и 3-4 паузы нет

Re: Движение по окружности
Добавлено: 11 фев 2018, 08:17
evgenymcp
Снял видео для наглядности.
https://youtu.be/wbMt-SwQ3gM
Re: Движение по окружности
Добавлено: 11 фев 2018, 08:28
mazepa
evgenymcp писал(а):Снял видео для наглядности.
ага, странное поведение
а обработка g-кода на стороне компа или у станка свой контроллер? если первое то тогда стоит им на форуме отписать по багу. если же второе - ну тут тогда к контроллеру вопрос
Re: Движение по окружности
Добавлено: 11 фев 2018, 09:28
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
Re: Движение по окружности
Добавлено: 11 фев 2018, 09:46
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
Re: Движение по окружности
Добавлено: 11 фев 2018, 10:24
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. Может это какая-нибудь особенность планировщика?

Re: Движение по окружности
Добавлено: 11 фев 2018, 10:59
sergx99
Код: Выделить всё
G0X0.000Y39.250Z5.000 -> G0X0.000Y39.250Z-4.000 сбоя нет
Это на планировщик похоже, если перед входом в круг высоту не менять, проходит без спотыканий.
Re: Движение по окружности
Добавлено: 11 фев 2018, 13:00
PKM
А какие настройки G61, G64?
Re: Движение по окружности
Добавлено: 11 фев 2018, 14:33
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
Re: Движение по окружности
Добавлено: 11 фев 2018, 15:12
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
%
Re: Движение по окружности
Добавлено: 18 фев 2018, 19:36
1240
Эту проблему обнаруживают разные люди в разное время (и иногда о ней пишут):
http://www.cnc-club.ru/forum/viewtopic. ... 67#p378243
Я решения не нашел (но и особо не искал (мало времени на эксперименты).
Re: Движение по окружности
Добавлено: 07 янв 2020, 14:18
evgenymcp
Обновляемся до 2.7.15