""

Светодиодный драйвер на ltc3454 + управление на attiny13a

Светодиодный драйвер на LTC3454 + управление на ATtiny13A

Микросхема LTC3454 – это компактный, надёжный, высокоэффективный, синхронный, понижающе-повышающий драйвер для питания одного мощного светодиода. Основное применение – питание одного светодиода от одного литий-ионного аккумулятора.

Рассмотрим преимущества микросхемы:

  • Мостовая топология Buck-Boost, позволяющая как понижать, так и повышать выходное напряжение, а также работать когда напряжения на батарее и на нагрузке равны;
  • Встроенные полевые транзисторы;
  • Защита от КЗ в нагрузке, от обрыва нагрузки;
  • Мягкий запуск (настраиваемый);
  • Выходной ток до 1А (настраиваемый);
  • Работает при входном напряжении от 2,7В;
  • Защита от перегрева;
  • Высокий КПД;
  • Управление при помощи логических уровней, например, от микроконтроллера;
  • Низкое потребление в спящем режиме.

Недостатки тоже есть:

  • Нельзя управлять ШИМ сигналом (вернее можно, но через ж. ), поэтому выходной ток задаётся аппаратно (внешними резисторами);
  • Мелкий корпус;
  • Высокая цена и редкая “доставабельность”.

Схема выглядит следующим образом:

Выходной ток LTC3454 задаётся при помощи двух внешних резисторов R5 и R6. Почему именно 2 резистора? Потому что микросхема имеет 2 режима, и каждый резистор задаёт ток только своего режима. Режимы активируются подачей логического уровня “1” на ножки “EN1” и “EN2”. Если подать логический уровень “1” на обе ножки “EN1” и “EN2”, то включатся оба режима, и общий выходной ток будет равен сумме токов режимов 1 и 2. Например, если задать ток 1-го режима 200 мА, а 2-го режима 500 мА, то при включении обеих режимов, общий ток будет 700 мА.

Выходной ток каждого режима рассчитывается по формуле:
I_led = 3850 * (0.8 / R_iset)
Сопротивление резистора “R_iset” указывается в килоомах, выходной ток “I_led” получается в миллиамперах.

Рассчитал токи, вот что получилось:
3850 * (0.8 / 30) = 102,6 мА (первый режим)
3850 * (0.8 / 15) = 205,3 мА (второй режим)
102,6 + 205,3 = 307,9 мА (оба режима вместе)

Для удобного управления драйвером я применил AVR микроконтроллер ATtiny13A, работающий на тактовой частоте 128 кГц (для минимизации энергопотребления). Он будет выполнять следующие задачи:

  • Включение/отключение питания (по нажатию кнопки);
  • Переключение режимов (по удержанию кнопки);
  • Отключение питания при разряде аккумулятора (автоматически).

Программа микроконтроллера написана в среде “AVR Studio 5”. Напряжение разряженного аккумулятора, при котором автоматически отключится драйвер, задаётся соответствующей прошивкой. В конце статьи прилагается набор прошивок под напряжения 3,1. 3,6 Вольт.

Фото собранного драйвера:

Подключил к светодиоду:

Нажимаем на кнопочку.

Вуаля! Работает! После запуска драйвера, я сразу же протестировал ряд защит, заявленных в даташите:

  • От КЗ в нагрузке;
  • От обрыва нагрузки;
  • От слишком низкого напряжения питания (Under Voltage Lock Out, UVLO).

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

Пара строк о КПД драйвера в режиме понижалки:

Светодиодный драйвер на ltc3454 + управление на attiny13a

Основные требования к драйверу:

  • Диапазон входных напряжений от 3 до 6В (питание от 4хАА батареек).
  • Работа в режиме Step-Down, стабилизация тока.
  • Отсутствие ситуации “внезапного выключения” (т.е. если не удается удерживать ток, яркость плавно снижается до нуля без внезапного отключения).
  • Сигнализация о слабой батарее.
  • Возможность реализации защиты для литиевых аккумуляторов.
  • Выбор яркости свечения.

Разработка драйвера

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

Так же в процессе разработки был опробован специализированный драйвер NCP3066. Он позволяет построить импульсный источник тока для светодиода, а так же сделать управление яркостью при помощи внешнего ШИМ-сигнала. Схема не была реализована полностью, напаял только аналоговую часть, чтобы провести тесты.

Результаты тестов получились печальными: КПД около 60% (наблюдается достаточно сильный нагрев драйвера), а главное: несмотря на заявленный диапазон напряжений 3-40В, драйвер отказался стабилизировать ток при напряжении питания меньше 5В, а на 4В (еще достаточно живые 4хАА батарейки) светодиод еле тлел. На данной плате я воотчию наблюдал, насколько улучшается стабильность работы схемы при добавлении емкого конденсатора по входу.

Еще есть очень интересный драйвер LTC3454, он имеет просто шикарный КПД – 90%, тянет ток до 1А, может работать в режимах понижения и повышения. Все отлично, если бы не одно но: макс. напряжение, с которым работает драйвер – 5.5В. В случае питания от 4хАА можно рассчитывать примерно до 7.4В, в случае установки литиевых элементов, у которых в начале работы напряжение может составлять до 1.8В на банку. Хотя, возможно рассмотреть применимость данного драйвера в фонарях с блоками из 2-3 батареек.

В принципе, разработка микроконтроллерного драйвера для светодиодов – изобретение велосипеда. Существует описание нескольких реализаций подобных драйверов. Одна из самых интересных – драйвер для светодиодов Cree с фонаревки: http://forum.fonarevka.ru/showthread.php?t=5151.

Концепция драйвера достаточно близка к тому что требуется мне. Однако, есть одно существенное отличие: данный драйвер рассчитан на питание от одной банки литиевого аккумулятора (напряжения 2.7-4.2В), поэтому в реальности схемотехника ограничена напряжением питания около 5В. Мне же требуется работать от 6В, конечно это всего на 10% выше максимально допустимого для ATtiny, поэтому он должен выдержать, но ничего хорошего при таком подходе не получится, да и драйвер MOSFET так же ограничен 5.5В (они сговорились чтоли?).

В реализации AVSel-а, сразу бросается в глаза достаточно жирный микроконтроллер. Почему же используется именно ATtiny45, а не что-то более примитивное, типа Tiny13A?

  1. Быстрый ШИМ. ATtinyX5 серия имеет на борту PLL блок, позволяющий тактировать таймерный блок частотой до 64МГц. А это дает частоту работы ШИМ до 250КГц. В Tiny13A максимум можно выжать около 33КГц (хотя этого в некоторых случаях вполне достаточно, просто требуется ставить более габаритные конденсаторы и дроссели.
  2. Дифференциальный вход АЦП. Да, очень полезная в данном применении функция, хотя, можно обойтись и без нее.
  3. Умножитель по входу АЦП. По желанию, можно активировать усиление сигнала на входе АЦП в 20 раз. До этого я и не предполагал, что такие функции встраивают на кристалл микроконтроллеров. И ведь это была главная проблема, каким еще образом измерить падение в 5мВ на токовом резисторе с приемлемой точностью? Если бы не умножитель, то пришлось бы ставить внешний ОУ.
  4. Микропрограмма на Си с развитой логикой калибровок. Если оставить в ней только логику регулирования, размер уменьшится почти до 0.5к.

Благодаря всем плюшкам ATtiny45, он идеально подходит для применения в цифровых DC-DC преобразователях и источниках тока, где требуется гибкая логика работы. Единственная проблема, которая долго мучила меня – это управление MOSFET-транзистором. Рассматривались разные варианты, это и специализированные драйвера, и аналоговые ключи, и схемы управления на дискретных компонентах. Остановился именно на последнем, т.к. дешевого драйвера с подходящими характеристиками не нашел.

Схема полностью разработана с нуля по классическому варианту Step-Down преобразователя с токовым шунтом для ОС по току. Микропрограмма частично основана на творении AVSel, хотя в итоге от нее осталась только функция регулирования.

Итого получился такой кошмар:

Плата конечного варианта:

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

Читайте также:  Жки дисплей показаний двух расходомеров

Внешний вид драйвера:

О непосредственном применении данного драйвера в следующем разделе.

Модификация светодиодного фонаря Petzl Duo

А теперь о том для чего изначально разрабатывался данный драйвер. Изначально он предназначался для установки в фонари линейки Petzl Duo/Duobelt. Именно из-за требуемой гибкости потребовалось завязаться на микроконтроллер.

Примечание: Несмотря на все преимущества светодиодов, до сих пор есть люди, ходящие на карбидных лампах. Причина этого проста: пламя дает теплый, а главное, рассеянный свет. Здесь за основное качество берется не яркость и дальность освещения, а то, что взгляд в любую сторону и под любым углом попадает в освещенный участок, поэтому лучше чувствуется объем и нет “эффекта капюшона”. Это единственное преимущество, а вот недостатков у карбидки очень много.

В данных фонарях ставится галогеновая лампа и блок на 5/8/14 светодиодов. В первую очередь, используются именно светодиоды. Блок светодиодов имеет очень низкую эффективность. Даже простой их заменой получается снизить потребление и увеличить яркость свечения фонаря.

Фонарь Duo LED 5 и вовсе ужасает: при новых батарейках потребление около 400мА (т.е. порядка 2.4Вт), при этом сами светодиоды из них получают менее 800мВт (остальное рассеивается на резисторах). Ну а светодиоды – холодные, даже с уходом в синеву, похожи на те, что ставят безымянные ускоглазые друзья в своих творениях за 100 рублей.

В Duo LED 8/14 производитель применил импульсный регулятор. КПД таких схем обычно превышает 70%, к тому же обеспечивается постоянная яркость свечения и контроль за уровнем разряда батареи, что очень удобно. Но сами светодиоды остались такими же низкокачественными и жутко устаревшими, даже на новых партиях фонарей. Такое ощущение, что Petzl закупил большую партию в начале двухтысячных и никак ее израсходовать не может. 🙂

Модель Duo является подобием конструктора: имеет модульную конструкцию. В начале этот фонарь существовал в варианте с 2 лампами накаливания. Затем одну из них заменили блоком светодиодов (Duo Led 5). В более новых моделях (Duo Led 8 и Duo Led 14) блок светодиодов снабдили умным драйвером с несколькими уровнями яркости (а главное, подняли КПД схемы). В качестве замены галогеновой лампы производителем так же был предложен светодиод, но фонарей в таком варианте так и не выпустили.

Благодаря модульной структуре Petzl Duo, без каких-то переделок в конструкций фонаря можно сделать модуль, заменяющий стандартный блок светодиодов (операция на пару минут). Подобные модули уже существуют, к примеру, этот.

Вот вид переделанного фонаря:

Вот таким образом модуль установлен внутри:

Полевые испытания пройдены, фонарь уже побывал в 5 экспедициях. Из-за конструкции модуля проблем не выявлено.

Логика работы

При включении фонаря устанавливается слабый уровень яркости. Всего существует 3 уровня, переключение происходит в последовательности – слабый-средний-сильный-слабый при помощи кратковременных отключений питания.

В процессе работы происходит постоянный контроль напряжения питания. При снижении напряжения ниже 4.5В (около 1.12В на элемент), фонарь переключается в более слабый режим. В самом слабом режиме, фонарь продолжает работать сохраняя некоторое время стабилизацию яркости свечения. На определенном этапе (при разрядке батарей ниже 3.5В) стабилизация работать перестает и яркость начинает снижаеться.

Свечение сохраняется при снижении напряжения батареи вплодь до 2.6В (около 0.65В на элемент), когда яркость свечения становится столь низкой, что фонарь продолжает светиться, но уже практически ничего не освещает.

Портативный осветитель

Благодаря универсальности схемы, получилось собрать на модуле небольшой в портативный осветитель для использования в качестве подсветки для фотосъемки:

Особенности конструкции: использован контроллер ATtiny13A (логика программы существенно упрощена), для питания установлены 2 Li-ion аккумулятора в формате 18650, светодиодов установлено 2, они включены последовательно.

Как видно, конфигурация довольно сильно отличается, однако аппаратная часть была оставлена прежняя, даже несколько упрощена.

Планы

  1. Добавление возможности работы от 4х Li-Ion 14500. Требует замены входного конденсатора и пересчета делителя. Так же логика защиты от переразряда.
  2. Добавление логики термозащиты, благодаря ей можно будет поднять мощность.

О сайте

Подборка статей и отчетов о различных математических и электронных экспериментах.

Светодиодный драйвер на ltc3454 + управление на attiny13a

Модератор форума: Электродыч, Sam, ВIOS
Форум радиолюбителей » СХЕМЫ » МИКРОСХЕМЫ » Драйвер для кемпингового фонаря на ATTiny13A (Нужна помощь)

Драйвер для кемпингового фонаря на ATTiny13A

Сб, 22.06.2019, 11:22 | Сообщение # 1
34kilowatt

Всем доброго времени! Прошу помощи или направления для решения проблемы. Ситуfция такая – решил заменить драйвер светодиодного фонаря на неизвестном китайском МК, который ушел в мир иной на Тини13а. Набросал программку. На порту 0 и 1 сделал шим, 3 порт хочу сделать, как выход у управлять им полевиком, чтобы включать делитель напряжения в цепь АКБ и не жрать через него аккумулятор, когда фонарь не работает. На 4ом кнопка с внутренней подтяжкой. Порты нагружены светодиодами через резисторы 4.7к. Но столкнулся с проблемой – если включаю 3й порт, то все начинает глючить. Диоды на 0 и 3 порте или на 1 и 3м (если переключить кнопкой) начинают мигать с частотой герц 15-20 в пол накала. В протеусе тоже ситуация странная на выводах шим амплитуда всего чуть больше вольта, как закомментирую выделенные строки, все начинает работать нормально.
Листинг АтмельСтудио:

#define true 1 // логическое состояние правда
#define false 0 // логическое состояние ложь

volatile uint16_t voltVal = 0; // переменная для накопления значений АЦП
volatile uint8_t sss1 = 0; // счетчик значений АЦП
volatile uint8_t sleep_MODE = true; // режим сна

uint8_t PWM_MODE[4] = <255, 0, 86, 172>; // режимы PWM (100%, 67%, 33%)
uint8_t LedMode = false; // переключатель светодиодов

uint8_t butCount = 0; // счетчик времени нажатия
uint8_t flgPress = false; // признак кнопка в нажатом состоянии
uint8_t flgClick = false; // признак отпускания кнопки
uint8_t switchLED = false; // признак переключения диодов
uint8_t flgLngPress = false; // признак удержания кнопки
uint8_t i = 0; // счетчик

void Set_PWM (void) <

PORTB |= (1 100)<
flgLngPress = true;
flgPress = false; // сбрасываем флаг нажатия
butCount = 0; // обнуляем счетчик времени нажатия
>// end if
>// end if
>// end if

if ((PINB & (1 1) LedMode = 0;
i = 1;
Set_PWM(); // устанавливаем режим светодиода
switchLED = true;
>// end if

if (flgClick)< // был клик
flgClick = false; // сбрасываем флаг клика
i++; // инкрементируем режим PWM
if (i > 3) i = 0; // обнуляем счетчик
Set_PWM(); // устанавливаем режим светодиода
[b] if (i == 0)<
sleep_MODE = true;
// отладка
//DDRB |= (1

Сб, 22.06.2019, 21:05 | Сообщение # 2
DarkRus66
Сб, 22.06.2019, 22:53 | Сообщение # 3
msmmmm
Пн, 24.06.2019, 08:45 | Сообщение # 4
34kilowatt
Пн, 24.06.2019, 09:47 | Сообщение # 5
msmmmm

Тщательно не смотрел, но что-то мне подсказывает, что эти команды делают совсем не то, что задумывалось :

Схема простого LED драйвера на PT4115 для 3w светодиода

Микросхема PT4115 от компании PowTech продолжает зарабатывать положительные отзывы среди российских радиолюбителей. Малоизвестному китайскому производителю удалось вместить в компактном корпусе несколько блоков управления с мощным транзистором на выходе. Микросхема разработана для стабилизации тока и питания им светодиодов мощностью более 1 Вт. Драйвер на основе PT4115 имеет минимальную обвязку и высокий КПД. Убедиться в этом и узнать о тонкостях подбора элементов принципиальной схемы поможет данная статья.

Краткое описание микросхемы PT4115

Согласно официальной документации, LED драйвер с функцией диммирования на основе PT4115 обладает следующими техническими характеристиками:

  • диапазон рабочего входного напряжения: 6–30В;
  • регулируемый выходной ток до 1,2А;
  • погрешность стабилизации выходного тока 5%;
  • имеется защита от обрыва нагрузки;
  • имеется вывод для регулировки яркости и включения/выключения при помощи DC или ШИМ;
  • частота переключения до 1 МГЦ;
  • КПД до 97%;
  • обладает эффективным корпусом, с точки зрения рассеивания мощности.


Назначение выводов PT4115:

  1. SW. Вывод выходного переключателя (МОП-транзистора), который подключен непосредственно к его стоку.
  2. GND. Общий вывод сигнальной и питающей части схемы.
  3. DIM. Вход для задания диммирования.
  4. CSN. Вход с датчика тока.
  5. VIN. Вывод напряжения питания.

Микросхема PT4115 имеет отдельный вывод для управления включением и выключением светодиодов, а также возможностью регулировки яркости с помощью изменения уровня напряжения или ШИМ на выводе DIM.

Принципиальная схема драйвера

На рисунке представлены две принципиальные схемы драйвера для 3w светодиода на основе PT4115. Первая схема питается источником постоянного тока напряжением от 6 до 30 вольт. Вторую схему дополняет диодный мост, питается она источником переменного тока с напряжением 12-18В.

На выходе диодного моста рекомендуется дополнительно установить конденсатор емкостью 1000 мкФ. Он сгладит колебания выпрямленного напряжения.

Важным элементом обоих схем является конденсатор CIN. Он непросто сглаживает пульсации, но и компенсирует энергию, накопленную в катушке индуктивности в момент закрытия ключа (МОП-транзистора). Без CIN индуктивная энергия через диод Шоттки D поступит на вывод VIN и спровоцирует пробой микросхемы по питанию. Поэтому включение драйвера без входного конденсатора категорически запрещено.

Индуктивность L подбирается исходя из количества светодиодов и тока в нагрузке.

Согласно документации, в схеме драйвера для 3 ватного светодиода рекомендуется использовать индуктивность на 68-220 мкГн.

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

Резистор RS выполняет функцию датчика тока. В первый момент времени, при подаче входного напряжения ток через RS и L равен нулю. Затем внутрисхемный CS comparator сравнивает потенциалы до и после резистора RS и на его выходе появляется высокий уровень. Ток в нагрузке, ввиду наличия индуктивности, начинает плавно нарастать до величины, определяемой RS. Скорость увеличения тока зависит не только от величины индуктивности, но и от размера напряжения питания.

Работа драйвера основана на переключении компаратора внутри микросхемы, который постоянно сравнивает уровни напряжения на выводах IN и CSN. Отклонение тока через светодиод от расчетного не превышает 5%, при условии монтажа резистора RS с максимальным отклонением от номинала 1%.

Для включения светодиода на постоянную яркость вывод DIM остаётся не задействован, а ток на выходе определяется исключительно номиналом RS. Управление диммированием (яркостью) можно осуществляться одним из двух вариантов.Первый способ предполагает подачу на вход DIM постоянного напряжения в диапазоне от 0,5 до 2,5В. При этом ток будет меняться пропорционально уровню потенциала на выводе DIM. Дальнейший рост напряжения, до 5В, не влияет на яркость и соответствует 100% току в нагрузке. Снижение потенциала ниже 0,3В приводит к отключению всей схемы. Таким образом, можно эффективно управлять работой драйвера без снятия напряжения питания. Второй способ подразумевает подачу сигнала с широтно-импульсного преобразователя с выходной частотой 100-20000 Гц.

Конструкция и детали сборки

Выбор элементов, расположенных в обвязке микросхемы PT4115, следует производить на основании рекомендаций изготовителя. В качестве CIN рекомендуется использовать конденсатор с низким ESR (эквивалентным последовательным сопротивлением). Данный параметр является вредным и негативно влияет на КПД. При питании от стабилизированного источника достаточно одного входного конденсатора ёмкостью не менее 4,7 мкФ, который должен быть размещен в непосредственной близости от микросхемы. При питании от источника переменного тока компания PowTech указывает на необходимость монтажа танталового конденсатора ёмкостью более 100 мкФ.

Типовая схема включения PT4115 для 3w светодиода подразумевает установку катушки индуктивности на 68 мкГн, располагать ее следует максимально близко к выводу SW PT4115.

Катушку индуктивности можно сделать своими руками, используя кольцо из старого компьютера и провод ПЭЛ-0,35.

К диоду D выдвигаются особые требования: малое прямое падение напряжения, малое время восстановления во время переключения и стабильность параметров при росте температуры p-n перехода, чтобы не допустить увеличения тока утечки. Этим условиям отвечает диод Шоттки FR103, способный выдерживать импульсы тока до 30А при температуре до 150°C.

Наконец, самый прецизионный элемент схемы драйвера для 3w светодиода – резистор RS. Минимальное значение RS=0,082 Ом, что соответствует току 1,2 А. Его рассчитывают, исходя из необходимого тока питания светодиода, по формуле:

RS=0,1/ILED, где ILED – номинальное значение тока светодиода, А.

В схеме включения PT4115 для 3w светодиода значение Rs составляет 0,13 Ом, что соответствует току 780 мА. В магазинах не всегда можно найти резистор такого номинала. Поэтому придется вспомнить формулы расчета суммарного сопротивления при последовательном и параллельном включении резисторов:

Таким образом, можно с высокой точностью получить нужное сопротивление из нескольких низкоомных резисторов.

В заключение хочется ещё раз подчеркнуть важность стабилизации тока, а не напряжения для обеспечения нормальной длительной работы мощных светодиодов. Известны случаи, когда в светодиодах китайского происхождения ток плавно продолжает нарастать в течение некоторого времени после включения и останавливается на значении, превышающем паспортный номинал. Это приводит к перегреву кристалла и постепенному снижению яркости. Драйвер для 3w светодиода на микросхеме PT4115 – это гарантия стабильной светоотдачи в сочетании с высоким КПД при условии эффективного отвода тепла от кристалла.

Простой ШИМ на ATTiny13.Регулируем всё

Потребовалось регулировать температуру маленького 12-ти вольтового паяльника Baku 938 мощностью 8 Вт , но в интернете попадались схемы ШИМ на дискретных элементах, например, схемы на таймере 555, к561ла7, к561лн2, на мультивибраторе из транзисторов.

ШИМ или PWM — процесс управления мощностью, подводимой к нагрузке, путём изменения скважности импульсов, при постоянной частоте.

Собрав несколько из них, ни одна меня не устроила, у них был слишком крутой спадподъем сопротивления при вращении ручки переменного резистора — от 2 кОм сразу подскакивало к 7 кОм, и следовательно, при этом, к примеру, подключенный для теста на исток полевого транзистора, компьютерный вентилятор со скорости 20 процентов сразу поднимал обороты до 90-100 процентов. В общем, чтобы пользоваться схемой, пришлось бы вращать потенциометр с прецизионной точностью иили с замером сопротивления при вращении.

Однако, нашлась схема, собранная на ATTiny13, в которой используется цифровая ШИМ . Посмотреть статью о ней можно на странице cxem.net/master/61.php

Сначала я отнесся к ней скептически, но зря, потому что схема минимальна по обвязке, по сравнению с дискретными схемами найденными ранее. Микросхема маленькая и дешевая, изготавливается в корпусах SOIC,DIP, QFN, MLF, ножек всего 8, как и у таймера NELM555.

ШИМ на ней получается точным и легко регулируется.

Смотрите также статьи по теме:

Наглядная схема (принципиальную схему смотрите по ссылке выше на сайте-источнике).

Описание чипа Atmel (Microchip) ATTiny13A

ATTiny13A — это 8 битный AVR микроконтроллер с программируемой Flash памятью внутрисистемно, размером 1 КБ.

Распиновка (pinout) микроконтроллера ATTiny13A

В чем отличие ATTiny13 от ATTiny13A ?

Tiny13A — это более новый и улучшенный микроконтроллер от Atmel.

Ранее выпускались два варианта Тини13 — с обычным (ATTiny13, работает от 2.7 вольт) и пониженным (ATTiny13V, работает от 1.8 вольт) питанием.

При этом первый вариант работает на частоте до 20 Мгц, второй — до 10Мгц.

С выходом Тини13А убрали разделение мк по питанию, Тини13А работает и от 1.8 вольт (в этом режиме, при пониженном низковольтном питании его невозможно заставить работать на высокой частоте).

Примечание по сборке схемы

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

Светодиоды лучше брать с тусклым свечением, разные яркие цвета могут раздражать, особенно ярко светится синий светодиод. Яркость можно снизить применив в цепи питания светодиодов резисторы, например, до 2 кОм.

Можно обойтись и без светодиодов (следовательно и еще без трёх резисторов), они просто нужны для индикации и отображения режима работы.

Также можно обойтись и без линейного стабилизатора напряжения LM7805 (КРЕН5), если схема питается напряжением в 5 вольт, и регулируемая нагрузка работает от такого же напряжения, а не от 12 вольт.

Для стабильности напряжения можно добавить керамические конденсаторы (на наглядной схеме выделены квадратом салатового цвета) — 0,33 микроФарад (334) на вход 7805, и 0,1 микрофарад (104) на выходе 7805.

Используемая нагружаемая мощность будет ограничена полевым (MOSFET) транзистором.

Прошивка

Почитав комментарии на оригинальной странице, увидел несколько комментариев об ошибке — надо вначале держать кнопку 30 секунд, чтобы ШИМ запустился, что конечно же ну очень долго.

Так как исходники прилагались — решил исправить ошибку и добавить индикацию работы светодиодами нагляднее. Исходники, к моему сожалению оказались на BascomAVR.

Пришлось его скачать и открыть исходник в нем. Исправив ошибку с ожиданием в 30 секунд — решил проверить и залить прошивку. Но прошивка не захотела литься, подумав что это ошибка компилятора BascomAVR, было решено написать свой код для ATTiny13 на Си в Atmel Studio 7, конечно с сохранением оригинальной схемотехники, чтобы было можно только лишь залить прошивку и ничего не переделывать на печатке.

Написал тестовый код в Atmel Studio, скомпилировал прошивку, заливаю в attiny13 – опять ошибка:

mismatch 0x000000

Ошибка оказалась не в средах разработки, а в программе для прошивки мк, конкретно в моем случае в eXtreme Burner AVR, для того, чтобы исправить данную ошибку необходимо открыть файл

C:Program FileseXtreme Burner – AVRDatachips.xml

Найти ATTiny13 и между тегами 64 Вместо 64 написать 32 – после этого ATTiny13 начал шиться без проблем.

Спустя несколько дней программа была написана.

Что изменено и добавлено в прошивку:
+ Не нужно удерживать кнопку на протяжении 30 секунд
+ Добавлено 8 значений ШИМ вместо 7
+ Добавлена индикация включения.
+ Сделана наглядная индикация режима ШИМ .
+ Добавлено автосохранение значения ШИМ (по умолчанию выключено)

Индикация включения — при включении очень быстро и с реверсом перельются все три светодиода.

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

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

Пояснения по работе устройства с новой прошивкой

Режимы работы:
— Все светодиоды выключены, Значение ШИМ — 0 (0%)
1 — Моргает светодиод 1, ШИМ — 32 (12%)
2 — Моргает светодиод 2, ШИМ — 64 (25%)
3 — Моргает светодиод 3, ШИМ — 96 (37.6%)
4 — Все светодиоды переливаются, ШИМ — 128 (50%)
5 — Горит светодиод 1, ШИМ — 160 (62.7%)
6 — Горит светодиод 2, ШИМ — 192 (75.2%)
7 — Горит светодиод 3, ШИМ — 224 (87.8%)
8 — Все светодиоды моргают, ШИМ — 255 (100%)

ШИМ — 0 (0%) — питание на «регулируемом устройстве» отсутствует, например, паяльник не греется.

ШИМ — 255 (100%) — полная мощность работы «регулируемого устройства».

Для включения автосохранения значения ШИМ необходимо удержать кнопку в течении 3-х секунд, для отключения — осуществить тоже самое.

При этом при включении автосохранения на 1,5 секунды загорится светодиод 1.
При отключении — на 1,5 секунды загорится светодиод 3.Удерживать кнопку можно в любом режиме, но лучше это делать в режиме 0- так будет нагляднее.

Не стоит забывать, что при включенном автосохранении каждый раз, при нажатии на кнопку записываются данные в EEPROM, ресурс записи EEPROM в Atmel AVR — 100 000.

Программирование ATTiny13 микроконтроллера

  1. Для заливки прошивки в ATTiny потребуется: USB ASP Программатор микроконтроллеров ATmega AVR.
  2. Программа eXtreme Burner AVR.

Необходимо поставить фьюз на работу от внутреннего тактового генератора на 9,6 Мгц

Т.к. я пользуюсь eXtreme Burner AVR то во вкладке FuseBits записываю такие байты вместо выставления галок(в других программах-прошивальщиках галки):

Младший байт(Low ByteFuse) – 7A

Старший байт (High ByteFuse) – EB

Для того, чтобы знать какие галки ставить в других программах, чтобы микроконтроллер работал на частоте 9.6Мгц , можно использовать данный сайт:

Слева вверху, где написано Байты конфигурации вводим – 7A в окошечко LOW

и EB в окошечко HIGH – получаем указание на то, где следует поставить галки.

Собранное в корпус устройство ШИМ с вынесенной кнопкой:

(Принципиальная схема и печатная плата имеется на приведенном выше сайте.)

Плата ШИМ, упакованная в корпус от другого устройства и подключенный к ней паяльник.

Файлы прошивки в формате HEX:

Оригинальная, скомпилированная из приведенных ниже исходников:

Прошивка с более высокой частотой (Не тестировалась на реальной схеме!):

Прошивка по просьбе одного из пользователей нашего сайта, частота ШИМ — около 2,3 килоГерц:

В данной прошивке всего три режима

1 — ШИМ 80%, светится светодиод 1

2 — ШИМ 90%, светится светодиод 1,2

3 — ШИМ 100%(Постоянное питание), светится светодиод 1, 2 и 3

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

Светодиодный драйвер на ltc3454 + управление на attiny13a

Уже на за горами новогодние праздники и душа периодически просит праздника. Душа радиолюбителя может эти праздники создавать.

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

Решил, что эффект метеора или стартующей ракеты в данной елке будет неплохо смотреться. Но не Ардуину же туда ставить! Нужно что-то предельно простое и миниатюрное, работающее от батарейки. И чудо — получилось создать эффект метеора на самом младшем AVR контроллере — Attiny13. Итак, статья о том что и как получилось.

Использованные компоненты

  • Микроконтроллер AVR ATtiny13A в корпусе SOP8 — $0.3 (при партии 10 шт)
  • Кусочек ленты из 8 светодиодов WS2812 — $0.7
  • Микросхема BL8530-501 для повышающего преобразователя — $0.1
  • Елочка (если не нашли ничего подходящего в фикспрайсе или новогоднем базаре) — $1
  • Держатель для батареек в корпусе с выключателем — $0.8
  • Диод шоттки, катушка 47 мкГн, два конденсатора, кусочек текстолита

Итоговый бюджет около $3

Если запитать елочку от USB Или зарядника, то не нужна схема преобразователя и держатель батареек и бюджет уменьшается до $2 — $2.5, а если найти готовую игрушку, в которую можно встроить схему, то и во все 100 руб.

Для микроконтроллера с 64 байтами. оперативной памяти и 1 Кбайтом флэша под программу нечего думать об использовании ардуиновских библиотек вроде NeoPixel, которые я использовал в предыдущих проектах с WS2812. Для маленьких тинек я нашел библиотеку с минимумом возможностей, написанную на ассемблере и влезающую даже в ATtiny10.

Светодиоды WS2812 очень прожорливые и яркие и работают от 5В (ну хотя бы от лития 3.7В). Поэтому никакие литиевые CR2032 И прочие в этом проекте не годятся. Использовал повышающий стабилизатор на BL8530 о котором рассказывал в этой статье. Получилось, что для экономии места можно запитать мою поделку от 1-й или 2-х батареек (АА или ААА).

Правда одного аккумулятора ААА хватает только на два часа непрерывной работы, зато двух уже на 5 часов, а одной алкалиновой батарейки АА часов на десять. Можно упростить питание и использовать литиевый аккумулятор 3.7В напрямую или 5В от USB или на худой конец три штуки ААА. Тогда преобразователь можно не делать.

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

В качестве микроконтроллера подойдет любая тинька начиная с ATtiny13A

AVR-ки я прошиваю через самодельный программатор на Arduino Nano

Подробнее о программировании тинек в Arduino IDE я рассказывал в этой статье.

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

И проверять их в корпусе елочки.

Вырезаю на станке простейшую миниатюрную плату с монтажом на стороне меди

Размер платы 40х10 мм, что вполне позволяет ей замещать одну батарейку в держателе.

Лета припаивается прямо к плате либо при помощи трех проводков.

Загрузив программу, можно все это добро собирать вместе с елочкой

Дизайн этой платы немного другой, в корпусе DIP8 на панельке, на котором удобнее отлаживаться.

Рейтинг
( Пока оценок нет )
Загрузка ...
×
×
Adblock
detector