Коли використовувати резистори, що висуваються проти висувних


42

Дізнавшись та експериментуючи з мікроконтролерами, я зрозумів концепцію резисторів, що піднімаються та піднімаються. Зараз я розумію, коли і як ними користуватися, і як вони працюють. В основному я використовував підтяжки, тому що мене вчили, але мені це завжди здавалося трохи назад, оскільки закриття перемикача встановлює вхід MCU на низький рівень. Я думаю, було б більше сенсу використовувати висувний резистор, щоб вхід був НИЗКОГО, коли перемикач відкритий, але це лише мій спосіб мислення.

Чи слід тягнути свої введення одним ударом вгору чи вниз? Коли відтягування віддається перевазі над підтягуванням і навпаки?


3
Як (інша) новачка з електроніки я мушу сказати, що це питання аж ніяк не дурне. Не став я і не знаю, а тому: "Переглянуто: 1989 разів".
steenhulthin

* тому що * 12998 разів
Майк Каузер

Відповіді:


29

Відповідь залежить від того, якою ви хочете мати конфігурацію "за замовчуванням". Наприклад, скажіть, що у вас є N-канал NOS-каналу низхідного потоку, і ви хочете, щоб він був вимкненим за замовчуванням. Тоді ви б використовували висувний резистор для забезпечення такої поведінки, якщо вхід стане високим опором.

схематичний

імітувати цю схему - Схематично створено за допомогою 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. Це ефективно інвертує поведінку вхідного режиму, коли ВИСОКО означає, що датчик вимкнено, а НИЗКО означає, що датчик увімкнено.

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

При підключенні датчика до штифта, налаштованого INPUT_PULLUP, інший кінець слід підключити до землі. У випадку простого перемикача це призводить до зчитування штифта ВИСОКОГО, коли перемикач відкритий, і НИЗКОГО при натисканні перемикача.

Raspberry Pi також має їх .


4

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

Трохи незрозуміліші, ніж інші відповіді, але я бачив приклади, пов’язані із синім димом та загрозами судових дій.


Уточнення: питання полягало не в тому, чому варто використовувати резистори, що підтягуються або вниз, а в тому, чи слід підтягувати вгору чи вниз.
osvein
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.