1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Энкодер: плавает число импульсов на оборот

Метрология, КИП и датчики
Ответить
Аватара пользователя

Serex
эксперт
эксперт
Сообщения: 2085
Зарегистрирован: 15 авг 2011, 21:36
Имя: Пупков Сергей Викторович
Страна: Россия
город/регион: Москва
Благодарил (а): 134 раза
Поблагодарили: 174 раза

Энкодер: плавает число импульсов на оборот

Сообщение Serex »

keysansa писал(а): 02 мар 2019, 05:33 Отслеживать, обработать переходы через 0 в оба конца и все.
Если сбрасывать счетчик в 0, то переполнений не будет. Диапазон очень велик. Счетчик, может принимать отрицательные значение, зачем обрабатывать переходы через 0? Это дело пользовательской программы - допустимость отрицательных или положительных значений.
Аватара пользователя

Автор темы
Nicolayy
освоился
освоился
Сообщения: 281
Зарегистрирован: 14 фев 2014, 11:55
Имя: Николай
Страна: Россия
Благодарил (а): 9 раз
Поблагодарили: 64 раза

Энкодер: плавает число импульсов на оборот

Сообщение Nicolayy »

keysansa, ну, у меня так и заведена отдельная переменная для текущей позиции, только я изменяю ее не по прерыванию, а в основном цикле, поскольку все действия, связанные с достижением позиции выполняются всё равно в основном цикле программы (собственно, кроме этого там больше ничего и нет).
Насчет смещения нуля - это можно было бы сделать. То, что оператор сбрасывает сам HSC в ноль - это в общем-то ничего страшного, поскольку это происходит только когда станок выключен, т.е. до начала работы, поэтому в процессе работы ни на что не влияет. Да, можно было бы делать смещение нуля, но по факту было бы тоже самое. Благодаря сбросу HSC, никогда не произойдет его переполнения.
keysansa писал(а): 01 мар 2019, 21:02 Я так и не понял, зачем вам 180 000 импульсов. Резец же через 3 оборота двигателя (9 000 импульсов) займет ту же позицию, что и за 6 оборотов двигателя (18 000 имп)
Я имел ввиду, что хотел обезопаситься от переполнения HSC, осуществляя его автоматический сброс во время простоя (когда текущая позиция не менялась более 10 секунд). Т.е. всё, что кратно 9000 было бы отнято от HSC и оставлено только то фактическое количество импульсов, которое прошло после последнего прохода нулевой точки. Т.о. 181000 импульсов, для примера, превратились бы в 1000 импульсов (также как 10000 имп или 19000 имп).
В общем, это не имело никакого смысла, поскольку переполнения всё равно не произойдет.
Ответить

Вернуться в «Метрология, КИП и датчики»