Тактовая кнопка, как подключить правильно к "+" или "-" ???

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Вы ни когда не задумывались, почему в схемах иногда кнопки подтягивают к "+" питания, а иногда к общему проводу? Если прямо сейчас набрать в поиске: "тактовая кнопка ардуино" - то на большинстве картинок мы увидим именно прямое подключение, когда резистор подключен на землю. Но, если посмотреть схемы без участия ардуино, то ситуация меняется в корне, чаще можно будет встретить инвертированное включение. Так как же будет подключать кнопку правильнее? Давайте вместе попробуем разобраться в этом вопросе!

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

Тактовая кнопка имеет нормально разомкнутый контакт. Т.е. цепь, в которой задействована кнопка, будет разорвана, пока не произошло нажатие. Для опроса состояния кнопки как правило используются входы цифровых микросхем, находящиеся в состоянии высокого импеданса (Z-состояние). Электрическое состояние таких входов определяется параметрами внешней схемы.

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

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

Инвертированное включение кажется не логичным, т.к. логическая единица удерживается на входе микроконтроллера, пока кнопка не нажата.
Инвертированное включение кажется не логичным, т.к. логическая единица удерживается на входе микроконтроллера, пока кнопка не нажата.

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

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

Несмотря на то, что при нажатии кнопки на выводе микросхемы считывается логический ноль, а когда кнопка не нажата – единица. Такой способ подключения я лично считаю предпочтительнее. Хотя логичнее кажется другое подключение, когда единица считывается при нажатии кнопки.

Прямое включение кнопки. При нажатии микроконтроллер будет считывать логическую единицу. Если кнопка не нажата - то ноль.
Прямое включение кнопки. При нажатии микроконтроллер будет считывать логическую единицу. Если кнопка не нажата - то ноль.

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

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

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

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

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

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

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

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

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

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

Источник: https://habr.com/ru/post/691846/


Интересные статьи

Интересные статьи

Для виртуальных ассистентов Салют можно создавать приложения с красивым интерфейсом и возможностью управлять ими разными способами: голосом, текстовыми сообщениями, касанием, жестами и пультом. Такие ...
Безопасность важна. Никто не хочет выступать против безопасности. Поэтому все замалчивают проблему с npm audit. Но кто-то должен сказать. Думаю, придётся мне. npm audit работает при...
Хабр точно знаком с парадоксом, а вот с некоторыми фичами павершелла, вероятно, нет, поэтому тут больше про него. Читать дальше →
Недавно на проекте интегрировал модуль CRM Битрикса c виртуальной АТС Ростелеком. Делал по стандартной инструкции, где пошагово показано, какие поля заполнять. Оказалось, следование ей не гаран...
Все больше рекрутеров в современных компаниях предпочитают проводить собеседования с соискателями на английском языке. Для HR-специалистов это выгодно, ведь можно одновременно проверить знания а...