Ручное выставление начал осей

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
pyaterok
Новичок
Сообщения: 35
Зарегистрирован: 23 июн 2012, 14:02
Репутация: 2
Контактная информация:

Ручное выставление начал осей

Сообщение pyaterok »

Здравствуйте!
Из FAQ по EMC:
Если концевиков нет, начала оси можно выставлять вручную.
Подскажите, пожалуйста, как это можно сделать?
Спасибо!
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: Ручное выставление начал осей

Сообщение aftaev »

по нулю заготовки если при обработке не срезались
по упорам на станке если есть
вообще можно работать без концевиков указывая ноль заготовки
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
pyaterok
Новичок
Сообщения: 35
Зарегистрирован: 23 июн 2012, 14:02
Репутация: 2
Контактная информация:

Re: Ручное выставление начал осей

Сообщение pyaterok »

В общем концевики то есть, но вот в чем дело: управляющая программа разбита на 2 части - черновая и чистовая. После как черновая отработает, станок остановится в относительной позиции {10; 10; 10} (относительно нуля заготовки) и какой-то абсолютной (относительно нулей осей), эти координаты я запишу, а после нужно выключить компьютер на какое-то время. После как включу снова, мне нужно запустить чистовую обработку, но перед этим нужно будет искать home позиции по каждой оси (но у меня используются неточные конечные выключатели и координата, которая была допустим при прошлом обнулении - 0.5, то при новом обнулении может быть 0.55, например), хочется начать из той же позиции с теми же координатами на которой закончилась обработка черновой, и причем чтобы абсолютные координаты (т.е. относительно home датчиков) тоже сохранились, т.к. еще используется probekins модуль для компенсации неровнойстей, а он рассчитывает величину компенсации исходя из текущей абсолютной координаты.
Спасибо!
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: Ручное выставление начал осей

Сообщение aftaev »

pyaterok писал(а): а после нужно выключить компьютер на какое-то время.
а зачем выключать?
pyaterok писал(а): которая была допустим при прошлом обнулении - 0.5,
поставить путные хомяки?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
pyaterok
Новичок
Сообщения: 35
Зарегистрирован: 23 июн 2012, 14:02
Репутация: 2
Контактная информация:

Re: Ручное выставление начал осей

Сообщение pyaterok »

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

Re: Ручное выставление начал осей

Сообщение Nick »

Можно перед поиском 0 запомнить axis.n.motor-pos-cmd, и сравнить его с joint-pos-cmd для каждой оси до и после хоуминга.

Ну или в ini написать NO_FORCE_HOMING = 1 в разделе [TRAJ]
pyaterok
Новичок
Сообщения: 35
Зарегистрирован: 23 июн 2012, 14:02
Репутация: 2
Контактная информация:

Re: Ручное выставление начал осей

Сообщение pyaterok »

Nick писал(а):Можно перед поиском 0 запомнить axis.n.motor-pos-cmd, и сравнить его с joint-pos-cmd для каждой оси до и после хоуминга.

Ну или в ini написать NO_FORCE_HOMING = 1 в разделе [TRAJ]
Вот насчет первого варианта не разумею как и что сделать.. Где можно посмотреть и изменить значения этих параметров?
А по второму методу: если перед запуском emc для чистовой обработки задать NO_FORCE_HOMING = 1, то как установить абсолютные координаты осей с прошлого сеанса?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Ручное выставление начал осей

Сообщение Nick »

pyaterok писал(а): то как установить абсолютные координаты осей с прошлого сеанса?
По идее он может их и запомнить... Особенно если правильно файл var настроен.
Или G92...

По первому способу посмотреть можно в hal Meter или HAL show, в меню или в консоле halcmd show | grep pos-cmd.
Суть вот в чем, в одной переменной значение до и после хоуминга не изменится (motor-pos), во второй изменится - из этого можно найти нужные координаты.
pyaterok
Новичок
Сообщения: 35
Зарегистрирован: 23 июн 2012, 14:02
Репутация: 2
Контактная информация:

Re: Ручное выставление начал осей

Сообщение pyaterok »

Спасибо!
Хорошо бы, если б запомнил..
А G92 это же относительную позицию задает? А мне нужно абсолютную (относительно начал осей, а не заготовки).
Там же в hal Meter или HAL show можно их и изменить да? Т.е. мне нужно перед выключением запомнить значения для axis.N.motor-pos-cmd и затем после включения изменить эти значения на те, что запомнил?
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: Ручное выставление начал осей

Сообщение Алексс »

отключить в конфиге хомы
перед началом работы захомить станок в ручную - выбрать каждую ось и нажать home.
настроить все как надо и потом прогнать первую часть программы

перед выключением дать команду g0x0y0z0 - станок уедет в позицию нуля.

все выключаем. корректно! тоесть нужно в линуксе нажать выкл. комп.

идем спать или куда там.

вторая часть.
точно также как первая, только хомить станок ничего не двигая.
можно продолжать работать.

PS: рекомендую провести эксперимент и проверить что все работает как надо.
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
pyaterok
Новичок
Сообщения: 35
Зарегистрирован: 23 июн 2012, 14:02
Репутация: 2
Контактная информация:

Re: Ручное выставление начал осей

Сообщение pyaterok »

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

Re: Ручное выставление начал осей

Сообщение Nick »

pyaterok писал(а):Там же в hal Meter или HAL show можно их и изменить да?
Изменить - нет. Надо запомнить, чтобы потом правильно ввести коррекцию.

G92 X0 Y0 Z0 делает отступ на столько, чтобы текущие координаты стали 0,0,0..

Чтобы сделать наоборот - выставить отступы заданными значениями используются настраиваемые системы координат:
Например можно настроить текущую систему через G10 L2 P0 X10 Y20 Z30
http://linuxcnc.org/docs/html/gcode/gco ... ec:G10-L2_

PS Алексс правильно сказал, лучше станок "паркуй" всегда в 0.
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: Ручное выставление начал осей

Сообщение Алексс »

Nick писал(а):Алексс правильно сказал
я чуть чуть ошибся. сначала написал правильно, потом исправил на неправильно
Алексс писал(а):перед выключением дать команду g0x0y0z0 - станок уедет в позицию нуля.
нужно сделать G53G0X0Y0Z0.
выключить станок.

при включении ничего не двигать, захомить оси.
все.
G0X0Y0Z0 переведет станок в начало координат, где оно было задано в первом шаге.

PS: лучше конечно хомы сделать точные. очень жизнь упростится.
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: Ручное выставление начал осей

Сообщение pkasy »

а разве нет ручного ввода координат?
я удивлен.
на пенорезке постоянно пользуюсь этим. ввожу в ручную координаты.
Алексс писал(а):очень жизнь упростится.
упрощается.
на пенорезке смысла в хомах нет вообще, то есть нет совсем практического применения.
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: Ручное выставление начал осей

Сообщение Алексс »

pkasy писал(а):а разве нет ручного ввода координат?
конечно есть.
например g10l20p1x0y0 обозначит текущую позицию в пространстве g54 как 0,0. тоже самое если end нажать для каждой оси и ввести ноль.
возможно этого хватит.
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
pkasy
Мастер
Сообщения: 1139
Зарегистрирован: 15 мар 2013, 09:39
Репутация: 45
Откуда: Владивосток

Re: Ручное выставление начал осей

Сообщение pkasy »

Алексс писал(а):если end нажать
да, это есть. спасибо.
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: Ручное выставление начал осей

Сообщение Тима »

pyaterok писал(а):В общем концевики то есть, но вот в чем дело: управляющая программа разбита на 2 части - черновая и чистовая. После как черновая отработает, станок остановится в относительной позиции {10; 10; 10} (относительно нуля заготовки) и какой-то абсолютной (относительно нулей осей), эти координаты я запишу, а после нужно выключить компьютер на какое-то время. После как включу снова, мне нужно запустить чистовую обработку, но перед этим нужно будет искать home позиции по каждой оси (но у меня используются неточные конечные выключатели и координата, которая была допустим при прошлом обнулении - 0.5, то при новом обнулении может быть 0.55, например), хочется начать из той же позиции с теми же координатами на которой закончилась обработка черновой, и причем чтобы абсолютные координаты (т.е. относительно home датчиков) тоже сохранились, т.к. еще используется probekins модуль для компенсации неровнойстей, а он рассчитывает величину компенсации исходя из текущей абсолютной координаты.
Спасибо!
А если, перед выключением оставить станок в позиции {10.10.10}, выключить комп, после включения отключаем питание драйверов, хоумим все оси и даем команду станку ехать в позицию {10.10.10}, после чего включаем питание драйверов! Я во время своих проб несколько раз так делал. :eat:
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
pyaterok
Новичок
Сообщения: 35
Зарегистрирован: 23 июн 2012, 14:02
Репутация: 2
Контактная информация:

Re: Ручное выставление начал осей

Сообщение pyaterok »

В общем не пришлось мне воспользоваться ни одним из предложенных методов, - заготовка испакулилась - патрон раскрутился яким-то образом и фреза вылезла и заготовку насквозь вместе со столом станка профрезеровала :freak: (затягивал вроде нормально, фрезер бытовой, может с цангой чего-то, протерлась может).

Но на будущее хотел бы кое-что прояснить:
Алексс писал(а):отключить в конфиге хомы. перед началом работы захомить станок в ручную - выбрать каждую ось и нажать home.
вторая часть: точно также как первая, только хомить станок ничего не двигая.
Подскажите, пожалуйста, где нажать home и как захоумить ничего не двигая? Там где-то появляется кнопка программного обнуления после отключения хоумов в конфиге?
Алексс писал(а):например g10l20p1x0y0 обозначит текущую позицию в пространстве g54 как 0,0. тоже самое если end нажать для каждой оси и ввести ноль.
Т.е. при отключенных хоумах в конфиге достаточно задать g10l20p1x0y0Z0 и текущая позиция станет домашней (т.е. абсолютные координаты станут 0)?
Тима писал(а):А если, перед выключением оставить станок в позиции {10.10.10}, выключить комп, после включения отключаем питание драйверов, хоумим все оси и даем команду станку ехать в позицию {10.10.10}, после чего включаем питание драйверов! Я во время своих проб несколько раз так делал. :eat:
Оригинальное решение! Вот только драйвера у меня на плате контроллера, т.е. конечники не будут фурычить, если отрубить питание контроллера.. А можно ли как-нибудь программно нажать концевики в данном случае?

Большое спасибо!
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: Ручное выставление начал осей

Сообщение Тима »

pyaterok писал(а):конечники не будут фурычить, если отрубить питание контроллера..
а причем тут конечники? отключи вообще контроллер. Тебе надо комп выставить на позицию (10.10.10), станок итак в этой позиции. При включении компа(при выключенном контроллере), жамкаешь кнопку "определить как 0" по всем осям. потом пишешь команду ехать в (10.10.10), "программно доехав" до этой позиции включаешь контроллер! Это не прокатит если есть обратная связь по осям типа энкодера, линейки итд.
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
pyaterok
Новичок
Сообщения: 35
Зарегистрирован: 23 июн 2012, 14:02
Репутация: 2
Контактная информация:

Re: Ручное выставление начал осей

Сообщение pyaterok »

Тима писал(а):При включении компа(при выключенном контроллере), жамкаешь кнопку "определить как 0" по всем осям.
"определить как 0" - вы имеете ввиду кнопку "Home"? Тогда, как понимаю, станок программно поедет в отрицательную сторону в поиска датчика home, и будет шагать до бесконечности, т.к. датчик home физически не нажмется. Если бы конечники работали, то их в этом случае можно было бы рукой нажимать
Ответить

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