Эт пока ты по свадьбам шастаешь, чтоб не скучать мы племику развелиNick писал(а):А вы развели тут понимаешь Renishaw или не Renishaw !
Датчик 0 оси Z
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: Датчик 0 оси Z
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- NightV
- Почётный участник

- Сообщения: 6610
- Зарегистрирован: 30 дек 2011, 09:14
- Репутация: 2279
- Настоящее имя: Владимир Айрапетян
- Откуда: Israel
- Контактная информация:
Re: Датчик 0 оси Z
контроля "усилия\нажания" нет, это не стелорез, это гравер алмазным диском, ТУТ я расказывал о нем, там есть видео с похожим станком.
тоесть контролировать усилие нажатия не нужно нужно "держать" высоту, диск впиливается в стекло на 1-1.5мм, кстате толщина стекла "играет", не значительно но есть.
примерно набросал принцип работы бошки Z да да.. есть еще и нижний щуп
сначала долго не мог понять зачем он 
у обоих щупов есть свой регулятор давления.
теперь все это нужно завeзать в LinuxCNC
тоесть контролировать усилие нажатия не нужно нужно "держать" высоту, диск впиливается в стекло на 1-1.5мм, кстате толщина стекла "играет", не значительно но есть.
примерно набросал принцип работы бошки Z да да.. есть еще и нижний щуп
у обоих щупов есть свой регулятор давления.
теперь все это нужно завeзать в LinuxCNC
Всё просто! если знаешь КАК!
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Датчик 0 оси Z
Да не вопрос, только как оно должно работать? Нужна пошаговая схема.NightV писал(а):теперь все это нужно завeзать в LinuxCNC
- NightV
- Почётный участник

- Сообщения: 6610
- Зарегистрирован: 30 дек 2011, 09:14
- Репутация: 2279
- Настоящее имя: Владимир Айрапетян
- Откуда: Israel
- Контактная информация:
Re: Датчик 0 оси Z
ну в теории пошагово алгоритм вроде не сложный
"компенсация длинны инструмента"
должен запускаться после нажатия кнопки на пульте, точнее кнопки две, типа "Check disk №1" и "Check disk №2"
1) сменили диск и нажали "Check disk №1"
2) бошка Z подьехла над щупом в столе, по заранее известным координатам XY
3) выпустила щуп
4) после срабатывания концевика\лимита (что мол щуп выпущен) начинает опускаться
5) сработал "средний" концевик, приподнялась на +2-3мм от места срабатывания
6) снова медленно опускается до срабатывания датчика, сработало...
7) занесли новые значения в реестр для "tool №1"
8) убрали щуп и убедились по концевику что щуп убран
... тоже самое для второго диска
проблема еще в том что я никогда не сталкивался с "компенсацией длинны инструмента"
для "Поиск 0 по Z", почти тоже самое
1) положили стекло, указали где 0 по XY и нажали "Start" программы
2) бошка Z подьехла на X100 Y100 (угол стекла)
3) выпустила щуп
4) после срабатывания концевика\лимита (что мол щуп выпущен) начинает опускаться
5) сработал "средний" концевик, приподнялась на +2-3мм от места срабатывания
6) снова медленно опускается до срабатывания датчика, сработало...
7) посчитали, занесли новый 0 по Z
8) убрали щуп и убедились по концевику что щуп убран
9) запуск программы
пока не понятно откуда вызывать этот скрипт, из Gcode или как-то его можно
выполнить непосредственно перед выполнением Gcode.
и вообще где и начем пишутся эти скрипты в LinuxCNC? И скриптами ли вообще такое прописывать?
Сильно не пинайте, я из Mach3 пытаюсь пересесть
"компенсация длинны инструмента"
должен запускаться после нажатия кнопки на пульте, точнее кнопки две, типа "Check disk №1" и "Check disk №2"
1) сменили диск и нажали "Check disk №1"
2) бошка Z подьехла над щупом в столе, по заранее известным координатам XY
3) выпустила щуп
4) после срабатывания концевика\лимита (что мол щуп выпущен) начинает опускаться
5) сработал "средний" концевик, приподнялась на +2-3мм от места срабатывания
6) снова медленно опускается до срабатывания датчика, сработало...
7) занесли новые значения в реестр для "tool №1"
8) убрали щуп и убедились по концевику что щуп убран
... тоже самое для второго диска
проблема еще в том что я никогда не сталкивался с "компенсацией длинны инструмента"
для "Поиск 0 по Z", почти тоже самое
1) положили стекло, указали где 0 по XY и нажали "Start" программы
2) бошка Z подьехла на X100 Y100 (угол стекла)
3) выпустила щуп
4) после срабатывания концевика\лимита (что мол щуп выпущен) начинает опускаться
5) сработал "средний" концевик, приподнялась на +2-3мм от места срабатывания
6) снова медленно опускается до срабатывания датчика, сработало...
7) посчитали, занесли новый 0 по Z
8) убрали щуп и убедились по концевику что щуп убран
9) запуск программы
пока не понятно откуда вызывать этот скрипт, из Gcode или как-то его можно
выполнить непосредственно перед выполнением Gcode.
и вообще где и начем пишутся эти скрипты в LinuxCNC? И скриптами ли вообще такое прописывать?
Сильно не пинайте, я из Mach3 пытаюсь пересесть
Всё просто! если знаешь КАК!
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Датчик 0 оси Z
Опять развели полемику... Ладно ближе к вечеру тему почищу.
По обнулению... Не совсем понимаю, зачем два щупа? Один для инструмента, другой для толщины стекла?
вообще все это делается примерно также, при помощи G38. Только записывать можно в разные места. И т.к. у тебя процедура сложная может быть хитрее.
можно решать двумя способами
1. Ladder logic
2. Хитрить с hal
в двух словах напишу, сейчас нужно убегать
1) сменили диск и нажали "Check disk №1" --- или нажали или в Gкоде пишем
2) бошка Z подьехла над щупом в столе, по заранее известным координатам XY --- G53 G0 X.. Y.. (едем в точку на станке G53 нужно)
3) выпустила щуп --- Это какой командой делается, просто сигнал на пин? Тогда можно M62-65
4) после срабатывания концевика\лимита (что мол щуп выпущен) начинает опускаться ---- Можно попробовать загнать в probe in и G38.2 Z-10, или если нужно просто подождать, то те же M62-65
5) сработал "средний" концевик, приподнялась на +2-3мм от места срабатывания --- G38.2 Z-10
6) снова медленно опускается до срабатывания датчика, сработало... G91 G0 Z-2 G92 G38.2 Z-10
7) занесли новые значения в реестр для "tool №1" ---- G10 L1 ....
8) убрали щуп и убедились по концевику что щуп убран M62-65
Все, вернусь напишу подробнее. И по шапке всем выдам
.
По обнулению... Не совсем понимаю, зачем два щупа? Один для инструмента, другой для толщины стекла?
вообще все это делается примерно также, при помощи G38. Только записывать можно в разные места. И т.к. у тебя процедура сложная может быть хитрее.
можно решать двумя способами
1. Ladder logic
2. Хитрить с hal
в двух словах напишу, сейчас нужно убегать
1) сменили диск и нажали "Check disk №1" --- или нажали или в Gкоде пишем
2) бошка Z подьехла над щупом в столе, по заранее известным координатам XY --- G53 G0 X.. Y.. (едем в точку на станке G53 нужно)
3) выпустила щуп --- Это какой командой делается, просто сигнал на пин? Тогда можно M62-65
4) после срабатывания концевика\лимита (что мол щуп выпущен) начинает опускаться ---- Можно попробовать загнать в probe in и G38.2 Z-10, или если нужно просто подождать, то те же M62-65
5) сработал "средний" концевик, приподнялась на +2-3мм от места срабатывания --- G38.2 Z-10
6) снова медленно опускается до срабатывания датчика, сработало... G91 G0 Z-2 G92 G38.2 Z-10
7) занесли новые значения в реестр для "tool №1" ---- G10 L1 ....
8) убрали щуп и убедились по концевику что щуп убран M62-65
Все, вернусь напишу подробнее. И по шапке всем выдам
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Датчик 0 оси Z
Некоторые сообщения из этой темы были выделены в новую: Renishaw или не Renishaw
Итак, продолжаем по теме Как и обещал пишу подробнее.
Вот примерный Gкод:
T2M6 (сменили инструмент)
G53 G0 X.. Y.. (поехали в точку для поиска длинны инструмента, G53 - это перемещение в реальных координатах станка, вне зависимости любых смещений)
M64 P0 (делаем Dout1 - команда на выставление щупа)
M66 P0 L1 (ждем растущую грань на концевике вытаскивания щупа Din1)
G38.2 Z-10 (едем вниз до срабатывания среднего концевика, средний концевик заводим на probe-in. )
G91 (включаем относительный режим)
G0 Z-2 (едем на 2мм вверх)
G90 (возвращаемся к абсолютному режиму)
M64 P1 (переключаем probe-in на датчик последний, делаем это через mux2, в котором пин sel будет подключен к Dout2)
F1 (уменьшаем скорость)
G38.2 Z-10 (едем до срабатывания датчика)
G10 L10 P2 Z0 (выставляем такие значения для инструмента, чтобы текущая координата по Z стала 0 --- G10 L10 P[tool number] R[radius] X[offset] Z[offset] Q[orientation] )
G0 Z10 (едем наверх)
M65 P0 (выключаем щуп)
M66 P0 L2 (ждем ниспадающую грань на концевике вытаскивания щупа Din1)
Вопросы?
PS я аж сам офигел, как такое выдал
- NightV
- Почётный участник

- Сообщения: 6610
- Зарегистрирован: 30 дек 2011, 09:14
- Репутация: 2279
- Настоящее имя: Владимир Айрапетян
- Откуда: Israel
- Контактная информация:
Re: Датчик 0 оси Z
Всё просто! если знаешь КАК!
- NightV
- Почётный участник

- Сообщения: 6610
- Зарегистрирован: 30 дек 2011, 09:14
- Репутация: 2279
- Настоящее имя: Владимир Айрапетян
- Откуда: Israel
- Контактная информация:
Re: Датчик 0 оси Z
G90 вроде?Nick писал(а):G92 (возвращаемся к абсолютному режиму)
Всё просто! если знаешь КАК!
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Датчик 0 оси Z
точно, G90, сейчас исправлю.
- NightV
- Почётный участник

- Сообщения: 6610
- Зарегистрирован: 30 дек 2011, 09:14
- Репутация: 2279
- Настоящее имя: Владимир Айрапетян
- Откуда: Israel
- Контактная информация:
Re: Датчик 0 оси Z
запутался я с этой строкойNick писал(а):M64 P1 (переключаем probe-in на датчик последний, делаем это через mux2, в котором пин sel будет подключен к Dout2)
Всё просто! если знаешь КАК!
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Датчик 0 оси Z
Суть такая, насколько я понимаю, в emc2 в модуле motion есть только один пин motion.probe-input. А мы хотим делать пробу на разных датчиках. Для этого нужно два ввода от датчиков как-то обрабатывать. Для этого берем и создаем компонент mux2 и делаем такую схему:
net probe1 parport.0.pin-01.in => mux2.0.in0
net probe2 parport.0.pin-02.in => mux2.0.in1
net select-probe motion.digital-out-01 => mux2.0.sel
net probe-in mux2.0.sel => motion.probe-input
net probe1 parport.0.pin-01.in => mux2.0.in0
net probe2 parport.0.pin-02.in => mux2.0.in1
net select-probe motion.digital-out-01 => mux2.0.sel
net probe-in mux2.0.sel => motion.probe-input
- NightV
- Почётный участник

- Сообщения: 6610
- Зарегистрирован: 30 дек 2011, 09:14
- Репутация: 2279
- Настоящее имя: Владимир Айрапетян
- Откуда: Israel
- Контактная информация:
Re: Датчик 0 оси Z
раз пошла такая пьянка то может mux4 ?
датчиков на нащупе то 3, 2 (убран\выпущен) концевых и 1 по которому выставляемся
net probe1 hm2_5i23.0.gpio.040.in => mux4.0.in0
net probe2 hm2_5i23.0.gpio.041.in => mux4.0.in1
net probe3 hm2_5i23.0.gpio.042.in => mux4.0.in2
net select-probe motion.digital-out-01 => mux4.0.sel
net probe-in mux4.0.sel => motion.probe-input
в двух последних строчках так и не разобрался
датчиков на нащупе то 3, 2 (убран\выпущен) концевых и 1 по которому выставляемся
net probe1 hm2_5i23.0.gpio.040.in => mux4.0.in0
net probe2 hm2_5i23.0.gpio.041.in => mux4.0.in1
net probe3 hm2_5i23.0.gpio.042.in => mux4.0.in2
net select-probe motion.digital-out-01 => mux4.0.sel
net probe-in mux4.0.sel => motion.probe-input
в двух последних строчках так и не разобрался
Всё просто! если знаешь КАК!
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Датчик 0 оси Z
net select-probe motion.digital-out-01 => mux4.0.sel это подсоединяем пин для выбора. В данном случае пин, которым можно управлять через M65.
net probe-in mux2.0.sel => motion.probe-input - тут ошибочка :ups:.
net probe-in mux2.0.out => motion.probe-input
Не, mux4 не нужен. Т.к. probe делаем только по двум датчикам. А третий датчик только для контроля, что щуп выехал (насколько я понял) (или там тоже нужно куда-то ехать?).
net probe-in mux2.0.sel => motion.probe-input - тут ошибочка :ups:.
net probe-in mux2.0.out => motion.probe-input
Не, mux4 не нужен. Т.к. probe делаем только по двум датчикам. А третий датчик только для контроля, что щуп выехал (насколько я понял) (или там тоже нужно куда-то ехать?).
- NightV
- Почётный участник

- Сообщения: 6610
- Зарегистрирован: 30 дек 2011, 09:14
- Репутация: 2279
- Настоящее имя: Владимир Айрапетян
- Откуда: Israel
- Контактная информация:
Re: Датчик 0 оси Z
млин я себе уже чуть мозг не спалил с этим selNick писал(а):net probe-in mux2.0.sel
нет чисто контроль, потом на стадии вылизывания нужно будет еще проверочку по нескольким точкам зделать чтоб "Start" не запускался пока не выполнены какие-то условия, например выпущен каойто щуп , или нет воздуха в системеNick писал(а):А третий датчик только для контроля, что щуп выехал (насколько я понял) (или там тоже нужно куда-то ехать?)
Всё просто! если знаешь КАК!
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Датчик 0 оси Z
Ну это можно сделать через M66 P0 L1, там есть различные режимы, ждать такого-то состояния пина,
L0 - не ждем
L1 - ждем растущую грань
L2 - ждем падующую грань
L3 - ждем 1 на пине
L4 - ждем 0 на пине
Но если хочется сделать полноценную логику с постоянным контролем состояния пинов, может лучше воспользоваться Ladder Logic.
L0 - не ждем
L1 - ждем растущую грань
L2 - ждем падующую грань
L3 - ждем 1 на пине
L4 - ждем 0 на пине
Но если хочется сделать полноценную логику с постоянным контролем состояния пинов, может лучше воспользоваться Ladder Logic.
- NightV
- Почётный участник

- Сообщения: 6610
- Зарегистрирован: 30 дек 2011, 09:14
- Репутация: 2279
- Настоящее имя: Владимир Айрапетян
- Откуда: Israel
- Контактная информация:
Re: Датчик 0 оси Z
да, наверно ты прав, придется его изучить... я на Мач через браин с инверторм общался, тоесть небольшой опыт есть
Всё просто! если знаешь КАК!
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Датчик 0 оси Z
В принципе на том уровне, на котором это написано сейчас можно легко обойтись без ladder logic
- NightV
- Почётный участник

- Сообщения: 6610
- Зарегистрирован: 30 дек 2011, 09:14
- Репутация: 2279
- Настоящее имя: Владимир Айрапетян
- Откуда: Israel
- Контактная информация:
Re: Датчик 0 оси Z
но чтоб на кнопку "Старт" повесить проверку условий (вода, поздух в системе, ОК от серв) без ladder logic наверно не обойтись
Всё просто! если знаешь КАК!
-
Романов Семен
- Почётный участник

- Сообщения: 646
- Зарегистрирован: 23 янв 2012, 23:25
- Репутация: -80
- Откуда: Самара
Re: Датчик 0 оси Z
Только сегодня настроил машинку на EMC2 (2.5.0) (до этого учился на маче)
Но в виду определенных нужд - которые осилит емс, и не под силу мачу, пришлось пересаживаться с велосипеда на транспорт посерьезнее...
Сейчас отстроил наконечно степконфиг, станок катает не хуже чем в маче, пропуски шагов поборол...
в итоге: сейчас вплотную подошел к тому чтобы подавать инструмент к заготовке. но как то страшно, в маче все было в графическом интерфесе, тут же из терминала вбивать настройки страшновато... (хотя и сам только лишь догадываюсь что в терминале нужно настройки вбивать - может и ошибаюсь)
Помогите и мне, или направьте на путь истинный,
Итак датчик у меня НАИПРОСТЕЙШИЙ - это два крокодила, один я подключаю к фрезе, второй к поверхности (она токопроводящя - заготовка печатной платы), и все это на yoocnc-контроллер, и при касании фрезы заготовки, у меня на порт0.пин13 поступает низкий уровень (нуль)
Правильно ли я собираюсь сделать:
net probe motion.probe-input <= parport.0.pin-13.in (thanx a lot, Nick
http://cnc-club.ru/forum/viewtopic.php? ... 550#p14545)
А вот дальше не совсем понятно:
Правильно ли я "читаю" код? 1. ехать будем со скоростью 100мм/мин, едем в х100,у100, поднимаем инструмент на 10мм,
Далее опускаем инструмент до косания к нулю. (и станок будет двигаться либо до нуля либо пока не будет контакта с поверхностью)
потом со скоростью 1мм/мин поднимаем инструмент пока не будет либо разрыва, либо не будет высота 10мм...
Если я правильно понимаю, то после выполнения этого кода инструмент у нас будет касаться заготовки, а дальше на наше усмотрение - мы либо просто задаем ноль для координаты Z либо делаем поправку на инструмент?
Подскажите как лучше поступать? точнее к чему лучше привыкнуть? я бы конечно проще воспринимал если общее начало координат было у начала заготовки, но в то же время у меня нет концовиков на Z оси (на X и Y я установил сам, так сказать доработал китайский станочек, а вот на Зет красило не получается повесить - сопли будут =(( )
И поэтому я задал критические отклонения по зет в сетконфиге, и не хотелось бы что бы по ошибке программы станок пытался уехать за ось...
заранее благодарю ВСЕХ
И огромное спасибо Nick'у за форум и индивидуальную помощь в лс...
Как говориться респект и уважуха.

Но в виду определенных нужд - которые осилит емс, и не под силу мачу, пришлось пересаживаться с велосипеда на транспорт посерьезнее...
Сейчас отстроил наконечно степконфиг, станок катает не хуже чем в маче, пропуски шагов поборол...
в итоге: сейчас вплотную подошел к тому чтобы подавать инструмент к заготовке. но как то страшно, в маче все было в графическом интерфесе, тут же из терминала вбивать настройки страшновато... (хотя и сам только лишь догадываюсь что в терминале нужно настройки вбивать - может и ошибаюсь)
Помогите и мне, или направьте на путь истинный,
Итак датчик у меня НАИПРОСТЕЙШИЙ - это два крокодила, один я подключаю к фрезе, второй к поверхности (она токопроводящя - заготовка печатной платы), и все это на yoocnc-контроллер, и при касании фрезы заготовки, у меня на порт0.пин13 поступает низкий уровень (нуль)
Правильно ли я собираюсь сделать:
net probe motion.probe-input <= parport.0.pin-13.in (thanx a lot, Nick
А вот дальше не совсем понятно:
Код: Выделить всё
F100
G0 X100 Y100 Z10
G38.2 Z0
F1
G38.4 Z10Далее опускаем инструмент до косания к нулю. (и станок будет двигаться либо до нуля либо пока не будет контакта с поверхностью)
потом со скоростью 1мм/мин поднимаем инструмент пока не будет либо разрыва, либо не будет высота 10мм...
Если я правильно понимаю, то после выполнения этого кода инструмент у нас будет касаться заготовки, а дальше на наше усмотрение - мы либо просто задаем ноль для координаты Z либо делаем поправку на инструмент?
Подскажите как лучше поступать? точнее к чему лучше привыкнуть? я бы конечно проще воспринимал если общее начало координат было у начала заготовки, но в то же время у меня нет концовиков на Z оси (на X и Y я установил сам, так сказать доработал китайский станочек, а вот на Зет красило не получается повесить - сопли будут =(( )
И поэтому я задал критические отклонения по зет в сетконфиге, и не хотелось бы что бы по ошибке программы станок пытался уехать за ось...
заранее благодарю ВСЕХ
И огромное спасибо Nick'у за форум и индивидуальную помощь в лс...
Как говориться респект и уважуха.
