Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Схемы для устранения дребезга контактов механических переключателей.

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

Введение

Компания Würth Elektronik предлагает широкий ассортимент механических переключателей (см. рис. 1). Эти изделия применяются во многих приложениях для размыкания и замыкания электронных цепей.


Рис. 1. Часть ассортимента механических переключателей компании WE

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

Дребезг контактов

Механизм переключения

Как правило, считается, что контакт в переключателе является надежным и срабатывает мгновенно (см. рис. 2).


Рис. 2. Идеализированный график коммутируемого сигнала

Однако на практике все несколько иначе (см. рис. 3). В каждом положении переключателя контакт между токопроводящими участками устанавливается или прерывается с помощью подвижных механических элементов (см. рис. 4).


Рис. 3. Идеализированный график «реального» коммутируемого сигнала


Рис. 4. Конструкция тактового переключателя

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

Таблица. Компоненты для переключения и защиты от дребезга

Компоненты
Время дребезга
Тактовый переключатель 10 мс
Кнопочный переключатель
Детектор
Механический энкодер

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

Используемые компоненты

Время защиты от дребезга указано в паспорте изделия. Компания Würth Elektronik определяет этот параметр как время между механическим переключением компонента и полным электрическим переключением. в таблице перечислены компоненты, используемые для переключения и защиты от дребезга.

Схема устранения дребезга

Мы добавим некоторые компоненты для создания фильтра нижних частот (ФНЧ), чтобы оценить его влияние на выходной сигнал.

Добавление фильтра

Схема базового переключателя без компенсации дребезга показана на рисунке 5. Типовые значения резистора R,: Г10 кОм; VCC = 5 В.


Рис. 5. Схема переключателя без защиты от дребезга

После нажатия переключателя возникает сигнал, который позволяет отследить эффект дребезга контактов (см. рис. 6).


Рис. 6. Выходной сигнал в отсутствие схемы защиты от дребезга при переходе с высокого на низкий уровень

Чтобы устранить дребезг в выходном сигнале, предлагается одна из самых дешевых и простых в реализации электронных схем, в которой используется RC-фильтр (см. рис. 7). Когда переключатель разомкнут, конденсатор заряжается через цепочку R1 + R2, что замедляет рост напряжения. Когда переключатель замкнут, конденсатор разряжается через R2 с контролируемой скоростью.


Рис. 7. Переключатель с базовой схемой защиты от дребезга

Если компоненты были выбраны корректно, дребезг переключателя поглощается в процессе зарядки или разрядки, благодаря чему обеспечивается плавный переход из одного состояния в другое. Для расчета номинала конденсатора и резисторов применяется формула (1), позволяющая определить постоянную времени схемы:

Т = (Ri + R2) • Ci, (1)

где Т – постоянная времени, с; R – величина сопротивления, Ом; C – величина емкости, Ф.

Постоянная времени выбирается как некое компромиссное значение, позволяющее устранить дребезг переключателя и обеспечить требуемое время отклика схемы. За одну постоянную времени напряжение повысится до 63% от своего конечного значения или упадет до 37% от этого значения. В обоих случаях оно повышается или спадает на 99% после пяти постоянных времени.

Пример расчета

Заданные условия:

– время дребезга в спецификациях: 10 мс;

– типовое значение сопротивления R1 для ограничения тока: 1 кОм;

– R2: выбираются два стандартных значения для устранения дребезга: 10 и 47 ком;

– напряжение питания: 5 в DC.

таким образом, расчет дает два значения емкости:

Ci = t/(Ri + R2). (2)

Предлагаются два ряда значений для этой схемы:

– решение 1: R1 = 1 кОм; R2 = 10 кОм; С1 = 1 мкФ;

– решение 2: R1 = 1 кОм; R2 = 47 кОм; С1 = 220 нФ.

Заметим, что значения сопротивления и емкости могут отличаться в зависимости от конструкции схемы заказчика.

Для обеих схем получаем характеристику, показанную на рисунке 8.


Рис. 8. Выходной сигнал при использовании схемы устранения дребезга и переходе с низкого на высокий уровень

Значение UOUT в зависимости от времени определяется следующей формулой:

Uout = U|N (1 – e-t/T). (3)

Из нее следует, что при t = т величина выходного напряжения UOUT составляет около 63% входного UIN. В нашем примере величина UOUT = 63% (3,15 В) от своего конечного значения (5,0 В) через 10 мс.

Добавление диода

Чтобы контролировать время заряда и время разряда по отдельности, в приведенную выше схему добавляется диод (см. рис. 9). В результате сокращается время переключения для зарядки конденсатора с помощью R

1 и D1, и становится другим время разряда, когда используется только R2, поскольку в этом случае диод блокируется.


Рис. 9. Добавление диода в схему

Добавление буфера

Как известно, нуль в цифровой логике определяется по уровню ниже некоторого напряжения(например, 0,8 В), а единица – выше (например, 2,5 В). Значения между ними не определены. Если приложение не в состоянии поддержать неопределенные значения, может потребоваться буфер с триггером Шмидта с гистерезисом. Схема с разным временем включения и выключения и дополнительным гистерезисом показана на рисунке 10. Время отклика схемы, возможно, придется согласовать с временем выборки микроконтроллера.


Рис. 10. Триггер Шмидта обеспечивает стабильные и определенные значения напряжения

Защита от переходных процессов

Если переключатель расположен далеко или на конце длинного провода, вероятно, потребуется защита от перенапряжения, электростатического разряда или других переходных процессов. В качестве защитных компонентов применяется ферритовая бусина и TVS-диод, установленные перед входной цепью (см. рис. 11).


Рис. 11. Добавление ферритовой бусины и TVS-диода для защиты от перенапряжения

Выводы

При использовании механических переключателей сигналов появляется эффект дребезга, характеризующийся короткими периодами нестабильного сигнала в электронной схеме. Время дребезга переключателей Würth Elektronik достигает 10 мс, что следует учитывать при проектировании. Предложенный RC-фильтр позволяет уменьшить это явление. Фильтр можно усовершенствовать, установив дополнительные компоненты для более точного формирования сигнала и защиты от перенапряжения.

Опубликовано в журнале “Электронные Компоненты” №12, 2021 г.

Техподдержка: Wü[email protected]


Подавление дребезга контактов | Лаборатория Электронных Средств Обучения (ЛЭСО) СибГУТИ

В лабораторных работах по цифровой схемотехнике при изучении триггеров, регистров и счетчиков для подачи тактовых импульсов с помощью кнопки Bottom рекомендуется использовать блок Antitinkling. Данный блок предназначен для подавления дребезга контактов. Из-за этого явления непосредственное подключение кнопки с механическим замыканием контактов к цифровой схеме не всегда допустимо. Суть дребезга заключается в многократном неконтролируемом замыкании и размыкании контактов в момент коммутации, в результате чего на цифровую схему подается множество импульсов вместо одного.

Для тех кто пишет на Verilog или хочет узнать о других способах реализации рекомендуем:
Подавляем дребезг контактов в ПЛИС. Debouncer на Verilog

Причина дребезга заключается в механической конструкции кнопки, которая не позволяет мгновенно зафиксировать контакт. На рисунке 1 показана временная диаграмма сигнала в момент переключения. Принято считать, что у кнопок дребезг длится не более нескольких десятков мс, а длительность нажатия кнопки человеком длится несколько сотен мс (рисунок 2).

Рисунок 1 – Дребезг контактов при замыкании кнопки
 
Рисунок 2 – Диаграмма нажатия кнопки

Схема для подавления дребезга контактов показана на рисунке 3 и состоит из двухступенчатого D-триггера, работающего по переднему фронту (по умолчанию в Quartus II), и генератора управляющих импульсов. Для генерации управляющих импульсов используется внешний тактовый генератор и делитель частоты.

Рисунок 3 – Функциональная схема подавителя дребезга

Схема фиксирует логическое состояние на сигнальной линии только в момент времени подачи импульса. Время фиксации определяется длительностью фронта управляющего импульса и для микросхемы EP1C3T144C8 (ПЛИС FPGA) составляет несколько нано секунд (нс). За это время уровень на линии кнопки измениться не может и в триггер будет записано текущее состояние кнопки.

Частота тактового генератора в учебных стендах LESO2 равна 6 МГц, в стендах LESO2.1 и LESO2.3 – 50 МГц. Делитель частоты должен обеспечить интервал между импульсами больше, чем длительность дребезга и менее чем длительность нажатия кнопки. Мы рекомендуем выбрать интервал 50 – 100 мс. На рисунке 4 показаны диаграммы работы схемы.

Рисунок 4 – Диаграмма работы подавителя дребезга (debounce)

На рисунке 5 показана схема подавителя дребезга в графическом редакторе Quartus II. На рисунках 6 и 7 показано как добавить в проект счетчик-делитель частоты и настроить его с помощью MegaWizerd Plug in Manager.

Рисунок 5 – Схема подавителя дребезга (debounce) в среде Quartus II

На устаревших стендах LESO2 для того, чтобы внешний генератор заработал, необходимо на pin91 подать логическую “1”, в новых стендах LESO2. 1 и LESO2.3 этого делать не нужно.

Рисунок 6 – Выбор счетчика (lpm_counter) в среде Quartus II
Рисунок 7 – Настройка счетчика (lpm_counter)

При необходимости разрядность счетчика, а, следовательно, период следования управляющих импульсов, может быть отредактирован. Для этого следует запустить MegaWizard двойным кликом мыши по объекту lpm_counter.

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

Что такое дребезг коммутатора?

Когда мы нажимаем кнопку, тумблер или микропереключатель, две металлические детали соприкасаются, вызывая короткое замыкание. Но они не соединяются мгновенно, а металлические части соединяются и разъединяются несколько раз, прежде чем будет установлено фактическое стабильное соединение. То же самое происходит при отпускании кнопки. Это приводит к ложным срабатываниям или множественным срабатываниям как будто кнопка нажата несколько раз. Это похоже на падение прыгающего мяча с высоты, и он продолжает прыгать по поверхности, пока не остановится.

 

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

 

Что такое устранение дребезга программного обеспечения?

Устранение дребезга также происходит в программном обеспечении, в то время как программисты добавляют задержки, чтобы избавиться от устранения дребезга программного обеспечения. Добавление задержки заставляет контроллер останавливаться на определенный период времени, но добавление задержки в программу не является хорошим вариантом, поскольку оно приостанавливает программу и увеличивает время обработки. Лучший способ — использовать прерывания в коде для отказа программного обеспечения. У Arduino есть код для предотвращения подпрыгивания программного обеспечения.

 

Методы устранения дребезга коммутатора

Сначала мы продемонстрируем схему без устранения дребезга коммутатора .

 

 

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

 

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

  • Аппаратное устранение дребезга
  • RC Устранение дребезга
  • Микросхема подавления дребезга переключателей

 

1. Аппаратное устранение дребезга

В методе аппаратного устранения дребезга мы используем триггер S-R для предотвращения дребезга цепи при переключении. Это лучший метод устранения дребезга среди всех.

 

Необходимые компоненты

  • Nand Gate IC 74HC00
  • Тумблер
  • Резистор (10 кОм, 2 шт.)
  • Конденсатор (0,1 мкФ)
  • Светодиод
  • Макет

Принципиальная схема

 

Работа схемы аппаратного торможения

Схема состоит из двух вентилей Nand (74HC00 IC), образующих SR-триггер. Как вы можете видеть на принципиальной схеме, всякий раз, когда тумблер переключается на сторону А, выходная логика становится «ВЫСОКОЙ». Здесь мы использовали осциллограф для обнаружения дребезга. И, как вы можете видеть на приведенном ниже сигнале, логика смещается с небольшой кривой, а не подпрыгивает. Резисторы, используемые в схеме, являются подтягивающими резисторами.

Всякий раз, когда переключатель перемещается между контактами, чтобы создать дребезг, триггер поддерживает выходной сигнал, поскольку «0» возвращается с выхода вентилей Nand.

 

2. R-C Debouncing

R-C определяется только своим названием, схема использовала RC-сеть для защиты от дребезга переключателя. Конденсатор в цепи фильтрует мгновенные изменения сигнала переключения. Когда ключ находится в разомкнутом состоянии, напряжение на конденсаторе остается равным нулю. Первоначально, когда ключ разомкнут, конденсатор заряжается через резисторы R1 и R2.

 

Когда переключатель замкнут, конденсатор начинает разряжаться до нуля, следовательно, напряжение на входе инвертирующего триггера Шмитта равно нулю, поэтому выход становится ВЫСОКИМ.

В состоянии дребезга конденсатор останавливает напряжение на Vin до тех пор, пока оно не достигнет Vcc или земли.

Чтобы увеличить скорость устранения дребезга RC, мы можем подключить диод, как показано на рисунке ниже. Таким образом, сокращается время зарядки конденсатора.

 

3. Микросхема устранения дребезга коммутаторов

На рынке имеются микросхемы для устранения дребезга коммутаторов. Некоторые из микросхем для устранения дребезга: MAX6816, MC14490 и LS118 .

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

 

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

Отскок переключателя и другие маленькие грязные секреты

Действие комментариев
1. Таймер ввода: истек? В основной процедуре опрашивается бит таймера.
2. Возврат, если нет таймера. Иди займись чем-нибудь более полезным.
3. Получить входной бит. “Подвижный” ввод.
4. Подсчитайте ++, если много, очистите остальное. Увеличение счетчика, если вход высокий.
5. Если количество > 4 состояние = 1, иначе 0. Проверьте счетчик и зафиксируйте его на 4.
6. Вернуть состояние ввода. Состояние отклонено.