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

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

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

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

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

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

Добавлено: 04 окт 2019, 09:14
Sancho
[ref]AlikMalik[/ref], Чего не работает? Можешь подробно описать чего есть, чего не так, и чего надо?

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

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

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

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

Добавлено: 04 окт 2019, 13:29
Sancho
[ref]AlikMalik[/ref], Посмотри в этом пректе

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

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

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

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

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

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

Добавлено: 04 окт 2019, 21:24
AlikMalik
Sancho писал(а): 04 окт 2019, 13:29 [ref]AlikMalik[/ref], Посмотри в этом пректе

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

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

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

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

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

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

Добавлено: 04 окт 2019, 22:29
Ingwar
Типо этот?
incremental_encoder.pdf
Попробуйте пример из файла.

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

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

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

Добавлено: 05 окт 2019, 08:57
Sancho
[ref]AlikMalik[/ref], Или вот, для Вас, пины 2 и 4:

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

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

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

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

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

Добавлено: 05 окт 2019, 09:49
Sancho
[ref]AlikMalik[/ref], Смотри ЛС(личные сообщения)

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

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

Добавлено: 05 окт 2019, 13:18
AlikMalik
Sancho писал(а): 05 окт 2019, 09:49 [ref]AlikMalik[/ref], Смотри ЛС(личные сообщения)

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