EMC2 и неровная поверхность гравировки [РЕШЕНО]

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
MadGuest
Новичок
Сообщения: 1
Зарегистрирован: 14 июл 2017, 12:06
Репутация: 0
Настоящее имя: Руслан
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение MadGuest »

Здравствуйте.
Надеюсь тема еще не умерла. Понадобилось вот прикрутить к ЧПУ компенсацию неровности, но столкнулся с одной проблемой: если в gcode использовать код G92, компенсация перестает работать. Ниже пробный gcode, доезжает до угла заготовки, ищет ноль по Z (заготовка металлическая, поиск до касания фрезой поверхности :cheesy: ), затем строит карту, включает компенсацию и проходит точки X,Y карты повторно. При этом если изменить значения параметров: #<x0> = #<xx0>; #<y0> = #<yy0> и убрать строчку G92 X0 Y0, т.е. использовать абсолютные значения координат - все работает как положено. А с относительными координатами индикатор Current compensation показывает последнее найденное в результате сканирования значение и для всех X, Y это значение не меняется. В принципе, логично, ведь в filename.txt в таком случае пишутся относительные значения координат X,Y (для ниже приведенного скрипта: {0;0} {5;0} {10;0}; {5;0} {5;5} {5;10} и так далее), а значения compensation.x-map/compensation-y.map соответствуют абсолютным. Собственно вопрос в том, возможно ли заставить компенсацию работать с относительными координатами?

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

#<h> = 10 (Y) 
#<w> = 10 (X)
#<x0> = 0
#<y0> = 0
#<stepx> = [#<w>/2]
#<stepy> = [#<h>/2]
#<search_feed> = 40
#<latch_feed> = 0
#<safe_z> = 1
#<search_z> = -1
#<safe_fast_z> = 0.5
#<xx0> = 163.7
#<yy0> = 231.7

G92.1 (сбрасываем оносительную СК)
(X0=X0, Y0=Y0, Z0=Z0)
G00 X#<xx0> Y#<yy0> (переходим в ноль заготовки)
G92 X0 Y0 (обнуляем оси X,Y)
(MSG,подключите датчик)
o<probez> call [#<safe_z>] (поиск поверхности заготовки)
o<scan> call [#<x0>] [#<y0>] [#<h>] [#<w>] [#<stepx>] [#<stepy>] [#<search_feed>] [#<latch_feed>] [#<safe_z>] [#<search_z>] [#<safe_fast_z>]
(X0 = X163.7, Y0=Y231.7, Z0=-37.195)
G00 X#<x0> Y#<y0>
(DEBUG,5063=#5063)
M65 P1
G4 P1
M64 P1
G4 P4
M64 P0

F250
G1 Z0
#<y> = #<y0> (сохраняем y)
O101 WHILE [#<y> LE #<h>+#<y0>] (пока y<y+h)
   #<x> = #<x0> (сохраняем x)
  O102 WHILE [#<x> LE #<w>+#<x0>] (пока x<x+w)
  G0 X[#<x>] Y[#<y>]
  G1 Z0
  G0 Z[#<safe_z>]
  #<x> = [#<x>+#<stepx>]
   O102 ENDWHILE
   #<y> = [#<y>+#<stepy>]
   G0 Z[#<safe_z>]
O101 ENDWHILE
M65 P0 
G0 Z30
G0 X0 Y0
M2
Аватара пользователя
evgenymcp
Мастер
Сообщения: 1418
Зарегистрирован: 23 апр 2017, 05:37
Репутация: 326
Настоящее имя: Евгений
Откуда: Абакан,Хакасия
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение evgenymcp »

Есть ли готовое решение для компенсации неровной поверхности под linuxcnc??? Раньше был какой-то Autoleveller. Нужно не костыльное рабочее решение для фрезеровки плат.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение nkp »

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

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение evgenymcp »

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

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение evgenymcp »

Подскажите как заставить pcbzcorrect работать. Программа с этого форума не работает. Скачал с githab. Код модифицирует. При открытие файла Linuxcnc ругается на недопустимый символ. Поверхность сканирует. Дальше останавливается и ругается на символ %. Удалил из УП %, теперь новая проблема - "не найдено символов при чтении реального числа".
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение nkp »

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

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение evgenymcp »

Файлы
Вложения
gerb 10x10.ngc_zprobed.ngc
PCBZprobe
(81.97 КБ) 1102 скачивания
gerb 10x10.ngc
Оригинал
(504.96 КБ) 860 скачиваний
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение nkp »

Выделение_058.jpg (5366 просмотров) <a class='original' href='./download/file.php?id=124943&sid=238ba27ad6f580d01abdf76a052c7430&mode=view' target=_blank>Загрузить оригинал (338.07 КБ)</a>
gerb 10x10.ngc_zprobed.ngc
(2.9 МБ) 1059 скачиваний
Аватара пользователя
evgenymcp
Мастер
Сообщения: 1418
Зарегистрирован: 23 апр 2017, 05:37
Репутация: 326
Настоящее имя: Евгений
Откуда: Абакан,Хакасия
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение evgenymcp »

Разницу в файлах вижу. В чём проблема? Как добиться работы pcbzprobe?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение nkp »

evgenymcp писал(а):Разницу в файлах вижу. В чём проблема? Как добиться работы pcbzprobe?
прога не может(кмк) нормально распарсить код -
когда всё слитно (без пробелов ) - она некорректно работает...
ручками поправил(в Gedit тупо функцией "Заменить") - все заработало...
если часто исходный подобный код("слитный " без пробелов),то можно написать моленький sed для правки
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение nkp »

вот "исходный" файл поправленный
gerb 10x10.ngc
(565.78 КБ) 1139 скачиваний
вроде и "лишние " пробелы тоже не ест прога(пробелы между литерой и цифровым значением)
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение nkp »

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

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение evgenymcp »

В общем как я и говорил нормального решения под linuxcnc нет. Костыль на костыле. Проблема оказалась в следующем. Код генерировался в Vectric Aspire. Постпроцессор которого (и многих других программ) не ставит пробелы. Костыльный PCBZCorrect не переваривает УП без пробелов. Сейчас сгенерировал УП в ArtCam, удалил % из УП и без проблем скормил его PCBZcorrect.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение Serg »

Видимо никто особо не заморачивается изготовлением плат подобным способом.
Если б я был фанатом фрезерования плат, то уже давно-бы написал HAL-компонент, который считывает карту высот, а потом "налету" подруливает осью Z при фрезеровке, примерно как THC работает.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение nkp »

UAVpilot писал(а):Если б я был фанатом фрезерования плат, то уже давно-бы написал HAL-компонент, который считывает карту высот, а потом "налету" подруливает осью Z при фрезеровке, примерно как THC работает.
всё равно нашлись бы недовольные))
ведь введя иероглифы ,оно бы не работало :)

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

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение evgenymcp »

Всю жизни пользовался ЛУТ, но напрягала сверловка, поэтому решил заморочиться с фрезеровкой. Программа давно не обновлялась и в текущем состоянии не работоспособна. Так что [РЕШЕНО] в названии темы предлагаю убрать. Конечно можно прогнать код через sed, поправить в нужных местах, но это не работа. Легко рассуждать о недовольных пользователях и написании HAL компонентов. Я не программист, а обычный пользователь. Хотелось бы иметь подобный инструмент из коробки.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение nkp »

evgenymcp писал(а):Так что [РЕШЕНО] в названии темы предлагаю убрать
как я понимаю,решено относится к определенному решению http://www.cnc-club.ru/forum/viewtopic. ... 525#p19525

на то время оно устроило человека,и он написал "решено" (2012г)
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение MX_Master »

evgenymcp писал(а):Хотелось бы иметь подобный инструмент из коробки.
А ведь нет никакой коробки. Это ж не коммерческий коробочный продукт. А всего лишь открытый конструктор с набором "умелые ручки". Без умелых ручек в ЕМС никак :hehehe:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение Serg »

nkp писал(а):а вышеупомянутая программка так и действует - снимает карту высот и подруливает координаты...
Я так понял, что она "подруливает" исправляя координаты в УП. IMHO это слишком сложный вариант - эта программа должна содержать полноценный парсер G-кода, чтобы уметь расчитывать координаты X и Y в любом месте траектории.
А в HAL у нас всегда есть готовые текущие координаты.
evgenymcp писал(а):Всю жизни пользовался ЛУТ, но напрягала сверловка, поэтому решил заморочиться с фрезеровкой.
В свете полного перехода на СМД (и дешевле и компактнее и номенклатура деталей больше) я пользуюсь фоторезистом. Ну а сверловка на ЧПУ, когда отверстий много, выглядит так: двигаю плату руками и нажимаю педальку - отверстие готово. Когда отверстий немного мне лень готовить и потом убирать станок - сверлю моторчиком, держа его в руке.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

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