Очистка резистора

12

Я довольно новичок в электронике, и мне трудно понять принцип "подтягивающего резистора". Я прочитал много статей об этом, и я думаю, что получил, но я не уверен на 100%, поэтому у меня есть вопрос. В этой статье после первого изображения написано:

При нажатии мгновенной кнопки он соединяет вывод ввода / вывода с Vcc, и микроконтроллер регистрирует вход как высокий.

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

ssougnez
источник
Я думаю, что они ссылаются на изображения 2 и 3, когда упоминают Vcc, эти изображения имеют VCC.
Axk
2
Помните, что U1 - это логический элемент, который подразумевает подключение питания и заземления к реальной микросхеме. Они не нарисованы, чтобы упростить принципиальную схему.
Райан Григгс
5
Я бы сказал, что это ошибка в статье. Как только кнопка нажата, она подключает вход затвора к GND, а не к Vcc.
Евгений Ш.
Я согласен с Евгением, это паршивая статья. Найдите лучший источник.
труба
2
Похоже, что автор этой статьи, возможно, передумал между рисованием и написанием текста. Должно быть написано: «... I / O pin to Ground, а вентиль NOT регистрирует вход как низкий». Весь этот пункт, как правило, запутан.
Питер Беннетт

Ответы:

32

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

Предположим, что U1 - ваш микроконтроллер, а P1 - вывод ввода / вывода, настроенный как вход. (Это может быть любой логический элемент, на самом деле.) Другие подключения к U1 не так важны, поэтому они не изображены, но предполагают, что у него есть подключения питания и другие необходимые компоненты.

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

(2) Теперь, когда кнопка не нажата, порт будет воспринимать высокий уровень, так как он подключен напрямую к Vcc. Но если кнопка нажата, Vcc замкнут накоротко на землю, и источник питания, вероятно, сгорит и погибнет. Еще хуже.

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

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

В этой схеме, нажатая кнопка имеет высокое значение (1), а нажатая кнопка - низкое значение (0). Это называется логикой активного низкого уровня . Замена резистора и переключателя приведет к инвертированию, так что для нажатой кнопки будет отображаться низкий уровень (0), а для нажатой кнопки высокий уровень (1). ( Активно-высокая логика.)

схематический

смоделировать эту схему - схема, созданная с использованием CircuitLab

ilkkachu
источник
Я думаю, что это хорошее объяснение для начинающих в электронике, чтобы понять тему. +1 за диаграмму и простой язык.
Марк Ch
Так что, если я вас правильно понимаю, то, что я пренебрег, это то, что U1 на самом деле подключен к Vcc. Почему в первой схеме, если кнопка нажата, ток может пройти? Второй вопрос, когда вы говорите в пункте 3, что «но поскольку входное сопротивление цифрового порта ввода-вывода довольно высокое, это не имеет значения», вы имеете в виду, что ток 0 вообще пойдет на P1 или ток настолько мал (из-за сопротивления входа), что он будет почти равен 0 => низкий уровень? В любом случае, спасибо за хорошее объяснение! Я отмечаю ваш пост как ответ из-за схемы :-p
ssougnez
1
«может не иметь смысла» ... Мы говорим, что вход может «плавать» и извиваться в диапазоне потенциалов. Подтягивающий резистор тянет вход «высокий». NB. ток не имеет значения (да, он маленький), только напряжение. Вещи становятся немного более сложными для цепей, подверженных условиям "гонки".
Маккензм
@mckenzm Теперь я понял. И вы сказали, что имеет значение напряжение, поэтому это означает, что окружающий шум может создавать напряжение, достаточно высокое, чтобы привести затвор в высокое состояние?
ssougnez
Или просто производственный процесс, это очень распространено сейчас для встроенных чипов на кредитных картах. У читателей есть подтягивающие резисторы. Это точка отказа сейчас и потом.
Маккензм
11

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

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

Таким образом, чтобы убедиться, что вывод удерживается в «известном» состоянии, его необходимо всегда подключать к VCC или GND. См. Рисунок 2. Однако есть проблема: если вы подключите контакт к VCC, чтобы удерживать его в «высоком» состоянии, затем подключите свой переключатель к GND и нажмите на переключатель, вы создадите прямое короткое замыкание! Вы можете перегореть предохранитель, повредить блок питания, сжечь что-нибудь и т. Д.

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

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

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

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

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

Райан Григгс
источник
Спасибо за это объяснение, это действительно ясно. У меня было много ответов на эту тему, и, к сожалению, я могу выбрать только один в качестве принятого ответа. Я выбрал другой из-за его схемы, но ваша также очень ясна. Я проголосовал за это.
ssougnez
6

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

схематический

смоделировать эту схему - схема, созданная с использованием CircuitLab

  • (a) Без подтягивания нам потребовался бы переключающий переключатель для переключения между Vss и GND (заземление). Такое расположение будет надежно переключать вход так или иначе, но существует проблема во время переключения контактов переключателя, когда вход мгновенно всплывает. Это может вызвать его колебания, например, при наличии электромагнитных помех (EMI).
  • (б) решает две проблемы: он использует более простой переключатель, а при отсутствии замыкания переключателя вход повышается. Когда переключатель замкнут, вход сбрасывается.
  • (с) показывает то же расположение в обратном порядке. Переключатель разомкнут, тянет низко

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

Обратите внимание, что мощность и земля предполагаются во многих схемах. Например, в случае логических вентилей имеется общее соединение Vss и заземления для 2, 4 или 6 логических вентилей. Не имеет смысла показывать их для каждого затвора, поэтому они предполагаются или показываются отдельно с соответствующими развязывающими конденсаторами в других местах схемы.

транзистор
источник
Спасибо за этот хороший ответ. У меня есть вопрос о том, что вы сказали, хотя. «Расположение в (б) чаще встречается как ...». Разве это не «проблема» - иметь нагрузочный резистор вместо понижающего? Действительно, подтягивание всегда будет потреблять ток, пока кнопка не будет нажата, и мы можем предположить, что большую часть времени кнопка не нажимается, поэтому это будет означать, что схема будет тянуть ток, пока она неактивна.
ssougnez
@ssougnez: Вместо того, чтобы публиковать вопросы в качестве комментариев, обычно лучше публиковать вопросы в виде свежих новых вопросов верхнего уровня - или на них уже дан ответ по адресу electronics.stackexchange.com/questions/113009/… или electronics.stackexchange.com/ Вопросы / 254037 /… ?
Дэвидкари
@ssougnez Любой резистор будет потреблять сколько угодно тока на входе. И ток будет потребляться, когда переключатель замкнут, опять же, сколько бы тянет вход. Это зависит от того, как выглядит входная цепь.
Дэвид Шварц
@ssougnez: Часть этого по историческим причинам. Например, входы на микросхемах TTL не потребляли ток, когда оставались плавающими на высоком уровне. Потянув низко привлек немного тока. Это означало, что при необходимости было бы более эффективно использовать низкое энергопотребление. Современные конструкции используют входы на основе FET, которые имеют одинаковый входной импеданс при высоком или низком, так что это не имеет никакого значения. Как правило, легче и более определенно переключиться на землю, чем переключиться на положительный источник питания, особенно когда используются силовые шины смешанного напряжения.
Транзистор
4

Что ж, это НЕ вентиль, поэтому я предполагаю, что мы должны представить вывод ввода / вывода, где этот светодиод неправильно показан без последовательного резистора. Когда вы подключаете вход к земле, выход должен идти в Vcc (который также может называться Vdd, что является другой историей).

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

Это немного сбивает с толку (прячет контакты), когда у вас на одной плате смешанные логические напряжения, такие как 1,8, 3,3 и 5 В, поэтому я обычно не делаю это сам, но это сэкономило кучу беспорядка в безмятежные дни когда все бежало от 5V.

схематический

смоделировать эту схему - схема, созданная с использованием CircuitLab

Спехро Пефхани
источник
Было бы возможно, это не слишком много, чтобы попросить показать мне полный пример этой схемы? Я хотел бы иметь возможность правильно визуализировать схему без подтягивающего резистора, чтобы иметь возможность видеть общую картину. Спасибо
ssougnez
Смотрите редактировать. Упрощенные внутренние компоненты инвертора (обычно больше транзисторов для буферизации и, по крайней мере, некоторые защитные диоды). Вход будет плавать, когда переключатель не нажат, но когда он нажат, выход определенно высокий (M1 включен, а M2 выключен).
Спехро Пефхани
Разве порт ввода-вывода справа на вашей схеме не будет подведен к известному напряжению через светодиод вместо того, чтобы быть фактически плавающим? Я думаю, что статья относится к входу логического элемента NOT, когда говорится «I / O pin». В тексте после рисунка 1 он просто путает Vcc с заземлением GND. После рисунка 2 они снова верны.
ilkkachu
Нет, светодиод не будет влиять на напряжение, достаточное для беспокойства (все равно это будет логическая 1 или логическая 0). Как я уже сказал, я не думаю, что это относится к входу НЕ. Это не микроконтроллер, а только вход, а не вывод ввода / вывода, но на самом деле страница не совсем понятна для новичка.
Спехро Пефхани
Спасибо, теперь стало понятнее благодаря вашему ответу и всем остальным. Я проголосовал за тебя ;-)
ssougnez
2

Подъемный или понижающий резистор предназначен для фиксации логического уровня (0 на GND или 1 на VCC). Резистор имеет более высокое сопротивление, чем кнопка. При нажатии на кнопку уровень может измениться (при наличии правильной проводной связи).

«Не гейт», представляющий MCU на рисунках, является очень простым, и автор опускает поставки VCC. Конечно, на рисунках 2 и 3 Vcc присутствует и хорошо связан.

Вы выбрали предложение, чтобы объяснить логику «активного максимума». Тот, который соответствует рисунку 1,

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

Julien
источник
1

Поскольку плавающие входы на CMOS могут просачиваться к ложным уровням входа, они подвержены случайным помехам, либо скрытое подтягивание входа R во входном порте uC с переключателем на землю, либо внешнее смещение R на одну шину питания Vdd или Vss и переключение на противоположный рельс.

Тони Стюарт Sunnyskyguy EE75
источник