Страница 8 из 31

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

Добавлено: 17 фев 2012, 23:57
Nick
Ты не причем, это все мои косяки. Завтра с утра (часов в 12-14) все сделаю, а то и впрямь уже стыдно становится :oops: . Сегодня вряд ли смогу, расслабляюсь после трудовой недели :mrgreen:

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

Добавлено: 18 фев 2012, 14:25
Nick
вроде вот это должно работать....

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

Добавлено: 19 фев 2012, 10:06
Романов Семен
Сегодня позже проверю -( вызвали на работу сейчас =(

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

Добавлено: 19 фев 2012, 21:29
Романов Семен
Итак, писать буду плавно, по порядку...
Ибо может я крупнорогатый и что-то делаю не так.

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:

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

Добавлено: 19 фев 2012, 22:00
Романов Семен
Может и глуповата идейки, but
Я могу так то и тумблерок подключить к контроллеру и сделать физический выключатель. я думаю можно будет его вписать в hal файл... не так ли...
может это решение принять...
Не автоматизированно. но блин =( теряю надеждый... в среду выходной, обещал другу что выфрезеруем ему 15 плат с точностью 0,15, а без компенсации фигвам =(((

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

Добавлено: 20 фев 2012, 14:41
Nick
так.... ничего не понимаю... у меня все работало.

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

В последнем случае ты наверное reset не сделал.
Можно конечно все еще дальше описать...

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

Добавлено: 20 фев 2012, 14:57
Романов Семен
M64 P1 (это мы скажем нашему скрипту обновить карту высот и компенсаций)
Вот же обновление карты...

halcmd setp compensation.enable 1 - не срабатывало раньше, ругалось что мол типа compensation.enable прикреплен к пину....

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

Добавлено: 20 фев 2012, 15:26
Nick
угу.... так так так, погоди, сейчас кое-что сделаю ...

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

Добавлено: 20 фев 2012, 19:11
Романов Семен
Ждумскаю =)

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

Добавлено: 20 фев 2012, 20:50
Романов Семен
Вообщем, отключил привязку я этих ножек в hal к dout-00 и dout-01...
вручную пробую: halcmd setp compensation.reset 1 и halcmd setp compensation.enable 1
то же самое, пропадают ножки... =(((

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

Добавлено: 20 фев 2012, 20:52
Nick
Погоди еще чуть-чуть, шас все будет. и с кнопочками :)

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

Добавлено: 20 фев 2012, 21:35
Nick
Тааак.... вроде работает, уже по всякому по-гонял.
Значит берешь архив, и распаковываешь в emc2, в нем сразу и скрипт и конфиг и панелька.

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

Добавлено: 20 фев 2012, 21:40
Романов Семен
Okay щас попробую =)

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

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

странно! =(

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

Добавлено: 20 фев 2012, 22:37
Nick
Щас глянем... кажись я закомментировал концевики, чтобы у меня без них работало....
точно... мой косяк, назад не поставил.
В общем, в hal файле в трех местах в:
#net all-limit-home
Нужно # убрать.

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

Добавлено: 20 фев 2012, 22:44
Романов Семен
балииин, не обратил внимание на #

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

идем дальше....

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

Добавлено: 20 фев 2012, 22:45
Nick
Current Z - это то, что пойдет на движок, т.е. координата без всех отступов. Я ее повесил, чтобы по ней было видно куда едешь, и чтобы мимо кассы не уехать :).

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

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

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

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

Отпишусь...

пс. пришло время тестов тестов тестов =))) тесто тесто тесто =)))))))

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

Добавлено: 20 фев 2012, 23:03
Nick
Ура! Заработало! :D (© Кот Матроскин)
Романов Семен писал(а):Я понимаю. но она показывает не реальное значение =)Даже когда обнулил все по концевикам и убрал G92. она не показывает ноль в нуле.
Хммм... а может на нем и правда будет не совсем реальное значение... в общем там, то, что пишется в stepgen.
Романов Семен писал(а):Только походу маловато наверное точек что ли я беру, или он строит прямолинейную карту....
Интерполяция линейная, поэтому сетку лучше по-чаще, но все зависит от ровности платы...
Романов Семен писал(а):Вообщем просканировал платку (испорченную, которую не жалко), углубился на 0,1мм (испорченной давно фрезой) и с выключенным шпинделем поездил по заготовке.... получаются неравномерные царапинки...
фотку давай :)

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

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