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

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

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

Сообщение Maxua » 03 фев 2011, 01:52

У этой темы есть результат, советую сразу переходить к прочтению развернутых инструкций по компенсации обработки неровных поверхностей: EMC2 и неровная поверхность гравировки #224


Добрый вечер всем!
Разбираюсь потихоньку с EMC2 походу возник один вопрос, т.к. сейчас свой СNC станок использую в основном для гравировки плат, нет ли у программы такого замечательного свойства как коррекция искажения поверхности.Что я имею в виду, пробежаться по плате несколькими точками, определить "0" (до касания поверхности платы) а дальше программа с учетом основного "0" (X0 Y0 Z0) корректирует траекторию по Z.
Заранее Спасибо.
Maxua
 

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

Сообщение Nick » 03 фев 2011, 09:55

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

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

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

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

Сообщение Maxua » 03 фев 2011, 12:41

В общем неровность составляет доли мм (из-за деформации текстолита) но при плотном расположении дорожек и фрезе с углом 60 градусов иногда зауживает дорожки. А я где то читал о такой возможности коррекции, но не уверен что EMC, найти снова не смог, поэтому и спрашиваю.
А шаг думаю 1-3 см достаточно.
Maxua
Новичок
 
Сообщения: 2
Зарегистрирован: 03 фев 2011, 01:57
Репутация: 0

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

Сообщение Nick » 03 фев 2011, 12:53

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

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

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

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

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

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

Сообщение Maxua » 07 фев 2011, 11:44

>>ЗЫ на всякий случай, уменьшить заглубление по всей плате нельзя? Или взять фрезу с меньшим углом?
Можно, так сейчас выкручиваюсь, при этом приходится ставить меньше скорость подачи (ломается кончик).
Но где то о такой фишке читал, вот и спрашиваю.
Плюс при определенной аппроксимации возможна гравировка по кривой поверхности сразу, без моделирования ее.
Maxua
Новичок
 
Сообщения: 2
Зарегистрирован: 03 фев 2011, 01:57
Репутация: 0

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

Сообщение Nick » 07 фев 2011, 16:30

Плюс при определенной аппроксимации возможна гравировка по кривой поверхности сразу, без моделирования ее.

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

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

Сообщение Hoksmur » 24 янв 2012, 20:26

Похоже, тут решение вопроса, хоть и на английском. http://wiki.linuxcnc.org/cgi-bin/wiki.pl?ProbeKins Самому ещё предстоит разбираться с этим, как разберусь с компенсацией длинны инструмента и ручной сменой.
Теория без практики слепа, практика без теории - мертва.
Аватара пользователя
Hoksmur
Новичок
 
Сообщения: 11
Зарегистрирован: 21 янв 2012, 11:35
Откуда: Красноярск
Репутация: 1

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

Сообщение Nick » 24 янв 2012, 21:18

Очень интересный вариант, к чему-то подобному мы практически сами пришли в соседней теме viewtopic.php?f=3&t=1556&p=14733#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
Единственное, что немного смущает, модуль совсем новый - несколько недель...
Аватара пользователя
Nick
Мастер
 
Сообщения: 22527
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1577
Заслуга: Developer
Медальки:

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

Сообщение Романов Семен » 24 янв 2012, 21:26

Это ВСЯ (о_О) инструкция? оО
Романов Семен
Почётный участник
Почётный участник
 
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Откуда: Самара
Репутация: -80
Медальки:

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

Сообщение Nick » 24 янв 2012, 21:31

Почти... меня смущает второй пункт :). надо ставить саамую последнюю emc2.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22527
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1577
Заслуга: Developer
Медальки:

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

Сообщение Романов Семен » 24 янв 2012, 21:34

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

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

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

Сообщение Nick » 24 янв 2012, 21:50

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

В линуксе у программ обычно есть несколько версий. Называют их по-разному, например,
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.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22527
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1577
Заслуга: Developer
Медальки:

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

Сообщение Романов Семен » 24 янв 2012, 22:05

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

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

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

Сообщение Nick » 24 янв 2012, 22:13

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

http://www.linuxcnc.org/docview/2.5/htm ... atics.html
Аватара пользователя
Nick
Мастер
 
Сообщения: 22527
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1577
Заслуга: Developer
Медальки:

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

Сообщение Романов Семен » 27 янв 2012, 17:33

Итак, медленно но верно двигаемся вперед=))) (оооочень медленно)
подобрался вплотную к модулю корректировки неровности поверхности....
Сейчас побробую сделать сканирование поля и получить 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


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

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

Сообщение Nick » 27 янв 2012, 19:29

Теперь надо из него сделать 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.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22527
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1577
Заслуга: Developer
Медальки:

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

Сообщение Романов Семен » 27 янв 2012, 19:35

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. это кусок гетинакса не закрепленный валялся... он изогнут как неизвестно что.
как получится запустить, сделаю текст со стеклотекстолитом....
Романов Семен
Почётный участник
Почётный участник
 
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Откуда: Самара
Репутация: -80
Медальки:

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

Сообщение Nick » 27 янв 2012, 19:51

Да, в консоле убунты.
Везде, где я пишу в консоле в терминале это консоль Linux, если не указанно другого.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22527
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1577
Заслуга: Developer
Медальки:

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

Сообщение Романов Семен » 27 янв 2012, 19:59

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 и неровная поверхность гравировки

Сообщение Романов Семен » 27 янв 2012, 20:02

Романов Семен писал(а):sudo apt-get install easy_install

root@semen-desktop:~# apt-get install easy_install
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
E: Не удалось найти пакет easy_install
root@semen-desktop:~#
Романов Семен
Почётный участник
Почётный участник
 
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Откуда: Самара
Репутация: -80
Медальки:

След.

Вернуться в LinuxCNC

Кто сейчас на конференции

Зарегистрированные пользователи: andergrin, Atom42, Bing [Bot], calabr, eekot, Gestap, Google [Bot], Malyarka74, Maxekb77, MGG, mikehv, MuForum, Okser, Portos, Prav, shtanc, Stephan67, SVP, Vitalii, Yandex [bot], Питерский

Reputation System ©'