В результате публикации рассказов о моей автономной солнечной энергосистеме, описанной здесь, здесь и здесь, частыми были схожие вопросы: каков срок окупаемости и как долго прослужит система? Надо отметить, что одной из самых дорогих и капризных частей системы являются аккумуляторы. Именно накопители энергии изнашиваются быстрее всего, емкость аккумуляторов падает и количество оставшихся циклов заряд-разряд неуклонно уменьшается. С уменьшенной емкостью аккумуляторов хорошо знакомы автомобилисты, когда внезапный резкий мороз не оставляет шанса старому аккумулятору завести автомобиль.
Я задался вопросом, как определить остаточную емкость аккумулятора, чтобы это было максимально просто и быстро.

Для начала, немного теории, чтобы понимать, как измерять остаточную емкость аккумулятора и что для этого нужно.
Контрольно-тренировочный цикл заряда-разряда проводится для предотвращения сульфатации и определения емкости аккумулятора. Контрольно-тренировочные циклы проводятся не реже одного раза в год и выполняются следующим образом: заряжают АБ нормальным током до полного заряда; выдерживают АБ 3 часа после прекращения заряда; корректируют плотность электролита; включают зарядку на 20-30 минут для перемешивания электролита; проводят контрольную разрядку постоянным нормальным током 10-часового режима и контролируют время полного разряда до напряжения 1,7 В на банку (10,2 В на АБ); емкость батареи определяют как произведение величины разрядного тока и времени разряда. После контрольного разряда батарею сразу же ставят на зарядку и полностью заряжают. Если оказалось, что емкость АБ меньше 50% номинальной, она считается неисправной.
Неавтоматизированный контрольный разряд требует постоянного присутствия обслуживающего персонала для фиксации и регулировки тока разряда. (с)взято отсюда
То есть для определения остаточной емкости нам нужно разряжать аккумулятор нагрузкой с известной и постоянной мощностью до величины 10,2 (в иных источниках рекомендуют разряжать 12В аккумулятор не ниже, чем до 10,8В) Вольта. Можно просто купить вот такой прибор и не ломать голову изобретением велосипеда, но ежедневная борьба с ленью требует новых свершений и изобретений.

Итак, руководствуясь принципом «Чем проще-тем надежнее», было решено собрать собственное автоматизированное устройство для измерения остаточной емкости аккумулятора, и заодно, проведения КТЦ. Так как зарядное устройство у меня уже было, то изобретать велосипед не было нужды. Требовалось лишь включить эту зарядку вовремя. А вот разряжать надо чем-то, что имеет постоянную нагрузку, независимо от окружающей температуры и напряжения аккумулятора. Самый простой способ — это разрядка автомобильными лампами накаливания. Номинал мощности пишут прямо на них, поэтому потребляемый ток можно вычислить простой арифметикой: Вт/12=ток нагрузки. То есть лампа на 60 Вт будет потреблять 5 Ампер. Аккумулятор разряжают током, составляющим 10% емкости или 0,1С и заряжают таким же током.
В результате пятиминутного раздумья было составлено ТЗ для будущего устройства:
1. Фиксация времени начала процесса разряда
2. Слежение за напряжением аккумулятора
3. По достижении критического напряжения устройство должно отключить нагрузку и включить ЗУ
4. Фиксация времени окончания процесса разряда
Из всего этого следовало, что нам понадобится:
1. Arduino Nano — 175 руб
2. RTC1307 — 56 руб
3. Реле — 131 руб
4. LCD 2х16 i2c — 222 руб
5. 3 резистора по 10 кОм, некоторое количество проводов — 50 руб
Итого: 634 руб
Чтобы Ардуина понимала, какое напряжение в каждый момент времени на аккумуляторе, необходимо было подсоединить аккумулятор к ардуино. Сделать напрямую этого нельзя, так как аналоговые входы контроллера могут принимать не более 5В, поэтому было решено собрать делитель напряжения из 3 резисторов по 10кОм. Минус аккумулятора и минус контроллера связывались напрямую. Питание контроллера осуществлялось от отдельного источника питания. Схема подключения и код представлены ниже:

Как работает устройство? Элементарно!
К первому реле подключается нагрузка, ко второму ЗУ. Причем лучше разрывать высоковольтную цепь питания зарядного устройства, чтобы не оставлять включенным устройство без аккумулятора. При включении контроллера в первой строке отображается текущее время и время старта работы нагрузки. Во второй строке отображается текущее напряжение на аккумуляторе и время окончания разряда, когда аккумулятор достигнет критического напряжения. Сразу по достижении значений, реле нагрузки отключается и включается реле заряда. Если добавить пару кнопок, то можно с легкостью настроить регулировку порога напряжения или настройку часов реального времени. На данном этапе такой задачи не стояло, поэтому код максимально прост и функционален. Вычитая из времени окончания время старта разрядки, можно получить емкость, если умножить время на ток, потребляемый нагрузкой.
Заключение
Итак, организовать контрольно-тренировочный цикл для любого аккумулятора, имея зарядное устройство, 600-700 рублей на запчасти и пару часов времени, очень просто. Не забывайте, что заряженный аккумулятор служит дольше, а периодические КТЦ придают уверенности хотя бы в том, что Вы точно будете знать, что утром машина заведется, несмотря ни на какие морозы.
Я задался вопросом, как определить остаточную емкость аккумулятора, чтобы это было максимально просто и быстро.

Для начала, немного теории, чтобы понимать, как измерять остаточную емкость аккумулятора и что для этого нужно.
Контрольно-тренировочный цикл заряда-разряда проводится для предотвращения сульфатации и определения емкости аккумулятора. Контрольно-тренировочные циклы проводятся не реже одного раза в год и выполняются следующим образом: заряжают АБ нормальным током до полного заряда; выдерживают АБ 3 часа после прекращения заряда; корректируют плотность электролита; включают зарядку на 20-30 минут для перемешивания электролита; проводят контрольную разрядку постоянным нормальным током 10-часового режима и контролируют время полного разряда до напряжения 1,7 В на банку (10,2 В на АБ); емкость батареи определяют как произведение величины разрядного тока и времени разряда. После контрольного разряда батарею сразу же ставят на зарядку и полностью заряжают. Если оказалось, что емкость АБ меньше 50% номинальной, она считается неисправной.
Неавтоматизированный контрольный разряд требует постоянного присутствия обслуживающего персонала для фиксации и регулировки тока разряда. (с)взято отсюда
То есть для определения остаточной емкости нам нужно разряжать аккумулятор нагрузкой с известной и постоянной мощностью до величины 10,2 (в иных источниках рекомендуют разряжать 12В аккумулятор не ниже, чем до 10,8В) Вольта. Можно просто купить вот такой прибор и не ломать голову изобретением велосипеда, но ежедневная борьба с ленью требует новых свершений и изобретений.

Итак, руководствуясь принципом «Чем проще-тем надежнее», было решено собрать собственное автоматизированное устройство для измерения остаточной емкости аккумулятора, и заодно, проведения КТЦ. Так как зарядное устройство у меня уже было, то изобретать велосипед не было нужды. Требовалось лишь включить эту зарядку вовремя. А вот разряжать надо чем-то, что имеет постоянную нагрузку, независимо от окружающей температуры и напряжения аккумулятора. Самый простой способ — это разрядка автомобильными лампами накаливания. Номинал мощности пишут прямо на них, поэтому потребляемый ток можно вычислить простой арифметикой: Вт/12=ток нагрузки. То есть лампа на 60 Вт будет потреблять 5 Ампер. Аккумулятор разряжают током, составляющим 10% емкости или 0,1С и заряжают таким же током.
В результате пятиминутного раздумья было составлено ТЗ для будущего устройства:
1. Фиксация времени начала процесса разряда
2. Слежение за напряжением аккумулятора
3. По достижении критического напряжения устройство должно отключить нагрузку и включить ЗУ
4. Фиксация времени окончания процесса разряда
Из всего этого следовало, что нам понадобится:
1. Arduino Nano — 175 руб
2. RTC1307 — 56 руб
3. Реле — 131 руб
4. LCD 2х16 i2c — 222 руб
5. 3 резистора по 10 кОм, некоторое количество проводов — 50 руб
Итого: 634 руб
Чтобы Ардуина понимала, какое напряжение в каждый момент времени на аккумуляторе, необходимо было подсоединить аккумулятор к ардуино. Сделать напрямую этого нельзя, так как аналоговые входы контроллера могут принимать не более 5В, поэтому было решено собрать делитель напряжения из 3 резисторов по 10кОм. Минус аккумулятора и минус контроллера связывались напрямую. Питание контроллера осуществлялось от отдельного источника питания. Схема подключения и код представлены ниже:

Скетч КТЦ
// Date and time functions using a DS1307 RTC connected via I2C and Wire lib #include <EEPROM.h> #include <Wire.h> #include <DS1307.h> #include "RTClib.h" #include <LiquidCrystal_I2C.h> int rtc[7]; byte rr[7]; LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display #define RELE_NAGRUZKA 2 //объявляем работу реле нагрузки на пине 2 #define RELE_ZARYADKA 3 //объявляем работу реле зарядки на пине 3 int analogPin = 0; int flag=0; float val=0; float valkoef=0; void setup () { DDRC|=_BV(2) |_BV(3); // POWER:Vcc Gnd PORTC |=_BV(3); // VCC PINC3 RTC.get(rtc,true); lcd.init(); // initialize the lcd lcd.backlight(); lcd.home(); pinMode(RELE_NAGRUZKA, OUTPUT); //инициируем реле только на выход pinMode(RELE_ZARYADKA, OUTPUT); //инициируем реле только на выход lcd.clear(); digitalWrite(RELE_NAGRUZKA, HIGH); digitalWrite(RELE_ZARYADKA, HIGH); RTC.SetOutput(DS1307_SQW32KHZ); EEPROM.write (0, rtc[2]); // при старте записываем значение времени, часы EEPROM.write (1, rtc[1]); // при старте записываем значение времени, минуты } void loop () { val = analogRead(analogPin); // считываем значение напряжения с аналогового порта valkoef=val/74,49; // приводим снятое с аналогового пина значение к обычным вольтам RTC.get(rtc,true); lcd.setCursor (0,0); lcd.print (rtc[2]); lcd.print (":"); lcd.print (rtc[1]); lcd.print (":"); lcd.print (rtc[0]); lcd.print (" str"); lcd.print (EEPROM.read(0)); lcd.print (":"); lcd.print (EEPROM.read(1)); lcd.setCursor (0,1); lcd.print (valkoef); lcd.print (" "); lcd.print (flag); if (valkoef < 10.72) { flag=1; EEPROM.write(2, rtc[2]); // записыываем время окончания разрядки, часы EEPROM.write (3, rtc[1]); // записыываем время окончания разрядки, минуы } if (flag==1) { digitalWrite(RELE_ZARYADKA, LOW); // включаем зарядку digitalWrite(RELE_NAGRUZKA, HIGH); // выключаем нагрузку lcd.print (" stp"); lcd.print (EEPROM.read(2)); // выводим время окончания разрядки lcd.print (":"); lcd.print (EEPROM.read(3)); } if ((valkoef > 10.72) && (flag==0)) { digitalWrite(RELE_NAGRUZKA, LOW); } else { digitalWrite(RELE_NAGRUZKA, LOW); } delay(500); }
Как работает устройство? Элементарно!
К первому реле подключается нагрузка, ко второму ЗУ. Причем лучше разрывать высоковольтную цепь питания зарядного устройства, чтобы не оставлять включенным устройство без аккумулятора. При включении контроллера в первой строке отображается текущее время и время старта работы нагрузки. Во второй строке отображается текущее напряжение на аккумуляторе и время окончания разряда, когда аккумулятор достигнет критического напряжения. Сразу по достижении значений, реле нагрузки отключается и включается реле заряда. Если добавить пару кнопок, то можно с легкостью настроить регулировку порога напряжения или настройку часов реального времени. На данном этапе такой задачи не стояло, поэтому код максимально прост и функционален. Вычитая из времени окончания время старта разрядки, можно получить емкость, если умножить время на ток, потребляемый нагрузкой.
Заключение
Итак, организовать контрольно-тренировочный цикл для любого аккумулятора, имея зарядное устройство, 600-700 рублей на запчасти и пару часов времени, очень просто. Не забывайте, что заряженный аккумулятор служит дольше, а периодические КТЦ придают уверенности хотя бы в том, что Вы точно будете знать, что утром машина заведется, несмотря ни на какие морозы.
