Энкодер

Пользовательские блоки расширяющие базовый функуионал программы по работе с различными датчиками и энкодерами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
asvhmao
Рядовой
Сообщения: 19
Зарегистрирован: 15 мар 2024, 00:10
Откуда: Краснодар
Имя: сергей

Энкодер

Сообщение asvhmao »

aidar_i писал(а): 02 апр 2024, 14:05 Сделал для себя блок энкодера на библиотеке STM32encoder, выложу сюда, чтобы не создавать тему.
Интересный блок. Работает нормально.
Добавил немного описания от себя, прилепил пару выводов на вход (для поиграть). Не хватает выводов ± на выходе, что бы "меню" листать.
А может то что есть со временем допилю, если до "меню" руки дойдут, тоже как вариант с пред загрузками.

[spoiler]
Энкодер.jpg

Выходы:
pos_enc - позиция энкодера (диапазон от -65536 до 65535, счёт идёт постоянно при вращении энкодера)
my_var - значения определенные границами параметра min_var, max_var. (например от 0 до 100, или от -100 до 100)
Short_press - короткое нажатие; (менее 2сек), на выходе короткий импульс.
Long_press - длинное нажатие. (более 2сек), на выходе короткий импульс.
===================================================================
Параметры:
PIN - вывод подключения кнопки энкодера.
Таймер - используемые таймеры STM32(TIM1 - TIM14).
Выводы энкодера для подключения к:
TIM2 - PA0, PA1.
TIM3 - PA6, PA7,
TIM4 - PB6, PB7,
TIM1 - PA8, PA9.
===================================================================
dir(Bytte) - установка значения шага на щелчёк.(например 1)
min_var, max_var - предельные границы выхода my_var. (например 0 и 100 или -100 и 100)
Внимание: обязательно припаять между контактами CLK и GND, DT и GND энкодера конденсаторы 100нф для устранения дребезга.
подключить подтягивающие резисторы на контакты энкодера с "+" питания МК.
Кнопка подключается относительно минуса МК, подтягивающий резистор настроен.
==================================================================================
Входы (часть из них тестовые)
==================================================================================
en_enc - разрешающий работу вход (1-разрешение, 0-запрет)
Set - установка предварительного значения, настроенна на короткое нажатие кнопки. Значение должно быть в пределах min_var, max_var
Reset - установка нулевого значения, настроенно на длиное нажатие кнопки. Значение должно быть в пределах min_var, max_var

[/spoiler]
.
STM32encoder_Plus_help_(Code_-_Basic).ubi
.
Энкодер_001.flp
.
P.s.
Прикрепил "+" и "-" к блоку энкодера. Вроде даже работает.

viewtopic.php?f=231&t=9055&p=130288#p130288
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

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

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

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