玩Mega8 智能充电器-12. 终于实现-dV检测(转)

源:http://blog.chinaunix.net/uid-10701701-id-91873.html

2010.1.3 5:30
终于补齐了. 电池充电的-dv 的检测系列图片请移步:

http://blog.chinaunix.net/u2/79526/showart_2137867.html
方法:

1) ADC部分, 硬件RC滤波, 软件每次测量连续获取5个ADC值, 去掉最高和最低的值, 最后剩下的取平均.

2) 记录电压的最高值, 只要达到了一个电压值,就记录在变量TOP内. 如果电压下降到top-12mV,并且连续3次,则确认-dV, 充电完成.

3) 只要突破TOP,则-dV计数复位.

if( ic->top_voltage > (ic->voltage+0.012) ){ 
           ic->delta_times++; 
         infon("   -dV:",ic->delta_times); 
        _delay_s(2); 
           if(ic->delta_times >3){ 
            ic->i_stage = STOP; /*STOP and update abs voltage*/ 
            lcd_cursor(0,0); 
            lcd_puts("END:"); 
            short x = 1000*ic->voltage; 
            print10(x);  
            pwm_setduty(0); 
        } 
} 

测量了两个800mah的电池的充电情况:
800mah NIcd1             

  3:13 开始充电  340mah结束时间 3:19   1.543---1.5A  总结束时间<3:44   (预计结束时间3:50,2C)             

  top1896, end 1882 , end  voltage:1.38  after 10mintes 1.371

800mah NIcd2

  3:45 开始充电  340..358mah 结束时间:3:47 1.568---1.3A  总结束时间4:07  (预计结束时间4:10,600mha?,2C) (冲入:约500mhA)             

  top 2063, end 2048, end voltage: 1.470, after 10minites:1.42

内阻0.25R, 只能冲入500mah, 实际上肯定少, 400mah不错了, 考,烂电池。


原文地址:https://www.cnblogs.com/LittleTiger/p/3979402.html