Например TDA7294

Форум РадиоКот :: Просмотр темы - Эффективный способ подключения инкрементального энкодера
Форум РадиоКот
https://radiokot.ru/forum/

Эффективный способ подключения инкрементального энкодера
https://radiokot.ru/forum/viewtopic.php?f=61&t=115308
Страница 5 из 5

Автор:  Леонид Иванович [ Ср апр 08, 2015 12:04:09 ]
Заголовок сообщения:  Re: Эффективный способ подключения инкрементального энкодера

akl писал(а):
Из DS на этот энкодер. Встроенные резисторы контроллера такой ток не обеспечивают.


В DS на энкодер Bourns PEC-16 сказано: "Contact Rating - 1 mA @ 5 VDC", что означает максимальный ток контактов. Никаких внешних резисторов не нужно.

akl писал(а):
при обработке лапа контроллера переводится на вывод, подтверждающий пришедший перепад.


Зачем это нужно?

Автор:  akl [ Ср апр 08, 2015 12:09:16 ]
Заголовок сообщения:  Re: Эффективный способ подключения инкрементального энкодера

Контроллер сам себе подтверждает пришедшее состояние. Допустим, энкодер в исходном состоянии. Обе линии разомкнуты. На лапах-входах контроллера - 11. Энкодер начали вращать. Пришел перепад 1->0 по каналу A, контроллер переводит лапу A на вывод 0, блокируя возможную реакцию от дребезга.

Изображение
Вложение:
PEC-16.GIF
Не вижу, что эта характеристика максимальная. Там, где параметры имеют ограничения, об этом указано.

Автор:  balmer [ Ср апр 08, 2015 12:20:21 ]
Заголовок сообщения:  Re: Эффективный способ подключения инкрементального энкодера

akl - может проще не читать состояние контактов какоето время? Перевод ножки микроконтроллера в Output - это сурово, очень сурово.

Я уж не говорю о увеличении потребления при таких номиналах резисторов :kill:

Задумчиво. STM32L на частоте 8 МГц будет потреблять ток 2 мА, что сравнимо с утечкой через один из таких резисторов.

Автор:  Леонид Иванович [ Ср апр 08, 2015 12:27:05 ]
Заголовок сообщения:  Re: Эффективный способ подключения инкрементального энкодера

akl писал(а):
контроллер переводит лапу A на вывод 0, блокируя возможную реакцию от дребезга.


Возможную реакцию на дребезг можно исключить алгоритмически. Для квадратурного энкодера сделать это очень просто, так как за один шаг (с тактильным эффектом) выходные сигналы энкодера меняют последовательно 4 состояния. А дребезг может приводить лишь к смене двух соседних состояний. Ваш вариант схемотехники и алгоритма обработки я воспринимаю как вредный совет.

akl писал(а):
Не вижу, что эта характеристика максимальная. Там, где параметры имеют ограничения, об этом указано.


Как Вы переводите "Contact rating"? Как минимальный ток контактов? Это неправильно.

Автор:  Morroc [ Ср апр 08, 2015 12:28:46 ]
Заголовок сообщения:  Re: Эффективный способ подключения инкрементального энкодера

Может это чтобы прерывание не прилетало от дребезга по этой ноге ?

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

Автор:  Леонид Иванович [ Ср апр 08, 2015 12:31:51 ]
Заголовок сообщения:  Re: Эффективный способ подключения инкрементального энкодера

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

Автор:  Gerik_PP [ Пн июн 06, 2016 01:46:48 ]
Заголовок сообщения:  Re: Эффективный способ подключения инкрементального энкодера

acckyiboxxx писал(а):
...
Итак с теорией работы D-триггера разобрались теперь разберем принцип работы конвертора , для начала изобразим работу энкодера в виде нулей и единиц
№ этапа обработки 1 2 3 4
Состояние пина А 1 1 0 0
Состояние пина С 0 1 1 0
....

Всем доброго дня! Возвращаясь к схеме из 1-го поста, на мой взгляд решение не даёт 100% защиту от дребезга. На 3-м этапе обработки, нет защиты от дребезга на пине А при переходе с "1" на "0". В итоге, при малейшем дребезге даже нового энкодера, триггер «U1.В» получит лог 1 на пин «CLK» и установится :(
Буду решать проблему программно, без триггеров...

Автор:  BOB51 [ Чт июл 14, 2016 10:30:20 ]
Заголовок сообщения:  Re: Эффективный способ подключения инкрементального энкодера

Вариант моего видения предобработчика энкодера
viewtopic.php?p=2808012#p2808012
На одном лишнем ПИКе. С прожкой... (открытый исходник, ассемблер).
:roll:

Страница 5 из 5 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/