G33.1 и непонятки

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

Re: G33.1 и непонятки

Сообщение Nick »

ferror может выскакивать при проскальзывании шкива энкодера.
Serg-tmn писал(а):Но чтобы совсем исключить из рассмотрения передачу от шпинделя к энкодеру, можно временно его попробовать закрепить прямо под шпинделем, зажать вал в патрон и посмотреть, что выйдет.
идея класс :good:
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: G33.1 и непонятки

Сообщение Сергей Саныч »

Nick писал(а):идея класс :good:
А то! :hehehe:
я еще одну могу подкинуть - закрепить энкодер сверху (через хорошую муфту) - все равно пиноль в режиме ЧПУ не используется.

Но дело не в этом. Или не только в этом. Частота дергается. Разброс показаний на скорости около 670 об/мин - порядка 10%.
Смотрим ошибку дискретности.
Частота вращения - примерно 11 об/сек. Энкодер выдает за оборот 500 импульсов. Сервоцикл, предположим, 1 мс. Имеем 5,5 импульсов за сервоцикл. Точнее, то 5, то 6. Имеем разброс 20%!
Если подсчитывать не тупо импульсы, а переходы (их в 4 раза больше), можно получить ошибку 5%. Можно считать переходы только одного выхода энкодера - тогда 10%. Так и так - многовато.
Как конкретно сделано - можно только догадываться.
А можно поставить ФНЧ, как предлагает Lexxa, и посмотреть, что получится.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: G33.1 и непонятки

Сообщение Serg »

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

Re: G33.1 и непонятки

Сообщение Nick »

Serg-tmn писал(а):Если подсчитывать не тупо импульсы, а переходы (их в 4 раза больше), можно получить ошибку 5%. Можно считать переходы только одного выхода энкодера - тогда 10%. Так и так - многовато.
Как конкретно сделано - можно только догадываться.
В стандартном энкодере пишут:
encoder.N.velocity float out
Velocity in scaled units per second. encoder uses an algorithm that greatly reduces quantization noise as compared to simply differentiating the position output. When the magnitude of the true velocity is below min-velocity-estimate, the velocity output is 0.
encoder.N.x4-mode bit i/o
Enables times-4 mode. When true (the default), the counter counts each edge of the quadrature waveform (four counts per full cycle). When false, it only counts once per full cycle. In counter-mode, this parameter is ignored.

Честно говоря, не знаю как это в hostmot2 реализовано, но скорее всего также.

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

Re: G33.1 и непонятки

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

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

Re: G33.1 и непонятки

Сообщение Nick »

О, теперь нашел :)
Ставь к нему lowpass http://linuxcnc.org/docs/html/man/man9/lowpass.9.html
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: G33.1 и непонятки

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

я конечно попробую, но этот лопас только кривульку скорости выровняет, а

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

net spindle-revs           =>  motion.spindle-revs hm2_7i43.0.encoder.00.position
останется кривиньким...
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: G33.1 и непонятки

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

мельком посмотрел tp на предмет нарезания резьбы - там черт ногу сломит :(
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
tokarka63
Мастер
Сообщения: 393
Зарегистрирован: 10 фев 2020, 18:39
Репутация: 13
Настоящее имя: Виталий
Контактная информация:

Re: G33.1 и непонятки

Сообщение tokarka63 »

Приветствую!)
Подниму старую тему, надеюсь никто не обидится за мои вопросы в чужой теме!?)
Никогда раньше не резал станком резьбу метчиком,но возникла необходимость.....
тестовый код
G90 G07 G54
M61 Q7 G43
M03 S200
G00 Z1
G33.1 Z-20 K1.5
G00 Z1
M02
Происходит следующее, запускает шпиндель, подъезжает на Z1, синхронизируется - едет на Z-20, реверсирует шпиндель и едет дальше до Z-35, останавливает шпиндель и встает, на Z1 не едет.
Станок работает на lpt, самодельный энкодер на 36 меток, канал А и Z метка
По G76 резьбу режет нормально
Есть варианты решить проблему?
Спасибо!!!
Аватара пользователя
Maxekb77
Мастер
Сообщения: 1658
Зарегистрирован: 05 окт 2013, 00:04
Репутация: 285
Настоящее имя: Максим
Откуда: Екатеринбург
Контактная информация:

Re: G33.1 и непонятки

Сообщение Maxekb77 »

Отправить на свалку самодельный энкодер.
tokarka63
Мастер
Сообщения: 393
Зарегистрирован: 10 фев 2020, 18:39
Репутация: 13
Настоящее имя: Виталий
Контактная информация:

Re: G33.1 и непонятки

Сообщение tokarka63 »

Maxekb77 писал(а): 15 янв 2021, 22:13 Отправить на свалку самодельный энкодер.
По быстрому не удастся заменить!(
ex71
Мастер
Сообщения: 697
Зарегистрирован: 18 май 2019, 13:23
Репутация: 96
Настоящее имя: Андрей
Контактная информация:

Re: G33.1 и непонятки

Сообщение ex71 »

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

Попробуй все тоже самое сделать с ручным вращением шпинделя. Для этого встраиваешь в разрыв сигнала spindle-at-speed и spindle-on радиокнопки/галочки что угодно. Стартуешь прогу, жмешь паузу, отключаешь шпиндель (spindle-on), активируешь "at-speed", и когда резец дойдет до Z1 начинаешь крутить шпиндель рукой. Если все правильно, то резец поедет после прохождения метки, и ехать будет согласно вращению. Сколько крутишь, столько и едет. Скорость вращения влияет на скорость перемещения. Если крутишь вперед - едет, если назад то не едет. Если повернул назад, то вперед не поедет пока не дойдет до позиции когда ты перестал крутить вперед. Ну то есть координата Z будет привязана к конкретному значению шпинделя.
Для наглядности лучше в hal-meter подключить сигнал энкодера шпинделя - там число увеличивается при вращении вперед, и уменьшается назад. После старта резьбы по индексной метке происходит обнуление значения.
Я думаю что счетчик всегда вперед будет идти. И как следствие вероятно система видит что продолжается закручивание вот и двигает рещец вперед.
tokarka63
Мастер
Сообщения: 393
Зарегистрирован: 10 фев 2020, 18:39
Репутация: 13
Настоящее имя: Виталий
Контактная информация:

Re: G33.1 и непонятки

Сообщение tokarka63 »

Я примерно так и думаю, но ведь команда на реверс прошла и ее никто не отменял.....
Если обозвать канал А каналом В, то должно вообще все перестать работать!? (G76 и G33.1)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: G33.1 и непонятки

Сообщение Serg »

ex71 писал(а): я конечно не эксперт, но мне кажется что один сигнал энкодера никак не может интерпретироваться как правильное вращение шпинделя. Их там два должно быть смещенных между собой.
Для синхронизации шпинделя достаточно одного канала энкодера и индекса - там важна скорость, на направление пофиг. При любом подключении компонент encoder лучше переключить в "counter mode".
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
ex71
Мастер
Сообщения: 697
Зарегистрирован: 18 май 2019, 13:23
Репутация: 96
Настоящее имя: Андрей
Контактная информация:

Re: G33.1 и непонятки

Сообщение ex71 »

tokarka63 писал(а): Если обозвать канал А каналом В, то должно вообще все перестать работать!? (G76 и G33.1)
это вроде не влияет. Там идет два сигнала, которые перекрыты на половину ширины. Так система понимает что если канал А раньше Б идет, значит крутится вперед. А синхрометка лишь для поиска нулевой позиции

А вот как указал Сергей - мне кажется что система должна увидеть обратное вращение. Ну попробуй вручную прогнать - так ты поймешь в какой момент что идет не так.
ex71
Мастер
Сообщения: 697
Зарегистрирован: 18 май 2019, 13:23
Репутация: 96
Настоящее имя: Андрей
Контактная информация:

Re: G33.1 и непонятки

Сообщение ex71 »

Serg писал(а): 16 янв 2021, 00:12
ex71 писал(а): я конечно не эксперт, но мне кажется что один сигнал энкодера никак не может интерпретироваться как правильное вращение шпинделя. Их там два должно быть смещенных между собой.
Для синхронизации шпинделя достаточно одного канала энкодера и индекса - там важна скорость, на направление пофиг. При любом подключении компонент encoder лучше переключить в "counter mode".
https://www.forum.linuxcnc.org/24-hal-c ... rly#187318
и это далеко не в 1 теме описано и даже Andy про это писал, в 2013 году аж.

Еще утверждают, что скорость разгона и торможения шпинделя может влиять
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: G33.1 и непонятки

Сообщение Сергей Саныч »

А синхронизация и G0 вообще-то совместимы? я просто не в курсе, а сайт linuxcnc.org почему-то не работает.
Ну и непонятно, как одноканальный энкодер будет работать при реверсе и учитывать выбег по инерции.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Maxekb77
Мастер
Сообщения: 1658
Зарегистрирован: 05 окт 2013, 00:04
Репутация: 285
Настоящее имя: Максим
Откуда: Екатеринбург
Контактная информация:

Re: G33.1 и непонятки

Сообщение Maxekb77 »

Сергей Саныч писал(а): А синхронизация и G0 вообще-то совместимы? я просто не в курсе, а сайт linuxcnc.org почему-то не работает.
Нет, но скоро станет известно по сломанному метчику.
alex_sar
Мастер
Сообщения: 1672
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 278
Настоящее имя: Алексей
Контактная информация:

Re: G33.1 и непонятки

Сообщение alex_sar »

Сергей Саныч писал(а): Ну и непонятно, как одноканальный энкодер будет работать при реверсе и учитывать выбег по инерции.
да не будет конечно работать. нужен нормальный энкодер обязательно
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: G33.1 и непонятки

Сообщение Serg »

ex71 писал(а): и это далеко не в 1 теме описано и даже Andy про это писал, в 2013 году аж.
Да, тут я попутал с одним своим случаем: использовался только один канал в виде самодельного диска с отверстиями, а "учёт реверса" делался отдельно в HAL, в соотв. с заданием на шпиндель.
ex71 писал(а): Еще утверждают, что скорость разгона и торможения шпинделя может влиять
Это в УП можно учесть.
Но всё таки проще использовать для метчика специальный патрон с регулируемым усилием, принцип как у шуруповёртов.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

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