ЛИР-7М — уход положения референтной метки

Модератор: Денис Кашин

Ответить
Dmitry
Сообщения: 1
Зарегистрирован: 30 янв 2019, 10:48

ЛИР-7М — уход положения референтной метки

Сообщение Dmitry » 30 янв 2019, 13:44

Инкрементный преобразователь ЛИР-7М, выходной сигнал прямоугольный импульсный, дискретность 0,1мм, диапазон перемещения 120мм, 2 референтные метки.
Выходные сигналы A/B подаются на вход таймера микроконтроллера STM32F051R8T6. Таймер работает в режиме энкодера. Используется только одна из линий каждого дифференциального сигнала (несимметричный вход). Выходной сигнал R подаётся на вход другого таймера для фильтрации коротких ложных импульсов. По прерыванию от фронта фильтрованного сигнала записывается текущее значение счётчика энкодера.
Положение референтной метки по записанному значению счётчика периодически смещается на 3 дискреты или кратно всегда в большую сторону, при последующих прохождениях референтной метки положение остаётся смещённым или смещается далее. Такое поведение не должно быть проявлением помех или пропуска импульсов, так как тогда значение изменялось бы кратно 4-м дискретам с равной вероятностью в обе стороны. Счётчик энкодера инициализируется и более программно не меняется.

Денис Кашин
СКБИС
СКБИС
Сообщения: 233
Зарегистрирован: 13 фев 2008, 14:38
Контактная информация:

Re: ЛИР-7М — уход положения референтной метки

Сообщение Денис Кашин » 30 янв 2019, 17:18

Здравствуйте,
при приходе сигнала референтной метки важно анализировать состояние сигналов А и B, они должны быть в 1.
Так же фильтр дребезга даёт некоторую задержку сигнала. Важно ставить одинаковые фильтры по всем трём линиям.
Попробуйте считать расстояние между референтными метками, проходя через одну из меток. Результатом должен быть 0.

Если коротко - при ширине референтной метки больше 1 дискреты она может попасть на предыдущую и последующую дискреты. Тогда при движении вперёд захлопывается значение счётчика, равное координата-1, а при движении назад (подход к метке с другой стороны) координата +1. Это может дать 3 дискреты разницы (-1, 0, +1).

Ответить