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

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

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

Сообщение Nick »

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

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

Сообщение Nick »

вроде вот это должно работать....
Вложения
compensation.py.tar.gz
(1.68 КБ) 1079 скачиваний
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

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

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

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

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

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

Итак, писать буду плавно, по порядку...
Ибо может я крупнорогатый и что-то делаю не так.

1. Скопировал последнюю версию модуля.
2. Запускаю с терминала линуксснс, запускаю халметр, слежу за enable.
3. Запускаю След код:

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

M65 P0  (это мы выключаем работу компенсатора)
M65 P1 
G4 P1
M64 P1 (это мы скажем нашему скрипту обновить карту высот и компенсаций)
G4 P1

G0 X100 Y100 
G0 X0 
G0 Y0

M64 P0  (это мы включаем работу компенсатора)

M2
В халметре ножка пропадает.
В терминал:

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

root@semen-desktop:~# linuxcnc
LINUXCNC - 2.5.0-pre2-765-g0ff7c90
Machine configuration directory is '/home/semen/linuxcnc/configs/cnc_3040t'
Machine configuration file is 'cnc_3040t.ini'
Starting LinuxCNC...
ERROR! Map should be rectangular!
4. Мысли вслух, карта говоришь? Ну щас глянем, и точно карта кривовата.... Балиин.
Перезапускаю прогу, запускаю сканирование.
Сначала ищу ноль поверхности заготовки:

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

F100
g0 Z20
G0 X110 Y90
G38.2 Z-15
F1
G38.4 Z10
G92 Z0
M2 (end program)
Потом сканирую:

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

F100
M64 P0  (это мы выключаем работу компенсатора)
T1 M6 (выдаем запрос на установку щупа)
#<h> = 90 
#<w> = 90 
#<x0> = 110
#<y0> = 90
#<step> = 20

(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-3
    G0 Z3
   #<x> = [#<x>+#<step>]
  o102 endwhile
 #<y> = [#<y>+#<step>]
o101 endwhile

(PROBECLOSE)

M65 P1 
G4 P1
M64 P1 (это мы скажем нашему скрипту обновить карту высот и компенсаций)

G4 P4 (делаем паузу на 4 секунды, на всякий случай, чтобы скрипт успел отработать)
T2 M6 (Выдаем запрос на установку фрезы)
M64 P0  (это мы включаем работу компенсатора)

(Сюда твой Gкод для гравировки платы) 
M2 (end program)
В этот момент в халметре пропадает ножка энейбла.
И терминал выдает:

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

root@semen-desktop:~# linuxcnc
LINUXCNC - 2.5.0-pre2-765-g0ff7c90
Machine configuration directory is '/home/semen/linuxcnc/configs/cnc_3040t'
Machine configuration file is 'cnc_3040t.ini'
Starting LinuxCNC...
Probe tripped during non-probe MDI command.
Probe tripped during non-probe MDI command.
Traceback (most recent call last):
  File "compensation.py", line 149, in <module>
    comp.run()
  File "compensation.py", line 138, in run
    h["out"]=self.get_comp(x,y)
  File "compensation.py", line 75, in get_comp
    x = max(self.x_coords[0],min(self.x_coords[-1],x))
IndexError: list index out of range
Все же дал ему отсканировать.
Перезапустил прогу.
Запускаю тот же тест что и сначала - результат тот же...

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

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

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

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

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

Сообщение Nick »

так.... ничего не понимаю... у меня все работало.

попробуй все тоже самое, но не через gкод, а из консоли. Т.е. предположим карта уже есть.
Запускаем emc2, лучше тоже из консоли.
Из соседней консоли, halcmd setp compensation.reset 1
Потом
halcmd setp compensation.enable 1

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

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

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

M64 P1 (это мы скажем нашему скрипту обновить карту высот и компенсаций)
Вот же обновление карты...

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

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

Сообщение Nick »

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

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

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

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

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

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

Вообщем, отключил привязку я этих ножек в hal к dout-00 и dout-01...
вручную пробую: halcmd setp compensation.reset 1 и halcmd setp compensation.enable 1
то же самое, пропадают ножки... =(((
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

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

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

Сообщение Nick »

Тааак.... вроде работает, уже по всякому по-гонял.
Значит берешь архив, и распаковываешь в emc2, в нем сразу и скрипт и конфиг и панелька.
Вложения
cnc_3040t.tar.gz
(5.44 КБ) 1134 скачивания
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

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

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

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

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

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

Эммм....
Сделал. Он начала координат не находит %)
Чуть У не убил =)) вовремя емерджи стоп нажал. концевик работает... возле координат появляется значок |<- при нажатии на концевик
но едет он до упора!!!!

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

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

Сообщение Nick »

Щас глянем... кажись я закомментировал концевики, чтобы у меня без них работало....
точно... мой косяк, назад не поставил.
В общем, в hal файле в трех местах в:
#net all-limit-home
Нужно # убрать.
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

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

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

балииин, не обратил внимание на #

тестирую...
Current Z отображает явно не верно =(((
Сейчас в нуле по G92. реально -14
Показывает -34 с копейками...

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

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

Сообщение Nick »

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

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

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

Я понимаю. но она показывает не реальное значение =)
Даже когда обнулил все по концевикам и убрал G92. она не показывает ноль в нуле.
Наверное стоит обнулять ее в момент когда станок нашел координаты нуля...
Ибо этого она походу не делает...
Ну да не важно...
Важно то что ВСЕ РАБОТАЕТ....
Сейчас затестил, от начала до конца, все три вышеписанные коды (поиск нуля заготовки) сканирование, тест.
Все работает, Все ОТЛИЧНО работает!
ИДЕАЛЬНО!!!

Только походу маловато наверное точек что ли я беру, или он строит прямолинейную карту....
Вообщем просканировал платку (испорченную, которую не жалко), углубился на 0,1мм (испорченной давно фрезой) и с выключенным шпинделем поездил по заготовке.... получаются неравномерные царапинки...
Хотя пока пишу пост подумал о том, что фреза же не круглая, и могла боком местами заходить и делать более глубокие "зарезы"

Сейчас опробую на другой заготовке... и попробую сканить не каждые 20мм, а каждые 10мм сетку!

Отпишусь...

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

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

Сообщение Nick »

Ура! Заработало! :D (© Кот Матроскин)
Романов Семен писал(а):Я понимаю. но она показывает не реальное значение =)Даже когда обнулил все по концевикам и убрал G92. она не показывает ноль в нуле.
Хммм... а может на нем и правда будет не совсем реальное значение... в общем там, то, что пишется в stepgen.
Романов Семен писал(а):Только походу маловато наверное точек что ли я беру, или он строит прямолинейную карту....
Интерполяция линейная, поэтому сетку лучше по-чаще, но все зависит от ровности платы...
Романов Семен писал(а):Вообщем просканировал платку (испорченную, которую не жалко), углубился на 0,1мм (испорченной давно фрезой) и с выключенным шпинделем поездил по заготовке.... получаются неравномерные царапинки...
фотку давай :)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Да, забыл сказать, теперь можно включать и сбрасывать компенсацию как кнопочкой, так и программно.
Но, эти два пина связаны оператором or, т.е. если в Gкоде или кнопочкой включили, то будет включено, пока оба не станут 0. Для отображения текущего состояния сделаны два LED. LED error становится красным, если произошла ошибка, при этом скрипт вылетать не должен, но и компенсация не долна работать, до устранения ошибки...
Ответить

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