Подсчет миллиампер.

forfrends
Offline
Зарегистрирован: 24.02.2015

Всем привет! Делаю небольшой тестер емкости аккумулятора (путем разряда)

1 раз в секунду присходит подсчет напряжения на аккумуляторе (Bat_Pin), напряжения после нагрузочного резистора (Res_Pin), и последующее вычисление силы тока и полеченной емкости:

for(int i=0;i< 20;i++) 
{
    sample1=sample1+analogRead(Bat_Pin); //read the voltage from the divider circuit
    sample2=sample2+analogRead(Res_Pin);
    _delay_ms(<strong></strong>5);
}
sample1 = sample1 / 20;
sample1  = (sample1 * 2.5) / 1024.0;    // Преобразуем значение из АналогРид в десятичное с учетом опорного напряжения
Bat_Volt = sample1 / 0.5;               // 0.5 - это коофициент делителя напряжения: R2/(R1+R2 ) // R1 =10K and R2 =10K

sample2 = sample2 / 20;
sample2  = (sample2 * 2.5) / 1024.0;    // Преобразуем значение из АналогРид в десятичное с учетом опорного напряжения
Res_Volt = sample2 / 0.5;               // 0.5 - это коофициент делителя напряжения: R4/(R3+R4 ) // R3 =10K and R4 =10K

Current = (Bat_Volt - Res_Volt) / Res_Value;
mA = Current * 1000.0;
Capacity = Capacity + mA * (TimeCount / 3600000.0); // 1 Hour = 3600000ms

Силу тока определяет примерно правильно, разница с мультиметром составила 4%.  Но вот подсчет Амперчасов происходит неверно. На много больше считает чем есть на самом деле. Ошибка в формуле.

Может ак будет правильно (?) :

Capacity = Capacity + (mA / 3600.0);

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015
TerraMozg
Offline
Зарегистрирован: 08.05.2018

Воистину рукалицо, размерности еще не проходили видать?

forfrends
Offline
Зарегистрирован: 24.02.2015

????. Вы хоть вопрос прочитали?

Слушайте, я могу отличить мАч от Ач. И я могу так же сказать что в банке 18650 не может быть 4000 мАч. По первой формуле мне насчитало даже больше. По второй формуле считает меньше ожидаемого. Либо тестируемый аккумулятор износился и емкость гараздо меньше ожидаемого, либо с формулой что-то не то.

Повторюсь, правильная ли это формула для подсчета емкост?

Capacity = Capacity + (mA / 3600.0);

где мА - текущая сила тока.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

forfrends, формула правильная, мой зарядник считает по такой-же. Результат измерения ёмкости сильно зависит от тока разрядки, неоднократно об этом писал.

TerraMozg
Offline
Зарегистрирован: 08.05.2018

Если показания не устраивают, то очевидно не учтены допуски резисторов и м.б. опорное напряжение скачет, так что поверяйте своё добро на достоверном источнике поправочными коэфф и будет норм

а формулы должны давать одно и тоже, так что давайте весь код и схему, будем думать.

forfrends
Offline
Зарегистрирован: 24.02.2015

Спасибо, теперь все нормально считает