Действительно ли мне нужны резисторы при управлении светодиодами с помощью Arduino?

Я просто попробовал Arduino Uno в первый раз с двумя мигающими светодиодами на макете. Все учебные пособия в Интернете, похоже, используют резистор. Я знаю функцию резисторов, но действительно ли это имеет значение здесь? Эти светодиоды работают нормально, без резистора.

41 голос | спросил 40Plot 31 Maypm12 2012, 17:14:55

6 ответов


72

непослушный! :-). Если они говорят, что используют резистор, для этого есть веская причина! Отключите его, СЕЙЧАС!

Резистор предназначен для ограничения тока светодиода. Если вы его опустите, текущее ограничение должно исходить от выхода Arduino, и ему это не понравится. Как вы узнаете, что должен быть резистор? Вы знаете Закон Ома? Если вы этого не сделаете, запишите его большими буквами:

\ $ V = I \ cdot R \ $

Напряжение соответствует сопротивлению текущего времени. Или вы могли бы сказать

\ $ R = \ dfrac {V} {I} \ $

Это то же самое. Напряжение, которое вы знаете: Arduino работает на 5V. Но не все, что перейдет через резистор. Светодиод также имеет падение напряжения, обычно около 2 В для красного светодиода. Таким образом, для резистора остается 3 В. Типичный светодиодный индикатор будет иметь номинальный ток 20 мА, затем

\ $ R = \ dfrac {5V - 2V} {20mA} = 150 \ Omega \ $

Arduino Uno использует микроконтроллер ATmega328 . В техническом паспорте указано, что ток для любого вывода I /O не должен превышать 40 мА, что обычно называют абсолютными максимальными рейтингами. Поскольку у вас нет ничего, чтобы ограничить ток, существует только (низкое!) Сопротивление выходного транзистора. Ток может быть выше 40 мА, и ваш микроконтроллер будет страдать от повреждения.

изменить
Следующий график из таблицы ATmega показывает, что произойдет, если вы будете управлять светодиодом без резистора ограничения тока:

введите описание изображения здесь>> </p>

<p> Без нагрузки выходное напряжение равно 5 В, как ожидалось. Но чем выше ток, тем ниже выходное напряжение, он будет падать около 100 мВ для каждой дополнительной нагрузки 4 мА. Это внутреннее сопротивление 25 \ $ \ Omega \ $. Тогда </p>

<p> \ $ I = \ dfrac {5V - 2V} {25 \ Omega} = 120mA \ $ </p>

<p> График не заходит так далеко, сопротивление будет повышаться с температурой, но ток останется очень высоким. Помните, что спецификация дала 40 мА как абсолютный максимальный рейтинг. У вас есть три раза. Это означает, что  определенно  повреждает порт ввода-вывода, если вы это сделаете в течение длительного времени. И, вероятно, светодиод тоже. Светодиодный индикатор 20 мА будет часто иметь 30 мА в качестве абсолютного максимального номинала. </p></body></html>

ответил stevenvh 31 Maypm12 2012, 17:21:43
17

40plot,

Я должен сказать, что вождение светодиода без резистора НЕ РЕКОМЕНДУЕТСЯ, если вы не знаете, что делаете. Однако, если вы понимаете, как ведет себя светодиод, вы можете безопасно управлять им без резистора. На самом деле, вождение светодиода без токоограничивающего резистора часто лучше.

Зачем вам управлять светодиодом без резистора? Просто, чтобы сделать вашу схему более энергоэффективной.

Если вы ведете свой светодиод с PWM, установленным на постоянный рабочий цикл (т. е. 5 Вт PWM с рабочим циклом 34% для достижения среднего напряжения 1,7 В)?

Да и нет. Использование PWM может работать так же, как и применение определенного напряжения (если вы будете осторожны), но есть более эффективные способы. Вещи, о которых нужно беспокоиться при принятии подхода к PWM.

  1. Важна частота ШИМ. При использовании PWM в этом сценарии вы полагаетесь на способность компонентов вашей схемы временно обрабатывать большие токи. Ваша самая большая проблема будет заключаться в том, как светодиод обрабатывает временный высокий ток и как выходная схема вашего чипа может обрабатывать временно высокий ток. Если эта информация не указана в техническом описании, тогда авторы данных были ленивыми. НО!!! Если эта информация указана в техническом описании, вы можете с уверенностью воспользоваться ею. Например, у светодиода, который у меня рядом со мной, максимальный ток составляет 40 мА. Тем не менее, он также имеет рейтинг «Peak Forward Current», равный 200 мА, с учетом того, что ток не может оставаться на уровне 200 мА дольше 10us. Soooo ... Я могу управлять светодиодом с 1,7 В (светодиодные индикаторы типичного прямого напряжения из таблицы). С рабочим циклом 34% и мощностью 5 В (34% от 5 В = 1,7 В) будет производиться среднее напряжение 1,7 В, мне просто нужно обеспечить, чтобы моя ШИМ на время составляла 10 или менее. Во время включения ток через светодиод, вероятно, вырастет примерно до 58 мА (58 мА = типичный ток на 1,7 В моего диода, деленный на 34%). 58 мА превышают максимальный ток светодиодов 40 мА на 18 мА. Наконец ... Мне понадобилась бы частота PWM 33,3 кГц или более, чтобы безопасно управлять моим светодиодом (33,3 кГц = обратное время [10US ON, деленное на 34%, чтобы получить период PWM]). В REALITY я мог безопасно использовать PWM для питания своего светодиода с более низкой частотой ШИМ. Причина заключается в следующем: в спецификациях обычно не указывается все допустимые рабочие сценарии компонента. Они не специфицируют эти сценарии, потому что поставщик не хочет вкладывать время в разработку и поддержку использования своего компонента для случаев использования в режиме использования. Например, с моим светодиодом, если я могу управлять светодиодом на 40 мА навсегда (40 мА - это максимальный номинальный ток), и я могу управлять светодиодом на 200 мА для 10us. Тогда я могу быть 99.99999% уверенным, что могу безопасно управлять светодиодом на 100 мА в течение некоторого периода дольше 10us, вероятно, близкого к 20us.

ПРИМЕЧАНИЕ. Все компоненты могут безопасно обрабатывать временные всплески тока выше своих максимальных значений, если длительность текущих всплесков SMALL ENOUGH . Некоторые компоненты будут более прощающими, чем другие, и, если вам повезет, в техническом описании компонента указывается, насколько хорошо он может обрабатывать всплески тока.

  1. Важное значение имеет напряжение вашего ШИМ. Я продемонстрирую свою точку зрения на примере вместо объяснения. Если мы используем светодиод, я имел в виду ранее, мы знаем, что 34% -ный рабочий цикл при 33,3 кГц при 5 В безопасен. Однако, если наше напряжение было 12В, нам пришлось бы перерабатывать наши вычисления, чтобы поддерживать то же количество тока, протекающего через светодиод. Наш рабочий цикл должен снизиться до 14,167% (1,7 В, разделенного на 12 В), и наша минимальная частота ШИМ снизится до 14,285 кГц (инверсия [10us делится на 14,167%]). ОДНАКО! , это вызывает обеспокоенность. В сценарии 5V мы применяем 5V для 10us, а в сценарии 12V мы применяем 12V для 10us. Мы более чем удвоили напряжение во время этого 10us, должны быть некоторые последствия. И да, есть! Мой светодиодный лист данных не дает мне данных, необходимых для того, чтобы знать, как высокое напряжение, которое я могу использовать для 10us, прежде чем я поврежумой светодиод. Конечно, 1000V для 10us поджарит мой светодиод. Но, как я узнаю, будет ли 5V на 10us жарить мой светодиод? или 12V для 10us? Если для этого нет спецификации, вы рискуете. Итак ... 5V для 10us является рискованным, но, скорее всего, безопасным.

ПРИМЕЧАНИЕ. Вы можете добавить конденсатор в схему, чтобы усреднить PWM и устранить эту проблему.

  1. Подход PWM управляет светодиодом разомкнутым контуром (а также использует источник питания 1,7 В без PWM). Вы подаете среднее напряжение на светодиод, > только правильное значение , чтобы включить светодиод, но не достаточно высоко, чтобы повредить светодиод. К сожалению, диапазон напряжения от ON (и достаточно яркий, чтобы видеть) до поврежденного светодиода очень мал (этот диапазон на моем светодиоде составляет около 0,7 В). Существуют различные причины, по которым вы думаете, что вы используете 1.7V, не всегда будет 1,7 В ...

а. Изменения температуры окружающей среды. Что делать, если в закрытом ящике у вас был драйвер двигателя, регулятор напряжения и т. Д., В котором также был светодиод. Было бы необычно, если бы эти другие компоненты поднимали температуру окружающей среды внутри корпуса от 25 ° С до 50 ° С. Это повышение температуры WILL изменяет поведение вашего светодиода, вашего регулятора напряжения и т. Д. Ваш безопасный 1.7V больше не будет 1.7V, а ваш светодиод, который использовался для жарки на 2.5V, теперь будет жарить при 2,2 В.

б. Изменение напряжения питания. Что, если ваш запас был батареей. Когда батарея разряжается, напряжение значительно падает. Что, если вы разработали свою схему, чтобы хорошо работать со слегка используемой батареей 9 В, но затем вы добавили новую 9-вольтную батарею. Новые свинцово-кислотные батареи 9В обычно имеют фактическое напряжение 9,5 В. В зависимости от схемы, обеспечивающей 5 В, используемой для ШИМ, этот дополнительный 0,5 В может увеличить 5В PWM до 5,3 В. Что делать, если вы используете аккумулятор? Они имеют еще больший диапазон напряжений на протяжении всего цикла разряда.

с. Существуют и другие сценарии, такие как индуцированный ток от EMI (двигатели сделают это).

Наличие токоограничивающего резистора избавит вас от многих из этих проблем.

Использование PWM для управления светодиодом - не очень хорошее решение, есть ли лучший способ, который не требует токоограничивающего резистора?

Да! Делайте то, что они делают в светодиодных лампочках для вашего дома. Управляйте светодиодом с помощью контроллера тока. Установите текущий контроллер для управления тем, на который рассчитан ваш светодиод.

При правильном регуляторе тока можно резко увеличить, и вы можете безопасно управлять светодиодом, не беспокоясь о большинстве проблем, связанных с открытием контура вождения светодиода.

Недостаток: Вам нужен текущий контроллер, и вы увеличили сложность схемы на 10 раз. Однако не стоит отчаиваться. Вы можете купить текущие контроллеры IC, светодиодные драйверные ИС или сделать свой собственный токовый управляемый повышающий преобразователь. Это не так сложно. Потратьте некоторое время из своего напряженного графика и узнайте о конвертерах boost и buck. Узнайте о переключении источников питания. Это то, что питает ваш компьютер, и они чрезвычайно энергоэффективны. Затем либо постройте один с нуля, либо купите недорогой IC, чтобы выполнить большую часть работы для вас.

Конечно, как и во всех электронных проектах, всегда есть больше вещей, которые вы можете сделать, чтобы сделать вашу схему лучше. Посмотрите рисунок 3 в следующем PDF-документе, чтобы узнать, насколько сложна даже бытовая светодиодная лампочка в эти дни ...

http://www.littelfuse.com/~/media/electronics /design_guides/led_protectors/littelfuse_led_lighting_design_guide.pdf.pdf

Вкратце: Вы должны сами решить, какой риск вы готовы предпринять в своей цепи. Использование 5V PWM для управления вашим светодиодом, скорее всего, будет работать нормально (особенно если вы добавите конденсатор, чтобы сгладить прямоугольную волну PWM и максимизировать частоту PWM). Не будьте слишком бойтесь подталкивать свою электронику за пределы своихобычные рабочие условия, просто, узнайте, когда вы это сделаете, знаете риски, которые вы принимаете.

Наслаждайтесь!

FYI: Я удивляюсь тому, как много людей сразу же перескакивают на ответ: «ВЫ ДОЛЖНЫ ИСПОЛЬЗОВАТЬ ТЕКУЩИЙ ОГРАНИЧИТЕЛЬНЫЙ РЕЗИСТОР». Это благие намерения, но чрезмерно безопасные советы.

Орт

ответил ort 4 PMpSat, 04 Apr 2015 18:13:27 +030013Saturday 2015, 18:13:27
0

Ответ от stevenvh объясняет, что вам нужно сделать, но вы также должны рассчитать рассеивание мощности по светодиоду, чтобы вы не выжигали резистор падения напряжения. Например, если напряжение питания составляет 5 В, а прямое напряжение резистора составляет 1,0 В, то вы потеряете 4 В. Использование резистора 220 Ом приведет к току (I = V /R) 18 мА и рассеиванию мощности (P = IV) 72 мВт.

0402 Имперский размер (1005 метрических) резисторов обычно составляет 1/16 Вт, что составляет 62,5 мВт. Так что в этом случае это не сработает; он перегревает резистор и сокращает срок его службы. Таким образом, вам нужно будет переключиться на резистор 0402 с номиналом 1/10 Вт или более высоким сопротивлением 0603.

Всякий раз, когда вы выполняете такие вычисления, добавьте их в схему, чтобы рецензент мог легко проверить вашу работу.

Обратите внимание, что прямое напряжение (и, следовательно, значение резистора) является функцией светодиода, а разные цвета светодиодов будут иметь разные значения. Синие светодиоды, в частности, имеют высокое прямое напряжение (~ 3,0 В). Поэтому, если вы пытаетесь получить четыре разных светодиода одинаковой яркости, вам нужно будет повторить вычисления для каждого светодиода. Чтобы действительно сделать это правильно, посмотрите на оптические характеристики каждого светодиода на его номинальный ток и отрегулируйте соответствующим образом.

ответил Fix It Until It's Broken 8 MonEurope/Moscow2014-12-08T20:53:12+03:00Europe/Moscow12bEurope/MoscowMon, 08 Dec 2014 20:53:12 +0300 2014, 20:53:12
0

Короткий ответ: да и нет, это зависит от вашего ардуино, и это зависит от цвета вашего вождя. Например, плата 3.3V не требует резистора последовательно с небольшим зеленым светодиодом, потому что прямое напряжение светодиода довольно высокое, см. this . Внутреннее сопротивление составляет около 25 Ом, принимайте (3.3 - 3) /25 = 12 мА, так что это все равно, вы не должны пропускать максимальный ток на штырь, который составляет 40 мА для процессора 328p atmel, используемого на плате UNO (кроме вы используете производную от 328p, где это может быть другая история). Однако для ардуино, работающего при напряжении 5 В, возникнет инфракрасный светодиод, который имеет гораздо более низкое прямое напряжение, обычно 1,2 В, (5-1,2) /25 = 150 мА, и это определенно слишком много, поэтому используйте ограничитель тока, такой как как резистор для управления этими типами светодиодов. Штырь 13 на платах Arduino (или другой штифт по вариантам) уже имеет светодиод и резистор последовательно. Кроме того, питание на плате имеет максимальную оценку, обычно 200 мА, и вы должны оставаться на этом уровне, и вы не можете набрать больше определенного количества мА на группу контактов, это объясняется здесь . Если вы хотите управлять многими светодиодами, подумайте о том, чтобы использовать драйвер светодиодов матрицы, который выполняет мультиплексирование для вас, см., Например, мою область YouTube, где я демонстрирую драйвер MAX7219CNG. Но также Arduino Uno может сделать мультиплексирование для вас, см. Мой ИК-термометр с 4 семью светодиодами сегмента на youtube. Счастливый взлом.

ответил Ejo60 28 62015vEurope/Moscow11bEurope/MoscowSat, 28 Nov 2015 13:04:49 +0300 2015, 13:04:49
0

Вы можете использовать встроенные подтягивающие резисторы, как предлагается здесь :

  

Подтягивающие резисторы обеспечивают достаточный ток для тусклого освещения светодиода, подключенного к контакту, который был сконфигурирован как вход.

ответил eadmaster 4 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 04 Sep 2017 22:32:15 +0300 2017, 22:32:15
-3

ДА! Это может быть сделано.

Несмотря на то, что было сказано правильно, есть другой путь. Более энергоэффективный способ управления светодиодами с 5v.

Это немного недокументировано, и неизвестно, будет ли решение стирать светодиоды, но это можно сделать. Я на самом деле это делаю.

Использование PWM с помощью аппаратного обеспечения: пример :

#include <avr/io.h>
#include <util/delay.h>
void pwm_init()
{
    // initialize TCCR0 as per requirement, say as follows
    TCCR0 |= (1<<WGM00)|(1<<COM01)|(1<<WGM01)|(1<<CS00);

    // make sure to make OC0 pin (pin PB3 for atmega32) as output pin
    DDRB |= (1<<PB3);
}

void main()
{
    uint8_t duty;
    duty = 1;       // duty cycle = 0.39% of the time (depends on the oscillator.)

    // initialize timer in PWM mode
    pwm_init();

    // run forever
    while(1)
    {
        OCR0 = duty;
    }
}

PWM также можно моделировать с помощью программного обеспечения и таймеров avrs. Вы можете найти пример внутри библиотеки lufa, называемый LEDNotifier.c.

Мой вывод: можно управлять светодиодом на 5 В.

PROS: нет необходимости в резисторе. Некоторое энергосбережение (~ 50%)

CONS: Я не знаю, напряжен ли компонент и о его сокращении времени жизни.

Есть парень, который также провел этот эксперимент в Стэнфорде и разместил некоторую информацию на его сайт .

ответил Gaspar de Elias 8 MonEurope/Moscow2014-12-08T18:43:08+03:00Europe/Moscow12bEurope/MoscowMon, 08 Dec 2014 18:43:08 +0300 2014, 18:43:08

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132