Свежие обсуждения
Микроконтроллеры

Еще раз про дребезг при нажатия кнопки

1 5

Интересует следующее. Каково самое короткое время нажатия на кнопку? Т. е чисто физически, если я задамся целью осуществить, как можно более кратковременное нажатие, какое время кнопка будет находиться в нажатом состоянии? Однозначного ответа я не нашел. Приводимые в разных источниках цифры колеблятся в диапазоне от 50 до 200 мс.

Каково время реального дребезга у стандартной кнопки (названия разные, в зависимости от фирмы), ну у той, которая примерно 6х6мм и имеет 4 контакта для установки на плату?

Нужно четко отслеживать любое, даже самое кратковременное (физически реализуемое) нажатие. Визуального контроля нет. Боюсь "переборщить" с временем обработки дребезга (антидребезг).

Ссылок прошу не давать. Прошу прощения за очепятку в названии темы.

 

Я так понимаю, что если мы обнаружили, что кнопка нажата, то это надо сразу фиксировать и обрабатывать. Далее ждём некоторое заданное время (период опроса, например 50мс) и снова проверяем. Если контакты остались замкнутыми, то считаем, что кнопка не отпускалась и так до тех пор пока не обнаружим отпускание кнопки.

Zandy: Приводимые в разных источниках цифры колеблятся в диапазоне от 50 до 200 мс
Это, видимо, связывают с временем реакции человека, что примерно и составляет 0,1-0,2 с.

 

По поводу механизмов обработки, существует много разных вариантов и тут я не предлагаю их обсуждать. Интересуют лишь конкретные времена, ну те, которые я так нудно описывал в первом посте.

 

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

 

Ну не про алгоритмы речь. Цифры интересуют.

 

Zandy: Интересует следующее. Каково самое короткое время нажатия на кнопку? Т. е чисто физически, если я задамся целью осуществить, как можно более кратковременное нажатие, какое время кнопка будет находиться в нажатом состоянии?
Тут, ИМХО, все здОрово зависит от конструкции -частоты свободных колебаний, самой кнопки. Ну а способности человека в этом деле требуют дополнительных исследований (на уровне книги Гиннеса).

Zandy: если я задамся целью осуществить, как можно более кратковременное нажатие
Вы, наверное, хотели сказать не "осуществить", а зафиксировать? Иначе задача перестаёт быть технической.

 

Zandy: Интересуют лишь конкретные времена, ну те, которые я так нудно описывал ...
ИМХО к тому, что Вы "так нудно описывали" вряд-ли кто-нибудь чего-нибудь добавит - слишком тонкО дело : свободный ход толкателя, упругость пружины, расстояние между подвижным(и) и неподвижным(и) контактами, износ всего вышеперечисленного, - всё это индивидуально для каждой конкретной кнопки (если,конечно, они не сделаны на заказ с использованием последних достижений точной механики ), да ещё "человеческий фактор" один чего только стОит...
Самый простой вариант ИМХО - задать в тех. хар-ках прибора tmin и от него плясать. Иначе - замерять это tmin для каждой конкретной кнопки. И для каждого конкретного оператора

 

Zandy: Ну не про алгоритмы речь. Цифры интересуют.
Так и я о них же 50 мс оптимальное время опроса, что касается конкретного времени дребезга, то, ведь оно сильно зависит от многих параметров (конструкции, силы нажатия, степени изношенности и т.д.). и его проще оценить практически, чем гадать.
На практике при периоде опроса 20мс и использовании в качестве кнопок МП дребезг не проявлялся.

 

Когда озадачился подобной проблемой, то тоже пробовал найти данные, но толком ни чего не нашёл.
Потом, в описании какой-то программы к МК прочитал, что после фиксации нажатия нужно отработать программу защиты от дребезга длительностью 20-50мс.
Этого, яко бы, хватит для уверенной фиксации нажатия кнопки.

Если учесть, что минимальное время, за которое МК может "поймать" нажатие, зависит только от быстродействия МК, которое в принципе может быть равно одному такту, то заморачиваться не стоит.
Это если кнопка.

Получается, что интресовать должно только время дребезга.

 

DWD: Получается, что интресовать должно только время дребезга.
...которое индивидуально для каждой конкретной кнопки , и, чтобы не ошибиться, надо исходить из худшего.ИМХО.