Страница 1 из 1

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

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

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

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

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

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

Добавлено: 13.09.2019{, 18:57}
pan
если из всех имеющихся ни один не подошел, будьте добры, расскажите чем Ваш функционал отличается от всех

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

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

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

Добавлено: 04.10.2019{, 09:14}
Sancho
AlikMalik, Чего не работает? Можешь подробно описать чего есть, чего не так, и чего надо?

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

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

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

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

Добавлено: 04.10.2019{, 13:21}
Sancho
AlikMalik, Посмотри в этом пректе

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

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

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

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

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

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

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

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

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

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

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

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

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

Добавлено: 04.10.2019{, 22:29}
Ingwar
Типо этот?
incremental_encoder.pdf
(567.59 КБ) 127 скачиваний
Попробуйте пример из файла.

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

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

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

Добавлено: 05.10.2019{, 08:57}
Sancho
AlikMalik, Или вот, для Вас, пины 2 и 4:

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

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

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

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

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

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

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

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

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

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