Дребезг контактов, и как с ним бороться
Что такое дребезг контактов? Когда вы нажимаете на кнопку или на микропереключатель или изменяете положение тумблера, два металлических контакта замыкаются. Для пользователя может показаться, что контакт наступил мгновенно. Это не совсем правильно. Внутри коммутатора есть движущиеся части. Когда вы нажимаете на коммутатор, он вначале создает контакт между металлическими частями, но только в кратком разрезе микросекунды. Затем он делает контакт немного дольше, а затем еще немного дольше. В конце коммутатор полностью замыкается. Коммутатор скачет (дребезжит) между состояниями наличия и отсутствия контакта. «Когда коммутатор замыкается, два контакта фактически разъединяются и снова соединяются обычно от 10 до 100 раз за время, примерно равное 1 мс» («Искусство схемотехники», Хоровиц и Хилл, второе издание). Обычно оборудование работает быстрее, чем дребезг, что приводит к тому, что оборудование думает, что вы нажали на кнопку несколько раз. Оборудование часто является интегральной микросхемой. Следующие скриншоты иллюстрируют типовой дребезг контактов без какой-либо обработки:
Осциллограмма дребезга контактов
Каждый коммутатор обладает своими собственными характеристиками относительно дребезга. Если вы сравните два одинаковых коммутатора, есть большая вероятность того, что они будут «дребезжать» по-разному.
Я покажу вам дребезг четырех разных коммутаторов. Я меня есть две микрокнопки, 1 кнопка и 1 тумблер:
Исследуемые коммутаторы
Настройка оборудования
Все коммутаторы будут подключены одинаково (это важно, если мы собираемся сравнивать результаты). Сначала мы увидим, как коммутаторы ведут себя без обработки. Основой нашей схемы будет HCF4017BE. Это десятичный счетчик/делитель, производимый STMicroelectronics. Они больше не производят эту микросхему, так как этот тип устарел. Тем не менее, есть много других производителей, которые всё еще выпускают эту маленькую микросхему, и они часто совместимы по контактам.
Микросхема получает тактовый импульс на вывод 14, после чего загорается светодиод, подключенный к Q1. Когда принимается следующий тактовый импульс, микросхема отключает Q1 и зажигает Q2, и так далее. Когда счетчик достигает Q8 (вывод 9), он подает импульс на вывод 15, который является выводом сброса. Это означает запуск отсчета, начиная с Q0.
Наша основная схема:
Схема тестового макета (описание выше)
Сначала мы попробуем не обрабатывать дребезг совсем. Схемы подачи тактового сигнала показаны ниже:
Тактовый вывод удерживается на уровне лог. 0,
импульс – лог. 1
Тактовый вывод удерживается на уровне лог. 1,
импульс – лог. 0
На видео мы используем схему справа. Тактовый вывод удерживается на уровне логической единицы, импульс соответствует уровню логического нуля.
Теперь давайте посмотрим некоторые скриншоты осциллографа. Здесь мы использовали левый вариант схемы подачи импульсов: тактовый вывод удерживается на уровне логического нуля, импульс соответствует уровню логической единицы.
Для коммутатора A:
Дребезг контактов коммутатора A
Для коммутатора B:
Дребезг контактов коммутатора B
Для коммутатора C:
Дребезг контактов коммутатора C
Для коммутатора D:
Дребезг контактов коммутатора D
И один скриншот я снял для коммутатора C при использовании правой схемы подачи импульсов: тактовый вывод удерживается на уровне логической единицы, импульс соответствует уровню логического нуля.
Дребезг контактов коммутатора C (импульс соответствует логическому нулю)
Как вы можете видеть, микросхеме кажется, что было несколько нажатий на коммутатор. Хотя это и не так, поскольку на коммутатор было выполнено только одно нажатие.
Добавим керамический конденсатор:
Тактовый вывод удерживается на уровне лог. 0,
импульс – лог. 1
Тактовый вывод удерживается на уровне лог. 1,
импульс – лог. 0
При добавлении конденсатора мы создаем RC-цепь. RC-цепи здесь не обсуждаются.
Новые скриншоты осциллографа сильно отличаются от полученных ранее. Это показывает, что RC-цепь отфильтровывает дребезг.
Данное видео показывает, как работает схема с керамическим конденсатором 0,1 мкФ:
Для коммутатора A:
Сигнал с коммутатора A после добавления конденсатора
Для коммутатора B:
Сигнал с коммутатора B после добавления конденсатора
Для коммутатора C:
Сигнал с коммутатора C после добавления конденсатора
Для коммутатора D:
Сигнал с коммутатора D после добавления конденсатора
Для коммутатора C (импульс соответствует логическому нулю):
Сигнал с коммутатора C после добавления конденсатора (импульс соответствует логическому нулю)
Эти скриншоты говорят нам о том, что дребезг устранен, и что микросхема «видит» только одно нажатие или переключение. Это то, чего мы и хотели.
Программное подавление дребезга
При работе с микроконтроллерами мы можем справиться с дребезгом контактов по-другому, что позволит сэкономить и место под детали, и деньги. Некоторые программисты не задумываются о дребезжащих коммутаторах и просто добавляют 50 мс задержки после первого «отскока». Это заставляет микроконтроллер ждать остановку дребезга 50 мс, а затем продолжить работу программы. На самом деле это не очень хорошая практика, так как она удерживает микроконтроллер в ожидании окончания задержки.
Другой способ – использовать прерывание для обработки дребезга контактов. Имейте в виду, что прерывание может быть запущено и при нарастающем, и при спадающем фронте, а некоторые микроконтроллеры могут добавлять одно прерывание в стек. Существуют разные мнения о том, как это использовать, но прерывание, вызванное подавлением дребезга, здесь не обсуждается.
Ниже показано простое программное подавление дребезга контактов для Arduino.
Код выше был написан в Arduino IDE.
Следующая программа мигает двумя светодиодами, подключенными к PIC микроконтроллеру. Код может быть похожим на этот:
Этот пример написан MPLAB X с компилятором XC8. Микроконтроллер – это PIC 16F628A, и я использовал внутренний генератор на 4 МГц. Вам необходимо поэкспериментировать с Bouncevalue . У меня лучше всего программа работала со значением 500.
Микроконтроллер без какого-либо подавления дребезга контактов:
Это пример того, как коммутатор может «запутать» микроконтроллер. Нормального переключения светодиодов не получилось. Похоже, что при нажатии кнопки они живут своей жизнью.
Микроконтроллер с управлением подавлением дребезга контактов:
Как видите, светодиоды хорошо включаются и выключаются по нажатию кнопки.
Заключение
В данной статье мы рассмотрели, что такое дребезг контактов, как он влияет на вашу систему, и различные способы борьбы с ним. Используемые примеры очень просты, но они должны дать вам представление о том, что происходит, когда вы нажимаете на кнопку. При разработке системы вы всегда должны учитывать дребезг контактов переключателя.
На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.
В случае комментирования в качестве гостя (без регистрации на disqus.com) для публикации комментария требуется время на премодерацию.
Можно еще запоминать в защелку, но это скорее на ПЛИСах наверное
плавное нарастание фронта некоторыми микросхемами тоже воспринимается как дребезг т.е. в какой то момент наступает ситуация неопределенного состояния. Для быстродействующих М/С фронт должен быть крутым.
А если применить RS-ТРИГГЕР на 155 серии для подавления дребезга, всегда ли получится?
Спасибо. При переводе статьи пропустил эту ошибку.
Теперь тип переменных, задействованных в подавлении дребезга, – unsigned int.
Тема: Дребезг реле
Дребезг реле
- Просмотр профиля
- Сообщения форума
- Личное сообщение
- Просмотр статей
Сообщение от Andrew_Stranger
- Просмотр профиля
- Сообщения форума
- Личное сообщение
- Просмотр статей
- Просмотр профиля
- Сообщения форума
- Личное сообщение
- Просмотр статей
Сообщение от zendo057
- Демпфер на переменном токе.pdf (1.8 Кб, Просмотров: 320)
- Просмотр профиля
- Сообщения форума
- Личное сообщение
- Просмотр статей
- Просмотр профиля
- Сообщения форума
- Личное сообщение
- Просмотр статей
Конденсатор заряжен до амплитудного значения переменного напряжения и эффективно поглощает выбросы напряжения, превышающие усреднённое амплитудное значение.
Резистор служит для разряда ёмкости и как в качестве элемента следящего усредняющего фильтра, так и в целях электробезопасности.
Кратковременные импульсы (при дребезге управляющих контактов) будут поглощены конденсатором.
Пока конденсатор не зарядится до уровня напряжения устойчивого срабатывания реле, последнее не включится.
- Просмотр профиля
- Сообщения форума
- Личное сообщение
- Просмотр статей
Проблему с дребезгом можно решить иначе — использовать НЗ контактную группу на реле верхнего уровня для самозапитки реле нижнего уровня и наоборот.
Приложение электрической схемы было бы весьма кстати
Что такое дребезг контактов и как его устранить
Дребезг контактов – это паразитное явление, которое вносит проблемы преимущественно в электронных схемах. Его суть заключается в повторном многократном и ложном прерывании и подаче сигнала на вход. В результате система, которая его принимает, неверно реагирует. Давайте более подробнее рассмотрим причины дребезга контактов и способы борьбы с ним.
Определение и суть проблемы в электронике
Дребезг контактов возникает при нажатии на кнопку и переключатель, он возникает из-за реальных вибраций контактной пластины при её перемещении. Любой переключатель устроен так, что у него есть подвижный и неподвижный контакт. Как видно из названия, подвижным называется тот, что соединен с толкателем или рычагом, на который уже нажимает человек или механизм при работе устройства.
Так как кнопки имеют механическое устройство, то от их качества зависит то, как точно они отрабатывают нажатия. При этом в любом случае полностью устранить явление дребезга нельзя. К чему он приводит?
Если клавиша управляет каким-то электронным устройством с цифровым входом, например, микроконтроллера, логического элемента и пр., то его вход распознает столько нажатий, сколько было импульсов послано в результате возникновения дребезга.
Пример осциллограммы дребезга контактов изображен на рисунке ниже:

Устранение эффекта
Чтобы устранить дребезг контактов, возможно использовать аппаратное или программное решение. К аппаратным решениям относится:
- Установка конденсаторов параллельно входу. Тогда может снижаться быстродействие реакции на нажатие при слишком большой ёмкости и неполного устранения дребезга при слишком маленькой.
- Введение триггеров Шмидта во входную цепь устройства. Более сложное решение, которое затруднительно для реализации в ходе доработки уже готового изделия, но и более технологичное и совершенное.
Если рассмотреть это явление на примере сдвигового регистра, то в этом видео наглядно показано его воздействие. После каждого нажатия кнопки должен загораться следующий светодиод.
Схема включения регистра и светодиодов на рисунке ниже:

Кнопка подключена так, как показано на схеме:

Пример осциллограммы сигнала с выраженным дребезгом:

Установив конденсатор на 1 мкФ параллельно кнопке для его подавления, получаем стабильное и точное срабатывание:

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

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

На следующем рисунке изображены другие варианты схем на логических элементах для борьбы с дребезгом контактов:

Кроме аппаратного устранения, как было сказано, есть и программный способ решения данной проблемы. Он заключается в написании кода, смысл которого в считывании изменения сигнала, выдержки определенного времени и повторного его считывания.
Пример программного подавления дребезга контактов в Arduino IDE вы можете скачать, перейдя по ссылке: код для подавления дребезга.
Дребезжание реле
Кроме дребезга кнопок в цифровых электронных схемах также доставляет проблемы дребезг контактов в схемах управления реле. К таким схемам можно отнести сумеречное реле или различные датчики протока, а также регуляторы температуры. Когда датчик выдаёт сигнал на пороге срабатывания устройства, получается неопределенное состояние и логика схемы то включает, то отключает его. И при срабатывании реле не всегда наблюдается устойчивое удержание контактов, оно начинает как бы вибрировать, включаясь и отключаясь. На эпюре ниже наглядно изображена эта проблема на примере регулятора температуры:

Решением этой проблемы также является установка порогового элемента петлей гистерезиса в его передаточных статических характеристиках, то есть триггера Шмидта или Компаратора на операционном усилителе. На схеме ниже изображен исходный вариант с рассмотренной на графике проблемой:

А так выглядит схема с дополнением в виде задержки включения на логических элементах 2И-НЕ отечественной микросхемы К561ЛА7:

Иногда с этой же проблемой справляются с помощью установки стабилитрона в сигнальные цепи.
Аналогично дребезгу кнопок при включении реле, его контакты могут повторно несколько раз перекоммутироваться. Явление опасно тем, что в этот момент происходит зажигание и гашение дуги, что значительно снижает срок службы аппарата. Особенно часто это происходит при срабатывании реле на переменном токе.
Всё это связано с механической структурой герконов, реле и других коммутаторов. Их контакты замыкаются не моментально, а в течении долей, единиц или десятков миллисекунд. Чтобы продлить срок службы реле, ознакомьтесь со способами, которые мы описывали в статье о том, почему искрят контакты.
Также рекомендуем посмотреть хорошее видео на эту тему:
Теперь вы знаете, что такое дребезг контактов реле и какие способы борьбы с ним наиболее эффективны. Если возникли вопросы, задавайте и в комментариях под статьей!
Дребезг контактов — схема надежного коннекта контакторов реле

Схема устраняющая дребезг контактов электромагнитного реле
Дребезг контактов электромагнитного реле, это точный признак того, что устройство скоро выйдет из строя. Развитие полупроводниковых технологий позволило заменить микросхемами многие механические реле, но обычные реле все еще доминируют в сильноточных схемах, где они должны выдерживать высокие напряжения произвольной полярности. Однако дребезг контактов в этих реле может создавать проблемы для окружающих схем.
Еще одной проблемой может быть загрязнение контактных площадок. Контакты могут выглядеть чистыми, но это обманчиво. В действительности на поверхности контактов имеется очень тонкая изолирующая пленка, вызванная сульфидированием, окислением или загрязнением. Эта пленка должна быть удалена для установления непрерывности цепи.
Один методов, который помогает подавить дребезг контактов основан на сочетании реле с контроллером горячей замены. Такие контроллеры становятся все более популярными в качестве средства коммутации компонентов системы без отключения ее питания. В схеме на Рисунке 1 контакты реле заменяют контакты механического разъема.

Схема управления удерживает реле замкнутым, и замкнутые контакты реле соединяют вход схемы горячей замены с источником питания, напряжение которого, в данном случае, равно 28 В. После того, как входное напряжение достигнет требуемого уровня, микросхема контроллера горячей замены IС1 не открывает р-канальный MOSFET Q, еще, как минимум, 150мс.
Эта задержка дает достаточно времени для успокоения контактов реле. После 150-миллесекундной задержки микросхема IС1, подает открывающее напряжение на затвор MOSFET, и выходное напряжение начинает нарастать со скоростью 9 В/мс. Контролируемая скорость нарастания минимизирует пусковой ток, тем самым, снижая нагрузку на источник питания, реле и конденсаторы, подключенные к шине, управляемой контроллером горячей замены.

На приведенной для примера осциллограмме (Рисунок 2) видны три отскока контактов с пиковым значением пускового тока почти 30 А. Верхний канал представляет выходное напряжение в масштабе 10 В/дел, а нижний — входной ток в масштабе 5 А/дел. Выходная нагрузка образована параллельным соединением резистора 54 Ом и конденсатора 100 мФ.

Использование в этих условиях схемы Рисунка 1 дает лучшую картину (Рисунок 3). Отчетливо видна задержка нарастания выходного напряжения без каких-либо провалов, возникающих в результате дребезга контактов. Намного уменьшились колебания входного тока, броски которого теперь составляют менее 1.5 А, после которых ток достигает установившегося значения 500 мА.

