Страница 5 из 7

Энкодер Pro

Добавлено: 10.09.2021{, 13:57}
Dryundel
Если возникли проблемы с компиляцией Читай пост #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 КБ) 15849 просмотров
Актуальная версия.
.
Энкодер_Pro_V1.5_(Code_-_Professional).ubi
- обновлена библиотека Encoder.h до 1.4.3
- Добавлен псевдо-абсолютный режим работы энкодера.
.
История версий.
.
Энкодер_Pro_V1.4_(Code_-_Professional).ubi
(2.44 МБ) 211 скачиваний
Добавлена возможность ограничения счета вверх и вниз.
.
Энкодер_Pro_V1.3_(Code_-_Professional).ubi
(2.35 МБ) 323 скачивания
- Исправлен конфликт, возникавший при использовании двух и более блоков в проекте. (19.07.2022)
.
Энкодер_Pro_V1.1_(Code_-_Professional).rar
(58.62 КБ) 445 скачиваний
- Добавлен параметр "Дополнительные настройки"
- Оптимизирован алгоритм компиляции
- Исправлена ошибка компиляции при отсутствии выходов Up и Down
.
Энкодер_Pro_V1.0_(Code_-_Professional).rar
(54.07 КБ) 221 скачивание
Данный релиз является бета-версией и будет дорабатываться, хотя и полностью работоспособен.
.
Краткое описание:

Энкодер 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 КБ) 15849 просмотров
.
Настройки:

- 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 КБ) 15849 просмотров
.
- Входы Значение предустановки (VP, VP1, VP2, VP3, VP4) - появляются при установленной настройке "Вход предустановки Preset/PresetAll". При высоком логическом уровне на Preset/PresetAll выходы "Count" примут соответствующее значение.
EncPro_Preset.jpg
EncPro_Preset.jpg (21.23 КБ) 15849 просмотров
.

Энкодер Pro

Добавлено: 17.10.2021{, 17:17}
neangel
Совсем расстроился Dryundel.
Сказки начал сочинять.
Зачем у меня крутой автомобильный осциллограф? … конечно же проверять энкодеры!
Вот такие сюда приходят маразматики и только один Dryundel весь в белом.
И на душе стало легче

Но справедливости ради надо отметить.
У вашего блока для энкодера Dryundel огромная нагрузочная способность.
Практически нет предела.
Гораздо круче чем у блока энкодера от av … (без добавок … чистый блок)

Но из этого надо делать совсем другой вывод.
Не тот который вы любите … av – маразматик … Dryundel - гений.


Но я выбираю блок от av … объясняю почему.
Такой нагрузки которую я специально создал и блок av стал притормаживать.
Не будет даже рядом и на плате не будет лишних деталей.

Практически чистая плата 3 энкодера ЕСП-32 и 4 сопротивления для прошивки.
Красота.
По вай фай хоть 100 дисплеев на них нагружай даже не заметят.

Занимаюсь производством электроники для автомобиля с 2006 года.
И не вам, Dryundel, мне объяснять из чего и как собирать изделие.
Программы я всегда заказываю.
Случайно натолкнулся на флпрог и легко вычеркну эту лишнюю цепочку.
Я уже сэкономил.

Dryundel писал(а):
17.10.2021{, 12:39}
Ему помочь пытались, блоки лично для него делали, объясняли что к чему. Все бестолку. Не в коня корм.
Разве не сказал спасибо?
Дай ка посмотрю … viewtopic.php?f=194&t=7548&start=20
neangel писал(а):
10.10.2021{, 14:39}
Dryundel
Считаю ваш блок (и его описание) готовы для создания его темы на форуме.
:smile9:

За нагрузочную способность вашего блока энкодера ставлю вам пятёрку.
Такую нагрузку которую ему создал я вообще никогда не видел.
А он даже не шелохнулся ... работает чисто ... мог ещё нагрузить но бросил ... уже фантастика.
За мой выбор.
Вам осталось понять разность между необходимостью и достаточностью.
Если бы не лишние сопротивления и конденсаторы я бы выбрал ваш.

Грубиян вы Dryundel.
Если бы не это я бы так не нажимал.

Энкодер Pro

Добавлено: 17.10.2021{, 21:57}
neangel
Здравствуйте av.
av писал(а):
17.10.2021{, 21:41}
Ого..., а это как понимать
Это надо понимать не вырванной фразой .... в начале предложения написано НЕ

Это был ваш пост .... viewtopic.php?f=74&t=6045&sid=ccb627618 ... 1d156bb92f
av писал(а):
17.01.2020{, 15:04}
Управление меню энкодером.flp
download/file.php?id=23840
Рядом с меню стоит блок энкодера у которого входы не заданы программно.
И их можно подтянуть к плюсу.
А впереди блока поставить шумоподавитель на 500 микросекунд вместо конденсатора
А это означает - досвидания сопротивление и конденсатор на самом энкодере.
Всё работает.
Шумы с энкодера пропадают на выходе блока.
Могу доходчиво показать как это выглядит на осциллографе.
Отключая - подключая 500 микросекунд задержки импульса перед входом блока энкодера.
На выходе блока шумы как корова языком их слизывает.

Штатный шумоподавитель на 40 мс не подходит для этого
.

Энкодер Pro

Добавлено: 17.10.2021{, 22:53}
neangel
av писал(а):
17.10.2021{, 22:29}
Повторюсь я никогда не создавал блоков для энкодера !
Мне осталось только согласиться с вами .... автор неизвестен .... и он НЕ маразматик.
С этим нет проблем.
av писал(а):
17.10.2021{, 22:29}
В примере с энкодером присутствует дополнительный блок обработки энкодера.
Искал сам блок энкодера и на это даже не обратил внимания.

Получается что эту обработку на самом энкодере я вставил в программу.
И всё заработало вот так .....
Пока скриншот ....
Осталось дать доступ к самой осциллограмме чтобы изменить масштаб
И под лупой посмотреть на совпадения происходящего по фронтам.

Здесь … https://disk.yandex.ru/d/qPVD9QaXShOCag
Файл exe установит программу.
Это демоверсия файлы просматривать может … сам осциллограф для этого не нужен.
И кино как инструкция как отрыть и на что нажимать для просмотра.
Файл 1 - это сама осциллограмма .... её и надо открыть

И на словах так - когда сразу на двух выходах блока есть импульсы - это и есть шумы энкодера
Импульсы должны быть только на одном канале выхода блока.

Вкл-откл задержка на 500 микросекунд перед входом блока энкодера неизвестного автора.
Энкодер постоянно крутится влево - вправо.
Сопротивлений и конденсаторов на энкодере нет .... пины подтянуты к плюсу программно.
.
2021-10-17_223228.png

Энкодер Pro

Добавлено: 18.10.2021{, 01:14}
ViktorPetrov
neangel писал(а):
17.10.2021{, 22:53}
И на словах так - когда сразу на двух выходах блока есть импульсы - это и есть шумы энкодера
Как Вам не понятно ,есть виртуальный выход блока энкодера и есть физические выходы самого энкодера,если к последнему Вы можете прицепить осциллограф то к блоку нет . И нужно уважать чужой труд , а не наподдать на автора с нападками,вряд ли Вашу писанину назавешь конструктивной критикой.
Вот к примеру не плохая статья и ненужно изобретать велосипед .

Энкодер Pro

Добавлено: 18.10.2021{, 05:46}
neangel
ViktorPetrov писал(а):
18.10.2021{, 01:14}
Как Вам не понятно ,есть виртуальный выход блока энкодера и есть физические выходы самого энкодера,если к последнему Вы можете прицепить осциллограф то к блоку нет . .....
Вашу писанину
Витя Петров.
А как вы за Вашу писанину дослужились до лейтенанта на форуме прости господи программистов?
Да мне не понятно.
За взятки что ли?
ViktorPetrov писал(а):
18.10.2021{, 01:14}
а не наподдать на автора с нападками
Обалдеть крендель.
Ему осциллограмму показали, а он нападает на автора с нападками.
Вместо того чтобы спросить у автора по-человечески.
А как вы получили осциллограмму с виртуального выхода блока?
ViktorPetrov писал(а):
18.10.2021{, 01:14}
Вот к примеру не плохая статья и ненужно изобретать велосипед .
Статья … как изобрести велосипед.

В программе ФЛ-прог заходите в теги.
Там есть колонка назначить физические выходы.
Если вы захотите назначить … нажимаете на строчку … добавить выход.
Программа автоматически предложит вам номера пинов контроллера на которых это можно сделать.

Это будут свободные пины.
Занятые пины на которых вы себе уже напрограммировались она вычеркнет.
Выбираете любой из предложенных программой физических выходов.
И подключаете его к любой виртуальной точке схемы с типом Boolean

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

Итого.
Эта последовательность действий и является тропинкой виртуальной программе вырваться наружу из контроллера.

Эта тропинка не только для осциллографа можно подключить светодиод.
Или любой исполнительный элемент который и исполнит то что Витя Петров себе напрограммировал.

Если Витя Петров этого никогда ещё не делал - не видел итога своей программы снаружи микроконтроллера.
Его ждут великие открытия
ViktorPetrov писал(а):
18.10.2021{, 01:14}
и ненужно изобретать велосипед
Раньше у вас не было велосипеда … а теперь он у вас есть.
Катайтесь.

Энкодер Pro

Добавлено: 18.10.2021{, 09:07}
Dryundel
ViktorPetrov, спокойно. Выдыхаем. Все бесполезно. :D
.
Взвился бывший алкоголик —
Матерщинник и крамольник:
«Надо выпить треугольник!
На троих его! Даёшь!»
Разошёлся — так и сыпет:
«Треугольник будет выпит!
Будь он параллелепипед,
Будь он круг, едрена вошь!»

Он то плакал, то смеялся,
То щетинился как ёж —
Он над нами издевался…
Ну сумасшедший — что возьмёшь!
.
Тут только санитары могут помочь.

Энкодер Pro

Добавлено: 18.10.2021{, 10:47}
MM33
если осцилограф подключать через выхода МК к выводам блока UP/DOWN то результат ожидаем.
Dryundel писал(а):
10.09.2021{, 13:57}
Счетный выход блока Count выдает результат моментально.
Скорость работы импульсных выходов Up и Down зависит от вашей программы.
Блок физически не может выдавать больше одного импульса за два цикла.
Другими словами автор и не гарантировал что на выходах Up и Down сигналы будут генерироваться в такт с тиком энкодера . А врут они или нет можно проверить подключив на них скоростные счетчики и контролировать соответствие тиков энкодера с результатами счета.
Андрей поделился хорошим , рабочим блоком( хотя и увесистым в плане занимаемой памяти) на условиях хочешь бери - хочешь смотри. Спасибо ему за это.
Резать голову быстродействию- программно или аппаратно, выбор каждый сделает сам.
А превращать ветку в место для ругани , это лишнее.

Энкодер Pro

Добавлено: 30.10.2021{, 23:24}
MaksVish
Здравствуйте! Подскажите пожалуйста! Будет ли этот блок работать с оптическим датчиком линейного перемещения головки принтера!? И второй вопрос! Не знаю может не по теме, этот датчик имеет питание 3,3в, как можно его выходные контакты подружить с ардуино!? Или может тему посоветуете? А вижу есть специальные микросхемы...

Энкодер Pro

Добавлено: 04.11.2021{, 19:04}
streloktrbl
Dryundel писал(а):
10.09.2021{, 13:57}
Энкодер Pro (EncPro) это универсальный блок с возможностью настройки.
Все настройки интуитивно понятны и имеют описание и подсказки.

Энкодер Pro

Добавлено: 11.01.2022{, 09:17}
Daimer
Уважаемые этот блок для работы с оптическими энкодерами 1000имп на оборот и на приличной скорости, нужен для обратной связи по угловой позиции, а не для крутилки меню. За что большая благодарность автору. Пишут всякие писуны умники бл. недопанимающие слов нет

Энкодер Pro

Добавлено: 11.01.2022{, 11:14}
neangel
Daimer писал(а):
11.01.2022{, 09:17}
Пишут всякие писуны умники бл. недопанимающие слов нет
администрация если не вы то я из енота сделаю шапку

И если я написал не правду или есть кто слов не понимает.
Сотрите все мои посты.
Пусть еноты живут счастливо в своей тёплой норе ничего не подозревая.

Энкодер Pro

Добавлено: 05.05.2022{, 14:03}
Imran
Dryundel писал(а):
13.09.2021{, 20:17}
Протестировал на ESP32 - ОТЛИЧНО РАБОТАЕТ!
а как пины писать в ESP8266 0 как 0 и.т.д. так ?

Энкодер Pro

Добавлено: 16.06.2022{, 04:59}
Genndy
Подскажите: как внести данный блок в FLProg?

Энкодер Pro

Добавлено: 16.06.2022{, 08:48}
Dryundel
Genndy писал(а):
16.06.2022{, 04:59}
Подскажите: как внести данный блок в FLProg?
viewtopic.php?f=18&t=2189&p=25237&hilit ... %BA#p25236
Пользуйтесь поиском.!

Энкодер Pro

Добавлено: 16.06.2022{, 17:38}
Genndy
Не туда смотрел, :smile427: А вроде трезвый.

Энкодер Pro

Добавлено: 16.06.2022{, 17:44}
Dryundel
Genndy писал(а):
16.06.2022{, 17:38}
Раскрыл архив, а там нет файла с расширением .ubl. И как загрузить? или я не то скачал?
Там есть файл .ubi (новый редактор ПБ)
Какой версией FLProg пользуетесь?

Энкодер Pro

Добавлено: 16.06.2022{, 17:47}
Genndy
Разобрался, спасибо. Версия 738

Энкодер Pro

Добавлено: 18.07.2022{, 22:40}
oskar
Здравствуйте, скажите пожалуйста, предусмотрено ли использование нескольких блоков в одном проекте? У меня возникает баг, как это поправить? Помогите

Энкодер Pro

Добавлено: 19.07.2022{, 12:30}
Dryundel
oskar, да действительно, был конфликт при использовании двух и более блоков в проекте.
Исправлено.
Новая версия Энкодер_Pro_V1.3 в шапке темы.

Энкодер Pro

Добавлено: 19.07.2022{, 17:45}
oskar
Да, вроде заработало! Подскажите а он по умолчанию работает с прерываниями? Дополнительно ничего не надо настраивать, только подключить пины которые поддерживают их и всё?

Отправлено спустя 5 минут 14 секунд:
Вобщем у меня проект на Меге, использую три энкодера ЛИР 158А ( 10000 имп/об) скорость вращения энкодера примерно 1градус / сек , подключены к 2, 3, 18,19,20,21 пинам ( все поддерживают прерывания) при вращении недосчитает примерно 100 импульсов на оборот, не знаю что с этим делать, вроде по заявленным характеристикам (120 КГЦ) должен все четко считать...

Отправлено спустя 3 минуты 57 секунд:
И ещё заметил что при вращении одного энкодера он даёт ложные импульсы на другой счётчик, не пойму в чем дело... При использовании другого блока счётчика их гораздо меньше..

Отправлено спустя 1 минуту 29 секунд:
Скетч самый простой, выход из счётчика сразу в регистр модбаса и всё