Когда следует использовать резисторы с понижением или понижением


42

После изучения и экспериментов с микроконтроллерами я понял концепцию резисторов с понижением и понижением. Теперь я понимаю, когда и как их использовать, и как они работают. В основном я использовал подтягивания, потому что меня этому учили, но мне это всегда казалось немного задом наперед, поскольку при закрытии переключателя вход MCU устанавливается на LOW. Я думаю, что было бы более целесообразно использовать понижающий резистор, чтобы вход был НИЗКИМ, когда переключатель разомкнут, но это только мой способ мышления.

Должен ли я тянуть свои входные данные с одним броском вверх или вниз? Когда вытягивание предпочтительнее, чем подтягивание, и наоборот?


3
Как новенькая (другая) электроника, я должен сказать, что этот вопрос ни в коем случае не глуп. Не стал, я тоже не знаю, но потому что: «Просмотров: 1989 раз».
steenhulthin

* потому что * 12998 раз
Майк Козер

Ответы:


29

Ответ зависит от того, какой должна быть конфигурация «по умолчанию». Например, скажем, у вас есть нисходящий MOSFET с N-каналом, и вы хотите отключить его по умолчанию. Тогда вы бы использовали понижающий резистор, чтобы обеспечить такое поведение, если на входе появляется высокий импеданс.

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

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

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

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

смоделировать эту схему

Существует также альтернативный случай, когда вы хотите, чтобы устройство было включено по умолчанию, и в этом случае два вышеупомянутых случая будут изменены на противоположные (подтягивание для N-канального MOSFET, понижение для P-канального MOSFET).

Несколько других соображений:

  1. Линии I2C определяют подтягивающие резисторы, потому что устройства «должны» иметь открытый сток на землю и, таким образом, должны каким-то образом повышать потенциал линии.

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

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

  4. Любая конфигурация может одинаково хорошо работать в вашем приложении (то есть нет существенного преимущества, так или иначе).

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


16

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

Если это кнопки, убедитесь, что вы используете схему отладки (или делайте это в программном обеспечении).

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

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


+1 за единственное параллельное сравнение активного максимума и активного минимума, которое я видел. Хорошо, проясняет вещи.
TomServo

15

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

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

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


5

Если вы работаете с Arduino / ATmega328, вы можете использовать встроенный подтягивающий резистор .

В микросхему Atmega встроены нагрузочные резисторы 20К, к которым можно получить доступ из программного обеспечения. Доступ к этим встроенным нагрузочным резисторам можно получить, установив pinMode () как INPUT_PULLUP. Это эффективно инвертирует поведение режима INPUT, где HIGH означает, что датчик выключен, а LOW означает, что датчик включен.

Значение этого подтягивания зависит от используемого микроконтроллера. На большинстве плат на базе AVR это значение гарантируется в пределах от 20 кОм до 50 кОм. На Arduino Due он составляет от 50 кОм до 150 кОм. Для точного значения, обратитесь к спецификации микроконтроллера на вашей плате.

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

У Raspberry Pi они тоже есть .


4

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

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


Пояснение: вопрос заключался не в том, почему следует использовать резисторы с повышением или понижением, а в том, следует ли поднимать или опускать.
Освеин
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.