- Зарядное устройство на 12 В на основе Arduino и LM317
- Необходимые компоненты
- Работа схемы
- Отображение значений напряжения и тока на ЖК дисплее с помощью Arduino
- Создание печатной платы для нашего устройства
- Тестирование зарядного устройства
- Исходный код программы
- Автоматическое зарядное устройство на МК для свинцово-кислотных АКБ
Зарядное устройство на 12 В на основе Arduino и LM317
В настоящее время большая часть электронных устройств запитывается с помощью свинцово-кислотных батарей. В этой статье мы рассмотрим как перезаряжать подобные батареи с помощью простой схемы на Arduino, которую можно собрать в домашних условиях – отличный шанс сэкономить на покупке зарядного устройства.
Для начала постараемся понять основные принципы работы свинцово-кислотных батарей чтобы мы смогли спроектировать наше зарядное устройство максимально эффективным образом. Большинство продающихся в настоящее время свинцово-кислотных батарей имеют напряжение 12 В. Ампер-часы (А*ч) каждой батареи могут отличаться в зависимости от требуемой емкости батареи, к примеру батарея на 7 А*ч будет способна обеспечивать ток 1 Ампер в течение 7 часов (1 Ампер * 7 часов = 7 А*ч).
Рекомендуемый ток заряда для свинцово-кислотных батарей составляет 1/10 от их емкости (в Ампер-часах). То есть для батареи емкостью 7 А*ч рекомендуемый ток заряда будет составлять 0,7 Ампер. Больший ток заряда может нанести вред батарее и уменьшить срок ее службы. Учитывая данный фактор мы и будем проектировать наше домашнее зарядное устройство, способное обеспечивать переменное напряжение и переменный ток. Ток заряда будет регулироваться на основе значения емкости батареи.
Создаваемое нами устройство для заряда свинцово-кислотных батарей можно будет использовать и для заряда ваших мобильных телефонов при помощи соответствующей регулировки подаваемого тока и напряжения с помощью потенциометра. То есть наше устройство представляет собой источник регулируемого постоянного тока, которое работает от сети переменного тока. Также для лучшего понимания материала этой статьи можно прочитать недавно рассмотренный на нашем сайте проект источника напряжения питания 0-24В 3А на Arduino и LM338.
Необходимые компоненты
- Трансформатор на 12В 1А.
- Микросхема LM317 (2 шт.) (купить на AliExpress).
- Диодный мост W005.
- Контактная колодка (2 шт.).
- Конденсаторы 1000 мкФ (купить на AliExpress) и 1 мкФ (купить на AliExpress).
- Конденсаторы 0,1 мкФ (5 шт.) (купить на AliExpress).
- Резистор 1 кОм (5 шт.) (купить на AliExpress).
- Диоды Nn007 (3 шт.).
- Операционный усилитель LM358 (купить на AliExpress).
- Шунтирующее сопротивление (проводник) 0.05 Ом (купить на AliExpress).
- Плата Arduino Nano (опционально) (купить на AliExpress).
- ЖК дисплей 16х2 (опционально) (купить на AliExpress).
Работа схемы
Схема зарядного устройства без платы Arduino и ЖК дисплея представлена на следующем рисунке.
Основная цель нашего источника питания на 12 В – управлять напряжением и током, подаваемым на свинцово-кислотную батарею чтобы заряжать ее в максимально комфортном для нее режиме. Для этой цели в схеме использованы две микросхемы LM317 – одна для управления значением напряжения (U3), а вторая (U1) для ограничения тока. Также мы настоятельно рекомендовали бы вам изучить даташит на микросхему LM317, поскольку это может пригодиться вам не только для этого проекта, но и для других похожих проектов, в которых данная микросхема используется в качестве регулятора напряжения.
Простая схема регулятора напряжения, взятая из даташита на LM317, представлена на следующем рисунке.
В этой схеме значение выходного напряжения регулируется с помощью значений сопротивлений R1 и R2, в нашем проекте мы это делаем с помощью изменения сопротивления резистора R2. Формула для вычисления значения выходного напряжения выглядит следующим образом:
Vout = 1.25 (1+R2/R1).
Используя данную формулу мы в нашем проекте выбрали значение сопротивления 1K (R8) и использовали потенциометр 10К (RV2).
Схема ограничения значения тока, взятая из даташита на LM317, представлена на следующем рисунке.
Это простая схема, которая может быть использована для ограничения значения тока в нашей схеме, основанная на значении сопротивления R1. Формула для вычисления значения выходного тока выглядит следующим образом:
Основываясь на этой формуле мы в нашей схеме выбрали значение сопротивления RV1=100 Ом.
То есть для управления значениями выходных напряжения и тока мы в нашей схеме использовали два потенциометра — RV1 и RV2. На микросхему LM317 напряжение подается с выхода диодного моста, а на диодный мост – с выхода трансформатора через коннектор P1. Трансформатор должен быть на 12 В и 1 А. Представленная схема достаточна для того чтобы выполнять поставленную функцию – обеспечивать на выходе схемы заданные ток и напряжение. Но ее можно улучшить с помощью ЖК дисплея, на экране которого можно наглядно контролировать указанные параметры.
Отображение значений напряжения и тока на ЖК дисплее с помощью Arduino
Отображать текущие значения напряжения и тока на выходе нашей схемы мы можем с помощью платы Arduino Nano и ЖК дисплея 16х2.
Поскольку плата Arduino Nano работает с напряжениями не более 5 В, то для того чтобы не сжечь ее напряжением 12 В мы применим делитель напряжения, схема которого представлена на следующем рисунке. Также вопросы контроля значения напряжения на выходе схемы с помощью платы Arduino можно изучить в статье про источник напряжения питания 0-24В 3А на Arduino и LM338.
Для измерения значения тока мы использовали шунтирующее сопротивление R4 чтобы создать падение напряжения на резисторе как показано на следующей схеме. После этого мы можем легко определить значение тока, используя известный закон Ома – I=V/R.
Значение шунтирующего сопротивления мы выбрали равным 0.05 Ом, поэтому максимальный ток, который можно пропускать через нашу схему, будет равен 1,2 А, что соответствует выбранным нами параметрам трансформатора. Мощность, рассеиваемую на резисторе, можно будет определить с помощью известного выражения P=I^2/R. В нашем случае получаем P=(1.2*1.2*0.05) => 0.07, что менее чем четверть ватта. При изменении значения шунтирующего сопротивления рассеиваемую мощность необходимо будет пересчитать.
Теперь, когда мы можем рассчитать падение напряжения на резисторе R4, мы можем рассчитать ток через нашу схему с использованием Arduino. Но это падение напряжения слишком мало для того, чтобы его можно было измерить с помощью Arduino. Поэтому в нашей схеме мы применили операционный усилитель LM358 как показано на выше приведенном рисунке. Сигнал с выхода данного операционного усилителя подается на нашу плату Arduino через R-C-схему чтобы измерять значение тока и отображать его на ЖК дисплее.
Далее можно использовать какой-нибудь симулятор (рекомендуется) для проверки работоспособности схемы прежде чем собирать ее в «железе». Мы данном случае использовали симулятор Proteus 8 для тестирования схемы как показано на следующем рисунке. Скачать готовый файл нашей схемы для данного симулятора вы можете по следующей ссылке.
Создание печатной платы для нашего устройства
Данная статья является переводом с этой статьи на англоязычном сайте и раздел про создание печатной платы я не переводил потому что подходы, использованные авторами статьи-оригинала для создания печатной платы, могут кардинальным образом отличаться от тех подходов, которые используете вы. Поэтому если вы хотите реализовать рассмотренное в данной статье зарядное устройство на 12 В на печатной плате, то можете сделать это любым удобным для вас способом (к которому вы привыкли). У авторов статьи-оригинала в результате получилось устройство следующего вида:
Тестирование зарядного устройства
Плата Arduino и ЖК дисплей не являются обязательными элементами для нашей схемы – они используются только для целей контроля, поэтому вы можете временно смонтировать их на схеме с помощью специальных колодок, чтобы потом можно было легко их убрать и использовать в других проектах.
Для тестирования устройства удалите с нее плату Arduino и подсоедините схему к трансформатору. После этого отрегулируйте выходное напряжение к требуемому уровню с помощью потенциометра RV2. Проверьте выходное напряжение схемы с помощью мультиметра и подсоедините ее к батарее как показано на следующем рисунке. Теперь наше устройство готово к работе.
Прежде чем подсоединять плату Arduino к нашей схеме удостоверьтесь что на контакте, к которому мы будем ее подсоединять, напряжение не превышает 5 В, иначе мы можем испортить плату Arduino. Используйте ниже приведенный текст программы для загрузки его в плату Arduino. Эта программа предназначена для отображения значений тока и напряжения на экране ЖК дисплея. Более подробно весь этот процесс показан в видео в конце статьи.
Данное устройство можно использовать и для заряда сотовых телефонов, но для этого необходимо будет уточнить какие значения напряжения и тока требуются для заряда вашего сотового телефона. Также к схеме необходимо будет подсоединить USB кабель.
Исходный код программы
Код программы достаточно простой, поэтому комментариев к нему нет. Но если у кого возникнут какие либо вопросы по тексту данной программы, то вы можете задать их в комментариях к данной статье.
Источник
Автоматическое зарядное устройство на МК для свинцово-кислотных АКБ
Устройство предназначено для зарядки и тренировки (десульфатации) свинцово-кислотных АКБ ёмкостью от 7 до 100 Ач, а также для приблизительной оценки уровня их заряда и емкости. ЗУ имеет защиту от неправильного включения батареи (переполюсовки) и от короткого замыкания случайно брошенных клемм. В нём применено микроконтроллерное управление, благодаря чему осуществляются безопасные и оптимальные алгоритмы зарядки: IUoU или IUIoU, с последующей «добивкой» до 100%-го уровня зарядки. Параметры зарядки можно подстроить под конкретный аккумулятор (настраиваемые профили) или выбрать уже заложенные в управляющей программе. Конструктивно зарядное устройство состоит из блока питания АТ/АТХ, который нужно немного доработать и блока управления на МК ATmega16A. Всё устройство свободно монтируется в корпусе того же блока питания. Система охлаждения (штатный кулер БП) включается/отключается автоматически. Достоинства данного ЗУ — его относительная простота и отсутствие трудоёмких регулировок, что особенно актуально для начинающих радиолюбителей.
Рассмотрим основные режимы работы устройства для заложенных в программу предустановок (профилей).
1. Режим зарядки — меню «Заряд». Для аккумуляторов емкостью от 7Ач до 12Ач по умолчанию задан алгоритм IUoU. Это значит:
— первый этап- зарядка стабильным током 0.1С до достижения напряжения14.6В
— второй этап-зарядка стабильным напряжением 14.6В, пока ток не упадет до 0,02С
— третий этап-поддержание стабильного напряжения 13.8В, пока ток не упадет до 0.01С. Здесь С — ёмкость батареи в Ач.
— четвёртый этап — «добивка». На этом этапе отслеживается напряжение на АКБ. Если оно падает ниже 12.7В, включается заряд с самого начала.
Для стартерных АКБ (от 45 Ач и выше) применяем алгоритм IUIoU. Вместо третьего этапа включается стабилизация тока на уровне 0.02C до достижения напряжения на АКБ 16В или по прошествии времени около 2-х часов. По окончанию этого этапа зарядка прекращается и начинается «добивка». Это- четвёртый этап. Процесс заряда проиллюстрирован графиками рис.1 и рис.2.
2. Режим тренировки (десульфатации) — меню «Тренировка». Здесь осуществляется тренировочный цикл:
10 секунд — разряд током 0,01С, 5 секунд — заряд током 0.1С. Зарядно-разрядный цикл продолжается, пока напряжение на АКБ не поднимется до 14.6В. Далее — обычный заряд.
3. Режим теста батареи. Позволяет приблизительно оценить степень разряда АКБ. Батарея нагружается током 0,01С на 15 секунд, затем включается режим измерения напряжения на АКБ.
4. Контрольно-тренировочный цикл (КТЦ). Если предварительно подключить дополнительную нагрузку и включить режим «Заряд» или «Тренировка», то в этом случае, сначала будет выполнена разрядка АКБ до напряжения 10.8В, а затем включится соответствующий выбранный режим. При этом измеряются ток и время разряда, таким образом, подсчитывается примерная емкость АКБ. Эти параметры отображаются на дисплее после окончания зарядки (когда появится надпись «Батарея заряжена») при нажатии на кнопку «выбор». В качестве дополнительной нагрузки можно применить автомобильную лампу накаливания. Ее мощность выбирается, исходя из требуемого тока разряда. Обычно его задают равным 0.1С — 0.05С (ток 10-ти или 20-ти часового разряда). Перемещение по меню осуществляется кнопками «влево», «вправо», «выбор». Кнопкой «ресет» осуществляется выход из любого режима работы ЗУ в главное меню.
Основные параметры зарядных алгоритмов можно настроить под конкретный аккумулятор, для этого в меню есть два настраиваемых профиля — П1 и П2. Настроенные параметры сохраняются в энергонезависимой памяти (EEPROM-е).
Чтобы попасть в меню настроек нужно выбрать любой из профилей, нажать кнопку «выбор», выбрать «установки», «параметры профиля», профиль П1 или П2. Выбрав нужный параметр, нажимаем «выбор». Стрелки «влево» или «вправо» сменятся на стрелки «вверх» или «вниз», что означает готовность параметра к изменению. Выбираем нужное значение кнопками «влево» или «вправо», подтверждаем кнопкой «выбор». На дисплее появится надпись «Сохранено», что обозначает запись значения в EEPROM.
1. «Алгоритм заряда». Выбирается IUoU или IUIoU. См. графики ниже.
2. «Емкость АКБ». Задавая значение этого параметра, мы задаем ток зарядки на первом этапе I=0.1C, где С- емкость АКБ В Ач. (Таким образом, если нужно задать ток заряда, например 4.5А, следует выбрать емкость АКБ 45Ач).
3. «Напряжение U1». Это напряжение, при котором заканчивается первый этап зарядки и начинается второй. По умолчанию задано значение 14.6В.
4. «Напряжение U2». Используется только, если задан алгоритм IUIoU. Это напряжение, при котором заканчивается третий этап зарядки. По умолчанию — 16В.
5. «Ток 2-го этапа I2». Это значение тока, при котором заканчивается второй этап зарядки. Ток стабилизации на третьем этапе для алгоритма IUIoU. По умолчанию задано значение 0.2С.
6. «Окончание заряда I3». Это значение тока, по достижению которого зарядка считается оконченной. По умолчанию задано значение 0.01С.
7. «Ток разряда». Это значение тока, которым осуществляется разряд АКБ при тренировке зарядно-разрядными циклами.
В нашей конструкции мы используем блок питания от компьютера. Почему? Причин несколько. Во–первых, это — практически готовая силовая часть. Во-вторых, это же и корпус нашего будущего устройства. В-третьих, он имеет малые габариты и вес. И, в-четвёртых, его можно приобрести практически на любом радиорынке, барахолке и в компьютерных сервисных центрах. Как говорится, дёшево и сердито.
Из всего многообразия моделей блоков питания нам лучше всего подходит блок формата АТX, мощностью не менее 250 Вт. Нужно только учесть следующее. Подходят лишь те блоки питания, в которых применён ШИМ-контроллер TL494 или его аналоги (MB3759, КА7500, КР1114ЕУ4).
Итак, блок питания имеется. Сначала необходимо его проверить на исправность. Для этого его разбираем, вынимаем предохранитель и вместо него подпаиваем лампу накаливания 220 вольт мощностью 100-200Вт. Если на задней панели БП имеется переключатель сетевого напряжения, то он должен быть установлен на 220В. Включаем БП в сеть, для ATX нужно замкнуть зелёный и чёрный провода на большом разъёме. Если лампочка не светится, кулер вращается, а все выходные напряжения в норме — значит, нам повезло и наш блок питания рабочий. В противном случае, придётся заняться его ремонтом. Оставляем лампочку пока на месте.
Для переделки БП в наше будущее зарядное устройство, нам потребуется немного изменить «обвязку» ШИМ-контроллера. Несмотря на огромное разнообразие схем блоков питания, схема включения TL494 стандартная и может иметь пару вариаций, в зависимости от того, как реализованы защиты по току и ограничения по напряжению. Схема переделки показана на рис.3. На ней показан только один канал выходного напряжения: +12В. Остальные каналы: +5В,-5В, +3,3В не используются. Их обязательно нужно отключить, перерезав соответствующие дорожки или выпаяв из их цепей элементы. Которые, кстати, нам могут и пригодиться для блока управления. Об этом — чуть позже. Красным цветом обозначены элементы, которые устанавливаются дополнительно. Конденсатор С2 должен иметь рабочее напряжение не ниже 35В и устанавливается взамен существующего в БП. После того, как «обвязка» TL494 приведена к схеме на рис.3, включаем БП в сеть. Напряжение на выходе БП определяется по формуле: Uвых=2,5*(1+R3/R4) и при указанных на схеме номиналах должно составлять около 10В. Если это не так, придется проверить правильность монтажа. На этом переделка закончена, можно убирать лампочку и ставить на место предохранитель.
Схема и принцип работы
Все основные процессы выполняет микроконтроллер. В его память записывается управляющая программа, в которой и заложены все алгоритмы. Управление блоком питания осуществляется с помощью ШИМ с вывода PD7 МК и простейшего ЦАП на элементах R4,C9,R7,C11. Измерение напряжения АКБ и зарядного тока осуществляется средствами самого микроконтроллера — встроенным АЦП и управляемым дифференциальным усилителем.
Напряжение АКБ на вход АЦП подается с делителя R10R11, Зарядный и разрядный ток измеряются следующим образом. Падение напряжения с измерительного резистора R8 через делители R5R6R10R11 подается на усилительный каскад, который находится внутри МК и подключен к выводам PA2, PA3. Коэффициент его усиления устанавливается программно, в зависимости от измеряемого тока. Для токов меньше 1А коэффициент усиления (КУ) задается равным 200, для токов выше 1А КУ=10. Вся информация выводится на ЖКИ, подключенный к портам РВ1-РВ7 по четырёхпроводной шине. Защита от переполюсовки выполнена на транзисторе Т1, сигнализация неправильного подключения — на элементах VD1,EP1 ,R13.
При включении зарядного устройства в сеть транзистор Т1 закрыт низким уровнем с порта РС5, и АКБ отключена от зарядного устройства. Подключается она только при выборе в меню типа АКБ и режима работы ЗУ. Этим обеспечивается также отсутствие искрения при подключении батареи. При попытке подключить аккумулятор в неправильной полярности сработает зуммер ЕР1 и красный светодиод VD1, сигнализируя о возможной аварии. В процессе заряда постоянно контролируется зарядный ток. Если он станет равным нулю (сняли клеммы с АКБ), устройство автоматически переходит в главное меню, останавливая заряд и отключая батарею. Транзистор Т2 и резистор R12 образуют разрядную цепь, которая участвует в зарядно-разрядном цикле десульфатирующего заряда (режим тренировки) и в режиме теста АКБ. Ток разряда 0.01С задается с помощью ШИМ с порта PD5. Кулер автоматически выключается, когда ток заряда падает ниже 1,8А. Управляет кулером порт PD4 и транзистор VT1.
Открыть первую часть схемы — (Переделка БП)
Открыть вторую часть схемы — (Микроконтроллерная часть)
Ниже в архиве имеется проект в протеусе, точнее его микроконтроллерная часть.
Микроконтроллер. В продаже обычно встречаются в корпусе DIP-40 или TQFP-44 и маркируются так: ATMega16А-PU или ATMega16A-AU. Буква после дефиса обозначает тип корпуса: «P»- корпус DIP, «A»- корпус TQFP. Встречаются также и снятые с производства микроконтроллеры ATMega16-16PU, ATMega16-16AU или ATMega16L-8AU. В них цифра после дефиса обозначает максимальную тактовую частоту контроллера. Фирма- производитель ATMEL рекомендует использовать контроллеры ATMega16A (именно с буквой «А») и в корпусе TQFP, то есть, вот такие: ATMega16A-AU, хотя в нашем устройстве будут работать все вышеперечисленные экземпляры, что и подтвердила практика. Типы корпусов отличаются также и количеством выводов (40 или 44) и их назначением. На рис.4 изображена принципиальная схема блока управления для МК в корпусе DIP.
Резистор R8 –керамический или проволочный, мощностью не менее 10 Вт, R12- 7-10Вт. Все остальные- 0.125Вт. Резисторы R5,R6,R10 и R11 нужно применять с допустимым отклонением 0.1-0.5%. От этого будет зависеть точность измерений и, следовательно, правильная работа всего устройства.
Транзисторы T1 и Т1 желательно применять такие, как указаны на схеме. Но если придется подбирать замену, то необходимо учитывать, что они должны открываться напряжением на затворе 5В и, конечно же, должны выдерживать ток не ниже 10А. Подойдут, например, транзисторы с маркировкой 40N03GР, которые иногда используются в тех же БП формата АТХ, в цепи стабилизации 3.3В.
Диод Шоттки D2 можно взять из того же БП, из цепи +5В, которая у нас не используется. Элементы D2,Т1 иТ2 через изолирующие прокладки размещаются на одном радиаторе площадью 40 квадратных сантиметров. Буззер EP1- со встроенным генератором, на напряжение 8-12 В, громкость звучания можно подрегулировать резистором R13.
Жидкокристаллический индикатор – WH1602 или аналогичный, на контроллере HD44780 , KS0066 или совместимых с ними. К сожалению, эти индикаторы могут иметь разное расположение выводов, так что, возможно, придется разрабатывать печатную плату под свой экземпляр
Печатная плата
Конфигурационные биты (фузы) устанавливаются следующие:
Запрограммированы (установлены в 0):
CKSEL0
CKSEL1
CKSEL3
SPIEN
SUT0
BODEN
BODLEVEL
BOOTSZ0
BOOTSZ1
все остальные — незапрограммированы (установлены в 1).
Итак, блок питания переделан и выдает напряжение около 10В. При подключении к нему исправного блока управления с прошитым МК, напряжение должно упасть до 0.8..15В. Резистором R1 устанавливается контрастность индикатора. Наладка устройства заключается в проверке и калибровке измерительной части. Подключаем к клеммам аккумулятор, либо блок питания напряжением 12-15В и вольтметр. Заходим в меню «Калибровка». Сверяем показания напряжения на индикаторе с показаниями вольтметра, при необходимости, корректируем кнопками « ». Нажимаем «Выбор». Далее идет калибровка по току при КУ=10. Теми же кнопками « » нужно выставить нулевые показания тока. Нагрузка (аккумулятор) при этом автоматически отключается, так что ток заряда отсутствует. В идеальном случае там должны быть нули или очень близкие к нулю значения. Если это так, это говорит о точности резисторов R5,R6,R10,R11,R8 и хорошем качестве дифференциального усилителя. Нажимаем «Выбор». Аналогично — калибровка для КУ=200. «Выбор». На дисплее отобразится «Готово» и через 3 сек. устройство перейдет в главное меню.
Калибровка окончена. Поправочные коэффициенты хранятся в энергонезависимой памяти. Здесь стоит отметить, что если при самой первой калибровке значение напряжения на ЖКИ сильно отличается от показаний вольтметра, а токи при каком — либо КУ сильно отличаются от нуля, нужно применить (подобрать) другие резисторы делителя R5,R6,R10,R11,R8, иначе в работе устройства возможны сбои. При точных резисторах (с допуском 0,1-0,5%) поправочные коэффициенты равны нулю или минимальны. На этом наладка заканчивается. И в заключение. Если же напряжение или ток зарядного устройства на каком-то этапе не возрастает до положенного уровня или устройство «выскакивает» в меню, нужно ещё раз внимательно проверить правильность доработки блока питания. Возможно, срабатывает защита.
Прошивка и проект в Протеусе: [hidepost] Скачать файлы проекта (прошивки и проект в протеусе). [/hidepost]
Печатные платы: [hidepost] Скачать файлы печатных плат и схемы. [/hidepost]
Источник