Страница 1 из 1

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

Добавлено: 12 дек 2025, 10:50
lfgjikjjyj
2025-12-12_144008.png

Энкодер_stm-103CB_v1.0_(Code_-_Professional).ubi
-----------------------------------------------------------------------------------------------------------------------------------------------------
Энкодер_stm-103CB_v1.1_(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 обнуляет таймер.
Step выход сырых данных, если не кратно 4 то есть помехи либо дребезг контактов. (либо скорость энкодера превышает скорость цыкла)
DIR направление вращения

При РА0, РА1 на оставшихся каналах РА3, РА4 ШИМ не работает (можно использовать как вход выход).
При РА15, РВ3 на оставшихся каналах PB10, PB11 ШИМ не работает (можно использовать как вход выход).

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

Добавлено: 12 дек 2025, 19:07
lfgjikjjyj
есть у кого программный энкодер для стм на библиотеке ?

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

Добавлено: 13 дек 2025, 10:51
MM33
После выхода в оси в "ноль" как правило необходимо записать в счетчик положения некое число. Это нужно для того чтобы привязать систему измерения для текущего инструмента к детали. Конечно можно это сваять внешним обвесом, но было бы здорово если бы возможность предустановки была на борту блока