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

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

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

Сообщение Predator » 15 дек 2014, 20:53

kang2k писал(а):я уже датчик убрал. Вот станок доезжает до того места где был инструмент, и в шоке уезжает вверх, попутно ругаясь...
:hehehe: Матюкается на тебя значит
Я не матерюсь, а всего лишь употребляю ненормативную лексику в целях более полного и лаконичного выражения своих эмоций.
Аватара пользователя
Predator
Мастер
 
Сообщения: 9540
Зарегистрирован: 18 июл 2013, 18:26
Репутация: 2533
Медальки:
Настоящее имя: Александр

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

Сообщение odekolon » 14 авг 2015, 00:37

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 байт) Скачиваний: 385
first_probe.ngc
(530 байт) Скачиваний: 311
next_probe.ngc
(563 байт) Скачиваний: 237
EMC_mm_TC.zip
Настройки постgроцессора для Artcam
(777 байт) Скачиваний: 227
"Капиталистом стать можно лишь тогда, когда обогатишь свою память знанием всех тех богатств, которые выработало человечество"
Аватара пользователя
odekolon
Мастер
 
Сообщения: 899
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 291
Медальки:
Настоящее имя: Борис

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

Сообщение Nick » 14 авг 2015, 13:23

odekolon писал(а):недостатки метода:
в окне визуализации - отражаются все поездки в место смены инструмента и измерения длины.
кто бы подсказал, как сделать, чтоб убрать в окне визуализации перемещения не относящиеся к обработке?

Это не баг - это фича! ;)
Лучше пусть показываются все перемещения, иначе кто-нибудь куда-нибудь заедет.
Но если оченб хочется есть
Код: Выделить всёРазвернуть
(AXIS, hide)
(AXIS, show)
кстати, не знаю работает ли это в других интерфейсах...
Аватара пользователя
Nick
Мастер
 
Сообщения: 22496
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1556
Заслуга: Developer
Медальки:

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

Сообщение Aperio » 16 май 2017, 14:02

Реализовал вариант через дополнительную кнопку на панели. Тема разжевана хорошо, цены бы не было если б в первом посте собрать все ключевые моменты без ошибок.
А как созданной кнопке "Probe" назначить хоткей? Это ведь в custompanel.xml делается?
Aperio
Новичок
 
Сообщения: 2
Зарегистрирован: 10 апр 2017, 18:39
Репутация: 0
Настоящее имя: Stanislav Petrov

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

Сообщение medossa » 16 авг 2018, 15:38

Дабы темы не плодить, спрошу здесь. Пока ко мне из Поднебесной едут концевые датчики и датчик длины инструмента, но это больше месяца видать. Хочу поэкспериментировать. Я так понимаю, что датчик длины инструмента - это всего лишь пластинка из дюрали, резистор 10 кОм (5В -> Pin контроллера) и два крокодильчика. А вместо концевых датчиков можно временно использовать обычные тактовые кнопки. Правильно ли я рассуждаю?
medossa
Опытный
 
Сообщения: 135
Зарегистрирован: 20 ноя 2012, 08:38
Откуда: Протвино
Репутация: 1
Настоящее имя: Евгений

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

Сообщение xvovanx » 16 авг 2018, 18:19

medossa писал(а):Правильно ли я рассуждаю?

Абсолютно. Для датчика даже и резистор не нужен, замыкай и все. Пин на плате уже к плюсу притянут через резистор.
Аватара пользователя
xvovanx
Мастер
 
Сообщения: 1003
Зарегистрирован: 25 фев 2016, 12:27
Откуда: Latvia
Репутация: 338
Настоящее имя: Владимир

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

Сообщение medossa » 16 авг 2018, 18:59

xvovanx писал(а):Для датчика даже и резистор не нужен

Спасибо. Это вы про датчик длины инструмента? У меня плата китайская на 4 оси с TB6600. Как проверить? Может там тогда уже все пины входные притянуты....
medossa
Опытный
 
Сообщения: 135
Зарегистрирован: 20 ноя 2012, 08:38
Откуда: Протвино
Репутация: 1
Настоящее имя: Евгений

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

Сообщение xvovanx » 16 авг 2018, 19:49

Да, про датчик и про входы для концевиков, они будут подтянуты изначально.
Аватара пользователя
xvovanx
Мастер
 
Сообщения: 1003
Зарегистрирован: 25 фев 2016, 12:27
Откуда: Latvia
Репутация: 338
Настоящее имя: Владимир

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

Сообщение antoxa-kylibin » 31 авг 2018, 23:11

Я так и сделал, пошёл в чип и дип, купил тактовую кнопку за 8р и припаял провод нужной длины. Все работает, точность меня устраивает. Несмотря на свою "игрушечность" и копеечную стоимость это наверное самый оптимальный вариант если нет цели сотки ловить или не дай бог микроны.
antoxa-kylibin
Опытный
 
Сообщения: 194
Зарегистрирован: 22 июн 2017, 13:18
Откуда: г. Воронеж
Репутация: 10
Настоящее имя: Антон

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

Сообщение atomichammer » 30 янв 2019, 10:19

UAVpilot писал(а):В переменной #5220 хранится номер текущей системы координат. В результате вычисления 5203+#5220*20 получаем номер переменной, где хранится значение Z в текущей системе координат.
В #5422 лежит смещение по Z для первой системы координат (G54). В сумме получаем абсолютную позицию по Z.

Прикрутил себе, все здорово работает, но только (как всегда) хотелось бы немного изменить: чтобы возвращался не на точку, откуда начал, а на n мм над найденным нулем. Пытался постичь всю глубину этих глубин с системами координат, но не смог :thinking:
atomichammer
Опытный
 
Сообщения: 109
Зарегистрирован: 20 янв 2017, 13:10
Откуда: Алматы
Репутация: 5
Настоящее имя: Anton

Пред.

Вернуться в LinuxCNC

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

Зарегистрированные пользователи: Alex lamaka, Argon-11, Адекс, Bing [Bot], CNCCLUB, dadlick, Dmaster, fara8018, Google [Bot], iMaks-RS, inFamous, Lexxa, Majestic-12 [Bot], Malyarka74, neo832002, nik0, OlegDDL, OlegSol, Redmn, Samodelkin 88, SergeyKondrashov, shalek, sidor094, smart4on, ukr-sasha, vala, verser, vershininv, Vitalii, wood_art, Yandex [bot]

Reputation System ©'