Набор блоков ЭНКОДЕР

Пользовательские блоки расширяющие базовый функуионал программы по работе с различными датчиками и энкодерами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 3 раза
Контактная информация:

Набор блоков ЭНКОДЕР

Сообщение Sancho »

[ref]Davit07[/ref], В соответствующем разделе есть ПБ тахометр.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Davit07
Сержант
Сообщения: 175
Зарегистрирован: 05 янв 2020, 03:39
Откуда: Краснодар
Имя: Давит
Благодарил (а): 7 раз

Набор блоков ЭНКОДЕР

Сообщение Davit07 »

av писал(а): 07 июл 2020, 14:33 [ref]Davit07[/ref], когда вставляете код в сообщение используйте для этого соответствующий ВВ код или СПОЙЛЕР.
[spoiler title=ПРИМЕР]Вставка кода.png[/spoiler]
По теме... эти два кода абсолютно одинаковые за исключением переменной счетчика позволяющая считать до определенных значений соответствующее выбранному типу переменной. Но код в любом случае придется дорабатывать под ваши нужды(нет сброса счетчика по определённым промежуткам времени для замера количества оборотов в секунду или минуту)
Буду иметь в виду как правильно отправлять код.
По блоку думал подключить скоростной счётчик и все замеры производить в нем. Блок энкодера просто использовать как генератор импульса.
Подскажите как убрать монитор порта и буду пробовать его создавать .
Благодарю за ответ

Отправлено спустя 31 секунду:
Sancho писал(а): 07 июл 2020, 14:33 [ref]Davit07[/ref], В соответствующем разделе есть ПБ тахометр.
Благодарю , буду искать
Аватара пользователя
Davit07
Сержант
Сообщения: 175
Зарегистрирован: 05 янв 2020, 03:39
Откуда: Краснодар
Имя: Давит
Благодарил (а): 7 раз

Набор блоков ЭНКОДЕР

Сообщение Davit07 »

av писал(а): 07 июл 2020, 20:44
Davit07 писал(а): 07 июл 2020, 19:37 По блоку думал подключить скоростной счётчик и все замеры производить в нем. Блок энкодера просто использовать как генератор импульса.
Как вы это себе представляете ? Код представленный вами работает с пинами внешнего прерывания (для нано пины 2 и 3), а так же на этих пинах работает скоростной счетчик. Уже прослеживается конфликт по пинам. Если использовать другие пины для энкодера, то блок не будет работать корректно так как код как раз использует внешние прерывания на пинах 2 и 3. И стоит вам занять эти пины как скоростной счетчик уже неможет выбрать входные пины для подсчета входных импульсов. Вот такие вот дела.
Да, об этом я не подумал. Согласен с Вами полностью. Код надо дописывать , как Вы писали в предыдущем сообщении и весь тот функционал добавлять, что вы указали. Код я писать не умею. :(. Буду думать, какое другое решение.
[ref=#ff8000]Sancho[/ref], подсказал как поискать на форуме. Есть очень интересные статьи, буду изучать .
Самое главное, что я не первый у кого появился подобный энкодер и давно решение найдено.

[ref]av[/ref], Спасибо за помощь и участие.
Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03 ноя 2018, 19:38
Имя: Дмитрий

Набор блоков ЭНКОДЕР

Сообщение Di123 »

возможно ли сделать блок энкодера 4 версии что бы он был и импульсный и считывающий ?
а то считывающий 3 версии норм когда ставишь лимиты что бы он больше не щитал внутри себя их это когда дошол до лимита и дальше крутишь а он не щитает а убавляешь и он убавляет сразу же
если использовать импульсный допустим в менюшке на выставление значений а потом в нагрузке с прикрученным щетчиком который делает его считывающим то у него проблема в том что в щётчике то я могу установить лимиты на подщёт импульсов а вот энкодер продолжает их щитать когда выходишь за лимит щетчика и когда начинаешь уменьшать крутить обратно то значения неубавляются сразу пока блок энкодера невернётся по импульсам где был лимит у щётчика
допустим лимит у щётчика 100 а энкодер крутанул на 110 и пока эти 10 неотмотаеш щётчик не сдвинется вниз

Отправлено спустя 2 минуты 28 секунд:
да и на входе ему надо будет добавить вход на разделение этих функций
а то получится что пока настраиваешь меню он меняет показания на нагрузке или если блочить нагрузку в этот момент то при выходе из меню он изменит нагрузку на число которое там накрутилось
Аватара пользователя
Dryundel
Полковник
Сообщения: 2405
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Набор блоков ЭНКОДЕР

Сообщение Dryundel »

Di123 писал(а): 11 авг 2020, 10:58 если использовать импульсный допустим в менюшке на выставление значений а потом в нагрузке с прикрученным щетчиком который делает его считывающим то у него проблема в том что в щётчике то я могу установить лимиты на подщёт импульсов а вот энкодер продолжает их щитать когда выходишь за лимит щетчика и когда начинаешь уменьшать крутить обратно то значения неубавляются сразу пока блок энкодера невернётся по импульсам где был лимит у щётчика
допустим лимит у щётчика 100 а энкодер крутанул на 110 и пока эти 10 неотмотаеш щётчик не сдвинется вниз
Проект где?

Отправлено спустя 8 часов 9 минут 32 секунды:
Di123 писал(а): 11 авг 2020, 10:58 да и на входе ему надо будет добавить вход на разделение этих функций
а то получится что пока настраиваешь меню он меняет показания на нагрузке или если блочить нагрузку в этот момент то при выходе из меню он изменит нагрузку на число которое там накрутилось
Слишком специфично. Если реально необходимо - пишите в личку.
Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03 ноя 2018, 19:38
Имя: Дмитрий

Набор блоков ЭНКОДЕР

Сообщение Di123 »

регулятор мощности на энкодере 1602.flp
он ещё на этапе проектирования
но уже при тесте заметны минусы

проблема вашего блока в том что он не выставляет мгновенно импульсы !
тоесть мне нужно выставить от 0 до 100 и вращаю быстро ручку а импульсы постепенно набегают и не знаешь остановится подождать их или ещё повращать и получается перевращаеш допустим до 120 но эти 20 надо потом отматывать назад что бы начать убавлять мощность
а убавить допустим чутка надо и крутишь с осторожностью потомучто не знаешь насколько ты перекрутил ручку
таже ситуация и вниз по лимиту

тут даже достаточно что бы версия блока 1,1 имела внутри себя лимиты которые можно задавать как в 3,1
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2405
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Набор блоков ЭНКОДЕР

Сообщение Dryundel »

Di123 писал(а): 12 авг 2020, 05:07 проблема вашего блока в том что он не выставляет мгновенно импульсы !
тоесть мне нужно выставить от 0 до 100 и вращаю быстро ручку а импульсы постепенно набегают и не знаешь остановится подождать их или ещё повращать
Это не проблема, а преимущество данных блоков тиковых энкодеров. В них заложен алгоритм который предотвращает пропускание импульсов при быстром прокручивании ручки.

А проблема заключается в вашем скетче который перегружает контроллер.

Любой код энкодера, каким бы он ни был, не сможет выдавать тики чаще чем цикл исполнения контроллером вашей программы (скетча) и если Вы визуально видите как выдаются тики после остановки вращения ручки энкодера, значит время затрачиваемое контроллером на один цикл программы весьма велико. А именно таково с какой скоростью идут тики после остановки вращения ручки энкодера. В этом случае алгоритм данного энкодера и догоняет пропущенные тики, которые прошли гораздо быстрее чем циклы вашей программы.
Di123 писал(а): 12 авг 2020, 05:07 тут даже достаточно что бы версия блока 1,1 имела внутри себя лимиты которые можно задавать как в 3,1
Как Вы себе это представляете?
Предлагаете наложить ограничение на количество тиков выдаваемых эткодером? 1.1 это тиковый энкодер, а не считающий!
Не несите чушь!
дрон
Сержант
Сообщения: 116
Зарегистрирован: 09 ноя 2017, 19:25
Откуда: Москва
Имя: Андрей
Поблагодарили: 16 раз

Набор блоков ЭНКОДЕР

Сообщение дрон »

Здравствуйте Dryundel , не могли бы Вы, переделать ваши блоки под ESP32. Уж больно они хороши. На подобии ваших, на просторах форума, ни чего не нашел.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2405
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Набор блоков ЭНКОДЕР

Сообщение Dryundel »

дрон писал(а): 25 авг 2020, 15:51 Здравствуйте Dryundel , не могли бы Вы, переделать ваши блоки под ESP32. Уж больно они хороши. На подобии ваших, на просторах форума, ни чего не нашел.
Блоки сделаны на основе библиотеки Encoder.h , а она не поддерживает данный контроллер. Подробнее про библиотеку здесь.
дрон
Сержант
Сообщения: 116
Зарегистрирован: 09 ноя 2017, 19:25
Откуда: Москва
Имя: Андрей
Поблагодарили: 16 раз

Набор блоков ЭНКОДЕР

Сообщение дрон »

Спасибо, буду искать,что то на подобии ваших. В программировании "CODE" не силен.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Набор блоков ЭНКОДЕР

Сообщение aidar_i »

дрон писал(а): 25 авг 2020, 15:51 переделать ваши блоки под ESP32
Решается очень просто: Скачиваете библиотеку(уже добавлена поддержка ЕСП32) и ставите вместо старой
Выложил ниже
Encoder.rar
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось aidar_i 26 авг 2020, 20:09, всего редактировалось 2 раза.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2405
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Набор блоков ЭНКОДЕР

Сообщение Dryundel »

aidar_i писал(а): 26 авг 2020, 14:37
дрон писал(а): 25 авг 2020, 15:51 переделать ваши блоки под ESP32
Решается очень просто: Скачиваете библиотеку(уже добавлена поддержка ЕСП32) и ставите вместо старой

Выложил ниже
Encoder.rar
Да, действительно. Библиотека обновлялась. Последние изменения на Гитхабе 17 дней назад. :)
Так что теперь там все ок. С ней компилируется и на ESP32. За работу ничего пока сказать не могу.
Будет время перезалью блоки.

Вот свежая библиотека.
.
Encoder-master_26.08.20.zip
.
[ref]дрон[/ref], откройте блок для редактирования, удалите прикрепленную библиотеку и прикрепите новую.

И пожалуйста, отпишитесь по работоспособности блока на ESP32.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Dryundel 26 авг 2020, 23:17, всего редактировалось 1 раз.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Набор блоков ЭНКОДЕР

Сообщение aidar_i »

Удалил
Последний раз редактировалось aidar_i 26 авг 2020, 20:08, всего редактировалось 1 раз.
дрон
Сержант
Сообщения: 116
Зарегистрирован: 09 ноя 2017, 19:25
Откуда: Москва
Имя: Андрей
Поблагодарили: 16 раз

Набор блоков ЭНКОДЕР

Сообщение дрон »

Спасибо, завтра на работе буду пробовать, дома нет энкодера.

Отправлено спустя 27 минут 2 секунды:
Компиляция и загрузка в ESP32 прошла нормально.
дрон
Сержант
Сообщения: 116
Зарегистрирован: 09 ноя 2017, 19:25
Откуда: Москва
Имя: Андрей
Поблагодарили: 16 раз

Набор блоков ЭНКОДЕР

Сообщение дрон »

На ESP32 все работает, единственно пришлось менять подключение ножек на китайском энкодере. Спасибо огромное за помощь.
проверял блоки: PlusPlus v 3.1 и Plus v 3.0.
Еще плюс Ваших энкодеров в том, что они могут работать в одном проекте, по несколько штук.
shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10 янв 2020, 00:26
Имя: Александр

Набор блоков ЭНКОДЕР

Сообщение shura2 »

проверил блоки на ESP8266. запустить не получилось
com порт пишет
load 0x4010f000, len 1392, room 16

tail 0

chksum 0xd0

csum 0xd0

v3d128e5c

~ld
подключение самого энкодера не влияет. библиотеку поставил последнюю
enkoder.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2405
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Набор блоков ЭНКОДЕР

Сообщение Dryundel »

shura2 писал(а): 14 сен 2020, 02:06 проверил блоки на ESP8266. запустить не получилось
com порт пишет
Ну так и разбирайтесь с COM портом. При чем здесь блоки?
ecoins
Полковник
Сообщения: 3992
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 136 раз
Поблагодарили: 148 раз

Набор блоков ЭНКОДЕР

Сообщение ecoins »

shura2 писал(а): 14 сен 2020, 02:06 проверил блоки на ESP8266. запустить не получилось
com порт пишет
Dryundel писал(а): 14 сен 2020, 09:05 Ну так и разбирайтесь с COM портом. При чем здесь блоки?
Блоки скорее всего ни при чем, но на ESP8266 они у #shura не работают, процессор уходит в перезагрузку.
В версии Arduino 1.8.13 используется SDK ESP8266 версии 2.7.1. Предполагаю, что так по иному обрабатываются прерывания.
У меня с библиотекой RT_HW_HC_SR04.h та же проблема - на ESP8266 уходит в перезагрузку (как у #shura), на ESP32 просто не работает.
Пока не разбирался.
shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10 янв 2020, 00:26
Имя: Александр

Набор блоков ЭНКОДЕР

Сообщение shura2 »

Dryundel писал(а): 14 сен 2020, 09:05 Ну так и разбирайтесь с COM портом. При чем здесь блоки?
походу блок вешает еспешку. по крайней мере, если убрать блок энкодера из этого скетча,
enkoder2.png
на экране видна реакция на энкодер и кнопку. а при наличии блока энкодера реакции нет.


На нано блок работает замечательно.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ivansidor012
Лейтенант
Сообщения: 310
Зарегистрирован: 10 сен 2020, 14:37
Имя: Иван
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Набор блоков ЭНКОДЕР

Сообщение ivansidor012 »

ecoins писал(а): 14 сен 2020, 10:08 В версии Arduino 1.8.13 используется SDK ESP8266 версии 2.7.1. Предполагаю, что так по иному обрабатываются прерывания
новое sdk нам всегда приносит больше проблем, чем пользы. То библиотеки не работают, то синтаксис изменился и т.п.
Но по-другому все равно не получится....вон и гугл уже API поднял...

Вот если б ассемблер менял синтаксис каждые полгода - какой бы сейчас мир был? :)
Ответить

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

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

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