Датчик 0 оси Z

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Датчик 0 оси Z

Сообщение Nick »

Все правильно. Только первое перемещение будет не со скоростью F100, а с максимальной скоростью, там стоит G0, а со скоростью F100 будет ехать первый G38.

Лучше поменять систему координат, так оно понятнее будет. Система координат поменяется внутри LinuxCNC, и он будет об этом знать, и не даст уехать за пределы оси. Но :attention: ось должна быть захоумлена и пределы оси должны быть правильно настроены. Тогда какие бы системы координат ты не выбирал, за физические пределы осей ты не выедешь.
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

Re: Датчик 0 оси Z

Сообщение Романов Семен »

Хорошо. Может отъеду от темы, но ради одного вопроса не знаю стоит ли создавать отдельную тему.
У меня (самопально - собственноручно установлены) датчики на осях Х и У, концевики обычные. я их поставил перед тестами и поставил как Е-стоп.
Чтобы в случае ухода за ось был эмерджи стоп.

Можно ли как то сделать, чтобы эти датчики стали датчиками поиска хоме по Х и У?
Тоесть как я понял хоум при перезагрузке не сохраняется...
А каждый раз подводить до срабатывания датчика, разрывать цепь, отводить от датчика, обнулять одну ось и повторять для второй - как то не оч нравиться и не нравиться каждый раз гнать станок в начало перед выключением.

А в продолжение темы:
Как менять систему координат? =[
И требуется одно уточнение: код который "задает" пин13 как вход писать в терминале?
И будет ли он ожидать низкого сигнала или высокого? (аналог в маче = галочка Active Low) тоесть там галочку ставишь и при появлении 0 - срабатывает. а тут при вышеуказанном коде - что будет считаться срабатыванием? 0 или 1?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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 и выставить координаты.
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Датчик 0 оси Z

Сообщение NightV »

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

Re: Датчик 0 оси Z

Сообщение Nick »

Щас захвалите, опять на какую-нибудь свадьбу свалю :hehehe:
Романов Семен
Почётный участник
Почётный участник
Сообщения: 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
и опять же сработал код наоборот... странно

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

F100
G0 X0 Y0 Z10
G38.4 Z0
F1
G38.2 Z10

UPD

после проделанных операций:

попытался перезагрузить - не грузиться, ошибка.
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

Сообщение Nick »

Романов Семен писал(а): 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
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Датчик 0 оси Z

Сообщение Nick »

А какие там есть варианты на пины ввода, те которые в столбике справа?
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

Re: Датчик 0 оси Z

Сообщение Романов Семен »

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

Re: Датчик 0 оси Z

Сообщение NightV »

на поиск нуля получился такой код
код работает, но может я гдето накосячил.
и еще.... и что мне теперь с ним делать? :hehehe:
думаю может просто в шапку 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

Сообщение Nick »

NightV писал(а):G92 z0 делаем Z в 0 так как g38 работает оказывается только и инкрементальных координатах, зараза крови попил пока я это не понял
Расскажи подробнее! Я этого не знаю :).
NightV писал(а):G92 z0 говорим что здесь был ноль
G91
F200
G01 Z1.5 плавненько приподнимаетмся
Если ты заявил 0 при помощи G92 можно в относительные координаты не переходить. В моем примере я вроде не использовал G92, поэтому нужен был G91.
NightV писал(а):здесь нужно указать что был ноль но с компенсацией (которую пока незнаю, жду подшипники для шпинделей) наверно G10?или просто G92 Z-6 (6 для примера)
Не совсем понимаю зачем? Если просто сделаешь G92 Z0 выставишь 0 для данного инструмента, хотя, если инструментов несколько, то надо действительно использовать g10.
NightV писал(а):G91
G0 Z5
Тоже не совсем понятен переход к относительным координатам.
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Датчик 0 оси Z

Сообщение NightV »

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

Re: Датчик 0 оси Z

Сообщение Nick »

NightV писал(а):ну я как бы в переспективе расказывал... вдруг кроме тебя еще кто прочтет кому это может понадобится
Так я тоже не знаю, расскажи, почему он не работает в абсолютных координатах?
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Датчик 0 оси Z

Сообщение NightV »

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

Re: Датчик 0 оси Z

Сообщение NightV »

получился такой вариант
видать я прошлый раз просто запутался с переключениями координат

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

Сообщение svr007 »

Добрый вечер всем.Сильно не ругайте,вопрос немного не по теме.
Кто нибудь ставил датчик хоум посередине,то есть на концах оси стоят лимиты макс и мин,а посередине хоум в связке с индексом энкодера.Интересует как точно останавливать ось в одной точке,когда ось едет слева на право и с право налево.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Датчик 0 оси Z

Сообщение Nick »

NightV писал(а):теперь куда его деть? нужно чтоб код исполнялся ВСЕГДА при нажатии "Cycle Start", но доверять его чтоб сам вставлялся с помощью Gcodetools в шапку нехочется, лучше если этим будет заниматься сам LinuxCNC, так надежнее
Хмм... надо вставлять в Gкод иначе может не получиться, но для контроля можно сбрасывать какой-нибудь параметр пока эта процедура не выполнена. И написать скриптик, который блокирует выполнение программы.
Хотя, так тоже не выйдет тогда он не сможет программу выполнять...
Нужно сделать кнопку, которая выполняет эту процедуру, тогда со скриптом получится....
svr007 писал(а):Добрый вечер всем.Сильно не ругайте,вопрос немного не по теме.
Кто нибудь ставил датчик хоум посередине,то есть на концах оси стоят лимиты макс и мин,а посередине хоум в связке с индексом энкодера.Интересует как точно останавливать ось в одной точке,когда ось едет слева на право и с право налево.
LinuxCNC едет к хоуму всегда в заданном направлении. Какая задача целиком просто хоум или что-то хитрее?
Кстати, можешь отдельную тему создать ;)
Georg_kai
Кандидат
Сообщения: 53
Зарегистрирован: 26 янв 2012, 11:16
Репутация: 2
Откуда: Новосибирск
Контактная информация:

Re: Датчик 0 оси Z

Сообщение Georg_kai »

Подниму тему....
Сегодня прицеплял на свой станочек датчик 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

В чем может быть проблема?
Вложения
Screenshot.png (4601 просмотр) <a class='original' href='./download/file.php?id=8222&mode=view' target=_blank>Загрузить оригинал (144.41 КБ)</a>
Ответить

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