Лучше поменять систему координат, так оно понятнее будет. Система координат поменяется внутри LinuxCNC, и он будет об этом знать, и не даст уехать за пределы оси. Но
Датчик 0 оси Z
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Датчик 0 оси Z
Все правильно. Только первое перемещение будет не со скоростью F100, а с максимальной скоростью, там стоит G0, а со скоростью F100 будет ехать первый G38.
Лучше поменять систему координат, так оно понятнее будет. Система координат поменяется внутри LinuxCNC, и он будет об этом знать, и не даст уехать за пределы оси. Но
ось должна быть захоумлена и пределы оси должны быть правильно настроены. Тогда какие бы системы координат ты не выбирал, за физические пределы осей ты не выедешь.
Лучше поменять систему координат, так оно понятнее будет. Система координат поменяется внутри LinuxCNC, и он будет об этом знать, и не даст уехать за пределы оси. Но
-
Романов Семен
- Почётный участник

- Сообщения: 646
- Зарегистрирован: 23 янв 2012, 23:25
- Репутация: -80
- Откуда: Самара
Re: Датчик 0 оси Z
Хорошо. Может отъеду от темы, но ради одного вопроса не знаю стоит ли создавать отдельную тему.
У меня (самопально - собственноручно установлены) датчики на осях Х и У, концевики обычные. я их поставил перед тестами и поставил как Е-стоп.
Чтобы в случае ухода за ось был эмерджи стоп.
Можно ли как то сделать, чтобы эти датчики стали датчиками поиска хоме по Х и У?
Тоесть как я понял хоум при перезагрузке не сохраняется...
А каждый раз подводить до срабатывания датчика, разрывать цепь, отводить от датчика, обнулять одну ось и повторять для второй - как то не оч нравиться и не нравиться каждый раз гнать станок в начало перед выключением.
А в продолжение темы:
Как менять систему координат? =[
И требуется одно уточнение: код который "задает" пин13 как вход писать в терминале?
И будет ли он ожидать низкого сигнала или высокого? (аналог в маче = галочка Active Low) тоесть там галочку ставишь и при появлении 0 - срабатывает. а тут при вышеуказанном коде - что будет считаться срабатыванием? 0 или 1?
У меня (самопально - собственноручно установлены) датчики на осях Х и У, концевики обычные. я их поставил перед тестами и поставил как Е-стоп.
Чтобы в случае ухода за ось был эмерджи стоп.
Можно ли как то сделать, чтобы эти датчики стали датчиками поиска хоме по Х и У?
Тоесть как я понял хоум при перезагрузке не сохраняется...
А каждый раз подводить до срабатывания датчика, разрывать цепь, отводить от датчика, обнулять одну ось и повторять для второй - как то не оч нравиться и не нравиться каждый раз гнать станок в начало перед выключением.
А в продолжение темы:
Как менять систему координат? =[
И требуется одно уточнение: код который "задает" пин13 как вход писать в терминале?
И будет ли он ожидать низкого сигнала или высокого? (аналог в маче = галочка Active Low) тоесть там галочку ставишь и при появлении 0 - срабатывает. а тут при вышеуказанном коде - что будет считаться срабатыванием? 0 или 1?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Датчик 0 оси Z
1. По датчикам, лучше всего настрой из через step conf просто в пине пишешь оба предела + home оси. Если датчики висят на одном пине, нужно будет поставить галочку общий хоум. И потом главное в настройке оси нужно выставить положение датчика 0 за пределом оси, например в -1, а положение хоум (это то, где станок остановится после выставления нуля оси) - 0, так, чтобы после процедуры хоуминга не сработал предел оси.
Пин пробы лучше тоже настрой через stepconf, там вроде была такая опция в настройках пинов.
По замыканию-размыканию, зависит от Gкода G38.2 -замыкание, G38.4 - размыкание.
По выставлению системы координат, где-то уже это писал... вот например тут:G53, G54-59, G92. Проще всего использовать G92.
Т.е. будет так:
F100
G0 X100 Y100 Z10
G38.2 Z0
F1
G38.4 Z10
G92 Z0
Вообще всю эту последовательность можно записать в кастомную mdi команду и выполнять одной кнопкой.
Или все это можно сделать через интерфейс axis, там есть и touch и выставить координаты.
Пин пробы лучше тоже настрой через stepconf, там вроде была такая опция в настройках пинов.
По замыканию-размыканию, зависит от Gкода G38.2 -замыкание, G38.4 - размыкание.
По выставлению системы координат, где-то уже это писал... вот например тут:G53, G54-59, G92. Проще всего использовать G92.
Т.е. будет так:
F100
G0 X100 Y100 Z10
G38.2 Z0
F1
G38.4 Z10
G92 Z0
Вообще всю эту последовательность можно записать в кастомную mdi команду и выполнять одной кнопкой.
Или все это можно сделать через интерфейс axis, там есть и touch и выставить координаты.
- NightV
- Почётный участник

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

- Сообщения: 646
- Зарегистрирован: 23 янв 2012, 23:25
- Репутация: -80
- Откуда: Самара
Re: Датчик 0 оси Z
не вижу галочки общий хоум (у меня он еще сам русифицировался гад)Nick писал(а):1. По датчикам, лучше всего настрой из через step conf просто в пине пишешь оба предела + home оси. Если датчики висят на одном пине, нужно будет поставить галочку общий хоум. И потом главное в настройке оси нужно выставить положение датчика 0 за пределом оси, например в -1, а положение хоум (это то, где станок остановится после выставления нуля оси) - 0, так, чтобы после процедуры хоуминга не сработал предел оси.
Пин пробы лучше тоже настрой через stepconf, там вроде была такая опция в настройках пинов.
По замыканию-размыканию, зависит от Gкода G38.2 -замыкание, G38.4 - размыкание.
По выставлению системы координат, где-то уже это писал... вот например тут:G53, G54-59, G92. Проще всего использовать G92.
Т.е. будет так:
F100
G0 X100 Y100 Z10
G38.2 Z0
F1
G38.4 Z10
G92 Z0
Вообще всю эту последовательность можно записать в кастомную mdi команду и выполнять одной кнопкой.
Или все это можно сделать через интерфейс axis, там есть и touch и выставить координаты.
На могу только выставить Оба лимита + хоум Х, или тоже самое но для У, а как оба выставить не знаю =(
-
Романов Семен
- Почётный участник

- Сообщения: 646
- Зарегистрирован: 23 янв 2012, 23:25
- Репутация: -80
- Откуда: Самара
Re: Датчик 0 оси Z
net probe motion.probe-input <= parport.0.pin-13-in
в 2.5.0 не сработало. =(
сработало иначе:
net probe parport.0.pin-13-in => motion.probe-input
сейчас попробую. скариновать контакт с поверхностью
upd
и опять же сработал код наоборот... странно
1. степконф.
2. в пин 13 выбрал Щуп зонда - ох уж эта поганая русификация
3. Гкод вышенаписанный сработал как часы... порадовало..
в 2.5.0 не сработало. =(
сработало иначе:
net probe parport.0.pin-13-in => motion.probe-input
сейчас попробую. скариновать контакт с поверхностью
upd
и опять же сработал код наоборот... странно
Код: Выделить всё
F100
G0 X0 Y0 Z10
G38.4 Z0
F1
G38.2 Z10UPD
после проделанных операций:
попытался перезагрузить - не грузиться, ошибка.1. степконф.
2. в пин 13 выбрал Щуп зонда - ох уж эта поганая русификация
3. Гкод вышенаписанный сработал как часы... порадовало..
UPD2
инвертировал вход на пин13.
заработал код от уважаемого Nick'a
Код: Выделить всё
F100
G0 X100 Y100 Z10
G38.2 Z0
F1
G38.4 Z10
G92 Z0 - Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Датчик 0 оси Z
Не будет работать ни то ни то, потому, что точка, нужна а не тире.Романов Семен писал(а): net probe motion.probe-input <= parport.0.pin-13-in
net probe parport.0.pin-13-in => motion.probe-input
Т.е. net probe parport.0.pin-13.in => motion.probe-input, а с точкой должно работать и так и так. И без => тоже. Вообще команда net присоединяет к сигналу probe пины. А пины потом перечисляются через пробел. Значки => <= не учитываются, они пишутся только для того, чтобы было понятно. а направление сигнала берется из типа пина. Есть пины in и пины out, в in можно писать из out можно читать.
-
Романов Семен
- Почётный участник

- Сообщения: 646
- Зарегистрирован: 23 янв 2012, 23:25
- Репутация: -80
- Откуда: Самара
Re: Датчик 0 оси Z
Хорошо, вопрос:
Куда этот код писать? в терминал самой убунты?
И что написать что бы прописать допустим на 11 пин был вход хоумингов Х и У? (ну это следующая проблема/вопрос)
сечас хочу прикрутить Probekins http://cnc-club.ru/forum/viewtopic.php? ... 136#p15136
Куда этот код писать? в терминал самой убунты?
И что написать что бы прописать допустим на 11 пин был вход хоумингов Х и У? (ну это следующая проблема/вопрос)
сечас хочу прикрутить Probekins http://cnc-club.ru/forum/viewtopic.php? ... 136#p15136
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Датчик 0 оси Z
А какие там есть варианты на пины ввода, те которые в столбике справа?
-
Романов Семен
- Почётный участник

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

- Сообщения: 6610
- Зарегистрирован: 30 дек 2011, 09:14
- Репутация: 2279
- Настоящее имя: Владимир Айрапетян
- Откуда: Israel
- Контактная информация:
Re: Датчик 0 оси Z
на поиск нуля получился такой код
код работает, но может я гдето накосячил.
и еще.... и что мне теперь с ним делать?
думаю может просто в шапку Gcodetools запихать, вдруг забудут указать толщину стекла (да и разная она нет одинаковых стекол по толщине)
поиск нуля по этому коду делается около 10-12 секунд, наверное встраивать его в шапку исполняемого файла самое то, "просто и сердито"
g90
G53 G0 X250 Y295 Z0 A-140 ведем щуп в точку где стекло будет всегда
G92 z0 делаем Z в 0 так как g38 работает оказывается только и инкрементальных координатах, зараза крови попил пока я это не понял
;M6 T1 зарезервировано, чтоб убирал бошку и не мешал щупу пыпустится
m64 P1 выпускаем щуп
M66 P0 L1 Q10 ждем когда выпустится
F350
G38.2 Z-26 опускаемся до срабатывания pobe in
G92 z0 говорим что здесь был ноль
G91
F200
G01 Z1.5 плавненько приподнимаетмся
G90
F7
G38.2 Z-5 еще плавнее опускаемся до срабатывания probe in
здесь нужно указать что был ноль но с компенсацией (которую пока незнаю, жду подшипники для шпинделей) наверно G10?
или просто G92 Z-6 (6 для примера)
M65 P1 выключает подачу воздуха на щуп
M66 P0 L2 Q10 ждем пока уберется
G91
G0 Z5
код работает, но может я гдето накосячил.
и еще.... и что мне теперь с ним делать?
думаю может просто в шапку Gcodetools запихать, вдруг забудут указать толщину стекла (да и разная она нет одинаковых стекол по толщине)
поиск нуля по этому коду делается около 10-12 секунд, наверное встраивать его в шапку исполняемого файла самое то, "просто и сердито"
g90
G53 G0 X250 Y295 Z0 A-140 ведем щуп в точку где стекло будет всегда
G92 z0 делаем Z в 0 так как g38 работает оказывается только и инкрементальных координатах, зараза крови попил пока я это не понял
;M6 T1 зарезервировано, чтоб убирал бошку и не мешал щупу пыпустится
m64 P1 выпускаем щуп
M66 P0 L1 Q10 ждем когда выпустится
F350
G38.2 Z-26 опускаемся до срабатывания pobe in
G92 z0 говорим что здесь был ноль
G91
F200
G01 Z1.5 плавненько приподнимаетмся
G90
F7
G38.2 Z-5 еще плавнее опускаемся до срабатывания probe in
здесь нужно указать что был ноль но с компенсацией (которую пока незнаю, жду подшипники для шпинделей) наверно G10?
или просто G92 Z-6 (6 для примера)
M65 P1 выключает подачу воздуха на щуп
M66 P0 L2 Q10 ждем пока уберется
G91
G0 Z5
Всё просто! если знаешь КАК!
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Датчик 0 оси Z
Расскажи подробнее! Я этого не знаюNightV писал(а):G92 z0 делаем Z в 0 так как g38 работает оказывается только и инкрементальных координатах, зараза крови попил пока я это не понял
Если ты заявил 0 при помощи G92 можно в относительные координаты не переходить. В моем примере я вроде не использовал G92, поэтому нужен был G91.NightV писал(а):G92 z0 говорим что здесь был ноль
G91
F200
G01 Z1.5 плавненько приподнимаетмся
Не совсем понимаю зачем? Если просто сделаешь G92 Z0 выставишь 0 для данного инструмента, хотя, если инструментов несколько, то надо действительно использовать g10.NightV писал(а):здесь нужно указать что был ноль но с компенсацией (которую пока незнаю, жду подшипники для шпинделей) наверно G10?или просто G92 Z-6 (6 для примера)
Тоже не совсем понятен переход к относительным координатам.NightV писал(а):G91
G0 Z5
- NightV
- Почётный участник

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

- Сообщения: 6610
- Зарегистрирован: 30 дек 2011, 09:14
- Репутация: 2279
- Настоящее имя: Владимир Айрапетян
- Откуда: Israel
- Контактная информация:
Re: Датчик 0 оси Z
получился такой вариант
видать я прошлый раз просто запутался с переключениями координат
G91 (эту оставил на всякий случай)
G53 G0 X250 Y295 Z0 A-140
G92 z0
m64 P1
M66 P0 L1 Q10
F350
G38.2 Z-26
G92 z0
F200
G01 Z1.5
F7
G38.2 Z-5
G92 Z8 (выставляем ноль с компенсацией фактического нуля диска)
M65 P1
M66 P0 L2 Q10
G53 G0 Z0
работает, и не ругается на координаты Z выше нуля.
стоит еще что-то подправить?
теперь куда его деть? нужно чтоб код исполнялся ВСЕГДА при нажатии "Cycle Start", но доверять его чтоб сам вставлялся с помощью Gcodetools в шапку нехочется, лучше если этим будет заниматься сам LinuxCNC, так надежнее
видать я прошлый раз просто запутался с переключениями координат
G91 (эту оставил на всякий случай)
G53 G0 X250 Y295 Z0 A-140
G92 z0
m64 P1
M66 P0 L1 Q10
F350
G38.2 Z-26
G92 z0
F200
G01 Z1.5
F7
G38.2 Z-5
G92 Z8 (выставляем ноль с компенсацией фактического нуля диска)
M65 P1
M66 P0 L2 Q10
G53 G0 Z0
работает, и не ругается на координаты Z выше нуля.
стоит еще что-то подправить?
теперь куда его деть? нужно чтоб код исполнялся ВСЕГДА при нажатии "Cycle Start", но доверять его чтоб сам вставлялся с помощью Gcodetools в шапку нехочется, лучше если этим будет заниматься сам LinuxCNC, так надежнее
Всё просто! если знаешь КАК!
-
svr007
- Новичок
- Сообщения: 22
- Зарегистрирован: 13 дек 2011, 09:19
- Репутация: 0
- Откуда: самара
- Контактная информация:
Re: Датчик 0 оси Z
Добрый вечер всем.Сильно не ругайте,вопрос немного не по теме.
Кто нибудь ставил датчик хоум посередине,то есть на концах оси стоят лимиты макс и мин,а посередине хоум в связке с индексом энкодера.Интересует как точно останавливать ось в одной точке,когда ось едет слева на право и с право налево.
Кто нибудь ставил датчик хоум посередине,то есть на концах оси стоят лимиты макс и мин,а посередине хоум в связке с индексом энкодера.Интересует как точно останавливать ось в одной точке,когда ось едет слева на право и с право налево.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Датчик 0 оси Z
Хмм... надо вставлять в Gкод иначе может не получиться, но для контроля можно сбрасывать какой-нибудь параметр пока эта процедура не выполнена. И написать скриптик, который блокирует выполнение программы.NightV писал(а):теперь куда его деть? нужно чтоб код исполнялся ВСЕГДА при нажатии "Cycle Start", но доверять его чтоб сам вставлялся с помощью Gcodetools в шапку нехочется, лучше если этим будет заниматься сам LinuxCNC, так надежнее
Хотя, так тоже не выйдет тогда он не сможет программу выполнять...
Нужно сделать кнопку, которая выполняет эту процедуру, тогда со скриптом получится....
LinuxCNC едет к хоуму всегда в заданном направлении. Какая задача целиком просто хоум или что-то хитрее?svr007 писал(а):Добрый вечер всем.Сильно не ругайте,вопрос немного не по теме.
Кто нибудь ставил датчик хоум посередине,то есть на концах оси стоят лимиты макс и мин,а посередине хоум в связке с индексом энкодера.Интересует как точно останавливать ось в одной точке,когда ось едет слева на право и с право налево.
Кстати, можешь отдельную тему создать
-
Georg_kai
- Кандидат
- Сообщения: 53
- Зарегистрирован: 26 янв 2012, 11:16
- Репутация: 2
- Откуда: Новосибирск
- Контактная информация:
Re: Датчик 0 оси Z
Подниму тему....
Сегодня прицеплял на свой станочек датчик 0.
Был написан на GladeVCP модуль для поиска 0. - при нажатии кнопки - происходит вызов подпрограммы в которой станок идет в определенную точку - и делает "кивок"- касается сенсора. Загорается LED индикатор что произошло касание и выскакивает ошибка такого рода - см. картинку.
Подпрограмма представляет из себя:
o<touchoff>sub
F100
G0 Z35
G0 X750
G38.2 Z0
F1
G38.4 Z10
G91 g0 z.2
G92 Z0
o<touchoff>endsub
В чем может быть проблема?
Сегодня прицеплял на свой станочек датчик 0.
Был написан на GladeVCP модуль для поиска 0. - при нажатии кнопки - происходит вызов подпрограммы в которой станок идет в определенную точку - и делает "кивок"- касается сенсора. Загорается LED индикатор что произошло касание и выскакивает ошибка такого рода - см. картинку.
Подпрограмма представляет из себя:
o<touchoff>sub
F100
G0 Z35
G0 X750
G38.2 Z0
F1
G38.4 Z10
G91 g0 z.2
G92 Z0
o<touchoff>endsub
В чем может быть проблема?
