Чи є обмеження на те, скільки струму може затонути штир?


13

Я експериментував з 8x8 світлодіодною матрицею, керованою Arduino Uno. Як я вважаю типовим, матриця використовує загальний анод для кожного рядка та загальний катод для кожного стовпця.

На даний момент у мене є всі матричні штифти, підключені безпосередньо до штифтів IO на Uno, і у мене не було жодних проблем із підсвічуванням світлодіодів один на один. Проходження всієї такої матриці робить оновлення трохи повільнішими, тобто світлодіоди не такі яскраві, як хотілося б.

Наскільки я знаю, я не можу безпечно засвітити цілий ряд одразу, тому що окремий штифт на Uno не здатний подавати достатньо струму, щоб одночасно запускати 8 окремих світлодіодів (що вимагає щонайменше 10 мА для кожного бути досить яскравим).

Мені прийшло в голову, що реверс може бути безпечнішим. Якщо я засвічую цілий стовпчик за один раз, то кожен контакт повинен виставляти достатньо струму для одного світлодіода, що не повинно бути проблемою. Однак він покладається на один контактний шкала, що потенційно занурює струм з усіх 8, що становить щонайменше 80 мА.

Це можливо, або я збираюся смажити свою дошку?


Який точний дисплей ви використовуєте (таблиця даних) і чи використовуєте ви з ним послідовні резистори? Можливо, ви смажите годинний показ, а не Arduino.
джиппі

На ній немає детальної номера, тому я не маю точного аркуша даних. Я припускав, що кожен світлодіод має напругу вперед 2В, і я консервативно використовую резистори серії 390 Ом на даний момент (під час тестування). Це означає, що я веду їх на рівні близько 8 мА, кожен я думаю.
Пітер Блумфілд

це повинно бути добре.
jippie

Чи можете ви детальніше розібратися в тому, що ви робите. Причина, чому я прошу, полягає в тому, що я хочу зробити те саме, і я новачок. Я RTFMing, і ваше запитання було найвищим моїм пошуком. Я jeffsilverm@gm4il.c0m. Дякую.
користувач1928764

Відповіді:


13

я збираюся смажити свою дошку?

Досить вірогідний результат. Ось чому:

У Arduino Uno використовується мікроконтролер atMEGA328, який має абсолютний максимальний показник 40 мА джерела або раковини на GPIO. Крім того, загальний струм через рейки подачі або заземлення (тобто загальна кількість усіх поточних ОП хоче, щоб штифти GPIO занурилися або джерело) оцінювали до максимум 150 200 мА.

Реально, поточні графіки в аркуші даних atMEGA328 навіть не досягають 40 мА, отже, найбезпечніше обмежити струм приблизно 20 мА на GPIO.

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

Рішення :

Використовуйте або BJT, MOSFET або інший драйвер IC, наприклад ULN2003, щоб фактично провести струм через світлодіоди.


2
Де ви знайшли макс. 150mA за пакет? У мене є 200mA при абсолютних максимальних показниках .
jippie

@jippie I goofed :-)
Anindo Ghosh

9

Я збираюся вкрасти свою відповідь, коли я відповів на це запитання під час останньої спроби ардуїно SE.


Це трохи складно. В основному існує ряд обмежуючих факторів:

Лінії вводу-виводу від мікроконтролера (тобто аналогового та цифрового штифтів) мають як сукупний (наприклад, загальний) межа струму, так і обмеження на один контактний контакт:

введіть тут опис зображення
З таблиці ATmega328P .

Однак, залежно від того, як ви визначаєте «шпильки» Arduino, це не вся історія.

5В контактний ардуїно не підключений через мікроконтролер . Як такий, він може отримувати значно більше енергії. Коли ви живите ардуїно від USB, інтерфейс USB обмежує ваше загальне енергоспоживання до 500 мА. Це поділяється з пристроями на платі arduino, тому наявна потужність буде дещо меншою.
Коли ви використовуєте зовнішній блок живлення, через роз'єм живлення ствола, ви обмежені місцевим 5В-регулятором, який визначається не більше 1 Ампер . Однак це також термічно обмежено , це означає, що в міру черпання потужності регулятор нагріється. Коли він перегріється, він тимчасово вимкнеться.

3,3 В регульований вихід здатний подавати макс 150 мА, що є межею 3,3 В регулятора.


Підсумки

  • Абсолютний максимум для будь-якого окремого IO штиря 40 мА ( це максимум . Ви ніколи не повинні фактично витягти повний 40 мА з шпилькою. В основному, це поріг , при якому Atmel більше не може гарантувати чіп не буде пошкоджений. Ви завжди повинні переконатися, що ви безпечно нижче цього поточного ліміту. )
  • Загальний струм від усіх штифтів IO разом становить макс 200 мА
  • Вихідний штифт 5 В хороший для ~ 400 мА на USB, ~ 900 мА при використанні зовнішнього адаптера живлення
    • 900 мА призначений для адаптера, що забезпечує ~ 7В. Зі збільшенням напруги адаптера збільшується і кількість тепла, з яким регулюється регулятор, і максимальний струм знижується зі збільшенням напруги. Це називається термічним обмеженням
  • Вихід 3,3 В здатний подавати 150 мА .
    • Примітка. Будь-яка потужність, витягнута з рейки 3.3V , повинна проходити через 5V рейку . Тому, якщо у вас є 100 мА пристрій на виході 3.3V, вам потрібно також вважати це проти 5V повного струму.

Примітка. Це не стосується Arduino Due, і для Arduino Mega, ймовірно, є деякі відмінності. Це, як правило, справедливо для будь-якого Arduino, заснованого на мікроконтролері ATmega328.

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