Логические микросхемы. Часть 10. Как избавиться от дребезга контактов
Логические микросхемы. Часть 10. Как избавиться от дребезга контактов
Используйте триггеры в качестве переключателей
Ранее в этой статье мы обсуждали шлепанцы D-типа и JK. Здесь следует помнить, что эти триггеры могут работать в счетном режиме. Это значит, что при поступлении на тактовый вход очередного импульса (для обоих триггеров это вход С) состояние триггера изменится на противоположное.
Такая логика работы очень напоминает обычную электрическую кнопку, как у настольной лампы: нажал – вкл, еще раз нажал – выкл. В цифровых микросхемах роль таких кнопок обычно выполняют триггеры, работающие в счетном режиме. Импульс высокого уровня подается на счетный вход, а выходной сигнал триггера используется для управления схемой исполнения.
Все кажется простым. Если просто подключить кнопку к входу C, а нажатие кнопки соединить этот вход с общей линией, то состояние триггера будет меняться на противоположное при каждом его нажатии, как и ожидалось. Чтобы убедиться, что это не так, достаточно собрать схему и нажать кнопку: спусковой крючок будет устанавливаться в нужное положение не каждый раз, а чаще после нескольких раз нажатия кнопки.
Контролировать состояние триггера лучше всего с помощью светодиодного индикатора (неоднократно описанного в предыдущем разделе статьи) или просто с помощью вольтметра. Почему так происходит, почему так нестабильно работает триггер и в чем причина?
Что такое дребезг контакта
Оказывается, виноват дребезг контактов. Что это? Оказывается, любой контакт, даже самый лучший, даже геркон, не замыкается мгновенно. На их надежные соединения влияет серия толчков длительностью около 1 миллисекунды и более. То есть, если мы нажмем кнопку и удержим ее полсекунды, это не означает, что формируется только один импульс такой длительности. Его появлению будут предшествовать десятки, а то и сотни импульсов.
Поступая на счетный вход триггера, каждый импульс переводит его в новое состояние, что в точности соответствует логике триггера в режиме счета: все импульсы будут подсчитаны и результат будет соответствовать их количеству. Задача — сделать так, чтобы нажатие кнопки меняло состояние триггера только один раз.
В случае, когда механическим контактом является датчик скорости, как в оборудовании для обмоточных трансформаторов или в расходомерах жидкости, аналогичная проблема проявляется еще более явно: каждое срабатывание контакта приводит к увеличению состояния электронного счетчика вместо увеличения на 1, как и ожидалось, но как случайные числа. Про счетчик будет рассказ позже, а пока просто поверьте, что это именно так и ничего больше.
Как устранить дребезг контактов
Выход из ситуации показан на рисунке 1.
Рисунок 1. Формирователь импульсов на RS-триггере.
Проще всего устранить дребезг контактов с помощью уже знакомого RS-триггера, который установлен на логической микросхеме К155ЛА3, точнее на ее компонентах DD1.1 и DD1.2. Мы согласны с тем, что прямой выход RS-триггера — это контакт 3, а инвертированный выход — контакт 6 соответственно.
Такое соглашение должно быть достигнуто при сборке RS-триггера из компонентов логической микросхемы. Если триггер представляет собой готовую микросхему, например К155ТВ1, то положения прямого и инвертирующего выходов задаются ее справочными данными. Однако даже в этом случае, если входы JK и C не используются и микросхема используется только как RS-триггер, описанный выше протокол может оказаться вполне подходящим. Например, для облегчения установки микросхем на плату. Разумеется, в этом случае вход RS также меняет положение.
В положении переключателя, показанном на рисунке, прямой выход RS-триггера имеет логическую 1, а инвертированный выход, конечно же, представляет собой логический 0. Состояние счетного триггера DD2.1 остается таким же, как и при включении питания.
Читайте также статью: как востоновить gmail com
При необходимости для сброса можно использовать кнопку SB2. Для сброса триггера при включении питания подключите между R-входом и общей линией небольшой конденсатор номиналом 0,05…0,1 мкФ и резистор номиналом 1…0,1 мкФ. 10 кОм Подключите положительный источник питания к входу R. На входе R кратковременно появляется напряжение логического нуля перед зарядкой конденсатора. Этого короткого нулевого импульса достаточно, чтобы сбросить триггер. Если в зависимости от условий работы устройства необходимо установить триггер в единичное состояние при включении питания, то такую RC-цепочку подключить ко входу S. Пассаж про RC-цепочки мы будем рассматривать как лирическое отступление и сейчас продолжим борьбу с отскоком контактов.
Нажатие кнопки SB1 замыкает ее правый контакт с общей линией. В этом случае на выводе 5 микросхемы DD1.2 появится целая серия импульсов отскока. Но даже самые медленные серии микросхем имеют скорости значительно выше, чем у механических контактов. Следовательно, по первому импульсу RS триггер будет сброшен в нулевое состояние, что соответствует высокому уровню инвертированного выхода.
В этот момент на нем развивается положительное падение напряжения, которое переводит триггер DD2.1 в противоположное состояние через вход С, что можно наблюдать с помощью светодиода HL2. Последующие импульсы отражения не повлияют на состояние триггера RS, поэтому состояние триггера DD2.1 остается неизменным.
При отпускании кнопки SB1 триггеры на элементах DD1.1 и DD1.2 возвращаются в единое состояние. В это время на инвертирующем выходе (вывод 6 DD1.2) формируется отрицательное падение напряжения, которое не меняет состояния триггера DD2.1. Чтобы счетный триггер вернулся в исходное состояние, кнопку SB1 необходимо нажать еще раз. Триггеры JK также хорошо работают в таких устройствах.
Драйвер представляет собой стандартную схему и работает четко и надежно. Единственный его недостаток – использование кнопок с переключающими контактами. Ниже мы показываем аналогичный формирователь, который работает с кнопкой и точкой касания.
Меры по исключению ложных срабатываний и предотвращению помех
На снимке вы можете видеть новый компонент, установленный в цепи питания триггера – конденсатор С1. Какова его цель? Его основная задача – предотвратить помехи, к которым чувствительны не только триггер, но и все остальные микросхемы.
Видео: Дребезг кнопки. Как исправить? Технически и программно без delay
Если прикоснуться к элементам крепления металлическим предметом, они издадут импульсный шум, который может изменить состояние спускового крючка как угодно. Даже один работающий триггер, не говоря уже о нескольких триггерах, создаст в схеме одинаковые помехи. Этот шум распространяется по шине питания от одной микросхемы к другой и также может стать причиной ложного переключения триггера.
Чтобы этого не произошло, на силовой шине устанавливаются блокирующие конденсаторы постоянного тока. На практике такие конденсаторы емкостью 0,033…0,068мкФ устанавливают из расчета один конденсатор на каждые две-три микросхемы. Эти конденсаторы устанавливаются как можно ближе к выводам питания микросхемы.
Еще одним источником ложных срабатываний в микросхемах могут быть неиспользуемые входные контакты. Импульсы паразитных помех в основном будут возникать на этих клеммах. Для предотвращения ложных срабатываний неиспользуемые входные контакты следует подключить к плюсовой шине источника питания через резистор сопротивлением 1…10 КОм. Также при наличии в схеме неиспользуемых логических элементов И-НЕ их входы должны быть соединены с общей линией, поэтому на выходах таких элементов появляются логические ячейки, а неиспользуемые входы триггеров должны быть подключены к их.
Если в качестве источника сигнала для микросхемы используется тумблер или кнопка, совершенно недопустимо, чтобы контакты были разомкнуты, а достаточно длинный провод оставался «висящим в воздухе». Такая антенна будет очень успешно принимать помехи. Поэтому такие проводники необходимо подключать к плюсовой силовой шине через резистор сопротивлением 1…10 КОм.
Используйте пару кнопок отскока контакта
Гораздо проще использовать кнопки с парой контактов, поэтому они используются чаще, чем кнопки с переключающими контактами. На рисунке 2 показано несколько схем, предназначенных для подавления такого дребезга контактов кнопки.
Работа этих схем основана на временной задержке, создаваемой с помощью RC-цепи. На рисунке 2a показана схема с задержками включения и выключения, на рисунке 2c представлена схема только с задержками включения, а на рисунке 2e показана схема с задержками выключения. Эти схемы представляют собой одиночные генераторы и были представлены в одном из разделов этой статьи. На рисунках 2б, 2г и 2д показаны их временные диаграммы.
Нетрудно заметить, что эти катушки выполнены на микросхемах серии К561, которые представляют собой КМОП-микросхемы, поэтому номиналы резисторов и конденсаторов промаркированы специально для этого типа микросхем. Эти драйверы используются в схемах, построенных на микросхемах К561, К564, К176 и подобных сериях.
- Логический чип. Часть 9.JK-триггер
- Логический чип. Часть 8D — Триггеры
- Простой источник аварийного освещения
Надеюсь, эта статья была вам полезна. См также «Электрическая энергия в повседневной жизни и работе» Другие статьи в категории «Практическая электроника
Подписывайтесь на наш Telegram-канал об электронике для профессионалов и любителей: Полезная электроника для повседневного использования
Поделитесь этой статьей с друзьями:
Читайте также статью: Сдвиговые сильфонные компенсаторы: особенности, принцип действия и преимущества