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

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

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

Сообщение Nick »

Значит так, тебе нужно вот это из hal:

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

...
loadrt lut5
...
...
addf lut5.0 servo-thread
...

...
net all-limit-home <= parport.0.pin-11-in-not

setp lut5.0.function 0x10000
net all-limit-home => lut5.0.in-4
net all-limit <= lut5.0.out
net homing-x <= axis.0.homing => lut5.0.in-0
net homing-y <= axis.1.homing => lut5.0.in-1
...
...
net all-limit-home => axis.0.home-sw-in
net all-limit => axis.0.neg-lim-sw-in
net all-limit => axis.0.pos-lim-sw-in
...
...
net all-limit-home => axis.1.home-sw-in
net all-limit => axis.1.neg-lim-sw-in
net all-limit => axis.1.pos-lim-sw-in
В ini:
HOME_SEARCH_VEL = 0.050000 можно сделать по-больше. У тебя датчики и ускорения какие?
И в оси 2 убери:
HOME_OFFSET = -3.000000
HOME_SEARCH_VEL = 0.050000
HOME_LATCH_VEL = 0.050000
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

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

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

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

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

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

Nick писал(а):Ctrl+Alt+BackSpace - перезапустить иксыCtrl+Alt+F1..F8 - 8 различных терминалов, если в одном что-то случилось, можно переключиться в другой, там залогиниться и посмотреть что с системой творится.
Сейчас завис опять
перезагрузка иксов не реагирует
нумлока нет на клаве (укороченная)
капслок не реагирует
в терминалы не выходит
Nick писал(а):Ну и магическая комбинация Alt+SysRq+REISUB
второй кнопки нет на клаве (урезанная гадина)
а третье что такое вообще не в курсе =(


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

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

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

Nick писал(а):Значит так, тебе нужно вот это из hal:

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

...
loadrt lut5
...
...
addf lut5.0 servo-thread
...

...
net all-limit-home <= parport.0.pin-11-in-not

setp lut5.0.function 0x10000
net all-limit-home => lut5.0.in-4
net all-limit <= lut5.0.out
net homing-x <= axis.0.homing => lut5.0.in-0
net homing-y <= axis.1.homing => lut5.0.in-1
...
...
net all-limit-home => axis.0.home-sw-in
net all-limit => axis.0.neg-lim-sw-in
net all-limit => axis.0.pos-lim-sw-in
...
...
net all-limit-home => axis.1.home-sw-in
net all-limit => axis.1.neg-lim-sw-in
net all-limit => axis.1.pos-lim-sw-in
В ini:
HOME_SEARCH_VEL = 0.050000 можно сделать по-больше. У тебя датчики и ускорения какие?
И в оси 2 убери:
HOME_OFFSET = -3.000000
HOME_SEARCH_VEL = 0.050000
HOME_LATCH_VEL = 0.050000
Все работает, предыдущий раз проблема была в этом:
HOME_SEQUENCE
она должны быть от нуля считаться для каждой оси...
а то что делал степконф 0 у зета - ноль у икса 1 у игрика 2
это видимо последовательность поиска. очередность
поставил для игрика ноль у себя у икса 1.

работает!!!!

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

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

Сообщение Nick »

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

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

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

Nick писал(а):скинь свои /var/log/syslog.0 и /var/log/syslog.1
1.ZIP
(222.73 КБ) 420 скачиваний
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

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

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

Nick писал(а):Работает, это хорошо, но работает оно плохо. Самое плохое, что "мы обманули EMC2" и теперь он не знает, где находится ось на самом деле.

Сейчас задумался, и похоже без специальной кинематики сделать чтобы работало правильно не выйдет.

По упрощению работы, тебе нужен Gкод такого типа:

Начало программы:

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

M63 P0  (это мы выключаем работу компенсатора)
T1 M6 (выдаем запрос на установку щупа)
(Сюда вставляешь скрипт сканирования поверхности)

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

(Сюда твой Gкод для гравировки платы) 
Все. Только нужно жописать пару строчки в HAL

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

# это мы делаем так, что бы M62 P0 (цифровой вывод №1) включал компенсацию 
net dout-00 <= motion.digital-out-00 
net dout-00 => compensation.enable  

# это мы настраиваем функцию reset.
net dout-01 <= motion.digital-out-01 
net dout-01 => compensation.reset  
:attention: Главное не забывать, что мы на самом деле обманули EMC2, => и можем выехать за пределы осей!

ЗЫ Скобки и # можешь оставить - это комментарии.
тут вот ругается....
на эту строчку:
net dout-01 => compensation.reset
Debug file information:
Can not find -sec MOT -var MOT -num 1
Can not find -sec IO -var IO -num 1
Can not find -sec LINUXCNC -var NML_FILE -num 1
Can not find -sec EMC -var NML_FILE -num 1
custom.hal:19: Signal 'dout-01' can not add I/O pin 'compensation.reset', it already has OUT pin 'motion.digital-out-01'
2117
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

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

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

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

Nick писал(а):Попробуй вот эту версию, переписал reset, чтобы он был просто IN, а не I/O.
ЕМС стартонул...
Да...
НО. как обнулить Z ? :D
Х и У автоматически...
А как сделать теперь что бы Зет обнулять вручную %(
Без этого он не дает стартонуть цикл гкода =(
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

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

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

Романов Семен писал(а):
Nick писал(а):Попробуй вот эту версию, переписал reset, чтобы он был просто IN, а не I/O.
ЕМС стартонул...
Да...
НО. как обнулить Z ? :D
Х и У автоматически...
А как сделать теперь что бы Зет обнулять вручную %(
Без этого он не дает стартонуть цикл гкода =(
проблема решена =)
Добавил в ini:

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

HOME_SEQUENCE=2
Для оси Зет, правда он его обнуляет в том месте где находился на момент запуска....
Потестим, потом придумаю что нибудь!

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

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

Сообщение Nick »

Романов Семен писал(а):Для оси Зет, правда он его обнуляет в том месте где находился на момент запуска....Потестим, потом придумаю что нибудь!
Просто гонишь ось в нужное место по Z и нажимаешь home на клаве и все.
Кстати, ты хотел его хомить по пробе? Можно probe-in подключить в качестве датчика home.
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

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

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

Nick писал(а):
Романов Семен писал(а):Для оси Зет, правда он его обнуляет в том месте где находился на момент запуска....Потестим, потом придумаю что нибудь!
Просто гонишь ось в нужное место по Z и нажимаешь home на клаве и все.
Кстати, ты хотел его хомить по пробе? Можно probe-in подключить в качестве датчика home.
кнопки Home нет тоже =)

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

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

Сообщение Nick »

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

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

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

Nick писал(а):тогда жми на кнопку home на экране.
такая есть? =)

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

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

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

не знаю почему.
НО
1. развалился концевик по зету.
2. при М62 Р0 - компенсация НЕ включается!
В hal прописаны те 4 строки
Не знаю =(
3. Если filename.txt пустой или "неправельный" - ЕМС не запускается =(

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

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

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

Сообщение Nick »

Романов Семен писал(а):. при М62 Р0 - компенсация НЕ включается!В hal прописаны те 4 строки
Как проверял?
Романов Семен писал(а):3. Если filename.txt пустой или "неправельный" - ЕМС не запускается =(
Это может быть, надо будет исправить...

-----

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

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

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

Nick писал(а):Как проверял?
Эммм... самым прямым способом:
1. сканирование.
2. M62 P0
3. ручками двигаю туда сюда Х и У - а зет на месте.
Nick писал(а):Исправил, но теперь перед запуском надо делать reset.
Возможно сегодня попробую. Обещать не буду.
Девушку позвал в гости, искупать вину за сегоднешнюю измену со станком =(
Но щас она готовит, возможно я дизертирую с кухни к станочку =)))
Отпишусь вообщем =)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

А файл компенсации нормальный, не совсем ровный? Вообще попробуй плату соовсем под углом положить, например на 1см подними с угла и тестируй.

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

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

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

файл компенсации нормальный - не совсем ровный... до этого до "введения" М62/М63 работала компенсация.
Сейчас проверю....
Nick писал(а):Может не включил компенсацию?
Вероятно =))

щас пока поменял концевик его щас проверю с новым компенсатион.пу
Nick писал(а):Проверь в hal meter пин compensation.enable.
False
и на M62 P0 / M63 P0 не реагирует
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

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

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

Последний конфиг.
Как в нем включить компенсацию %(
last_config.zip
(8.2 КБ) 381 скачивание
Делаю так:
1. NGC файл содержит:

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

F100
G0 X100 Y100 Z10
G38.2 Z-10
F1
G38.4 Z10
G92 Z0

M2 (end program)
2. Второй файл

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

F500
M63 P0  (это мы выключаем работу компенсатора)
T1 M6 (выдаем запрос на установку щупа)
#<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)

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

(Сюда твой Gкод для гравировки платы) 
M2 (end program)
По сути своей после этого должна работать компенсация, так?

Не работает!
Ответить

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