Блок энкодера

Блок основан на библиотеке Alex Gyver

Пользовательские блоки расширяющие базовый функуионал программы по работе с различными датчиками и энкодерами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
kay999
Рядовой
Сообщения: 1
Зарегистрирован: 16.07.2019{, 16:08}
Репутация: 2
Имя: Артем

Блок энкодера

#1

Сообщение kay999 » 13.09.2019{, 13:29}

Всем доброго времени суток, очень долго искал на форуме блок для своего энкодера, но так и не нашел такого который бы мне подошел и сделал сам, возможно кому пригодиться. Основан на библиотеки блогера Alex Gyver.

Энкодер который у меня
Изображение

Энкодер который должен поддерживать (так же ему подобные китайские)
Изображение

Типы энкодеров которые настраиваються в блоке
Изображение
EncAlexGyver_(CODE).ubi
(200.85 КБ) 419 скачиваний
Сама библиотека на всякий случай
GyverEncoder.zip
(29.3 КБ) 279 скачиваний

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Блок энкодера

#2

Сообщение pan » 13.09.2019{, 18:57}

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

AlikMalik
Рядовой
Сообщения: 19
Зарегистрирован: 15.04.2018{, 20:55}
Репутация: 1
Имя: Алик

Блок энкодера

#3

Сообщение AlikMalik » 03.10.2019{, 23:21}

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

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Блок энкодера

#4

Сообщение Sancho » 04.10.2019{, 09:14}

AlikMalik, Чего не работает? Можешь подробно описать чего есть, чего не так, и чего надо?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

AlikMalik
Рядовой
Сообщения: 19
Зарегистрирован: 15.04.2018{, 20:55}
Репутация: 1
Имя: Алик

Блок энкодера

#5

Сообщение AlikMalik » 04.10.2019{, 13:14}

Да, могу.
Нужно: энкодер крутит вправо - счёт идёт в плюс, энкодер крутит влево - счёт идет в минус. На крайняк чтобы в одну сторону хотя бы считал. А все пользовательские блоки работают примерно со следующим алгоритмом: крутишь в одну сторону - счёт идёт в эту сторону (ну то есть сигнал выходит с выхода + например), но при этом и на другом выходе присутствуют паразитные сигналы, с меньшей частотой, причём с неритмичной, а хаотичной. Да и в нужную сторону тоже считается с погрешностью, на 100-150 оборотов набегает погрешность градусов 5-10, тоже бессистемно, думаю, в зависимости от скорости вращения. Нужен чёткий счётчик: крутится в плюс - значит считает только на плюсе, и наоборот. И без погрешностей ощутимых. Потребная скорость 20-30 об/мин, энкодер 100 шагов на круг.

P/S Пробовал создавать свои блоки, вроде, на бумаге всю логику правильно рассчитываю, а в реале не работает, вернее работает в обе стороны на каждый вывод: кручу туда-сюда, а сигналы с обоих направлений идут на плюс.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Блок энкодера

#6

Сообщение Sancho » 04.10.2019{, 13:21}

AlikMalik, Посмотри в этом пректе

Отправлено спустя 7 минут 34 секунды:
И добавь по входам ёмкости - 3n3...6n8 и внешние резисторы 4к7...6к8
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Блок энкодера

#7

Сообщение Dryundel » 04.10.2019{, 20:06}

Sancho писал(а):
04.10.2019{, 13:29}
И добавь по входам ёмкости - 3n3...6n8 и внешние резисторы 4к7...6к8
А надо ли оно? У человека оптоэнкодер. Ну резоками подтянуть может и стоит, а кондеры то накой?
AlikMalik, что считаем? Обороты в минуту или угол поворота? Какой энкодер? Какой контроллер? Какая схема подключения?

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Блок энкодера

#8

Сообщение Sancho » 04.10.2019{, 20:51}

Dryundel писал(а):
04.10.2019{, 20:06}
У человека оптоэнкодер
Не прочитал. Ибо нет. В противном случае энкодер, старые ПБ от Алексея, работали бы изначально. Хотя недомолвок хватает.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

AlikMalik
Рядовой
Сообщения: 19
Зарегистрирован: 15.04.2018{, 20:55}
Репутация: 1
Имя: Алик

Блок энкодера

#9

Сообщение AlikMalik » 04.10.2019{, 21:24}

Sancho писал(а):
04.10.2019{, 13:29}
AlikMalik, Посмотри в этом пректе

Отправлено спустя 7 минут 34 секунды:
И добавь по входам ёмкости - 3n3...6n8 и внешние резисторы 4к7...6к8
Да, посмотрел. Нихрена не понял. Куда входы цеплять и откуда сигнал брать...

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Блок энкодера

#10

Сообщение Ingwar » 04.10.2019{, 21:46}

AlikMalik писал(а):
04.10.2019{, 21:24}
Да, посмотрел. Нихрена не понял. Куда входы цеплять и откуда сигнал брать...
Впрочем как и все - какой энкодер, какой у него алгоритм/выводы и т. д....
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

AlikMalik
Рядовой
Сообщения: 19
Зарегистрирован: 15.04.2018{, 20:55}
Репутация: 1
Имя: Алик

Блок энкодера

#11

Сообщение AlikMalik » 04.10.2019{, 22:20}

Dryundel писал(а):
04.10.2019{, 20:06}
Sancho писал(а):
04.10.2019{, 13:29}
И добавь по входам ёмкости - 3n3...6n8 и внешние резисторы 4к7...6к8
А надо ли оно? У человека оптоэнкодер. Ну резоками подтянуть может и стоит, а кондеры то накой?
AlikMalik, что считаем? Обороты в минуту или угол поворота? Какой энкодер? Какой контроллер? Какая схема подключения?
Угол поворота. Ну если точнее, то длину проката. Схема простейшая: энкодер-счётчик-устройство вывода (табло). Энкодер китайский оптический типа такого: LPD3806 на 100 шагов/об. По большому счёту достаточно хотя бы точного подсчета импульсов в одну сторону. Если будет считать и туда и сюда, то ещё лучше

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Блок энкодера

#12

Сообщение Ingwar » 04.10.2019{, 22:29}

Типо этот?
incremental_encoder.pdf
(567.59 КБ) 127 скачиваний
Попробуйте пример из файла.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Блок энкодера

#13

Сообщение Dryundel » 05.10.2019{, 00:40}

AlikMalik писал(а):
04.10.2019{, 22:20}
Если будет считать и туда и сюда, то ещё лучше
Эти блоки пробовали на пинах с прерываниями?

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Блок энкодера

#14

Сообщение Sancho » 05.10.2019{, 08:57}

AlikMalik, Или вот, для Вас, пины 2 и 4:
Вложения
Энкодер v04.flp
(39.47 КБ) 129 скачиваний
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

AlikMalik
Рядовой
Сообщения: 19
Зарегистрирован: 15.04.2018{, 20:55}
Репутация: 1
Имя: Алик

Блок энкодера

#15

Сообщение AlikMalik » 05.10.2019{, 09:01}

Ingwar писал(а):
04.10.2019{, 22:29}
Типо этот?
incremental_encoder.pdf
Попробуйте пример из файла.
Спасибо, добрый человек, что не послал сразу....
Мой уровень таков, что я даже при написании программы блоками (в FLProg) сижу рисую на листочке схемы состояний с единицами-нулями, чтоб понять как оно будет на выходе. Скеч я засунуть точно не сумею. Даже не представляю, с какой стороны к нему подобраться.

А так, да, всё верно, такой же энкодер

Отправлено спустя 14 минут 23 секунды:
Sancho писал(а):
05.10.2019{, 08:57}
AlikMalik, Или вот, для Вас, пины 2 и 4:
Намекните, пожалуйста, как его в схему вкорячить? Не пойму как туда сигнал заходит и как выходит? Давайте прикреплю схему простейшего проекта для проверки энкодера, чтоб Вы мне помогли туда его интегрировать, а дальше я уже сам добью.
Вложения
Проверка энкодера.flp
(266.54 КБ) 92 скачивания

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Блок энкодера

#16

Сообщение Sancho » 05.10.2019{, 09:22}

AlikMalik, Смотри ЛС(личные сообщения)

Отправлено спустя 27 минут 26 секунд:
AlikMalik писал(а):
04.10.2019{, 22:20}
Схема простейшая: энкодер-счётчик-устройство вывода (табло).
Вот без табло, но отправляет в монитор порта. Для теста достаточно.
if( Дисплей есть? ) какой?;
else жаль;
Вложения
Проверка энкодера v01_UART_115200.flp
(71.85 КБ) 105 скачиваний
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

AlikMalik
Рядовой
Сообщения: 19
Зарегистрирован: 15.04.2018{, 20:55}
Репутация: 1
Имя: Алик

Блок энкодера

#17

Сообщение AlikMalik » 05.10.2019{, 13:18}

Sancho писал(а):
05.10.2019{, 09:49}
AlikMalik, Смотри ЛС(личные сообщения)

Отправлено спустя 27 минут 26 секунд:
AlikMalik писал(а):
04.10.2019{, 22:20}
Схема простейшая: энкодер-счётчик-устройство вывода (табло).
Вот без табло, но отправляет в монитор порта. Для теста достаточно.
if( Дисплей есть? ) какой?;
else жаль;
Дисплей - обычный семисегментный четырёхзначный.
Спасибо, попробую проверить

Ответить

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