Управление яркостью светодиодов с использованием двух цифровых выходов

Тема в разделе "Arduino & Shields", создана пользователем loginov, 15 июл 2015.

  1. loginov

    loginov Нуб

    Здравствуйте!

    Начал изучать электронику и Arduino с постройки платы для старой игрушечной машинки, но кроме управления двигателями, встраиваю управление светотехникой: фары, поворотники, задний ход и т.д, а также сигнал (пьезо-излучатель). Использую Arudino Uno, поэтому количество выходов ограничено и в целях обучения пытаюсь разобраться с сабжем. Через ШИМ сделать просто, но свободных не осталось. Отсюда вопрос: как конкретно реализовать светодиоды стоп сигналов, чтобы при подаче сигнала на 12 пин они горели в пол накала, а при подаче сигнала на 13 пин - в полный?

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

    Дано: 2 красных светодиода 2.3 В, 20 мА.
    Задача: составить схему без использования ШИМ выходов, чтобы можно было устанавливать двум светодиодам 3 состояния: не горят, горят в полнакала, горят в полный накал.
     
  2. geher

    geher Гуру

    Два транзистора и два резистора разных номиналов между диодом и пинами.
    Если транзистор полевой, то с p каналом. Если биполярный, то тоже должен соответствовать по структуре.
     
  3. Megakoteyka

    Megakoteyka Оракул Модератор

    Как вариант, можно реализовать ШИМ программно.
     
  4. loginov

    loginov Нуб

    Спасибо! Не могли бы вы немного раскрыть свой ответ, например показав каким образом их соединить? Это бы очень помогло мне, необходимые параметры транзисторов и резисторов я смогу рассчитать.

    Спасибо за ответ! Почитал про программную ШИМ, вроде все понятно, опробую.
     
  5. Deniss

    Deniss Гик

    Свечение диода в большей степени определяется током, нежели напряжением.
    поэтому с 12 пина сигнал идет через резистор 500Ом
    а с 13 пина через 120Ом
    Свечение будет разное... Можно даже подключить к 1 светодиоду
    011.jpg

    Да, сопротивление резисторов подбирается экспериментальным путем, если разных номиналов нет, то для увеличения сопротивления можно поставить последовательно (подряд) 2 шт и более, пока не будет светиться как нужно.
     
    geher нравится это.
  6. loginov

    loginov Нуб

    Понял, опробовал — это именно то, что нужно, спасибо большое за помощь!
     
  7. geher

    geher Гуру

    Да, с транзисторами я погорячился. Без них проще и правильнее.
     
  8. loginov

    loginov Нуб

    По примеру Deniss правильно ли я посчитал ток, который будет проходить через светодиод?
    При подаче сигнала на 12 пин и отсутствии сигнала на 13 пине, ток на резисторе и, соответственно, светодиоде будет равен 5 В / 500 Ом = 0.01 А.
    При подаче сигнала на 12 и 13 пин, ток будет равен 5 В / (500 * 120 / (500 + 120)) = 0.05 А.
     
    Последнее редактирование: 16 июл 2015
  9. Deniss

    Deniss Гик

    Мне кажется что ток пойдет только через наименьшее сопротивление (5В/120Ом = 0,04)
     
  10. Megakoteyka

    Megakoteyka Оракул Модератор

    http://hightolow.ru/resistor3.php
     
  11. Deniss

    Deniss Гик

    там как раз этого нет ;) Но в другой статье сказано что просто токи складываются... или I = U/Rобщ
    5/120 + 5/500 = 0,5
     
  12. loginov

    loginov Нуб

    Думаю, Megakoteyka хотел указать на раздел про параллельное соединение. Получается 10 мА пойдет с 12 пина и почти 42 мА с 13 пина, тогда на светодиоде окажется 52 мА. Нужно на 13-ый пин такой же резистор на 500 Ом поставить, чтобы получить ток в 20 мА на светодиоде.
     
  13. Deniss

    Deniss Гик

    Так тебе же нужно чтоб яркость была разная, не думаю, что 0,0016 ампер (5/120 + 5/500 = 0,0516) это перегрузка, там запас намного больше...
     
  14. loginov

    loginov Нуб

    Ведь при таком токе светодиод быстро выйдет из строя? Поэтому остановился на двух 330 Ом, которые подключил по вашей схеме, все было просто, спасибо большое!
     
  15. Deniss

    Deniss Гик

    А ты в этом плане, я думал, что ардуину боишься;)
    Если тебе еще нужно чтоб яркость была разная с 12 и 13 пина, возьми 3 резистора на 330ом. От 12 ножки пойдет 2 последовательно, а от 13 - 1
     
  16. andriano

    andriano Нерд

    1. Насчет "без транзистора правильнее" - не уверен. Если исходить из 20 мА на светодиод, то два - это уже 40 мА. Максимальный ток Arduino - 50 мА через контакт. Но не факт, что он будет правильно работать, если током по 40 мА нагрузить десяток контактов.
    2. Вышеприведенный расчет тока неверный. Светодиод - почти как стабилитрон на 2 Вольта, напряжение на нем слабо зависит от тока. Исключение - белые яркие светодиоды, напряжение на которых может достигать 3 В. Т.е. I = (5 - 2)/R. Но я бы не стал ставить менее 180 Ом.
    3. В процессе отладки может быть всякое. Я бы считал, что "вполнакала" - это только 12 пин, а "полный накал" - это 12 одновременно с 13. Режим с только 13 пином не используется. Так мы и обезопасим себя от перегрузки пин контроллера и светодиод, и несколько разгрузим пин с меньшим резистором. Я бы порекомендовал номиналы 510-560 Ом на 12 пин и 240-270 Ом - на 13.
    4. Идея программного ШИМ с использованием единственного контакта также заслуживает внимания. Резистор в этом случае 180-220 Ом.
     
  17. Megakoteyka

    Megakoteyka Оракул Модератор

    Суммарно по всем пинам вроде не больше 200 мА можно нагружать.
     
  18. andriano

    andriano Нерд

    Значит, без транзисторов не обойтись.

    PS. Да, нужно еще посмотреть, потянет ли всю нагрузку, подключаемую к 5 В, стабилизатор Ардуино, там тоже, вроде не больше то ли 600, то ли 800 мА. Так что, возможно, придется либо ставить отдельный более мощный стабилизатор на 5 В, либо запитывать светодиоды от нестабилизированного источника (напрямую от батарей), но при этом придется пересчитать номиналы резисторов.
     
  19. geher

    geher Гуру

    Вроде как речь шла о всего лишь паре светодиодов. Для них городить дополнительные детали не резон.
    А если речь идет о целых гроздях светодиодов, то даже без дополнительного условия цифрового управления яркостью без транзисторов или целого драйвера не обойтись.
     
  20. andriano

    andriano Нерд

    Читаем исходное сообщение темы:
    Вспоминаем, какая светотехника есть у автомобиля: дальний свет, ближний свет, левые поворотники, правые поворотники, задний ход, стоп-сигналы. Т.к. человек спрашивает о двух градациях яркости стоп-сигналов, значит, передние габариты у него совмещены с ближним светом, а задние - со стоп-сигналами. Итого - 6 групп светильников. Есть ли противотуманки - не знаю. В каждой группе (возможно, кроме заднего хода), минимум, два светильника. Да и все 6 каналов ШИМ человек уже использовал, тогда как на мотор достаточно всего одного канала. Вот и выходит, что светодиодов явно больше десятка.