Датчик длины инструмента

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Predator
Мастер
Сообщения: 9583
Зарегистрирован: 18 июл 2013, 18:26
Репутация: 2531
Контактная информация:

Re: Датчик длины инструмента

Сообщение Predator »

kang2k писал(а):я уже датчик убрал. Вот станок доезжает до того места где был инструмент, и в шоке уезжает вверх, попутно ругаясь...
:hehehe: Матюкается на тебя значит
Аватара пользователя
odekolon
Мастер
Сообщения: 1103
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

Re: Датчик длины инструмента

Сообщение odekolon »

solanto писал(а):Доброго времени суток уважаемые форумчане. Вот наконец решился перейти на EMC2 но столкнулся с проблемой. Не могу понять как настроить датчик длины инструмента. Выглядит датчик как таблетка с проводом о кроколдильчик на фрезу. Поискал на форуме, но варианта устраивающего меня не нашел. А хочу сделать так:
1. Положил таблетку на деталь (толщина таблетки известна заранее и изменяться небудет некогда)
2. Подвёл вручную фрезу к датчику на любой высоте
3, На панельке нажал кнопку определения длины
4. Фреза поехала вниз
5, Коснулась таблетки и запомнила положение
6, При старте УП запомненная высота учитывается и опускается на параметр УП + эта высота.
Помогите плиз, а то Mach уже изрядно надоел мне своими глюками.

Сегодня опробовал свое простейшее решение, которое не требует знания gladeVCP, нет кнопок на панели.
работает пока, только с арткамом, но наверное можно к другому CAMу привинтить
кому интересно, установка под спойлером:
(для просмотра содержимого нажмите на ссылку)
датчик на размыкание на 15 ногу LPT
в мой_станок.ini
добавим такие строки

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

# Возможность чтения INI и HAL переменных из gcode и др.
FEATURES=30

# Папка для подпрограмм
SUBROUTINE_PATH = your_subroutine_path

[TOOLSENSOR]
# Позиция X(abs),Y(abs) для Tool setter, позиция Z(abs), с которой стартует поиск Всё в абсолютных координатах
X = 885
Y = 1  
Z = -30
# скорость холостых перемещений
RAPID_FEED = 6000
# Расстояние поиска в относительных единицах, должно быть отрицательным (поиск вниз).
MAXPROBE =  -60

[CHANGE_POSITION]
# Позиция смены инструмента. Всё в абсолютных координатах
X = 885
Y = 100
Z = -2
в мой станок.hal
добавим
в данном случае, датчик инструмента висит на 15 ноге порта

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

loadrt probe_parport
.....
поскипано
......
loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared

net probe  motion.probe-input <= parport.0.pin-15-in
в папку мой_станок
добавляем папку (название менять не стал как было в источнике)
your_subroutine_path и кладем туда три файла
tool_ch.ngc

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

o<tool_ch> sub
;поднимаем шпиндель
G53 G0 Z[#<_ini[CHANGE_POSITION]Z>]
;обойдем мои струбцины можно пропустить
g91 
g0 y300
g90
;конец объезда струбцин
; едем в позицию смены
G53 G0 X[#<_ini[CHANGE_POSITION]X>] Y[#<_ini[CHANGE_POSITION]Y>]
o<tool_ch> endsub
M2
first_probe.ngc

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

o<first_probe> sub
G53 G0 Z[#<_ini[CHANGE_POSITION]Z>]
G53 G0 X[#<_ini[TOOLSENSOR]X>] Y[#<_ini[TOOLSENSOR]Y>]
G53 G0 Z[#<_ini[TOOLSENSOR]Z>]
(отменяем отступы)
G49
G91
F200
(двигаемся в сторону датчика подача 200)
G38.2 Z #<_ini[TOOLSENSOR]MAXPROBE>
F10
(медленно едем вверх, до размыкания датчика)
G38.4  Z 2
#1000=#5063 (сохраняем рез-т в переменой #1000)
(поднимаем шпиндель наверх)
G90
G53 G0 Z[#<_ini[CHANGE_POSITION]Z>]
(объезжаем мои струбцины)
G91 G0 Y200
G90
(конец объезда)
o<first_probe> endsub
M2
next_probe

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

o<next_probe> sub
G53 G0 Z[#<_ini[CHANGE_POSITION]Z>]
G53 G0 X[#<_ini[TOOLSENSOR]X>] Y[#<_ini[TOOLSENSOR]Y>]
G53 G0 Z[#<_ini[TOOLSENSOR]Z>]
(отмена компенсций)
G49
G91
F200
G38.2 Z #<_ini[TOOLSENSOR]MAXPROBE>
F10
G38.4  Z2
(вывод отладочной информаций, можно удалить)
(debug, 5063=#5063)
(debug, 1000=#1000)
(установим компенсацию текущего инструмента как разницу между сохраненным значением 1 инструмента и текущим)
G43.1 Z[#5063-#1000] 
G90
G53 G0 Z[#<_ini[CHANGE_POSITION]Z>]
(объезд моих струбцин)
G91 G0 Y200
G90
o<next_probe> endsub
M2
кроме этого, кладем в каталог с настройками поспроцессора для арткам
следующий файл EMC_mm_TC.con
Как с этим работать :
в арткаме, при выборе инструмента, для расчета траектории, не забываем про номер инструмента
сохраняем УП, при выборе формата выходного файла выбираем, EMC(mm)TC
далее, устанавливаем 1 инструмент
подводим фрезу к заготовке, касаемся в нужном месте,MDI G92 x0y0z0
и жмем "Пуск".
шпиндель едет в место смены инструмента (можно и не ехать, кому надо, подкрутит настройки постпроцессора)
вылетает окошко о смене инструмента, жмем ОК
инструмент перемещается к датчику, тычется в датчик, результат тыкания сохраняется в ячейке #1000
и едет обрабатывать деталь.
при смене инструмента, шпиндель останавливается, едет в точку смены, вылетает окошко о смене инструмента,
меняем, жмем ОК.
разность между первым и текущим инструментом, записывается в компенсацию длины и обработка продолжается.
недостатки метода:
в окне визуализации - отражаются все поездки в место смены инструмента и измерения длины.
кто бы подсказал, как сделать, чтоб убрать в окне визуализации перемещения не относящиеся к обработке?
Вложения
tool_ch.ngc
(271 байт) 1446 скачиваний
first_probe.ngc
(530 байт) 1324 скачивания
next_probe.ngc
(563 байт) 903 скачивания
EMC_mm_TC.zip
Настройки постgроцессора для Artcam
(777 байт) 557 скачиваний
"Капиталистом стать можно лишь тогда, когда обогатишь свою память знанием всех тех богатств, которые выработало человечество"
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Датчик длины инструмента

Сообщение Nick »

odekolon писал(а):недостатки метода:
в окне визуализации - отражаются все поездки в место смены инструмента и измерения длины.
кто бы подсказал, как сделать, чтоб убрать в окне визуализации перемещения не относящиеся к обработке?
Это не баг - это фича! ;)
Лучше пусть показываются все перемещения, иначе кто-нибудь куда-нибудь заедет.
Но если оченб хочется есть

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

(AXIS, hide)
(AXIS, show)
кстати, не знаю работает ли это в других интерфейсах...
Aperio
Новичок
Сообщения: 2
Зарегистрирован: 10 апр 2017, 18:39
Репутация: 1
Настоящее имя: Stanislav Petrov
Контактная информация:

Re: Датчик длины инструмента

Сообщение Aperio »

Реализовал вариант через дополнительную кнопку на панели. Тема разжевана хорошо, цены бы не было если б в первом посте собрать все ключевые моменты без ошибок.
А как созданной кнопке "Probe" назначить хоткей? Это ведь в custompanel.xml делается?
medossa
Опытный
Сообщения: 163
Зарегистрирован: 20 ноя 2012, 08:38
Репутация: 3
Настоящее имя: Евгений
Откуда: Протвино
Контактная информация:

Re: Датчик длины инструмента

Сообщение medossa »

Дабы темы не плодить, спрошу здесь. Пока ко мне из Поднебесной едут концевые датчики и датчик длины инструмента, но это больше месяца видать. Хочу поэкспериментировать. Я так понимаю, что датчик длины инструмента - это всего лишь пластинка из дюрали, резистор 10 кОм (5В -> Pin контроллера) и два крокодильчика. А вместо концевых датчиков можно временно использовать обычные тактовые кнопки. Правильно ли я рассуждаю?
Аватара пользователя
xvovanx
Мастер
Сообщения: 3647
Зарегистрирован: 25 фев 2016, 12:27
Репутация: 897
Настоящее имя: Владимир
Откуда: Latvia
Контактная информация:

Re: Датчик длины инструмента

Сообщение xvovanx »

medossa писал(а):Правильно ли я рассуждаю?
Абсолютно. Для датчика даже и резистор не нужен, замыкай и все. Пин на плате уже к плюсу притянут через резистор.
medossa
Опытный
Сообщения: 163
Зарегистрирован: 20 ноя 2012, 08:38
Репутация: 3
Настоящее имя: Евгений
Откуда: Протвино
Контактная информация:

Re: Датчик длины инструмента

Сообщение medossa »

xvovanx писал(а):Для датчика даже и резистор не нужен
Спасибо. Это вы про датчик длины инструмента? У меня плата китайская на 4 оси с TB6600. Как проверить? Может там тогда уже все пины входные притянуты....
Аватара пользователя
xvovanx
Мастер
Сообщения: 3647
Зарегистрирован: 25 фев 2016, 12:27
Репутация: 897
Настоящее имя: Владимир
Откуда: Latvia
Контактная информация:

Re: Датчик длины инструмента

Сообщение xvovanx »

Да, про датчик и про входы для концевиков, они будут подтянуты изначально.
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: Датчик длины инструмента

Сообщение antoxa-kylibin »

Я так и сделал, пошёл в чип и дип, купил тактовую кнопку за 8р и припаял провод нужной длины. Все работает, точность меня устраивает. Несмотря на свою "игрушечность" и копеечную стоимость это наверное самый оптимальный вариант если нет цели сотки ловить или не дай бог микроны.
atomichammer
Опытный
Сообщения: 136
Зарегистрирован: 20 янв 2017, 13:10
Репутация: 7
Настоящее имя: Anton
Откуда: Алматы
Контактная информация:

Re: Датчик длины инструмента

Сообщение atomichammer »

UAVpilot писал(а): В переменной #5220 хранится номер текущей системы координат. В результате вычисления 5203+#5220*20 получаем номер переменной, где хранится значение Z в текущей системе координат.
В #5422 лежит смещение по Z для первой системы координат (G54). В сумме получаем абсолютную позицию по Z.
Прикрутил себе, все здорово работает, но только (как всегда) хотелось бы немного изменить: чтобы возвращался не на точку, откуда начал, а на n мм над найденным нулем. Пытался постичь всю глубину этих глубин с системами координат, но не смог :thinking:
chipok
Кандидат
Сообщения: 70
Зарегистрирован: 19 дек 2017, 16:37
Репутация: 6
Настоящее имя: Андрей
Откуда: Минск
Контактная информация:

Re: Датчик длины инструмента

Сообщение chipok »

доброго дня всем, может кто то скинет рабочую конфигурацию своего станка, что то как ни кручу никак не выходит
p.s. либо поможет с настройкой, прикреплю архив, прбник на 11ом пине
Вложения
STANOK_ok.tar.gz
(2.8 КБ) 911 скачиваний
MaksSavchuk
Опытный
Сообщения: 156
Зарегистрирован: 17 май 2019, 09:56
Репутация: 13
Настоящее имя: Максим Савчук
Контактная информация:

Re: Датчик длины инструмента

Сообщение MaksSavchuk »

пока мне печально пилят детали станка я тут потеоретизирую малость ;) кто скажет из практического опыта - датчик длины инструмента делать подпружиненным или все таки необязательно. ведь если измерить 0 детали можно подведя инструмент вручную очень близко и выбрав весьма маленькую скорость подвода, то такая стратегия при автоизмерении длины инструмента выглядит весьма непривлекательно, безопасный интервал тут придется делать большим, скорость подвода придется увеличивать чтобы не помереть от старости ожидая касания и соответственно есть риск сломать фрезу или повредить поверхность датчика. кто на каких скоростях в датчик приезжает?
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: Датчик длины инструмента

Сообщение antoxa-kylibin »

Как все сложно то....у меня обычный микрик в качестве датчика длинны инструмента...принцип действия простой. Едем на 100мм/мин в кнопку, тыкаемся в неё, естессно с пролетом (небольшим), как только комп увидит сигнал от датчика, начинает ехать обратно вверх со скоростью 10мм/мин и в момент размыкания "записывает" значение длинны либо высоты по z, смотря что настроено...мне такой точности хватает вполне. В 0,1мм вроде попадаю, может даже меньше...сильно не заморачивался с поверками...
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: Датчик длины инструмента

Сообщение antoxa-kylibin »

Вот честно сказать больше для работы и не надо...ловить сотки, ну не на хоббийных станках. Они сами по себе "жидкие", да и промышленные системы измерения например ринишоу имеет погрешность 0,03мм...так что идеального датчика не бывает :-)
Polyura
Новичок
Сообщения: 11
Зарегистрирован: 16 мар 2019, 13:46
Репутация: 0
Настоящее имя: Polyura
Контактная информация:

Re: Датчик длины инструмента

Сообщение Polyura »

chipok писал(а):доброго дня всем, может кто то скинет рабочую конфигурацию своего станка, что то как ни кручу никак не выходит
p.s. либо поможет с настройкой, прикреплю архив, прбник на 11ом пине

вот рабочий!!!с задержкою для шпинделя+таймер+auto zero!!
Вложения
KOPIYA YAVIR.rar
(5.22 КБ) 350 скачиваний
Polyura
Новичок
Сообщения: 11
Зарегистрирован: 16 мар 2019, 13:46
Репутация: 0
Настоящее имя: Polyura
Контактная информация:

Re: Датчик длины инструмента

Сообщение Polyura »

(touch_plate.ngc)

O <touch_plate> sub
G49 G40
G92.1
#<z_start> = [#5422+#[5203+#5220*20]]
#<z_dist_to_bottom> = [-170-#<z_start>]
G91
G38.2 Z[#<z_dist_to_bottom>] F[600] (600 это скорость поиска))
O<no_probe> IF [#5070 NE 0]
G38.4 Z5
G1 Z1
G38.2 Z-10 F40 (проба №2 = поднимет на 10мм, скорость 40)
G10 L20 P[#5220] Z[27] (27 это висота таблетки)
G90
G53 G0 Z[#<z_start>]
O<no_probe> ENDIF
G90
O <touch_plate> endsub
M02
pavel_shaban
Новичок
Сообщения: 6
Зарегистрирован: 15 окт 2020, 21:48
Репутация: 0
Настоящее имя: Павел
Контактная информация:

Re: Датчик длины инструмента

Сообщение pavel_shaban »

Всем привет! Фреза касается датчика и останавливается и пишет в G59 значение 200. При толщине датчика в 20. И пишет ошибку, что при движении в Z0 exceed pozitive limit. Подскажите, где искать эти 200 и что делать? Файлы в аттаче :hottabych:
Вложения
1.rar
(4.76 КБ) 126 скачиваний
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Датчик длины инструмента

Сообщение solo »

наверно где то в вашем файле " zerro_on_z"
pavel_shaban
Новичок
Сообщения: 6
Зарегистрирован: 15 окт 2020, 21:48
Репутация: 0
Настоящее имя: Павел
Контактная информация:

Re: Датчик длины инструмента

Сообщение pavel_shaban »

вроде разобрались)
Ответить

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