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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Не только из-за прижима, Семен на сколько я помню именно на скотч и клеил.
Плюс толщина слоя не такая большая и прижим сильный не нужен - фреза и так все срежет, до чего дотянется.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

Сообщение 2cme »

vadim063 писал(а):Желтый скотч клеит намертво, но после него в 99% случаев необходимо заново фрезеровать столешницу, т.к. остается слой мерзкого соплевидного клея. С белым скотчем таких проблем нет!
Без фанатизма, берется спирт (технический) или подходящий растворитель и все нормально очищается.
При определенной снаровки отдирается отлично, не оставляя ничего.
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

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

Сообщение Романов Семен »

Продал я свой станок около полугода назад - на котором резал платки. Станок это был китаец 3040Т. не суть.
Суть в том что купил у меня его коммерс резать печатки. и я ему объяснил как пользоваться компенсацией - человек он достаточно тоже грамотный.
В итоге он плюнул. "прикрутил" ваакумный стол - и говорит 0.3 мм видерживаю дрожки смело.

Так что если кто-то будет делать такое для ПП - не парьтесь сделайте лучше ваакумный стол себе - многое упростите. а главное скорость обработки увеличите - сэкономите время на каждой плате.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

Сообщение 2cme »

Романов Семен писал(а):В итоге он плюнул. "прикрутил" ваакумный стол - и говорит 0.3 мм видерживаю дрожки смело.

Так что если кто-то будет делать такое для ПП - не парьтесь сделайте лучше ваакумный стол себе - многое упростите. а главное скорость обработки увеличите - сэкономите время на каждой плате.
А в цифрак можно выразить?
Потому когда я прикунул на все расходы по вакуумнику получилось далеко не экономно, а вот технологично это безусловно да.
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

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

Сообщение Романов Семен »

2cme писал(а):Потому когда я прикунул на все расходы по вакуумнику получилось далеко не экономно, а вот технологично это безусловно да.
Ну ваакумный насос лично у нас в самаре на барахолке можно взять за 8000, поверхность стола можно самому изготовить.
vadim063
Кандидат
Сообщения: 69
Зарегистрирован: 19 авг 2012, 12:59
Репутация: 7
Контактная информация:

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

Сообщение vadim063 »

я нашел вакуумный стол за 6666 рублей http://www.cnc-machine.ru/price/
наличие вакуумного стола не станет решением проблем по оси У ... Вы что-нибудь увидели в конфигах?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

vadim063 писал(а):я нашел вакуумный стол за 6666 рублей http://www.cnc-machine.ru/price/
наличие вакуумного стола не станет решением проблем по оси У ... Вы что-нибудь увидели в конфигах?
Это вместе с насосом и самим столом???
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

Сообщение 2cme »

Романов Семен писал(а):Ну ваакумный насос лично у нас в самаре на барахолке можно взять за 8000, поверхность стола можно самому изготовить.
Ну изголяться можно как угодно...
Но факты следующие:
+ первоначальные расходы на насост 20000-80000руб (в руб так чтобы было понятно);
+ первоначальные расходы на стол от 6000руб и дополнительные примочки, здесь действительно можно съекономить и изготовить на месте;
+ в процессе работы ваккумный насост, мощностью обычно пару киловат, будет кушать достаточно электроэнеркии (время фрезеровки длится несколько часов, и vadim063 даже сделал:
vadim063 писал(а):прикрутил к EMC2 отправку смсок по завершении программы на мобильный.
);

+ сопудствующие расходы.
Так что экономичностью и не пахнет, на фоне того что все операщии (нанесение/снятие скотча) со скотчем в самом худшем занимает 5минут (при наличии прямых рук растущих из правильного места). В данном конкретном случае технологичность обойдется дороже скотча и смекалки.
Хотя может есть "секретный" вакуумный стол, лишенный выше перечисленных эконм. затрат?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Некоторые сообщения были перенесены в новую тему: Одна ось уползает в сторону #1
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

Сообщение 2cme »

Усовершенствовал цикл сканирования:

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

    #<h> = 100.0000 (X)
    #<w> = 100.0000 (Y)
    #<x0> = 0.0000 
    #<y0> = 0.0000
    #<step> = 5.0000
    #<search_feed> = 40
    #<latch_feed> = 1
    #<safe_z> = 1.0000
    #<safe_fast_z> = 0.1000
    #<search_z> = -2.0000

    (PROBEOPEN filename.txt)

    G0 Z#<safe_z>
    #<y> = #<y0>
    o101 while [#<y> LT #<h>+#<y0>]
      #<x> = #<x0>
      o102 while [#<x> LT #<w>+#<x0>]
        G0 X[#<x>] Y[#<y>]
        F[#<search_feed>]
        G38.3 Z[#<search_z>]
        G0 Z[#5063+#<safe_fast_z>]
        #<x> = [#<x>+#<step>]
      o102 endwhile
      #<y> = [#<y>+#<step>]
      G0 Z[#<safe_z>]
    o101 endwhile

    (PROBECLOSE)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Добавил safe_fast_z?
Можно добавить опциональный latch... сейчас добавим...
ЗЫ добавил ссылку на этот пост в описание.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Вот добавил два возможных уточнения, в положительную сторону с предварительным откатом или в обратную:

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

#<h> = 100.0000 (Y - height)
#<w> = 100.0000 (X - width)
#<x0> = 0.0000 
#<y0> = 0.0000
#<step> = 5.0000
#<search_feed> = 40
#<latch_feed> = 1 (set to 0 to ignore latching, if GT 0 then latch forward, else - backward)
#<safe_z> = 1.0000
#<safe_fast_z> = 0.1000
#<search_z> = -2.0000

(PROBEOPEN filename.txt)

G0 Z#<safe_z>
#<y> = #<y0>
O101 WHILE [#<y> LT #<h>+#<y0>]

	#<x> = #<x0>
	O102 WHILE [#<x> LT #<w>+#<x0>]

		G0 X[#<x>] Y[#<y>]
		F[#<search_feed>]
		G38.3 Z[#<search_z>] (Search)
		
		o103 IF [#<latch_feed> GT 0] (Latch if needed)
			G0 Z[#5063+#<safe_fast_z>]
			F[#<latch_feed>]
			G38.5 Z[#<search_z>]
		o103 ELSEIF [#<latch_feed> LT 0]
			F[-#<latch_feed>]
			G38.5 Z[#<safe_z>]
		O103 END IF
		
		G0 Z[#5063+#<safe_fast_z>]
		#<x> = [#<x>+#<step>]

	O102 ENDWHILE
	
	#<y> = [#<y>+#<step>]
	G0 Z[#<safe_z>]
O101 ENDWHILE

(PROBECLOSE)
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

Сообщение 2cme »

Nick писал(а):Добавил safe_fast_z?
Основная деталь это применение этого параметра #5063. Благодоря чему скорость и качество сканирования повысилась.
Очень наглядно видно если сканировать поверхность очень неровной или "криво" закрепленой по оси z. Параметр safe_fast_z обеспечивает минимальную дельту при сканировании, при этом по звершению сканирования "линии" зонд выходит на safe_z, для перехода к очередной "линии" сканирования.
kada
Новичок
Сообщения: 3
Зарегистрирован: 17 июл 2013, 16:10
Репутация: 0
Контактная информация:

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

Сообщение kada »

Не знаю проскакивала ли здесь ссылка на опен-сорс Java утилиту для изменения G-кода с целью компенсации неровностей:

http://www.cnczone.com/forums/pcb_milli ... obing.html
http://marcuswolschon.blogspot.de/2013/ ... lling.html

Очень советую. Проверил на Mach3, отлично работает. Также заявлена, но не проверена поддержка EMC2.

Как ей пользоваться:

1. Скачиваем "jar" файл по ссылке: https://github.com/MarcusWolschon/PCBZC ... r?raw=true
2. Запускаем "pcbzcorrect.jar".
3. Сразу же появится диалоговое окно открытия входного файла УП, указываем его (я использую CopperCAM для создания УП фрезеровки ПП).
4. Далее появляется еще одно окно. Указываем в нем Probe grid X: количество точек сканирования поверхности по оси X, Probe grid Y: тоже самое для оси Y. По умолчанию стоит 5, 5.
5. Ставим галочку на "EMC2 instead of MACH3" если хотим подготовить УП для EMC2 (Внимание, данная опция не проверена).
6. Нажимаем кнопку "Start" внизу экрана.
7. Если процесс прошел успешно, то появится сообщение "done" в новом окне. Одновременно в главном окне будут отображены результаты нахождения максимальных координат в файле и вычисленный размер ПП. Не помешает его проконтролировать на всякий случай.
8. Нажимаем на кнопку "OK" и все. На выходе имеем файл, созданный в той же папке, где находится исходный файл с добавленным суффиксом "_zprobed.ngc" к исходному названию файла.

Откроем только что созданный файл, и видим в самом начале следующее:

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

(Things you can change:)
#1=1  		(Safe height)
#2=0.5		(Travel height)
#3=0  		(Z offset)
#4=-1 		(Probe depth)

(Things you should not change:)
G20		(inch)
G90		(Abs coords)
Things you can change (Параметры, которые можно поменять):

1. Safe height. Безопасная высота по оси Z в мм. Нужно поставить исходя из высоты крепежных узлов заготовки и близости прохождения инструмента от них.
2. Travel height. Высота, на которую поднимается ось Z при сканировании в мм. Если стеклотекстолит очень кривой и перепад высот превышает 0.5мм, то нужно увеличить этот параметр.
3. Z offset. Разность высот сканирующего инструмента/головки и инструмента для гравировки в мм. Если для сканирования и гравировки используется одна и та же фреза, то нужно оставить "0" в этом параметре. Если например длина сканирующей фрезы на 1 мм больше длины фрезы для гравировки, то следует установить "-1".
4. Probe depth. Максимальная глубина погружения инструмента при сканировании в мм.

Things you should not chang (Параметры, которые менять не нужно)
G20 (inch)
На самом деле нам нужно поменять команду смены единиц измерения с G20 (inch) на G21 (mm). Дело в том, что в этой утилите есть процедура, определяющая есть ли в исходной УП команды G20 или G21. И если она находит одну из этих команд, то все вычисления будут вестись в соответствующих единицах измерения. Если не находит, то по умолчанию будут установлены единицы измерения в inch, что мы и видим. Если бы CopperCAM экспортировал УП с командой G21, то не пришлось бы исправлять G20 на G21.

Все, теперь УП создана и настроена. Нужно просто ее запустить на MACH3 (или EMC2), поставить фрезу для гравировки, обнулить ось Z, запустить УП и она автоматически просканирует поверхность заготовки с заданной точностью. По завершению предложит отсоединить щуп. После этого начнется гравировка с компенсацией неровностей.

Все очень просто. Привлекает тем, что не нужно руками вставлять в УП результаты сканирования, все происходит автоматически.

Кстати, в моей УП было несколько секций со сменой инструмента: Фрезеровка, четыре размера сверел, резка по контуру. Так вот, этот конвертер корректно сконвертировал все остальные секции УП без проблем. Правда он скомпенсировал неровность по Z также в секциях фрезеровки и резки по контору. Но это никак не помешало. Прикрепил фото отфрезерованной платки. Весь процесс включая сканирование и смену инструмента занял 40 минут.

P.S. Заметил один неприятный глюк. Программа не конвертировала файл, в котором рисунок платы был ориентирован горизонтально (длинная сторона вдоль оси X). Конвертация начиналась, но не появлялось окошко с надписью "done". Файл тоже создавался, но содержимое было сгенерированно не до конца. Когда повернул плату в CopperCAM на 90 градусов, то все пришло в норму. Знатоки Java, выручайте.
Вложения
IMG_0353.JPG (15341 просмотр) <a class='original' href='./download/file.php?id=16405&sid=4d20e9968f07696cf90c5feafb47d80b&mode=view' target=_blank>Загрузить оригинал (737.05 КБ)</a>
IMG_0357.JPG (15341 просмотр) <a class='original' href='./download/file.php?id=16406&sid=4d20e9968f07696cf90c5feafb47d80b&mode=view' target=_blank>Загрузить оригинал (589.68 КБ)</a>
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Крутотень :good:!

А можешь целиком полученнй Gкод прислать?
Просто интересно, как она применяет компенсацию, это же надо Gкод после сканирования менять...? Или она сама сканирует плату, а потом выдает Gкод?


ЗЫ +медалька :)
kada
Новичок
Сообщения: 3
Зарегистрирован: 17 июл 2013, 16:10
Репутация: 0
Контактная информация:

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

Сообщение kada »

Прикрепил два файла:

1. "Med_timer_CopperCAM.txt" - исходный файл, полученный с помощью CopperCAM.
2. "Med_timer_CopperCAM.txt_zprobed.ngc" - сконвертированный файл.

G-код не меняется вообще, он один раз создается этим конвертером и все. Т.е. я запускаю "Med_timer_CopperCAM.txt_zprobed.ngc" и плата сканируется, фрезеруется, сверлится и режется по контору.

Я так понял алгоритм там следующий:

1. В начале УП добавляется сегмент сканирования с заданной дискретностью.
2. Плата сканируется, карта высот сохраняется в переменных.
3. Траектория исходной УП дробится на короткие участки с определенной дискретностью.
4. На каждом коротком участке применяется билинейная интерполяция высоты по четырем ближайшим точкам.
5. В УП заменяется оригинальный G-код на раздробленные участки с компенсацией.

Кстати размер УП заметно вырос, т.к. исходные траектории были раздроблены на более мелкие и применена интерполяция.

З.Ы. спасибо за медальку :)
Вложения
Med_timer_CopperCAM.txt
(169.98 КБ) 1516 скачиваний
Med_timer_CopperCAM.txt_zprobed.ngc
(1.02 МБ) 1507 скачиваний
Аватара пользователя
Starik
Опытный
Сообщения: 136
Зарегистрирован: 13 май 2012, 21:22
Репутация: 17
Откуда: Долгопрудный

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

Сообщение Starik »

gcode-trans.zip
набор подпрограмм для преобразования станочных программ
(6.1 КБ) 777 скачиваний
Я как-то писал примерно то, что вам нужно --- преобразователь станочных программ. У меня он работал(ет) с внутренним птичьим языком CLD(в файле cldmain.cpp), но переделать на входной Г-код(gcodemain.cpp) будет несложно.
есть собственно коррекция по Z (modular.cpp:HeightMap), сворачивание вокруг эксцентрика (Cylinder). Организован стэк преобразований, так что можно сделать наложение на неровный (но "гладкий") цилиндр.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11625
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

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

Сообщение michael-yurov »

Какая классная штука!
А мне сейчас приходится вырезать по 1-2 платки, иначе если резать одновременно больше 2-3 то из за перепада высоты не получается сделать мелкие элементы гравером, т.к. плоскость немного плавает.
При возможности проверю на KMotionCNC.
Последний раз редактировалось michael-yurov 19 июл 2013, 10:39, всего редактировалось 1 раз.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

kada писал(а):Я так понял алгоритм там следующий:
О как, прикольно придумано!
Starik писал(а):Я как-то писал примерно то, что вам нужно --- преобразователь станочных программ. У меня он работал(ет) с внутренним птичьим языком CLD(в файле cldmain.cpp), но переделать на входной Г-код(gcodemain.cpp) будет несложно.
А как им пользоваться?
Аватара пользователя
Starik
Опытный
Сообщения: 136
Зарегистрирован: 13 май 2012, 21:22
Репутация: 17
Откуда: Долгопрудный

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

Сообщение Starik »

gridprobe (1).ngc
(1.22 КБ) 1551 скачивание
я модифицировал gridprobe.ngc, чтоб он выдавал файлы вида
probe.txt
(5.15 КБ) 1490 скачиваний
.
в файле программы вставлялся комментарий "GRID,filename", по которому мой фильтр клал на стэк преобразований HeightMap, проинициализированный данными из файла. потом все команды движения этим фильтром перехватываются и меняются для переменной Z.
Ну а к AXIS это все цеплялось как фильтр для чтения CLD расширений.
Ответить

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