Аппаратный энкодер STM32f103CB

Пользовательские блоки расширяющие базовый функуионал программы по работе с различными датчиками и энкодерами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
lfgjikjjyj
Сержант
Сообщения: 257
Зарегистрирован: 27 мар 2025, 12:13
Имя: Коля
Поблагодарили: 37 раз

Аппаратный энкодер STM32f103CB

Сообщение lfgjikjjyj »

2025-12-12_144008.png

Энкодер_stm-103CB_v1.0_(Code_-_Professional).ubi
-----------------------------------------------------------------------------------------------------------------------------------------------------



-----------------------------------------------------------------------------------------------------------------------------------------------------



Используем таймер-2.
Пины по умолчанию PA0, PA1.
Работает в квадратурном режиме измерения. (максимальная точность)
Переход с ...-3,-2,-1,0,1,2,3... происходит без проблем.

На выходе сырые данные, а именно чтение фронтов:
Передний фронт канала A,
Задний фронт канала A,
Передний фронт канала B,
Задний фронт канала B.
Для полный импульс энкодера надо делить на 4.

Буфер по умолчанию имеет диапазон: от -2147483648 до +2147483647.

Энкодер читается на аппаратном уровне без нагрузки на ЦПУ и без прерываний.
Вывод данных зависит от всего кода в целом, а именно от длины цикла, на подсчёт импульсов он не влияет.

Встроенный аппаратный фильтр помех и дребезга контактов имеет 3 уровня делителя, плюс у каждого по 16 вариантов доп. фильтров с предделителями, итого 48 комбинаций.
Можно было и на каждый канал сделать, тогда комбинаций фильтров было бы 768.

Есть переназначение пинов на альтернативные с PA0 и PA1 на PA15 и PB3.

RESET обнуляет таймер.
OUT выход сырых данных, если не кратно 4 то есть помехи либо дребезг контактов. (либо скорость энкодера превышает скорость цыкла)

При РА0, РА1 на оставшихся каналах РА3, РА4 ШИМ не работает (можно использовать как вход выход).
При РА15, РВ3 на оставшихся каналах PB10, PB11 ШИМ не работает (можно использовать как вход выход).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось lfgjikjjyj 12 дек 2025, 20:09, всего редактировалось 5 раз.
lfgjikjjyj
Сержант
Сообщения: 257
Зарегистрирован: 27 мар 2025, 12:13
Имя: Коля
Поблагодарили: 37 раз

Re: Аппаратный энкодер STM32f103CB

Сообщение lfgjikjjyj »

есть у кого программный энкодер для стм на библиотеке ?
Ответить

Вернуться в «Датчики и энкодеры»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость