Страница 1 из 7

Авто ноль по Z в EMC

Добавлено: 08 фев 2011, 10:12
adif
Было бы очень удобно после смены инструмента чтобы фреза опускалась на контактную площадку и обнуляла значение по Z при этом учитывая толщину контактной площадки. Где то читал что это реализуемо в EMC но как конкретно не понял. Может кто уже использует такую функцию?

Re: Авто ноль по Z в EMC

Добавлено: 08 фев 2011, 10:58
Nick
Есть такая функция touch off. Точнее probe in.
Ты фрезу меняешь в ручную или автоматически?

Re: Авто ноль по Z в EMC

Добавлено: 08 фев 2011, 16:50
adif
Вручную меняю фрезу. Отработала первая программа (черновая), после остановки поднимаю по Z, меняю фрезу, потом опускаю до касания новой фрезой поверхности заготовки. А хотелось бы чтобы после смены фрезы положить на заготовку или стол контактную пластину известной толщины с проводом на ЛПТ порт и нажать кнопку поиск нуля по Z и чтобы прога сама опускала фрезу до касания с пластиной, т.е. когда замкнет контакт фрезы с пластиной на ЛПТ порт был бы подан сигнал что есть контакт и тогда обнулялось значение Z на ноль с учетом толщины контактной пластины. Ну думаю понятно объяснил, просто слышал что такая фича есть в маче, а вот бы это в ЕМС замутить тогда бы точно засунули мач куда надо :mrgreen:

Re: Авто ноль по Z в EMC

Добавлено: 08 фев 2011, 23:14
Nick
В общем так. Все просто.
  1. Нужно настроить один из пинов LPT на probe.
  2. Помещаем фрезу над площадкой.
    G53 G0 X-- Y--Z-- . (G53 нужен для того, чтобы не беспокоится об отступах, веди площадка у нас всегда в одном и том же месте).
  3. Делаем probe в сторону Z -100:
    G91 G38 Z-100 F500 (G91 нужен для задания относительного смещения. Хотя, можно сделать через G53 и задать координату жестко.)
    Можно уточнить пробу на маленькой скорости:
    G91 G38.5 Z10 F15
  4. Запоминаем отступ, один из вариантов выставляем отступ G92:
    G92 X-- Y-- Z-- (В XYZ - известные значения для кончика фрезы).
Можно все это запихать в отдельный файл и вызывать одной командой/кнопкой.

Не самая хорошая сторона этого метода - использование G92. Т.к. он может использоваться в других местах. Но есть и положительный момент - можно использовать в любой момент и не нужно помнить отступ предыдущей фрезы.

Есть еще вариант, с использованием Gкода G43.1 - компенсации длины инструмента.
Но тут будет два этапа 1. запомнить длину первой фрезы. 2. Устанавливать компенсации остальных фрез.
  • Первый этап:

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

    G53 G0 Z0  (Едем в нужную точку)
    G53 G0 X0 Y0
    G91 G38.3 Z-100 F500  (Делаем пробу)
    G91 G38.5 Z10 F15
    #1000=#5063 (Запоминаем положение, относительно него потом будем задавать компенсацию для других инструментов)
    G90 G53 G0 Z0 (Едем назад)
    
  • Второй этап:

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

    G53 G0 Z0  (Едем в нужную точку)
    G53 G0 X0 Y0
    G91 G38.3 Z-100 F500  (Делаем пробу)
    G91 G38.5 Z10 F15
    G43.1 k[#5063-#1000] (Устанавливаем значение отступа)
    G90 G53 G0 Z0 (Едем назад)

Re: Авто ноль по Z в EMC

Добавлено: 28 май 2011, 13:09
vladimir74
я выкручиваюсь так:
купил в авто-магазине щуп для регулировки клапанов - 0.15мм, два провода от витой пары, и зажим "крокодил". Подсоеденил к контактам концевика, пластину прижимаю к столу а крокодилом цепляюсь к фрезе (шпиндель в off). Жму кнопку поиска начала и вот он ваш ноль. В настройках дома указал местоположение датчика 0.15 и отезд на 40 (мне этой высоты как правило хватает на все). Вот только еще не определился прикрутить ли пластину к столу или нет, иногда я так верх заготовки ищу. Не без геммороя, но работает.

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

Re: Авто ноль по Z в EMC

Добавлено: 28 май 2011, 20:21
Nick
Отступы для того и нужны, чтобы не переносить точку определения длинны инструмента. И чтобы EMC2 точно знал где нули осей станка.

Таким образом, если ты выставляешь отступ, EMC2 все равно знает где находятся пределы осей, и несмотря на то, что текущие координаты могут находится за пределами осей станка, абсолютные координаты никогда не выйдут за пределы осей. Если же ты просто обнуляешь ось Z, то EMC2 больше не будет знать где находится предел оси. Точнее EMC2 будет думать, что ноль оси находится не на месте.

Re: Авто ноль по Z в EMC

Добавлено: 30 май 2011, 14:49
aftaev
Правильнее было иметь на столе измерительную площадку. Когда стойка встречает Gcode или М код на смену иструмента, станок подымает ось Z. потом едет на площадку и ждет пока инструмент поменяют. Поменяли инструмент, жмакаем Пуск - автоматически измеряется длина и поехала обработка дальше.
Вот примерно как на этом видео:
http://www.chipmaker.ru/topic/56299/pag ... _p__792926
На видео измерятся диаметр и длина инструмента.

Устройство щупов можно найти здесь: http://www.chipmaker.ru/topic/58707/pag ... ntry817096
и другая тема где есть ссылки на чертежи Ренишоу. Если Ренишоу перевернуть получаем поиск длины инструмента:
http://www.chipmaker.ru/topic/61794/

надеюсь Nick не будет меня сильно пинать за ссылки на другой форум :)

Так как не шибко пока силен в ЕМС, какая G или М команда используется в ЕМС для смены инструмента?

Re: Авто ноль по Z в EMC

Добавлено: 30 май 2011, 16:15
Nick
Там все примерно так и происходит. Задается специальное положение для смены инструмента. Потом, если хочешь можешь прописать специальный M или O код, чтобы измерять все параметры инструмента и сохранять куда надо.

M6 T1 - это смена инструмента на инструмент №1.
Ручная смена инструмента, должна описываться специальным образом в hal. Можешь посмотреть в дефалтных конфигах, наверняка там есть.

ЗЫ А я никого за ссылки не пинаю, лишь бы в тему были. А то тут было время спамеров налетело... со всякими письками-сиськами...

Re: Авто ноль по Z в EMC

Добавлено: 16 мар 2012, 18:37
Hoksmur
У меня вопрос, если что-сильно не пинайте, но вроде в топик.
Как на G-code сделать следующее?
При команде на смену инструмента едем к площадке, остаёмся выше.
останавливаем шпиндель
Ждём кнопки (за это время меняем фрезу)
Едем к калиброваному бруску, там фиксирую фрезу.
Поднимаемся, ждём (затягиваем. Не на площадке, чтобы ни дай бог не сломать)
Включаем шпинделью
Едем дальше.

И как это вынести в подпрограмму? к моменту M06 инструмент вроде обычно уже заменён.

Re: Авто ноль по Z в EMC

Добавлено: 16 мар 2012, 19:10
Nick
Есть несколько вариантов.
1. Ручная смена в стандартном варианте позволяет приехать в нужное место, выключить шпиндель и ждать кнопки.
Но насколько я понимаю тебе надо большего :).
Можно сделать подпрограммой.
Итак, что нам надо сделать файл change-tool.ngc с таким содержанием:

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

o<change-tool> sub
	G40 					(выключаем компенсацию радиуса инструмента)
	G53 G0 Z... 			(поднимаемся на безопасную высоту, G53 - машинные координаты)
	M5						(останавливаем шпиндель)
	G53 G0 X... Y... Z...	(едем в место смены, если несколько перемещений G53 в каждой строке)
	M00						(Пауза, выполнение программы остановится до нажатия на кнопку старт)
	(MSG, Смените инструмент на N = #1)
	(меняем инструмент)
	G53 G0 X... Y... Z...	(едем в место юстировки)
	M00						(Пауза, выполнение программы остановится до нажатия на кнопку старт)
	(выставляем инструмент)
	G53 G0 X... Y... Z...	(едем в место смены, если несколько перемещений G53 в каждой строке)
	M00						(Пауза, выполнение программы остановится до нажатия на кнопку старт)
	(затягиваем инструмент)
	M06T#1						(Говорим LinuxCNC, сменить инструмент)
	M03						(Включаем шпиндель)

o<change-tool> endsub
После чего вызываем смену инструмента такой командой o<change-tool> call [N]

Да, если хочешь с паузы снимать железной кнопкой, то вместо M00 нужно написать M66 L...

Re: Авто ноль по Z в EMC

Добавлено: 16 мар 2012, 19:28
Hoksmur
Ещё момент - где должен лежать файлик, если использовать > M99 или O коды? Проще же не подпрограмму вбивать, а просто 1 код добавить перед M06. И можно ли в неё № инструмента передать? Или она будет идти как часть основной?
И можно ли запоминать, откуда уехали, а потом возвращаться?
Ник, тебе медаль за работоспособность! :hammer:

Re: Авто ноль по Z в EMC

Добавлено: 16 мар 2012, 19:57
Nick
Hoksmur писал(а):Ещё момент - где должен лежать файлик, если использовать > M99 или O коды?
В директории с ini или в директории которая написана в ini в качетсве programm_prefix, но проще к ini положить и забыть.
Hoksmur писал(а): Проще же не подпрограмму вбивать, а просто 1 код добавить перед M06. И можно ли в неё № инструмента передать? Или она будет идти как часть основной?
Когда будет файл, можно будет вызывать одной строкой o<change-tool> call [N], вместо N пишешь номер инструмента. Да, параметры можно передавать до 30 штук. Все параметры лучше заключать в [].
M06 уже есть в подпрограмме, поэтому для смены хватит одной строчки.
Hoksmur писал(а):И можно ли запоминать, откуда уехали, а потом возвращаться?
А зачем? Это должно быть в прописано в основной программе, После смены инструмента, мы должны обрабатывать новую траекторию. Зачем по одному и тому же месту разными инструментами гонять?

Re: Авто ноль по Z в EMC

Добавлено: 28 мар 2012, 09:42
jo_key
Так ли я понял
То есть перед тем, как ехать менять инструмент мы:
- запоминаем положение (который записывается в #5211...#5214)
- едем в точку смены инструмента
- делаем пробу (G38.2)
- меняем инструмент
- делаем пробу для нового инструмента(G38.3) и получаем компенсацию
- едем в точку #5211...#5214 (g28 x0 y0 z0)
Верный ход мысли?

Re: Авто ноль по Z в EMC

Добавлено: 28 мар 2012, 11:17
Nick
jo_key писал(а):- запоминаем положение (который записывается в #5211...#5214)
jo_key писал(а):- едем в точку #5211...#5214 (g28 x0 y0 z0)
Это не производится, да оно и не обязательно, главное выставить инструмент, и задать его параметры. Остальное - возвращение назад, врез в материал и прочее должен делать Gкод, который получается с CAM программы.

Re: Авто ноль по Z в EMC

Добавлено: 28 мар 2012, 17:37
jo_key
Просто хотелось бы эти "куски" смены инструмента вставлять в САМ программу, тк они , САМ-программы, могут плодить избыточный код. Вот.
Те использование g28 считаете нецелесообразным в этом случае?

Re: Авто ноль по Z в EMC

Добавлено: 28 мар 2012, 18:04
Nick
По идее, если мы едем из любой точки станка в другую любую точку надо: (рассматриваем 3-осевой)
1. Выйти на безопасную высоту по Z
2. Проехать в нужный XY
3. Опуститься в Z

Безопасную высоту и вообще безопасную зону перемещений знает только CAM. Поэтому все дополнительные движения надо делать в CAM, даже подъезд в зону смены инструмента лучше в ней сделать. А то, что она лишнего кода напишет, так чем он мешает?

Re: Авто ноль по Z в EMC

Добавлено: 29 мар 2012, 18:29
jo_key
Спасибо за информацию

Re: Авто ноль по Z в EMC

Добавлено: 20 июн 2012, 14:20
jo_key
Всем доброго времени суток... работа заставила отложить ЕМС, но возвращаюсь снова.
Код G38.2 в момент контакта должен записывать данные с emc.var в переменную #5063.... но если ее нет, начинается только с #5161... скажите. куда копать нужно?

Re: Авто ноль по Z в EMC

Добавлено: 20 июн 2012, 14:41
Nick
Т.е. как нет? Должна быть :)!
Как ты проверяешь, что ее нет?

Re: Авто ноль по Z в EMC

Добавлено: 20 июн 2012, 14:48
jo_key
смотрю файл emc.var. этой переменной нет (LinuxCNC 2.6.0\Axis) строки начинаются с с #5161
есть и такая запись в hal:
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

уже пол-Инета облазил. не знаю, куда копать

так же не могу понять. как сделать так, что бы был доступен "halui.tool.length-offset"