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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Maxua

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

Сообщение Maxua »

У этой темы есть результат, советую сразу переходить к прочтению развернутых инструкций по компенсации обработки неровных поверхностей: EMC2 и неровная поверхность гравировки #224
Добрый вечер всем!
Разбираюсь потихоньку с EMC2 походу возник один вопрос, т.к. сейчас свой СNC станок использую в основном для гравировки плат, нет ли у программы такого замечательного свойства как коррекция искажения поверхности.Что я имею в виду, пробежаться по плате несколькими точками, определить "0" (до касания поверхности платы) а дальше программа с учетом основного "0" (X0 Y0 Z0) корректирует траекторию по Z.
Заранее Спасибо.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки

Сообщение Nick »

Пока такой возможности не встречал, но сейчас еще гляну. Меня самого интересовал этот вопрос в плане корректировки неровностей направляющих.

Вообще, обычно на станке делают ровным стол - проходят фрезой по всему столу на одинаковом заглублении. В итоге должна получиться поверхность совпадающая с направляющими по осям Х и Y. Но если кривая сама плата - будет несколько сложнее. Можно попробовать дописать маленький скриптик, который решит такую проблему.

А на сколько кривые платы? Какой максимальный перепад на см? И какую сетку планируется брать для компенсации неровностей?
Maxua
Новичок
Сообщения: 2
Зарегистрирован: 03 фев 2011, 01:57
Репутация: 0
Контактная информация:

Re: EMC2 и неровная поверхность гравировки

Сообщение Maxua »

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

Re: EMC2 и неровная поверхность гравировки

Сообщение Nick »

Вряд ли это будет поддерживаться на уровне EMC2. Т.к. это должно быть либо в Gcode, либо в настройках. В настройках есть компенсация люфта ходового винта в зависимости от положения, и то там получается большая таблица. А тут вообще нужно двухмерную карту рисовать.

В общем есть два варианта:

Написать скриптик, который сначала прогонит touch off по плате и замерит карту высот, а затем изменить Gcode в соответствии с картой.
Если Gcode содержит только G01, G02 и G03, без дополнительных модификаторов, то имхо должно получиться на оч. сложно.

И сделать специальный щуп, который будет постоянно отслеживать высоту фрезы над платой = изгиб текстолита. И соответственно поднимать / опускать инструмент. Тут нужно будет по-возиться с HAL. Но, имхо, реализуемо.

ЗЫ на всякий случай, уменьшить заглубление по всей плате нельзя? Или взять фрезу с меньшим углом?
Maxua
Новичок
Сообщения: 2
Зарегистрирован: 03 фев 2011, 01:57
Репутация: 0
Контактная информация:

Re: EMC2 и неровная поверхность гравировки

Сообщение Maxua »

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

Re: EMC2 и неровная поверхность гравировки

Сообщение Nick »

Плюс при определенной аппроксимации возможна гравировка по кривой поверхности сразу, без моделирования ее.
Это как?
Аватара пользователя
Hoksmur
Новичок
Сообщения: 11
Зарегистрирован: 21 янв 2012, 11:35
Репутация: 1
Откуда: Красноярск
Контактная информация:

Re: EMC2 и неровная поверхность гравировки

Сообщение Hoksmur »

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

Re: EMC2 и неровная поверхность гравировки

Сообщение Nick »

Очень интересный вариант, к чему-то подобному мы практически сами пришли в соседней теме http://cnc-club.ru/forum/viewtopic.php? ... 733#p14730 :). Но раз уже есть готовое, надо его освоить :).

Итак, что нам надо:
  1. настроить emc2, для этого заменяем строчку #loadrt trivkins на loadrt probekins size=2048, т.е. вместо модуля тривиальной кинематики, загружаем модуль с возможностью компенсации кривизны стола/детали.
  2. поставить программки которые будут делать расчет stl и конечной компенсации. Тут похоже придется брать последние исходники и ставить из них.
  3. Потом во время работы нужно
    • отсканировать поверхность. Для этого выполняем вот этот Gкод:

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

      #<h> = 100 
      #<w> = 100 
      #<x0> = 100
      #<y0> = 100
      #<step> = 10
      
      (PROBEOPEN filename.txt)
      
      #<y> = #<y0>
      o101 while [#<y> LT #<h>+#<y0>]
        #<x> = #<x0>
        o102 while [#<x> LT #<w>+#<x0>]
          G0 X#<x> Y#<y> 
          G38.3 Z-10
          G0 Z10
         #<x> = [#<x>+#<step>]
        o102 endwhile
       #<y> = [#<y>+#<step>]
      o101 endwhile
      
      (PROBECLOSE)
      
      M2 (end program)
      Вставляем только шаг и размеры.
    • и включить компенсацию:
      probe2stl [-i inifile] <probe.txt |stlcorr --load
      halcmd setp probekins.enable-z-correct 1
      перед сканированием лучше убедиться, что предыдущая компенсация выключена
      halcmd setp probekins.enable-z-correct 0
Единственное, что немного смущает, модуль совсем новый - несколько недель...
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

Re: EMC2 и неровная поверхность гравировки

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

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

Re: EMC2 и неровная поверхность гравировки

Сообщение Nick »

Почти... меня смущает второй пункт :). надо ставить саамую последнюю emc2.
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

Re: EMC2 и неровная поверхность гравировки

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

я качал с офф сайта 11.01.2012
Вроде последняя версия..
Вместе с убунтой 10.04.

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

Re: EMC2 и неровная поверхность гравировки

Сообщение Nick »

Не, тут судя по этой ссылке последние изменения в этом модуле были два дня назад.

В линуксе у программ обычно есть несколько версий. Называют их по-разному, например,
dev - самая последняя, могут быть баги, может не компилиться и т.д., версия в которой идет разработка
testing - версия которая находится на стадии тестирования, сюда вносятся в основном багфиксы но и добавляются новые фичи.
unstable - в эту версию вносятся все багфиксы и незначительные модификации.
RC - release candidate - все предрелиз.
release / stable - сюда вносятся только критические багфиксы.
unsupported - больше ничего не делается.

Частенько все эти уровни смешиваются, по разному называются, но в emc2 есть
2.4.7 Release - последний релиз stable, скорее всего ты его и качал
v2.5.0-pre2 - пред релиз. Доступен в виде пакетов и исходныз кодов.
И есть 2.6.0-dev версия в разработке.
Я может чего-то и напутал, но общая картина такая. Так вот probekins вроде как находится в версии dev.
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

Re: EMC2 и неровная поверхность гравировки

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

ну про распределение версий в курсе. сейчас лайв запущу - посмотрю версию.

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

Re: EMC2 и неровная поверхность гравировки

Сообщение Nick »

Ага. Точнее не жестко вшить, это модуль кинематики, который рассчитывает поведение станка в зависимости от движения моторов и выполняет обратное преобразование, для того, чтобы можно было вычислять необходимые скорости двигателей.

http://www.linuxcnc.org/docview/2.5/htm ... atics.html
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

Re: EMC2 и неровная поверхность гравировки

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

Итак, медленно но верно двигаемся вперед=))) (оооочень медленно)
подобрался вплотную к модулю корректировки неровности поверхности....
Сейчас побробую сделать сканирование поля и получить probe.txt

upd

сделал скан по коду Ника
получил на выходе:

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

0.000000 0.000000 -0.015703 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
10.000000 0.000000 0.152616 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
20.000000 0.000000 0.255330 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
30.000000 0.000000 0.263508 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
40.000000 0.000000 0.260221 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 10.000000 0.097184 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
10.000000 10.000000 0.309172 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
20.000000 10.000000 0.421628 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
30.000000 10.000000 0.452627 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
40.000000 10.000000 0.423298 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 20.000000 0.216233 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
10.000000 20.000000 0.421628 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
20.000000 20.000000 0.491734 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
30.000000 20.000000 0.589561 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
40.000000 20.000000 0.462391 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 30.000000 0.221092 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
10.000000 30.000000 0.499912 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
20.000000 30.000000 -0.334865 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
30.000000 30.000000 0.025447 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
40.000000 30.000000 0.561840 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 40.000000 0.136336 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
10.000000 40.000000 0.464029 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
20.000000 40.000000 -0.522358 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
30.000000 40.000000 -0.140841 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
40.000000 40.000000 0.702062 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
что делать дальше?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки

Сообщение Nick »

Теперь надо из него сделать stl.
Вот такой командой
probe2stl <probe.txt

и можно сразу посмотреть файл вот так:
probe2stl <probe.txt | stlvis -b -254,-254,254,254

Кстати, если получится, то попробуй еще так
probe2stl <probe.txt | stlvis

Если не получится, то надо установить новый mathplot, вот такой командой:
sudo apt-get remove python-matplotlib
sudo apt-get install easy_install
sudo easy_install matplotlib

Фигасебе, это плата у тебя гуляет на 1.2мм на 20мм :o.
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

Re: EMC2 и неровная поверхность гравировки

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

Nick писал(а):Теперь надо из него сделать stl.
Вот такой командой
probe2stl <probe.txt

и можно сразу посмотреть файл вот так:
probe2stl <probe.txt | stlvis -b -254,-254,254,254

Кстати, если получится, то попробуй еще так
probe2stl <probe.txt | stlvis

Если не получится, то надо установить новый mathplot, вот такой командой:
sudo apt-get remove python-matplotlib
sudo apt-get install easy_install
sudo easy_install matplotlib

Фигасебе, это плата у тебя гуляет на 1.2мм на 20мм :o.

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

Re: EMC2 и неровная поверхность гравировки

Сообщение Nick »

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

Re: EMC2 и неровная поверхность гравировки

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

semen@semen-desktop:~$ cd /home/semen/linuxcnc/configs/cnc_3040t/
semen@semen-desktop:~/linuxcnc/configs/cnc_3040t$ probe2stl <filename.txt
probe2stl: command not found
semen@semen-desktop:~/linuxcnc/configs/cnc_3040t$ sudo -s
sudo: timestamp too far in the future: Jan 27 21:38:22 2012
[sudo] password for semen:
root@semen-desktop:~/linuxcnc/configs/cnc_3040t# probe2stl <filename.txt
probe2stl: command not found
root@semen-desktop:~/linuxcnc/configs/cnc_3040t#
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

Re: EMC2 и неровная поверхность гравировки

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

Романов Семен писал(а):sudo apt-get install easy_install
root@semen-desktop:~# apt-get install easy_install
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
E: Не удалось найти пакет easy_install
root@semen-desktop:~#
Ответить

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