玩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不错了, 考,烂电池。



时间: 2024-10-22 10:24:50

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

Android蓝牙4.0之玩爆智能穿戴、家具(二)【进阶篇】

闲话中心 这几天最大的事可能就是美国总统的上任,双十一,还有乐视股价了,乍一看,好像和我们没什么关系,其实肯定是有的了,要不然他也成不了新闻啊,有一点我们得改变,就是我们必须要希望我们自己国家的企业能过强大,我们必须支持他们,哪怕他做的不够好,这个问题其实就像一个国家一样,我们都知道许多政策是不合理的,或者说有很多制度是坑人的,但是我们不能因为这些而不爱我们的国家,那么企业也是一样,就拿乐视来说,股价跌了,公司遇到资金问题了,你看看这些媒体都在报道什么,全是负面消息,马上倒闭了,或者说是撑不住了

.Net程序员玩转Android开发---(12)ListView显示数据

Android中显示数据有多种控件,这节我们来认识下ListView,ListView是Android中最常用的数据显示控件,可以显示简单数据源,也可以显示复杂数据源,我们在Android系统中常看到的列表项,基本都是ListView的功劳.ListView中显示数据,肯定要绑定数据源.数据源的绑定是通过Adapter来完成的,Android中有两种常用的适配器,ArrayAdapter(数组适配器)  SimpleAdapter(简单适配器),适配器的作用就是把复杂的数据源显示到istview

Linux 如何实现 VLAN - 每天5分钟玩转 OpenStack(12)

LAN 表示 Local Area Network,本地局域网,通常使用 Hub 和 Switch 来连接 LAN 中的计算机.一般来说,两台计算机连入同一个 Hub 或者 Switch 时,它们就在同一个 LAN 中. 一个 LAN 表示一个广播域. 其含义是:LAN 中的所有成员都会收到任意一个成员发出的广播包. VLAN 表示 Virtual LAN.一个带有 VLAN 功能的switch 能够将自己的端口划分出多个 LAN.计算机发出的广播包可以被同一个 LAN 中其他计算机收到,但位于

玩转智能路由器-WRTnode开发板[刷新固件]

WRTnode的固件更新方法 刷机乐趣尽在其中,但乐趣与风险并存. 一:准备固件 参见编译WRTnode固件,如果不想自己编译,可以直接下载WRTnode出厂固件,linux内核 3.10.44:或者是更新版固件,linux内核 3.14.18. 二: 刷新固件 常用刷机方法有两种: 方法一:通过web界面刷机 PC机连上WRTnode的wifi或者是PC机通过网线与WRTnode相连,连接成功以后,打开浏览器,在地址栏输入 i.wrtno.de或192.168.8.1或openwrt.lan,

玩转智能路由器-WRTnode添加OpenCV支持

opencv libs库文件ipk编译 opencv ipk源码 利用openwrt package的编译机制仅仅需要一个Makefile即可编译opencv. 为何会如此简单神奇,下面就对Makefile详解(个人看法,欢迎指正): $vim Makefile include $(TOPDIR)/rules.mk  PKG_NAME:=opencv  # PKG_NAME -软件包的名字, 在 menuconfig 和 ipkg 显示 PKG_VERSION:=2.4.8  # PKG_VER

玩转智能路由器-WRTnode开发板[接上网线]

WRTnode专属网线 首先来介绍这根特殊的网线(图1):图1网线引脚说明:首先需要一根T568B线序的网线.T568B网线就是平时家里用于电脑连接路由器,ADSL猫的普通平行网线.T568B网线线序如下:然后将网线剪断,从中选出绿.绿白.橙.橙白四根线.其余4根线可以剪断.将上述四根线做一个2*2杜邦线插头,杜邦线插头分配如下:线做好啦,如何连接到WRTnode呢? 核心板上的针脚图(图2):图2在网线黑色的一头有一个小箭头(Pin1)的标志.当我们用网线连WRTnode时,可以选择四个LAN

数据结构与算法1-2 C语言运行时间检测算法

1 #include <stdio.h> 2 #include <math.h> 3 #include <time.h> 4 5 clock_t start,stop; 6 #define max 1e7 7 #define num 100 8 void putin(double *); 9 void f(double *,int ,double ); 10 void ff(double *a,int n,double x); 11 void timetext(void

智能小车二十一 《电压检测模块设计》

小车经常出现一个问题:玩着玩着,操作它前后左右动,但它不动.这时候就不知道到底是那儿的问题,是线断了还是电压不够了.经过我很多次的经验得出,这是因为没电了.因为我每次这时候都会拿电压表去测一下,发现电池电压都在6v以下了.根据这个线索我设计了一个小电路来测电压. 我计划是用小led灯来报警,当电压不足时,灯就常亮.电压不够时(6v)一般小灯还是能够点亮的.经查资料,5mm小灯的工作电流是20ma,红.黄颜色电压是1.8-2.4之间,蓝.白.绿的电压则是3.0-3.6之间.我现在有一个白灯,那么需

第12章 智能家居

12.1智能家居概述 12.1.1传统家居与智能家居 物联网智能家居.传统智能家居区别 传统智能家居发展了20多年,至今为止取得了一定的进步,但技术落后.观点陈旧.创新乏力一直是中国传统智能家居企业的整体特征. 今天,随着物联网技术的高速发展,无线物联网技术给传统智能家居带来了全新的产业机会,一些全球优秀企业纷纷涉足物联网智能家居行业.在我国,虽然部分企业在无线物联网核心技术上取得了很大突破,但我们也应该清醒地看到大量技术落后的产品充斥市场仍是当前我国智能家居行业的重要特征.很多传统企业甚至一些