-
- Да, где так. Нужно в течении какого-то времени ждать повторяющихся
значений (по минимуму - 2 раза подряд, а лучше 3 раза подряд).
Такое событие принимать за истинное значение уровня, а дальше ждать
такого же истинного уровня противоположной "полярности". Т.е. без
счета времени (или без строгой периодичности опросов) здесь не
обойтись, т.к. с помощью прерываний по фронтам невозможно
подсчитывать число повторяющихся значений. - Kceния(30.03.2022 23:44)
- Без таймера программно дребезг не давится никак, можно аппаратно, как Yurasvs gпредложил, но тогда нужен самодельный триггер Шмидта с большим гистерезисом. Или опрашивать таймером в несколько раз быстрее, чем минимальное время перехода и мажоритарка. - Andreas(31.03.2022 09:11)
- Это вам, сударыня, не приходилось клавку опрашивать. - Бapбoc(30.03.2022 23:53)
- Бог миловал :) - Kceния(31.03.2022 00:11)
- А если там биения? Сколько смотреть-то? По мне - если энкодер
дребезжит (или то, что его приводит во вращение), то он (или вся
конструкция в целом) выбран не соответственно задаче. Забарывание
дребезга должно срабатывать раз в тысячу импульсов. Или в миллион
импульсов. Но никак на каждом шаге. - POV(30.03.2022 23:35)
- Так энкодеры бывают разные
голубые красные. Оптические не дребезжат. Видел диск энкодера с кодом Грэя на десять бит? Красивая штучка. Изячная. - Бapбoc(30.03.2022 23:51)- А вот у моего энкодера, если питания на (+) не подавать, а A и B
подпирать только подтяжкой от контроллера (PULL_UP), то шум очень
сильный. Если подать на (+) 3.3V, то шум заметно уменьшается, а
если подать на (+) 5V, то становится совсем редким. Впечатление
такое, что шум возникает из-за плохого контакта, тогда как более
высокое напряжение этот промежуток пробивает. Kceния(1 знак., 31.03.2022 00:22, картинка)
- Если есть проблемы с контактом, имеем смысл поднимать ток вплоть до
10мА. Не имею большой статистики, но полагаю, что не обязательно
большое напряжение, важно, чтобы обеспечивался ток. Nikolay_Po(101 знак., 31.03.2022 12:43)
- Угу, когда паяют перед отмывкой такое бывает. - Andreas(31.03.2022 12:53)
- вы когда нибудь интересовались сопротивлением PULL_UP-ов? ну а это
можно в .... отлить - Впечатление такое, что шум возникает из-за плохого контакта,
тогда как более высокое напряжение этот промежуток пробивает. - m16(31.03.2022 00:31)
- Да, у меня это 30 К. А в энкодере стоят 10 К. - Kceния(31.03.2022 01:15)
- Если есть проблемы с контактом, имеем смысл поднимать ток вплоть до
10мА. Не имею большой статистики, но полагаю, что не обязательно
большое напряжение, важно, чтобы обеспечивался ток. Nikolay_Po(101 знак., 31.03.2022 12:43)
- А вот у моего энкодера, если питания на (+) не подавать, а A и B
подпирать только подтяжкой от контроллера (PULL_UP), то шум очень
сильный. Если подать на (+) 3.3V, то шум заметно уменьшается, а
если подать на (+) 5V, то становится совсем редким. Впечатление
такое, что шум возникает из-за плохого контакта, тогда как более
высокое напряжение этот промежуток пробивает. Kceния(1 знак., 31.03.2022 00:22, картинка)
- Так энкодеры бывают разные
- Да, где так. Нужно в течении какого-то времени ждать повторяющихся
значений (по минимуму - 2 раза подряд, а лучше 3 раза подряд).
Такое событие принимать за истинное значение уровня, а дальше ждать
такого же истинного уровня противоположной "полярности". Т.е. без
счета времени (или без строгой периодичности опросов) здесь не
обойтись, т.к. с помощью прерываний по фронтам невозможно
подсчитывать число повторяющихся значений. - Kceния(30.03.2022 23:44)