Можно ли использовать внутренние и внешние сопротивления подтягиванию/опусканию вместе?

Что произойдет,если скетч использует код типа pinMode(18, INPUT_PULLDOWN) для настройки внутренних понижающих (или подтягивающих) резисторов, но используется в схеме, где также присутствуют внешние резисторы?

Возможны ли какие-либо проблемы, конфликты или неожиданное поведение, например, если программное обеспечение устанавливает откат, но есть внешнее подтягивание, или наоборот?

Я использую ESP32 (который имеет как внутренние подтягивания, так и подтягивания, доступные на большинстве контактов GPIO), но я был бы признателен за общий ответ. Чтобы прояснить ситуацию, я интересуюсь не плюсами и минусами использования внешних резисторов (что обсуждается в других вопросах), а потенциальными ловушками использования обоих, особенно если они тянут в противоположных направлениях.

, 👍3


4 ответа


Лучший ответ:

4

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

,

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


1

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

  • потребности в пространстве
  • стоимость (хотя очень низкая стоимость)
  • немного увеличенное энергопотребление

Если это не проблема для вас, внешний резистор-хорошая идея.

Вот видео (не я), которое объясняет ESD-часть его более подробно.

ПРАВКА: Я просто перечитал ваш вопрос и увидел, что вы спросили о смешении подтягивания и опускания. Что вы обычно не должны делать так, как сказал jksemple.

,

1

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

,

-1

pinMode(18,INPUT_PULLDOWN) ? Такого не существует! для этого вы используете резистор. доступно только внутреннее подтягивание_

,

это. некоторые платформы Arduino используют микроконтроллер с внутренним выдвижением, @Juraj