Спустіть резистори


18

У своєму прагненні розібратися в електротехніці я натрапив на цей підручник:

http://www.ladyada.net/learn/arduino/lesson5.html

Я зрозумів діаграми, поки не дійшов до перемикачів. Я не впевнений, як працюють перемикачі на дошці або діаграми. Це конкретний, про який я думаю (це резистор, що тягнеться):

введіть тут опис зображення

Реалізація:

введіть тут опис зображення

Виходячи з діаграми, я думаю, що відбувається: живлення переходить до вимикача, якщо кнопка вгору, то схема не завершена. Якщо кнопку натиснути, то струм бере шлях найменшого опору до pin2, тому що він має більше тягнення (100ohm <10kohm).

Те, як це описано в підручнику, звучить як коли кнопка ввімкнута, схема все ще завершена, але резистор потужністю 10 к Ом тягне живлення на землю. Я не впевнений, як і чому, якщо і 10k Ом, і 100ohm отримують рівний струм, струм буде витягнутий на землю через більший опір, ніж відкритий на штифт 2.


3
Вбік: спробуйте придумати схему з точки зору того, якою буде напруга в кожній точці, а не там, де тече струм. Це допомогло моєму розумінню, коли я вперше вивчав EE.
geometrikal

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

@EvanCarroll З іншого боку, питання під час написання запитання не запитує про ті речі, які вас цікавлять.
Дмитро Григор'єв

Відповіді:


29

По-перше, зараз забудьте резистор 100 Ом. Це не потрібно для роботи кнопки, це просто захист у випадку, якщо ви зробите помилку програмування.

  • Якщо натиснути кнопку, P2 буде безпосередньо підключений до +5 V, так що це буде сприйматися як високий рівень, який буде "1".
  • Якщо кнопка відпущена, то +5 В більше не рахується, між портом і землею знаходиться лише 10 кОм.

×


Тепер резистор 100 Ом. Якщо ви випадково зробили висновок штифта і встановили його низьким, тоді натискання кнопки призведе до короткого замикання: мікроконтролер встановлює на штирі 0 В, а перемикач +5 В на той же штифт. Мікроконтролеру це не подобається, і ІС може бути пошкоджений. У таких випадках резистор 100 Ом повинен обмежувати струм до 50 мА. (Що все-таки трохи забагато, резистором 1 кОм було б краще.)

Оскільки вхідний штифт не буде подавати струм (крім низького витоку) навряд чи буде падіння напруги через резистор.

10 кОм - типове значення для підтягування або пониження. Менше значення дасть вам навіть менший перепад напруги, але 10 мВ або 1 мВ не мають великої різниці. Але є щось інше: якщо кнопку натиснути, то через резистор буде 5 В, тож буде протікати струм 5 В / 10 кОм = 500 мкА. Це досить низько, щоб не викликати жодних проблем, і ви все одно не будете тримати довгий час натискання кнопки. Але ви можете замінити кнопку перемикачем, який може тривалий час бути закритим. Тоді, якби ви вибрали спускання 1 кОм, у вас буде 5 мА через резистор до тих пір, поки вимикач закритий, і це трохи марно. 10 кОм - це хороше значення.


Зауважте, що ви можете перевернути це догори дном, щоб отримати підтягуючий резистор, і переключитися на землю, коли натиснути кнопку.

введіть тут опис зображення

Це переверне вашу логіку: натискання кнопки дасть вам "0" замість "1", але робота однакова: натискання кнопки зробить вхід 0 В, якщо ви відпустите кнопку, резистор підключить вхід до рівня +5 В (із незначним падінням напруги).

Це зазвичай робиться, і виробники мікроконтролерів враховують це: більшість мікроконтролерів мають внутрішні підтягуючі резистори, які можна активувати або дезактивувати в програмному забезпеченні. Якщо ви використовуєте внутрішню підтяжку, вам потрібно лише підключити кнопку до землі, це все. (Деякі мікроконтролери також мають налаштовані спади, але вони набагато рідше.)


Я не думаю, що зрозуміло, як метод Push-Down вирішує проблему з плаваючим станом з цієї відповіді.
Еван Керролл

7

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

Якщо вимикач відключений (не натискається), єдиний можливий шлях струму - P2через обидва резистори до землі. Таким чином, мікроконтролер буде читати НИЗКО.

Якщо вимикач підключений (натиснений):

  • Поточні подорожі від джерела живлення через комутатор

  • Деякі струми проходять через резистор 100 Ом до P2. Мікроконтролер зчитує ВИСОК.

  • Незначна кількість струму буде протікати через резистор 10 Ком на землю. Це в основному витрачається потужність.

Зауважте, що резистор 100 Ом якраз там, щоб обмежити максимальний струм, що надходить P2. Зазвичай це не входить в ланцюг, як це, тому що P2вхід мікроконтролера вже має високий імпеданс і не пропускатиме багато струму. Однак у тому числі резистор 100 Ом корисний у випадку, якщо у вашому програмному забезпеченні є помилка або логічна помилка, яка змушує його намагатися використовувати P2як вихід. У такому випадку, якщо мікроконтролер намагається зробити P2низький привід, але перемикач короткий і підключити його до високого, можливо, ви пошкодите штифт мікроконтролера. Щоб бути безпечним, 100 Ом резистор обмежував би максимальний струм у такому випадку.


5

Коли ви натискаєте кнопку, ви розміщуєте логічний високий рівень (+5 В) на вході. Але якщо опустити резистор і кнопку відпустити, то вхідний штифт буде просто плаваючим, що в HCMOS означає, що рівень не визначений. Це те, чого ви не хочете, тому ви втягуєте вхід на землю за допомогою резистора. Резистор необхідний, оскільки в іншому випадку натискання кнопки призведе до короткого замикання.

Вхід має високий опір, це означає, що через нього навряд чи буде протікати струм. Нульовий струм через резистор означає нульову напругу через нього (Закон Ома), тому 0 В на одній стороні також буде 0 В (або дуже близько) на вхідному штифті.

Це один із способів підключення кнопки, але ви також можете поміняти резистор і кнопку, щоб резистор перейшов на +5 В, а кнопку заземлити. Потім обернена логіка: натискання кнопки дасть низький рівень на вхідному штифті. Однак це часто робиться, оскільки більшість мікроконтролерів мають вбудовані резистори, так що вам потрібна лише кнопка, тоді зовнішній резистор можна опустити. Зауважте, що можливо вам доведеться ввімкнути внутрішню підтягування.



Дивіться також цю відповідь .


Я не думаю, що зрозуміло, як метод Push-Down вирішує проблему з плаваючим станом з цієї відповіді.
Еван Керролл

4

Резистором 10 км називається висувний резистор, оскільки, коли "зелений" вузол (при підключенні резисторів 100 ом і 10 кОм) не перемикається на + 5 В перемикачем, цей вузол витягується на землю (якщо припустити низький струм через цю гілку , очевидно). Коли комутатор закритий, цей вузол набирає потенціал + 5В.

Це використовується для керування входами логічних ІМС (І воріт, АБО воріт тощо), оскільки ці схеми будуть поводитися помилково, якщо на їх входах немає визначеного значення (значення 0 або 1). Якщо ви залишите вхід логічного затвору плаваючим, вихід не може бути достовірно визначений, тому доцільно завжди застосовувати визначений вхід (0 або 1, знову) до входу воріт. У цьому випадку P2 був би входом до певного логічного ворота, і коли комутатор відкритий, він має вхідне значення 0 (GND); коли перемикач закритий, він має вхідне значення 1 (+ 5В).


2

Струм проходить шлях найменшого опору

Я не впевнений, звідки походить це поширене неправильне уявлення, але це дійсно неправильно, оскільки воно прямо суперечить закону Ома. Струм приймає всі можливі шляхи , обернено пропорційні їх опору. Якщо застосувати 5 В до резистора 10 К, то через нього буде протікати 0,5 мА незалежно від того, скільки альтернативних шляхів (низького опору чи іншим чином) ви надаєте.

До речі, цей шлях через резистор 100 Ом не обов'язково є "найменшим опором", оскільки резистор не підключений до землі . Типово, ви підключите цей резистор до входу MCU з опором> 10 МОм, що фактично робить резистор 10k шляхом найменшого опору.


1

Причина того, що потрібен розпірний резистор, полягає в тому, що мікроконтролер є пристроєм CMOS, і таким чином вхідний штифт в кінцевому рахунку є воротом MOSFET.

Якщо ваша кнопка керувала лампою, світлодіодом або реле, вам не знадобиться висувний резистор, оскільки відкрита схема буде "вимкнена". Коли кнопку відпустили, лампочка вимкнеться, оскільки струм не буде текти.

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

На відміну від цього, вхід мікроконтролера - це затвор MOSFET, який діє як конденсатор. Коли напруга на затворі досить висока, вхід "увімкнено". Це відбувається, коли ви натискаєте кнопку, і струм надходить через резистор 100R в мікроконтролер. Затвор заряджається (дуже швидко), як конденсатор, і вхід стає "включеним". Тепер, що відбувається, коли ви відпустите кнопку? Більше поточних потоків більше немає. Але що це означає для вкладу? Якщо немає резистора, що падає, заряду на воротах нікуди не діватися. Напруга буде просто сидіти там біля 5В, а вхід все ще буде "включений". Висувний резистор зливає заряд затвора, тому його напруга падає нижче рівня "ввімкнено". Це те, що ви хочете, щоб цифровий вхід вважався "вимкнено".

Ви можете експериментувати з цим, підключивши дві кнопки до вхідного штифта. Прив’яжіть один до 5 В і один для заземлення. При натисканні на кнопку 5В вхід увімкнеться. Коли ви відпустите його, він залишатиметься увімкненим, поки ви не натиснете той, який підключений до GND.


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