Энкодер Pro

Encoder EncoderPro EncPro

Пользовательские блоки расширяющие базовый функуионал программы по работе с различными датчиками и энкодерами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Энкодер Pro

#1

Сообщение Dryundel » 10.09.2021{, 13:57}

Если возникли проблемы с компиляцией Читай пост #12 (временно)
Энкодер Pro (EncPro)
(AVR, ESP)
.
На самом деле эта тема является логическим продолжением:
Набор блоков ЭНКОДЕР
.
Новый блок EncPro содержит возможности всех ранее представленных блоков вместе взятых.
Полностью переработан алгоритм работы с используемой библиотекой Encoder, благодаря чему повысилась эффективность и надежность работы блока.

ВНИМАНИЕ! Для корректной работы блока, удалите старые библиотеки, такие как Encoder, Encoder-master, Encoder1.4.1. Данный блок работает с последней версией - Encoder1.4.2 Устанавливать ничего не нужно, библиотека вшита в блок.
Пути для удаления (по умолчанию):
1. ...\FLProg\ideV7\libraries
2. ...\FLProg\ideV7\portable\sketchbook\libraries

.
EncPro_1.jpg
EncPro_1.jpg (7.36 КБ) 16084 просмотра
Актуальная версия.
.
Энкодер_Pro_V1.5_(Code_-_Professional).ubi
- обновлена библиотека Encoder.h до 1.4.3
- Добавлен псевдо-абсолютный режим работы энкодера.
.
История версий.
.
Энкодер_Pro_V1.4_(Code_-_Professional).ubi
(2.44 МБ) 218 скачиваний
Добавлена возможность ограничения счета вверх и вниз.
.
Энкодер_Pro_V1.3_(Code_-_Professional).ubi
(2.35 МБ) 325 скачиваний
- Исправлен конфликт, возникавший при использовании двух и более блоков в проекте. (19.07.2022)
.
Энкодер_Pro_V1.1_(Code_-_Professional).rar
(58.62 КБ) 445 скачиваний
- Добавлен параметр "Дополнительные настройки"
- Оптимизирован алгоритм компиляции
- Исправлена ошибка компиляции при отсутствии выходов Up и Down
.
Энкодер_Pro_V1.0_(Code_-_Professional).rar
(54.07 КБ) 222 скачивания
Данный релиз является бета-версией и будет дорабатываться, хотя и полностью работоспособен.
.
Краткое описание:

Энкодер Pro (EncPro) это универсальный блок с возможностью настройки.
Все настройки интуитивно понятны и имеют описание и подсказки.
Благодаря отличному алгоритму библиотеки Encoder (https://github.com/PaulStoffregen/Encoder/releases),
которую я по праву считаю лучшей в своем классе, пропуск шагов практически исключен.
В описании библиотеки гарантирована работа на частоте до 100 кГц - 127 кГц.
Если у вас нормальный, не убитый энкодер, имеющий RC фильтры, то при подключении
сигнальных пинов на пины контроллера, поддерживающие прерывания, качественная работа
блока гарантирована. Если же такой возможности нет, то используйте хотя бы один пин
поддерживающий прерывания. У таких контроллеров как UNO и NANO это D2 и D3.
Счетный выход блока Count выдает результат моментально.
Скорость работы импульсных выходов Up и Down зависит от вашей программы.
Блок физически не может выдавать больше одного импульса за два цикла.
Однако импульсов будет ровно столько, сколько покажет моментальный выход Count,
хотя они могут совершаться с задержкой.

Блок выдает количество шагов, направление и импульсы для каждого шага.

Возможности блока и работа с ним:

Пользовательские настройки блока позволяют настроить блок под свои нужды.
Код генерируемый блоком, включает в себя только включенные функции.
Внешний вид блока, так же не имеет ничего лишнего согласно примененных настроек.

Варианты настройки блока:
EncPro_Варианты.jpg
EncPro_Варианты.jpg (40.03 КБ) 16084 просмотра
.
Настройки:

- Pin1 и Pin2 - выбор пинов контроллера к которым подключены дата-пины энкодера (DT, CLK).
- Тиков на шаг - Количество тиков, выдаваемых энкодером, за один физический шаг(щелчок). Энкодер типа EC-11 ( KY-040) выдает 4 или 2 тика на шаг. Зависит от производителя. Если энкодер не имеет дискретного (ступенчатого) шага, можно ввести количество тиков, кратно которому будет выдаваться один импульс.
- Выходы импульсные Up и Down - это инкрементный и декрементный выходы. При правильно настроенном энкодере,на одном из этих выходов, в зависимости от направления вращения энкодера, появляются импульсы.
Один импульс на один шаг.
- Выход счетчика Count - это числовой выход счетчика импульсов. При вращении в одну стороку значение на нем увеличивается, в другую - уменьшается. Значения могут быть как положительными так и отрицательными. Макс и мин ограничены long ( -2 147 483 648 до 2 147 483 647 ).
- Вход сброса Reset - это вход сброса счетчика. При наличии на нем логической единицы, выход Count принимает значение "0".
- Вход предустановки Preset - это вход предустановки. При наличии на нем логической единицы, выход Count принимает значение со входа VP (Value Preset). Работает только с локальным выходом Count.
Это например, может быть актуально для использования начального значения из EEPROM.
- Количество групп выходов / входов - Блок может иметь несколько счетчиков и групп Up/Down.
Это актуально если с одного энкодера требуется передавать данные на разные блоки (входы блоков).
При использовании более одной группы таких выходов, Reset и Preset работают с активной группой.
Кроме этого можно использовать ResetAll и PresetAll - Общиt сброс и предустановка для всех счетчиков.
- Вход общего сброса ResetAll и Вход общей предустановки PresetAll - эти входы аналогичны Reset и Preset, но действуют на все группы выходов/входов одновременно.
Дополнительные настройки - Настраивается оптипизация прерываний и поднятие рабочей частоты до 127 кГц (только для AVR) или отключаются совсем (актуально если пины с прерыванием не задействованы, уменьшает размер).
Внимание! При оптимизации прерываний, другие прерывания в проекте, если таковые есть, перестанут работать.

- Вход Номер группы(NumGroup) появляется когда количество групп выходов/входов больше одного. В этом случае активной группой будет та, номер которой присутствует на этом входе.

Пример выбора номера активной группы с помощью штатного блока "Шифратор"
EncPro_Выбор группы.jpg
EncPro_Выбор группы.jpg (11.16 КБ) 16084 просмотра
.
- Входы Значение предустановки (VP, VP1, VP2, VP3, VP4) - появляются при установленной настройке "Вход предустановки Preset/PresetAll". При высоком логическом уровне на Preset/PresetAll выходы "Count" примут соответствующее значение.
EncPro_Preset.jpg
EncPro_Preset.jpg (21.23 КБ) 16084 просмотра
.
Последний раз редактировалось Dryundel 20.04.2023{, 11:01}, всего редактировалось 11 раз.

tema
Сержант
Сообщения: 190
Зарегистрирован: 21.09.2020{, 12:31}
Репутация: 8
Имя: tema

Энкодер Pro

#121

Сообщение tema » 25.02.2024{, 16:24}

Уважаемый Dryundel.
А не могли бы Вы сделать етот параметр:
Количество тиков, выдаваемых энкодером, за один физический шаг(щелчок).
входом к блоку
что бы можно было менять на лету.
мне нужно накручивать большие числа. И таким образом можно было бы ускорить набор числа.
спс.

Ответить

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