Единственное что беспокоит - не хватит памяти в тиньки, ну тогда перенесу всё наработки на мегу 8-ю, там уже можно будет добавить много плюшек, датчик тока, лсд...
Просто на момент создания темы у меня было тинек в изобилие а мега одна, да и просто нравится мне тиньки...
Немного поигрался со схемой пришёл к выводу что тиньку нужно питать от аккумулятора а не от панели как я считал раньше, причиной тому есть невозможность замерить напряжение на аккумуляторе, земля же разная.
Немного переделал схему:
В протеусе вроде как работает, правда нужен инверсный ШИМ, помнится игрался с регистром TCCR0A но забыл что нужно прописать чтобы получался инверсный ШИМ, на данный момент TCCR0A = 0x83;
так я не о том. чтобы ресет как вывод использовать надо во фьюзах его отключить. но без ресета не прошьешь. только "высоковольным" программатором вроде
Ребята, прочитал всю ветку... И все равно остались вопросы. Дело в том, что сейчас тружусь над аналогичным устройством, правда в виде шилда к Ардуино с LCD (могу поделиться наработками). Вопрос к программной части. Все же есть ли четкий алгоритм заряда? Ток пока мерять нечем, но заказал в китае для будущего шилда МРРТ. Пока я понимаю так:
1. Меряем напряжение на входе и на АКБ
2. Если напряжение на АКБ<11 вольт - аккум мертвый
3. Если Uакб >11 и <13.8 - шим 100%
4. Если Uакб>13.8, но меньше чем 14.4 - ШИМ 25% (типа дозаряд)
Вопрос: Что такое «Капельница»?? вы много раз используете это понятие...
Ответ:
Капельница это заряд аккумулятора импульсами постоянного тока с последующей паузой.Соотношение времён заряд:пауза примерно от 1:1 до 10:1(при величине тока от 0,05С до 1С) Этот режим применяется для аккумуляторов, которые разряжены ниже 12В до достижения напряжения на них 12В. Может применяться и для всего времени заряда АКБ.
Можно в алгоритм добавить и режим "восстановления" при Uакб<12
Вопрос: Что такое «Качели»?...
Ответ:
Заряд аккумулятора постоянным током до величины напряжения на клеммах 14.4В с последующей паузой, длительностью "пока напряжение на клеммах достигнет 12.7В", затем снова заряд до величины напряжения на клеммах 14.4В, пауза до напряжения на клеммах 12.7В и так далее. Этот режим используется для поддержания аккумулятора в заряженном состоянии. Этот режим используется в ЗУ "СТЕК".
Полезную критику и толковые идеи приветствуются :)
/* Simple Ardyuino Solar Charger Controller
PWM Version
Ghost D. 2014
Алгоритм роботы:
Держим пин 0 в HIGH(или же 255 для ШИМ) пока на АЦП(пин 2) не примет значение 670 что соответствует напряжению 14.4 В,
когда примет тогда на пине 0 уменьшаем значение ШИМ пока напряжение на АЦП не достигнет 642(13.8) и держим на этом уровне
постепенно уменьшая ШИМ вплоть до 0. Если же напряжение ниже 642 (13.8В) то на порт 0 подаём HIGH(или же 255 для ШИМ) пока
напряжение не достигнет 670(14,4В). Если отключить батарею и потом подключить, припустим поставил другую то нужно также её зарядить
до 14.4 а потом уже дозарядить до полна, тоесть держать напряжение в 13.8(642) и уменьшать ток заряда средствами ШИМ вплоть до 0.
Если на аккуме ниже 12.7В - то подаем на полевик единичку и ждем пока напряжение не станет 14.4В.
При достижении 14.4В - отключаем полевик и ждем пока напряжение упадет ниже 12.7В. повторяем цикл.
Получаются "качели". При напряжении 11.4v отключаем батарею от нагрузки.
====================================
И окончательный алгоритм (спасибо HWman, с ресурса ARDUINO.RU) будет такой:
1- ШИМ=255 пока Uакб<14.4
2- Как только Uакб=>14.4 ставим ШИМ при котором Uакб=13.8 и держим напряжение на таком уровне
3- Если значение ШИМ уже очень мало(ток заряда уже маленький), то отключаем заряд вообще и переходим в ждущий режим
4- как Uакб<=12.7 - снова с пункта 1
====================================
*/
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11, 5, 4, 3, 2);
int redLed=7; // Светодиод - состояние АКБ - разряжен
int greenLed=8; // Светодиод - состояние заряда
int pwmPin=6; // ШИМ вывод на MOSFET
byte batPin=A0; // Аналговый порт подключения делителя с АКБ
byte solarPin=A1; // Аналоговый порт подключения делителя с АКБ
float solar_volt =0; // Напряжение на солнечной панели
float bat_volt=0; // Напряжение на АКБ
byte curPWM=0; //Текущее значение ШИМ
int charged_percent =0; //Заряд АКБ в %
volatile boolean state = LOW; //для мигания светодиодом
long int timeWork=0;
byte mode=0;
byte tmpCount=0;
//коэф. делителя для 100к/47к
#define batDev 3.2
//коэф. делителя для 100к/22к
#define solDev 5.8
//коэфициент для пересчета данных с АЦП в вольты
#define adc2volt 0.0047
//Границы напряжения на АКБ
#define bat_full_volt 14.4
#define bat_alignment_volt 13.8
#define bat_disch_volt 11.4
#define bat_boost_volt 12.7
//Значения для ШИМ
#define pwm_charge 255
#define pwm_boost 210
#define pwm_off 0
//шаг изменения значения ШИМ
#define deltaPWM 10
//режимы работы
#define mode_charge 1
#define mode_alignment 2
#define mode_boost 3
#define mode_sleep 4
#define mode_refresh 5
//-----------------------------------
// Чтение значения АЦП с аналогового порта
// 250 замеров и подсчет среднего
float readVolts(byte pin){
float tmpRead=0;
for (int i=0;i<250;i++){
tmpRead+=analogRead(pin);
}
tmpRead=tmpRead/250;
return(tmpRead*adc2volt);
}
//-----------------------------------
// считываем значения напряжений на СП и АКБ
void read_U()
{
solar_volt=(readVolts(solarPin))*solDev;
bat_volt=(readVolts(batPin))*batDev;
}
void setup()
{
TCCR0B = TCCR0B & 0b11111000 | 0x05; // setting prescaar for 61.03Hz pwm
Serial.begin(9600);
pinMode(pwmPin,OUTPUT);
pinMode(redLed,OUTPUT);
pinMode(greenLed,OUTPUT);
digitalWrite(pwmPin,LOW);
digitalWrite(redLed,LOW);
digitalWrite(greenLed,LOW);
lcd.begin(16,2); //
lcd.clear(); //
read_U();
mode=mode_sleep;
//mode=mode_alignment;
} //end setup
void loop()
{
switch (mode){
case (mode_charge):
// Режим ЗАРЯДА. ШИМ=100%
// В этом режиме горит красный светодиод, зеленый мигает
// Пока напряжение на АКБ напряжение не станет больше, чем 14.4Вольта
// после этого переход в режим ВЫРАВНИВАЮЩЕГО заряда
Serial.println("==============");
Serial.println("MODE: Charge");
Serial.println("==============");
curPWM=pwm_charge;
digitalWrite(redLed, HIGH);
digitalWrite(greenLed,state);
state = !state;
if (bat_volt >= bat_full_volt)
{
mode=mode_alignment;
tmpCount=0;
}
break;
case (mode_alignment):
// Режим ВЫРАВНЕВАЮЩЕГО ЗАРЯДА. ШИМ= динамический, для удержания напряжения на АКБ =13,8В
// В этом режиме красный и зеленый светодиоды перемигиваются
// При значении ШИМ меньше, чем 10
// переход в режим ПОДДЕРЖИВАЮЩЕГО заряда
Serial.println("==============");
Serial.println("MODE: Alignment");
Serial.println("==============");
if (bat_volt >= bat_alignment_volt)
{
if (curPWM >= deltaPWM) curPWM=curPWM-deltaPWM;
else curPWM=0;
}
if (bat_volt < bat_alignment_volt)
{
if(curPWM <= (255-deltaPWM)) curPWM=curPWM+deltaPWM;
else curPWM=255;
}
if (curPWM < 10) mode=mode_boost;
digitalWrite(redLed, state);
digitalWrite(greenLed,!state);
state = !state;
break;
case (mode_boost):
// Режим ПОДДЕРЖИВАЮЩЕГО ЗАРЯДА. ШИМ=0
// В этом режиме горит зеленый светодиод, красный мигает
// Пока напряжение на АКБ напряжение станет меньше, чем 12.7 Вольта
// переход в режим ЗАРЯДА
Serial.println("==============");
Serial.println("MODE: Boost");
Serial.println("==============");
curPWM=pwm_off;
if (bat_volt < bat_boost_volt) mode=mode_charge;
digitalWrite(greenLed, HIGH);
digitalWrite(redLed,state);
state = !state;
break;
case (mode_sleep):
// Режим СНА. ШИМ=0
// В этом режиме светодиоды не горят
// Когда напряжение на СП станет больше, чем 14.4 Вольта
// переход в режим ЗАРЯДА
Serial.println("==============");
Serial.println("MODE: Sleep");
Serial.println("==============");
curPWM=pwm_off;
digitalWrite(redLed, LOW);
digitalWrite(greenLed,LOW);
if (solar_volt > bat_full_volt) mode=mode_charge;
break;
case (mode_refresh):
Serial.println("==============");
Serial.println("MODE: Refresh");
Serial.println("==============");
break;
} //end switch
//Общая процедура вывода информации (пока сумбурно)
read_U();
if (solar_volt < bat_full_volt) mode=mode_sleep;
analogWrite(pwmPin,curPWM);
lcd.setCursor(16,1);
lcd.print(" ");
Serial.print("SP voltage :");
Serial.println(solar_volt);
Serial.print("AKB voltage :");
Serial.println(bat_volt);
Serial.print("PWM=");
Serial.println(curPWM);
Serial.print("pwm duty cycle is (%) :");
Serial.println(map(curPWM,0,255,0,100));
charged_percent=map(bat_volt*10, (bat_disch_volt)*10, (bat_full_volt)*10, 0, 100);
lcdShow();
delay(100);
Serial.println("----------------------------------------");
}// конец основного цикла
void lcdShow(){
lcd.setCursor(0,0);
lcd.print("SP:");
lcd.print(solar_volt,1);
lcd.print(" BAT:");
lcd.print(bat_volt,1);
lcd.setCursor(0,1);
if ((bat_volt > bat_disch_volt) && (bat_volt <=bat_full_volt))
{
lcd.print(charged_percent);
lcd.print("% CHRG PWM=");
lcd.print(map(curPWM,0,255,0,100));
if (curPWM=0) lcd.print(" ");
}
else if (bat_volt < bat_disch_volt)
{
lcd.print(" LOW BATTERY ! ");
}
}
Прости за навязчивость... Если напрягаю - так и скажи.
Теперь по делу...
Даже не знаю, что показать на видео.... Нужен аккумулятор в полузаряженном состоянии.
Пока взял дохлый от бесперебойника. Интересно, для него другие пороговые значения напряжений?
И еще ВАЖНЫЙ момент, замер напряжения при значении ШИМ=0 дает одно значение, а при ШИМ <>0 - совершенно другое.
Просто, счас делаю режим восстановления АКБ (если при старте напряжение на нем <10). Делаю типа "КАПЕЛЬНИЦЫ", т.е., 4 периода времени ШИМ=255, один период ШИМ=0. Замер напряжения при ШИМ=0. На экран вывожу Стартовое напряжение на АКБ в момент перехода в этот режим, и текущее напряжение.... Условие выхода из этого режима - НАПРЯЖЕНИЕ НА АКБ (при ШИМ=0) >= НАПРЯЖЕНИЮ разряженного АКБ (11,4В).
Наверное еще нужно добавить отсчет времени (типа, если восстановление не дает результата в течении, допустим, 10 часов -> Вывести надпись - "АКБ дохлый, заменить"
В коде пока выглядит так:
case (mode_refresh):
// Режим ВОССТАНОВЛЕНИЯ АКБ. ШИМ= ИМПУЛЬСЫ, соотношение времени 4/1
// В этом режиме красный и зеленый светодиоды вспыхивают
//
//
Serial.println("==============");
Serial.println("MODE: Refresh");
Serial.println("==============");
lcd.setCursor(0,0);
lcd.print("- Refresh Mode -");
curPWM=255;
if (tmpCount==0)
{
tmpCount=5;
curPWM=0;
}
tmpCount=tmpCount-1;
lcd.setCursor(0,1);
lcd.print("Ust:");
lcd.print(start_bat_volt,1);
lcd.print(" Uc:");
lcd.print(real_bat_volt,1);
if (real_bat_volt >= bat_disch_volt) mode=mode_charge;
digitalWrite(redLed, state);
digitalWrite(greenLed,state);
state = !state;
break;
} //end switch
Получил таки я наконец-то солн. панель, правда на 100 Ватт (вместо планируемых на 50). И провел полевые испытания. Как и следовало ожидать, первым не выдержал диод на входе СП... сгорел. Остальная часть схемы работает. :) Диодик я заменил на более мощный (SBL2045) и посадил на радиатор.
В планах все же сделать контроллер не ввиде шилда, а отдельной платой, скорее всего с Ардуино нано на борту. Планируемая схема такая. Будет применен n-канальный мосфет с узлом накачки напряжения для открытия.
Со схемой активно работаю, собрал на мекетке - вроде как все хорошо. Потиху рисую печатную плату
А вот программную часть планирую использовать старую... (как в статье)
Но появились вопросы с алгоритмом заряда.
На выходе СП получается около 18 вольт (на шилде указаны след. параметры: 18 Вольт 5 Ампер). По моему алгоритму, если напряжение на СП больше или равно 14.5 вольт - ШИМ=100%. При этом напряжение с солнечной панели "проседает" до 13 и возможно менее вольт. Ага, текущее напряжение СП меньше чем необходимое для заряда => переходим в режим сна (ШИМ=0%). И так продолжается достаточно долго.... Вопрос, насколько плохо для АКБ превышение (пусть кратковременное) напряжения на клеммах?
Или тут нужно расчитывать велечину ШИМ-а, таким образом, чтобы на АКБ держалось напряжение 14.5 вольт на этапе заряда?
Наблюдал за процессом заряда китайским контроллером (у знакомого). На нем только светодиодная индикация. Ну, та часть, которая относится к АКБ понятно (красный - разряжен/ зеленый-нормально/зел. мигает - 100% заряд). А вот светодиод относящийся к СП (по маркировке на панели: зеленый - Charge, а мигающий зеленый - Овервольтедж). Панель практически такая же как и у меня. И вот этот светодиод достаточно быстро мигал.... Разобрать контроллер мне не позволили... Тестора под рукой не оказалось. Но я смею предположить, что он таким образом (регулировкой ШИМ) поддерживает на АКБ нужное напряжение...
После того как я побывал в гостях и посмотрел на работу заводского контроллера, у меня и закрались сомнения по поводу моего алгоритма :(
Очень хочется довести программную часть "до ума"...
Ну, пока о коробочке - я не сильно задумываюсь :) Придет время - буду думать. Пока вопрос стоял в функционале...
А вы можете рассказать как работает Ваш "заводской" контроллер? Примерный алгоритм или напряжения на разных этапах? Все, что помогло бы мне написать правильный алгоритм
Приветствую всех участников.
Заинтересовался этой темой из-за недавно проснувшейся тяги к Arduino и необходимостью изготовить зарядное устройство для кислотно-щелочных (или гелевых) аккумуляторов (20-60Ah).
Просмотрев несколько разных сайтов и попробовав автомобильные зарядники товарищей (заводского изготовления, понравилась Т-1001А ЗАО"Автоэлектрика") сделал вывод, что необходимы:
1. Защита от случайной смены полярности (от дурака).
2. Первоначальная запитка схемы контроля и управления от аккумулятора.
3. Стабилизация тока заряда примерно 0,1 емкости АКБ до 14,4...14,8V (далее в соответствии с диаграммой). Для этого необходимо измерять ток (ставить шунт ампер на 10...50 около 0,05 Ом и сравнивать падение напряжения на нем).
4. Для десульфатации б/у аккумуляторов - возможность реверсивного заряда (можно реализовать кратковременным включением нагрузки в 15 Ом 25Вт транзсторным ключем), чередованием заряд/разряд.
5. Диаграмму заряда АКБ можно взять из Инструкции к примеру на "T-1013P с кнопочным управлением" (стр. 12) http://www.avtoelektrika.ru/public/custom/instr_T-1013PK.pdf
http://electrotransport.ru/ussr/index.php?topic=2103.msg32190#msg32190
За образец беру вот такой алгоритм заряда.
Единственное что беспокоит - не хватит памяти в тиньки, ну тогда перенесу всё наработки на мегу 8-ю, там уже можно будет добавить много плюшек, датчик тока, лсд...
зачем же было так изначально ужиматься. дело явно не в экономии же
Просто на момент создания темы у меня было тинек в изобилие а мега одна, да и просто нравится мне тиньки...
Немного поигрался со схемой пришёл к выводу что тиньку нужно питать от аккумулятора а не от панели как я считал раньше, причиной тому есть невозможность замерить напряжение на аккумуляторе, земля же разная.
Немного переделал схему:
В протеусе вроде как работает, правда нужен инверсный ШИМ, помнится игрался с регистром TCCR0A но забыл что нужно прописать чтобы получался инверсный ШИМ, на данный момент TCCR0A = 0x83;
Нашёл более понятную картинку правильного заряда:
100% рабочая схема виглядит вот так:
Вот так выглядит её реализация:
http://i3.imageban.ru/out/2014/03/24/60e9085e930dd139539c928f20ced66e.jpg
Работает вот так:
http://www.youtube.com/watch?v=o5j6-dZZ2js
Код тестовый, работает через одно место, нужно переписать сначала.
Как видете одна нога свободна, зарезервировал под лоад, кто в теме тот поймёт.
так ресет задействован. а если перепрошить надо будет как быть?
Выну контроллер с платы и перепрошью http://youtu.be/MS5i7fnlPBM?t=11m9s
так я не о том. чтобы ресет как вывод использовать надо во фьюзах его отключить. но без ресета не прошьешь. только "высоковольным" программатором вроде
А разве я где-то упоминал про использования ресета как порта?
моя ошибка. перепутал линии
Ребята, прочитал всю ветку... И все равно остались вопросы. Дело в том, что сейчас тружусь над аналогичным устройством, правда в виде шилда к Ардуино с LCD (могу поделиться наработками). Вопрос к программной части. Все же есть ли четкий алгоритм заряда? Ток пока мерять нечем, но заказал в китае для будущего шилда МРРТ. Пока я понимаю так:
1. Меряем напряжение на входе и на АКБ
2. Если напряжение на АКБ<11 вольт - аккум мертвый
3. Если Uакб >11 и <13.8 - шим 100%
4. Если Uакб>13.8, но меньше чем 14.4 - ШИМ 25% (типа дозаряд)
5. Если Uакб>14.4 ШИМ=0. АКБ заряжен
Поправьте если ошибаюсь...
Примерно такой правильний алгоритм
О, спасибо огромное за ответ.
Значит будем делать так:
- Все ниже изложенное, при условии, что Uсп >Uакб
1- ШИМ=255 пока Uакб<14.4
2- Как только Uакб=>14.4 ставим ШИМ при котором Uакб=13.8
3- как Uакб<=12.7 - снова с пункта 1
Я правильно интерпретировал Ваш рисунок? И еще любопытно, какими интервалами времени правильно задавать режимы (1 сек, 10 секунд или что-то другое)?
А я тем временем наткнулся на такое вот описание: http://adopt-zu.soroka.org.ua/faq.html
И там есть очень интересные моменты:
Вопрос: Что такое «Капельница»?? вы много раз используете это понятие...
Ответ:
Капельница это заряд аккумулятора импульсами постоянного тока с последующей паузой.Соотношение времён заряд:пауза примерно от 1:1 до 10:1(при величине тока от 0,05С до 1С) Этот режим применяется для аккумуляторов, которые разряжены ниже 12В до достижения напряжения на них 12В. Может применяться и для всего времени заряда АКБ.
Можно в алгоритм добавить и режим "восстановления" при Uакб<12
Вопрос: Что такое «Качели»?...
Ответ:
Заряд аккумулятора постоянным током до величины напряжения на клеммах 14.4В с последующей паузой, длительностью "пока напряжение на клеммах достигнет 12.7В", затем снова заряд до величины напряжения на клеммах 14.4В, пауза до напряжения на клеммах 12.7В и так далее. Этот режим используется для поддержания аккумулятора в заряженном состоянии. Этот режим используется в ЗУ "СТЕК".
1- ШИМ=255 пока Uакб<14.4
2- Как только Uакб=>14.4 ставим ШИМ при котором Uакб=13.8 и держим напряжение на таком уровне
3- Если значение ШИМ уже очень мало(ток заряда уже маленький), то отключаем заряд вообще и переходим в ждущий режим
4- как Uакб<=12.7 - снова с пункта 1
Ну вот, что пока написал...
Полезную критику и толковые идеи приветствуются :)
А видео работы можешь показать? Леньки код интерпретировать.
Прости за навязчивость... Если напрягаю - так и скажи.
Теперь по делу...
Даже не знаю, что показать на видео.... Нужен аккумулятор в полузаряженном состоянии.
Пока взял дохлый от бесперебойника. Интересно, для него другие пороговые значения напряжений?
И еще ВАЖНЫЙ момент, замер напряжения при значении ШИМ=0 дает одно значение, а при ШИМ <>0 - совершенно другое.
Просто, счас делаю режим восстановления АКБ (если при старте напряжение на нем <10). Делаю типа "КАПЕЛЬНИЦЫ", т.е., 4 периода времени ШИМ=255, один период ШИМ=0. Замер напряжения при ШИМ=0. На экран вывожу Стартовое напряжение на АКБ в момент перехода в этот режим, и текущее напряжение.... Условие выхода из этого режима - НАПРЯЖЕНИЕ НА АКБ (при ШИМ=0) >= НАПРЯЖЕНИЮ разряженного АКБ (11,4В).
Наверное еще нужно добавить отсчет времени (типа, если восстановление не дает результата в течении, допустим, 10 часов -> Вывести надпись - "АКБ дохлый, заменить"
В коде пока выглядит так:
..Даже не знаю, что показать на видео.... Нужен аккумулятор в полузаряженном состоянии...
Такие как на картинке выше, но это суто моё мнение.
Если хотите услышать мнение более компетентных людей то зайдите сюда http://electrotransport.ru/ussr/index.php/topic,2103.0.html
Все, огромное спасибо. Закончил свой вариант контроллера... Можно почитать тут: http://robocraft.ru/blog/3161.html
Придет солнечная панель - приступлю к РЕАЛЬНЫМ испытаниям.
Видео тестирования не хватает.
Когда будете тестить замеряйте сколько потребляет схема в режиме сна, очень интересно.
Все, огромное спасибо. Закончил свой вариант контроллера... Можно почитать тут: http://robocraft.ru/blog/3161.html
Придет солнечная панель - приступлю к РЕАЛЬНЫМ испытаниям.
Есть одно замечание по схеме: при таком подключении транзистора, по-моему , он не будет закрываться полностью. Вроде он должен быть подключен вот так:
Как жаль что я этот проект закинул... я для него дае солнечную панельку купил на 20 Вт...
У меня работает, тоже поставил панель на 20W вернее две по 10, всю зиму в гараже свет был, да он и сейчас есть.
Только вот теперь думаю, летом мне свет не нужен, куда энергию девать ?
В этом топике остались живые? Вдруг кому-то будет интересно...
Начало моей поделки тут: http://robocraft.ru/blog/3161.html
Получил таки я наконец-то солн. панель, правда на 100 Ватт (вместо планируемых на 50). И провел полевые испытания. Как и следовало ожидать, первым не выдержал диод на входе СП... сгорел. Остальная часть схемы работает. :) Диодик я заменил на более мощный (SBL2045) и посадил на радиатор.
В планах все же сделать контроллер не ввиде шилда, а отдельной платой, скорее всего с Ардуино нано на борту. Планируемая схема такая. Будет применен n-канальный мосфет с узлом накачки напряжения для открытия.
Со схемой активно работаю, собрал на мекетке - вроде как все хорошо. Потиху рисую печатную плату
А вот программную часть планирую использовать старую... (как в статье)
Но появились вопросы с алгоритмом заряда.
На выходе СП получается около 18 вольт (на шилде указаны след. параметры: 18 Вольт 5 Ампер). По моему алгоритму, если напряжение на СП больше или равно 14.5 вольт - ШИМ=100%. При этом напряжение с солнечной панели "проседает" до 13 и возможно менее вольт. Ага, текущее напряжение СП меньше чем необходимое для заряда => переходим в режим сна (ШИМ=0%). И так продолжается достаточно долго.... Вопрос, насколько плохо для АКБ превышение (пусть кратковременное) напряжения на клеммах?
Или тут нужно расчитывать велечину ШИМ-а, таким образом, чтобы на АКБ держалось напряжение 14.5 вольт на этапе заряда?
Наблюдал за процессом заряда китайским контроллером (у знакомого). На нем только светодиодная индикация. Ну, та часть, которая относится к АКБ понятно (красный - разряжен/ зеленый-нормально/зел. мигает - 100% заряд). А вот светодиод относящийся к СП (по маркировке на панели: зеленый - Charge, а мигающий зеленый - Овервольтедж). Панель практически такая же как и у меня. И вот этот светодиод достаточно быстро мигал.... Разобрать контроллер мне не позволили... Тестора под рукой не оказалось. Но я смею предположить, что он таким образом (регулировкой ШИМ) поддерживает на АКБ нужное напряжение...
После того как я побывал в гостях и посмотрел на работу заводского контроллера, у меня и закрались сомнения по поводу моего алгоритма :(
Очень хочется довести программную часть "до ума"...
10 Ампер....... 9 долларов ..... собран..... в коробочке.... с клеммочками...... с ледиками разноцветными.........
http://www.ebay.com/itm/5-10-15-20-30A-MPPT-Solar-Panel-Battery-Regulato...
Я даже не знаю, что ответить тов. trembo...
Поверьте, я в состоянии купить любую электронную вещь, которая мне нужна... А это хобби...
И мне интересно что-то делать самому, разбираться, экспериментировать и САМ результат не столь уж важен.
Примерная паралелель: а на фига художник париться с кистями и мольбертом, если даже дешевым фотиком получиться более реалистичная картинка.
Это все же технический сайт, и я ОЧЕНЬ надеюсь, что большинство пользователей именно моего толка мышления
А где вы берёте солнечные панели?
Я тоже не прочь иногда поковыряться!
Но!
Купите готовую коробку, вскройте с потерей гарантии и скорее всего вы увидите там или ПИК или Мега328.
Или что-то непонятное.
Но!
У вас будет готовая коробка..... и дальше по тексту из моего #124
И модернизируйте её пока не сломаете совсем. ;)
Ну, пока о коробочке - я не сильно задумываюсь :) Придет время - буду думать. Пока вопрос стоял в функционале...
А вы можете рассказать как работает Ваш "заводской" контроллер? Примерный алгоритм или напряжения на разных этапах? Все, что помогло бы мне написать правильный алгоритм
Приветствую всех участников.
Заинтересовался этой темой из-за недавно проснувшейся тяги к Arduino и необходимостью изготовить зарядное устройство для кислотно-щелочных (или гелевых) аккумуляторов (20-60Ah).
Просмотрев несколько разных сайтов и попробовав автомобильные зарядники товарищей (заводского изготовления, понравилась Т-1001А ЗАО"Автоэлектрика") сделал вывод, что необходимы:
1. Защита от случайной смены полярности (от дурака).
2. Первоначальная запитка схемы контроля и управления от аккумулятора.
3. Стабилизация тока заряда примерно 0,1 емкости АКБ до 14,4...14,8V (далее в соответствии с диаграммой). Для этого необходимо измерять ток (ставить шунт ампер на 10...50 около 0,05 Ом и сравнивать падение напряжения на нем).
4. Для десульфатации б/у аккумуляторов - возможность реверсивного заряда (можно реализовать кратковременным включением нагрузки в 15 Ом 25Вт транзсторным ключем), чередованием заряд/разряд.
5. Диаграмму заряда АКБ можно взять из Инструкции к примеру на "T-1013P с кнопочным управлением" (стр. 12)
http://www.avtoelektrika.ru/public/custom/instr_T-1013PK.pdf
Схемы разных моделей этих зарядных и пуско-зарядных устройств:
http://www.avtoelektrika.ru/shema_priborov.php
Инструкции:
http://www.avtoelektrika.ru/instr.php
Они, конечно собраны на другой элементной базе и в схемах не указаны типы транзисторов и диодов, но почерпнуть полезное можно.
И еще мне приглянулась одна схемка зарядки на спец.микросхеме TL494 (KIA494, KA7500B, К1114УЕ4):
http://kravitnik.narod.ru/charge/charge_4.html
Что-то полезное можно взять и из этой схемки:
http://shemu.ru/index.php/cifrovueshemu/221-avtomaticheskoe-zaryadnoe-us...
есть еще описание цикла заряда на Hynday HY 400 (стр.14):
http://www.vseinstrumenti.ru/instructions/687641.pdf
необходимостью изготовить зарядное устройство для кислотно-щелочных (или гелевых) аккумуляторов (20-60Ah).
Вот зарядник из деталей компьютерного БП, собрал один с ноля, другой просто переделал из компьютерного БП. Коллеги переделали несколько. Работают отлично. В качестве показометра ставили вот такой, или такой. Правда режима десульфатации там нет.