Рубрики
Схемы на Arduino

Зарядное устройство на 12 В на основе Arduino и LM317

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

Для начала постараемся понять основные принципы работы свинцово-кислотных батарей чтобы мы смогли спроектировать наше зарядное устройство максимально эффективным образом. Большинство продающихся в настоящее время свинцово-кислотных батарей имеют напряжение 12 В. Ампер-часы (А*ч) каждой батареи могут отличаться в зависимости от требуемой емкости батареи, к примеру батарея на 7 А*ч будет способна обеспечивать ток 1 Ампер в течение 7 часов (1 Ампер * 7 часов = 7 А*ч).

Рекомендуемый ток заряда для свинцово-кислотных батарей составляет 1/10 от их емкости (в Ампер-часах). То есть для батареи емкостью 7 А*ч рекомендуемый ток заряда будет составлять 0,7 Ампер. Больший ток заряда может нанести вред батарее и уменьшить срок ее службы. Учитывая данный фактор мы и будем проектировать наше домашнее зарядное устройство, способное обеспечивать переменное напряжение и переменный ток. Ток заряда будет регулироваться на основе значения емкости батареи.

Создаваемое нами устройство для заряда свинцово-кислотных батарей можно будет использовать и для заряда ваших мобильных телефонов при помощи соответствующей регулировки подаваемого тока и напряжения с помощью потенциометра. То есть наше устройство представляет собой источник регулируемого постоянного тока, которое работает от сети переменного тока. Также для лучшего понимания материала этой статьи можно прочитать недавно рассмотренный на нашем сайте проект источника напряжения питания 0-24В 3А на Arduino и LM338.

Необходимые компоненты

  1. Трансформатор на 12В 1А.
  2. Микросхема LM317 (2 шт.) (купить на AliExpress).
  3. Диодный мост W005.
  4. Контактная колодка (2 шт.).
  5. Конденсаторы 1000 мкФ (купить на AliExpress) и 1 мкФ (купить на AliExpress).
  6. Конденсаторы 0,1 мкФ (5 шт.) (купить на AliExpress).
  7. Резистор 1 кОм (5 шт.) (купить на AliExpress).
  8. Диоды Nn007 (3 шт.).
  9. Операционный усилитель LM358 (купить на AliExpress).
  10. Шунтирующее сопротивление (проводник) 0.05 Ом (купить на AliExpress).
  11. Плата Arduino Nano (опционально) (купить на AliExpress).
  12. ЖК дисплей 16х2 (опционально) (купить на AliExpress).

Реклама: ООО «АЛИБАБА.КОМ (РУ)» ИНН: 7703380158

Работа схемы

Схема зарядного устройства без платы Arduino и ЖК дисплея представлена на следующем рисунке.

Основная цель нашего источника питания на 12 В – управлять напряжением и током, подаваемым на свинцово-кислотную батарею чтобы заряжать ее в максимально комфортном для нее режиме. Для этой цели в схеме использованы две микросхемы LM317 – одна для управления значением напряжения (U3), а вторая (U1) для ограничения тока. Также мы настоятельно рекомендовали бы вам изучить даташит на микросхему LM317, поскольку это может пригодиться вам не только для этого проекта, но и для других похожих проектов, в которых данная микросхема используется в качестве регулятора напряжения.

Простая схема регулятора напряжения, взятая из даташита на LM317, представлена на следующем рисунке.

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

Vout = 1.25 (1+R2/R1).

Используя данную формулу мы в нашем проекте выбрали значение сопротивления 1K (R8) и использовали потенциометр 10К (RV2).

Схема ограничения значения тока, взятая из даташита на LM317, представлена на следующем рисунке.

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

Iout= 1.2/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 кабель.

Исходный код программы

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

Видео, демонстрирующее работу схемы

6 ответов к “Зарядное устройство на 12 В на основе Arduino и LM317”

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

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

Все замечательно. А как понять, что зарядка аккумулятора закончилась?

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

резистор RV1 должен выдерживать ток 1.2 А, причем на участке, который работает (1 Ом), то есть рассеивать 1,5 Вт минимум. я бы сделал отпайки, фиксированные резисторы с шагом 0,1 А и переключатель

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *