Dlaczego dokładnie 470 lub 1k Ω? (aby zapobiec uszkodzeniu styku wyjściowego)


12

Cytat z samouczka Arduino, sekcja Cyfrowe szpilki :

Zwarcia na stykach Arduino lub próba uruchomienia z nich urządzeń wysokoprądowych mogą uszkodzić lub zniszczyć tranzystory wyjściowe na styku lub uszkodzić cały układ Atmega. Często skutkuje to „martwym” pinem w mikrokontrolerze, ale pozostały układ nadal będzie działał prawidłowo. Z tego powodu dobrym pomysłem jest podłączenie styków OUTPUT do innych urządzeń z rezystorami 470Ω lub 1k, chyba że w konkretnym zastosowaniu wymagany jest maksymalny pobór prądu z pinów.

Te liczby są dla mnie voodoo: dlaczego „470” lub „1k”? Dlaczego nie podano dokładnie jednej liczby, na przykład „co najmniej 470 Ω, jeśli w przeciwnym razie wystąpiłoby zwarcie”?

Jestem zainteresowany, ponieważ rozważam użycie Arduino jako kontrolera klawiatury i - w tym przypadku użycia - linie są zasadniczo zwarte po naciśnięciu przycisku. Oczywiście linie mają pewien opór, ale nie miałem jeszcze okazji go zmierzyć.


2
Jeśli używasz pinów do wykrywania przycisków, pomyślałbym, że piny byłyby skonfigurowane jako wejścia, w którym to przypadku zwarcie pinu do ziemi byłoby w porządku.
Gorloth,

5
470 i 1000 są powszechnymi wartościami, które majsterkowicze mogą mieć dookoła. To jest jak „Użyj około 500 do 1000 omów!”, Ale następnie znormalizowane do wspólnych wartości rezystorów.
Kaz

Odpowiedzi:


18

Najpierw trochę o zwarciach: zwarcie to obwód, który nie ma żadnych celowych elementów ograniczających prąd na ścieżce prądu. Wynikiem tego jest to, że elementy obwodów, które zwykle przyjmujemy, że mają zerowy opór, zaczynają działać jako rezystory, a zwykły model matematyczny zasilaczy psuje się często, co skutkuje niższym od oczekiwanego napięciem i destrukcyjnym przegrzaniem.

Ω5V470Ω10mAkΩ

W przypadku faktycznego zwarcia linii należy w pełni oczekiwać, że same linie będą miały znikomy opór! Spowodowałoby to bezpośrednie zwarcie pinów, co, jak napisano w cytacie, skutkowałoby martwymi pinami. Również zwarte linie często powodują zerwanie przycisków, ponieważ duży prąd ma negatywny wpływ na żywotność styków przycisku z powodu przegrzania i iskrzenia. Zamiast używać zwarć do łączenia linii, lepszym sposobem jest umieszczenie rezystora w pobliżu uziemienia linii. Ograniczy to prąd, gdy linia zostanie zasilona. Poprzez umieszczenie rezystora w pobliżu uziemienia linii, zapewniamy, że największy spadek napięcia na linii jest na jej końcu, więc jeśli zwiejemy go inną linią czujnikową za pomocą przycisku, linia czujnikowa zobaczy pełne napięcie.

Również piny ustawione jako wejście znajdują się w tak zwanym trybie „wysokiej impedancji”, co oznacza, że ​​zachowują się tak, jakby były rezystorem o bardzo dużej rezystancji podłączonej do uziemienia. Jeśli masz 100% pewności, że styk będzie tylko stykiem sensownym, nie musisz stawiać przed nim kolejnego rezystora. Nawet w takim przypadku dobrym pomysłem jest umieszczenie rezystora, ponieważ możesz przypadkowo ustawić pin jako coś innego niż wejście i potencjalnie spowodować zwarcie. Jeśli umieścisz rezystor, pamiętaj, że przez linię pomiarową przepłynie bardzo mało prądu, co oznacza, że ​​spadek napięcia na rezystorze będzie bardzo niski, co spowoduje, że pin zobaczy pełne napięcie.

Jeśli chcesz bardziej „zaawansowanego czytania”, zajrzyj do arkusza danych ATmega328, który jest jednym z mikrokontrolerów używanych w niektórych Arduinos. W sekcji 29. Charakterystyka elektryczna zobaczysz, że w kategoriach Absolutne maksimum prąd na pin we / wy wynosi 40 mA, a dla całego urządzenia wynosi 200 mA.

AKTUALIZACJA: Proszę nie mylić absolutnych maksymalnych ocen z ocenami operacyjnymi! Zawiadomienie HEre z arkusza danych dla ATmega32U4:

NOTICE: Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent dam- age to the device. This is a stress rating only and functional operation of the device at these or other conditions beyond those indicated in the operational sections of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability.

Oto przypisy ze strony 379 tego samego arkusza danych:

Although each I/O port can sink more than the test conditions (20mA at VCC = 5V, 10mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed: ATmega16U4/ATmega32U4: 1.)The sum of all IOL, for ports A0-A7, G2, C4-C7 should not exceed 100 mA. 2.)The sum of all IOL, for ports C0-C3, G0-G1, D0-D7 should not exceed 100 mA. 3.)The sum of all IOL, for ports G3-G5, B0-B7, E0-E7 should not exceed 100 mA. 4.)The sum of all IOL, for ports F0-F7 should not exceed 100 mA. If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater than the listed test condition. 4. Although each I/O port can source more than the test conditions (20mA at VCC = 5V, 10mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed: ATmega16U4/ATmega32U4: 1)The sum of all IOH, for ports A0-A7, G2, C4-C7 should not exceed 100 mA. 2)The sum of all IOH, for ports C0-C3, G0-G1, D0-D7 should not exceed 100 mA. 3)The sum of all IOH, for ports G3-G5, B0-B7, E0-E7 should not exceed 100 mA. 4)The sum of all IOH, for ports F0-F7 should not exceed 100 mA. 5. All DC Characteristics contained in this datasheet are based on simulation and characterization of other AVR microcon- trollers manufactured in the same process technology. These values are preliminary values representing design targets, and will be updated after characterization of actual silicon


To wspaniale, dziękuję za tak szczegółowe napisanie dla nas.
Patrick Hughes,

Dzięki za wgląd! W tytule I teraz skorygowane o wprowadzenie kodu PIN do wyjścia pin . Nawiasem mówiąc, planuję użyć Leonardo, który jest oparty na ATmega32u4 . Jego 5 styków VI / O jest określonych dla maks. 40 mA.
feklee

@feklee Bądź bardzo ostrożny tutaj! Te piny mają umrzeć przy 40 mA! Spójrz na pełny arkusz danych i zwróć szczególną uwagę na przypisy na stronie 379 i uwagi na stronie 378.
AndrejaKo

1
W rzeczywistości te przypisy są tak ważne, że przytoczę je tutaj w odpowiedzi.
AndrejaKo

13

Krótka odpowiedź jest taka, że ​​Arduino jest skierowane do hobbystów z małą wiedzą elektrotechniczną, a jego instrukcje są wystarczająco uproszczone, aby przejść do sedna. Te dwie wartości są bezpieczne i dają użytkownikowi opcję zamiast stałego zapotrzebowania.

Oba są rezystorami o standardowych rozmiarach. 470 Ω i 1 kΩ, gdy są używane z napięciem Arduino 5 V VCC, zapewniają bezpieczny pobór prądu (5 V / 470 Ω ~ 0,011 A (11 mA), 5/1000 = 0,005 A (5 mA)). A prąd pobierany jest przydatny w przypadku tranzystorów, diod LED lub podobnych części.

Szczerze mówiąc, każdy rezystor wartości, który da pobór prądu w granicach maksymalnego prądu pinowego mikroprocesora (40mA), będzie działał. Oznacza to, że każdy opornik powyżej 125 Ω.


Dziękujemy również za wyjaśnienie, dlaczego te rezystory są popularne!
feklee

1
@feklee Nie widzę pełnego wyjaśnienia tego, ale możesz być tym zainteresowany: en.wikipedia.org/wiki/E24_series#E_series
TNW
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.