AS Вопрос Вопрос о подтягивающих резисторах отвечает только на часть моего вопроса , как уже упоминалось в «EDIT» , сделанном вскоре после того, как этот вопрос был задан, и ответы здесь (ниже) очень подробны, в контексте и просты для понимания. Определенно не дубликат; пометка как дубликат за 2-3 балла
Я читаю книгу по Arduino и просто не понимаю концепцию подталкивающего резистора, ниже приводится цитата из книги:
Зачем нужен резистор R1? R1 гарантирует, что цифровой входной контакт 7 Arduino подключен к постоянному напряжению +5 В, когда кнопка не нажата. Если кнопка нажата, сигнал на контакте 7 падает на землю (GND), в то же время питание +5 В Arduino подключается к GND, мы избегаем короткого замыкания, ограничивая ток, который может течь от +5 В к GND. с резистором (1 - 10 кОм). Кроме того, если бы вообще не было соединения от контакта 7 к +5 В, входной контакт был бы «плавающим» всякий раз, когда кнопка не нажата. Это означает, что он не подключен ни к GND, ни к +5V, улавливая электростатические помехи, приводящие к ложному срабатыванию входа.
В другой книге это называется подтягивающим сопротивлением Arduino, потому что оно подтягивает ток к 5 В , что еще больше меня смущает — как резистор может повышать напряжение, если оно не должно падать?
Редактировать - спасибо @Golaž за указание на полезный материал в вопросе о подтягивающих резисторах в комментариях (это редактирование было вставлено 30 марта в ~6) .
Итак, что же это за концепция? А какой термин отжимания/подтягивания правильный?
Кроме того, со ссылкой на эту схему выше -
Я уже прочитал:
Но я все еще не совсем понимаю.
«Подтягивание» используется в схемотехнике чаще, чем «отжимание». Но я полагаю, что любой бы понял вас в любом случае.
Подтягивающий резистор не увеличивает напряжение. Это просто подключение уже существующего источника питания 5 В к цифровому входу Arduino. Выводы цифровых входов имеют очень высокое внутреннее сопротивление, поэтому через них будет протекать очень небольшой ток. Если через резистор протекает очень небольшой ток, напряжение на обеих сторонах резистора будет примерно одинаковым. Таким образом, R1 будет иметь примерно 5 В с обеих сторон. Это означает, что самое главное, напряжение на входном контакте будет 5 В, когда переключатель не нажат.
Примечание. Стрелки представляют текущий поток.
смоделируйте эту схему - схема, созданная с помощью CircuitLab
Всякий раз, когда Arduino измеряет состояние вывода цифрового входа, он может выбрать только один из двух вариантов: высокий или низкий. К этому контакту должно быть подключено какое-то внешнее устройство (в вашем случае переключатель), чтобы подать высокое или низкое напряжение.
Но что, если к булавке ничего не подключено? У вас может возникнуть соблазн сказать, что это должно читаться как низкое напряжение. К сожалению, это неправильно. Мы называем это состояние «плавающим». Штырь не активируется внешним устройством, поэтому он просто плавает в неизвестном состоянии. Это опасно, потому что Arduino по- прежнему должен выбирать высокий или низкий уровень при измерении вывода. Он не может выбрать «ни один» в качестве опции. Какой из них выберет? Кто знает. Фактически, сам физический металлический штифт будет действовать как крошечная антенна, и на него может воздействовать любое близлежащее электростатическое поле. Простое движение руки рядом с чипом может привести к тому, что он время от времени изменит свое состояние. Мораль истории: НИКОГДА не оставляйте цифровой вход плавающим.
Единственная задача подтягивающего резистора — предотвратить плавание штифта, когда переключатель не нажат.
Как только переключатель фактически нажат, источник питания 5 В имеет путь к земле через подтягивающий резистор и замкнутый переключатель. Но резистор будет ограничивать ток до разумной величины, что позволит избежать короткого замыкания на землю. Используя закон Ома, напряжение на дне резистора теперь будет очень близко к 0 В. Поскольку здесь подключен цифровой входной контакт, Arduino будет считывать низкое напряжение. Теперь прошивка, запрограммированная в Arduino, может безопасно считывать состояние цифрового входа и определять, когда кнопка нажата.
Так почему бы нам просто не подключить питание 5 В напрямую к цифровому входу и отказаться от подтягивающего резистора? Как вы указали в своем вопросе, это приведет к короткому замыканию источника питания 5 В на землю при нажатии переключателя. В зависимости от того, насколько большой источник питания, это может вызвать большой ток, протекающий через коммутатор. Это может повредить блок питания и, возможно, расплавить кнопку. По крайней мере, блок питания отключится или отключится, а выходная мощность упадет почти до нуля. Если в блоке питания есть смарты, он просто выключится. Так что да, замыкание на землю — серьезная проблема при «всего лишь 5 В».
Правильный термин — подтягиваться. Я никогда не слышал о отжиманиях, но я полагаю, что это означает то же самое.
Плавающий контакт - это тот, который не имеет связанного напряжения. Кусок провода, ни к чему не подсоединенный, плавает.
Смотри ниже.
Это сложно. Это зависит от контекста. И, судя по вашему вопросу, короткое замыкание может означать, что напряжение замыкается на землю. Это плохо. Очень плохо. Не делайте этого. Даже замыкание на землю 1В без резистора - это плохо.
Вы можете думать об источнике напряжения как о фиксированном напряжении с переменным током. Это означает, что источник питания будет давать столько тока, сколько необходимо для поддержания этих 5 В.
Проблема с замыканием напряжения на землю заключается в том, что источник питания хочет дать некоторое напряжение (относительно земли). Но выходное напряжение равно 0 В (потому что оно привязано к земле). Так что же делает блок питания, чтобы достичь своего уровня напряжения? Он увеличивает ток. Затем ток увеличивается, но напряжение по-прежнему равно 0, поэтому оно продолжает увеличиваться и увеличиваться. Другие схемы с этим не справятся, и они нагреваются и перегорают. Дорожки или провода на печатной плате, которые вы используете, не могут этого выдержать, поэтому они нагреваются, загораются или просто ломаются.
Как решить эту проблему? Добавьте что-то промежуточное, чтобы контролировать ток до безопасного значения. Добавьте резистор (что является ответом на № 2).
При добавлении резистора источник питания не должен давать бесконечный ток (или практически его предел), потому что резистор говорит: «Эй! Притормози!».
Поскольку другие обращались к подтягивающему резистору, я просто подчеркну опасность всего лишь 5 В.
Некоторое время назад я разобрал старый солнечный компьютер и некоторое время сохранял блок питания. На выходе было 5В. Я случайно закоротил его. 100+ ампер, протекающие через короткую дугу, разъедают точку контакта примерно на 1/8 дюйма, прежде чем плавкие предохранители расплавятся.
Так что же случилось? Это был большой блок питания, рассчитанный на более чем 100 ампер при 5 В при нормальной работе. По мере падения сопротивления ток увеличивался до тех пор, пока не началась дуговая коррозия медных контактов и не превысил номинальный ток источника питания с достаточно большим запасом, чтобы выйти из строя. Помните, что если и затем К счастью, есть и другие ограничения на ток.
Самый простой ответ на поставленный выше вопрос: «подтягивающий резистор добавляется только для того, чтобы контакт находился в одном конкретном состоянии, а не в плавающем». Это связано с тем, что, когда штифт плавает, предельный дрейф напряжения с высоким импедансом может рассматривать его в одном конкретном состоянии (высоком или низком). Поэтому всегда предпочитал иметь подтягивающий резистор для таких контактов.
efox29
Голаж
Олин Латроп
Лундин
Ник Алексеев
РинкиПинку