手机充电小米充电器充不进去电进去是绿的。拔出来变成白的

手机充电的原来和过程分析
以下是关于手机充电的技术知识:
一, 充电流程介绍:
当插入时,亦即为PMIC充电模块提供了Vcharge电压,这时会产生一个充电中断信号到CPU,通知CPU现在已经进入充电状态。CPU开始启动如下模块:
1,ADC采样,主要是采集Vchrg,Vbat及从MOSFET漏极输出的电压,可以算出充电电压和充电电流;
2,发消息给MMI层,让它显示充电状态及一些采样数据;
3,检测电池电压有没有超过保护电压及电池连接是否连接正确,如果有问题即可通过CHRCTRL切断充电电路;
4,平时显示“充电器没有连接”警告,是因为PMIC的BATDET脚和MOSFET没有打开,从而没有充电电流引起的。
二, 充电状态转换介绍:
如果电池电压较低,只是预充的时间稍长一些,最多一两个小时应该可以完成充电!一般电池都有自保护,不会把电放到0V的!
1, 充电分三个过程:预充电、恒流充电、恒压充电
2,当Vbat&3.3V &属于预充阶段,处于预充电状态时,以150mA
电流涓流充电。PMIC不能提供Vcore、Vdd等电压,CPU处于关机状态,这时CPU是不工作的!纯粹是硬件电路充电
4,Vbat&4.2V
进入恒压充电阶段(属于TOPOFF的一个点,如下图),这个阶段电流逐渐变小,电压维持不变!当电流减小到接近为0(或者某个较小阀值)时,CPU发出控制信号这时停止充电!
以状态机的方框图说明如下:
三, 普通的充电器电路图如下:
普通的USB充电图:
如上图,VBUS是USB供电;VCDT是通过分压电阻测试充电电压的测试点;CHR_LDO跟VDRV共同完成开关切换功能,实现对电池的开关充电(充9S停1S);IBENBE跟BATSNS完成端电压除以RSENSE测得充电电流;BAT_ON提供电池电压测试。
四, LED与充电状态的配合实例:
&开机后,插入时显示橙色灯,拔掉USB不充电时灭灯,充满电后显示绿灯。充电时,系统在一个线程里面循环检测电量,当电量满置绿灯。需要注意的是,显示绿灯后,就禁止充电了以防止过充。所以在电量变满后,就应该SetCharger(off),但此时有个矛盾:充电开橙色灯的操作在SetCharger(on)中,灭灯的操作在SetCharger(off)中,这样会造成一个BUG:一旦电量满后,关闭充电功能时也会灭灯,这样就搞的橙色灯闪了下就灭了,显然这不是我要的效果。
我要的效果是变绿后,除非我拔掉USB线,才会灭灯。所以需要在电满时加标志A,在SetCharger(off)中加判断语句A,跳过灭灯的处理而仅仅关掉充电,同时打开另一个标志B。同时在USB插拔的操作中处理B,表示当灯变绿时,优先处理B,在B后面添加灭灯语句,仅仅处理这一块就可以了。
关于标准USB充电器和非标准USB充电器,是跟USB的插座构造有关的。
六, 关于手机充电器的分类
通常情况下,程序中一般有四种充电器设定,分别是:USB HOST,CHARGING HOST,STANDARD
CHARGER,NON-STANDARD CHARGER。
如上:USB HOST,CHARGING HOST的差别在于左图,两者用的都是PC的USB口,其中USB
HOST居多。STANDARD CHARGER,NON-STANDARD CHARGER差别在于
前者的DP跟DM有短接,后者没有。所以通过对DP/DM的判断,就可以分辨出充电器类别。
七, 关于充电器电气规格的差异
& 最近碰到一个奇怪的现象。新款手机用可以充,用5V500MA的充电器是充不进去电,用PC的USB却是一直可以充。经过打印充电信息的trace发现,是由充电电流的差异引起。AP程序中对充电器的电压下限是4.4V,如果判断充电器电压小于这个值,则AP会自己关掉充电模块。那为什么1A的充电器可以而500MA的充电器不行呢?可以假设前者的内阻比后者的内阻小,那么暂不管真实的充电电流是多少,前者自身分配的压降肯定小于后者自身分配的压降,所以后者最终的充电器供给电压会更低。
以程序中默认的800MA充电时,5V500MA的充电器会被拉低至3.8V,所以AP会认为充电器不正常就关掉自身的充电模块。但是如果是5V1A时,由于充电器内阻较小,就算供电端被拉低也不会低于4.4V,所以它仍然是可以工作的(测得实际充电电流640MA)。
&想让手机兼容500MA的充电器,此时需要做个处理:在判断充电器电压小于4.4V时不返回错误,同时将充电电流设定成400MA(对于同一个充电器,充电电流越小,充电器自身压降更小,供给更大),让它仍然可以充电只不过充的会慢点。此时的程序段如下:
A,设置一个电流改变标志,默认为FALSE。
static BOOL &CurrentChangeFlag = FALSE;
B,在设置电流的地方判断该标志,注意:该电流设定是过个时间间隔就循环执行。
if(CurrentChangeFlag == TRUE)
& g_temp_CC_value = Cust_CC_400MA;
&//如果改变,就以400MA充电
& g_temp_CC_value = AC_CHARGER_CURRENT;
//如果不改变,就以默认电流800MA充电
C,循环检测充电器电压,并改变电流的程序段:
if (BMT_status.charger_vol &= V_CHARGER_MIN ) &
&//充电器电压小于4.4V
& & printf("[BATTERY]Charger
under voltage!! CurrentChangeFlag=%d\r\n",CurrentChangeFlag);
& & if(CurrentChangeFlag ==
CurrentChangeFlag = FALSE;
leds_battery_no_charging(); //zhangcheng
BMT_status.bat_charging_state = CHR_ERROR;
& & & return
PMU_STATUS_FAIL; &
& & CurrentChangeFlag = TRUE;
以上的逻辑是:当第一次检测电流时,充电器默认以800MA充电,此时充电器被拉低。之后进入该条件,接着执行CurrentChangeFlag
TRUE。在上述B中完成设定电流为400MA,如果设定完之后充电器正常的话,就不会再进入这个判断了,充电器持续充电;如果设定400MA之后还是会进入该判断,说明充电器不合格,此时要关掉充电功能,所以执行返回电失败的那段。注意:如果此时客户不管充电电压正确与否,仍然要求继续充电,只需要将if(CurrentChangeFlag
== TRUE) 程序段屏蔽掉就行。
八, 电池功能测试中的一些技巧
A,对于数字电源用数字电源模拟电池,通过其电流值可以知道手机的工作状态,比如电流值为正就是手机耗电的多少;插入外部充电器之后,如果电流值为负,则是手机正在充电。另一方面,对于用数字电源模拟充电器的,通过其电流值就可以知道供给外部的充电电流是多少,如果读数很小说明没有充电。
B,对于电池的温控脚,一般是要接的。如果需要外接温控脚,记住一定要跟电源公地。单独的一个温控脚是不会起作用的。
C,电池的快速放电。很多时候我们需要测试电池低电压时的状况,得到电池低电压是比较缓慢的一个过程。有个好方法就是利用数字电源,电压设置成3V,电流设置成800MA,然后把电源跟电池连接,即可实现电池的快速放电。
D,电池的充电。当我们在没有手机的情况下要对一块电池进行充电,可以用数字电源完成这个功能。设置电源是4.2V,电流要限流在800MA以内,接上对应的电极就可以了,不需要接温控脚。需要注意的是:一开始的充电电流会很大(提示LIMITED),如果不限流会更大,这样会影响电池寿命及安全性。随着电池电压慢慢增高,电流会慢慢变小,直到充满时的0ma左右。最后OFF掉电源,发现电压显示跟电压源之前设定的一样,说明已经充满。
九, 关机充电时低电压警告的状态图
关于电池低电压状况的一个说明:很多时候手机因为低电压关机后,只要没有取出电池,手机仍然在消耗电池的电量,这个很容易理解就像接了个未耗电的电阻。这会造成一个现象,电池电量会持续降低,所以再充电时需要冲入一段时间,才会进入正常的充电提示和LED报警提示,之前是不会有任何动作的。
十, full charging的LOGO显示差别
&手机在使用中会碰到这种情况:手机充电画面是动态的进度条,然后到充满一直显示满进度条,结论就是对于满电画面始终可以用同一幅图片;如果动态进度条的满电显示是带闪电标识,真正充满的满电是不带闪电标识,那么在根据电量进行show图片显示时,是要区分100%电量是从累加得到的还是真正的电量充满?所以,下面的程序段完成该功能。
static unsigned int crap = 0; & &
& & //一个区别标志
&if(capacity == 0) &
& &//5个图片,分四个档:100/4=25
show_logo(1);
&else if(capacity == 25)
show_logo(2);
&else if(capacity == 50)
show_logo(3);
&else if(capacity == 75)
&show_logo(4); &
& & //如果是累加得到100,必然经过该步,置标志
&crap = 1;
&else if(capacity == 100)
& if(crap == 0) &
&//如果是真正的满电,直接显示不带闪电标识的满进度条画面
& & show_logo(8);
& else if(crap == 1) &
//如果是累加得到的,显示带闪电表示的满进度条画面
& & show_logo(5);
& & crap = 0; &
& & &//清标志
&mt65xx_disp_update(); &
& & &//刷屏
十一, 电压跟电量转化的算法
VBAT_TO_PERCENT Batt_VoltToPercent_Table[] = {
&{3350,0},
&{3685,10},
&{3746,20},
&{3784,30},
&{3812,40},
&{3858,50},
&{3951,60},
&{4024,70},
&{4124,80},
&{4235,90},
十二, 普通电池的charging iv curve图
电池容量被定义为:用设定的电流把电池放电至设定的电压所给出的电量。也可以说电池容量是:用设定的电流把电池放电至设定的电压所经历的时间和这个电流的乘积。
如上图,蓝色线的是电压变化,黑色线是电流变化,横轴是时间轴采样点。可见电池一开始从较低电压充电过程中,是恒流1007ma充电,随着电压升高后面慢慢变成恒压充电,此时充电电流慢慢变小,变小到cut
off电流196ma后,充电电流彻底变成0,即充满停止充电。之后,使用电池变成4.07的recharging电压后,只要充电器没有拔出,会继续给电池充电,此时仍是恒压充电,重复前一个过程。
综上,如果测算一个电池的容量,也可采用类似的时间轴跟电流曲线结合面积的算法。比如每隔5分钟读取充电电流,得到的c1,c2,以计算梯形面积的公式,(c1+c2)*(5/60)/2,充电电流是渐渐减小的,当充电电流截止到0,整个计算过程结束。讲这些小面积累加起来,就是电池容量(mah)。
十三, 充放电效率&
比如一个容量450ma时的电池,能充进去多少,并不意味着能放出那么多,中间有个转化效率的问题。如下一个充放电曲线图,左边电压刻度右边电流刻度,已225ma恒流充电到4.2伏,搁置,再以150ma放电,再搁置。
测试结果图:
冲进去450ma,释放出来的能量只有388ma时。
(本文编辑: 新银engineer)
本文来自:&
&&请关注我们的微信公众号(新银)
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。请登陆后使用
只需一步,快速开始
吧友自助信息发布区,请自行甄别
查看: 11710|回复: 40
新买的电动车充电灯不会变绿,拔了又插上去就变绿。
rt,有吧友遇到这样的情况么?买来就这样。
接触不良吧!
应该不是。换了个充电器 晚点去看下&
我也是第一次买。。买的时候一定要问清楚。还有上牌的事 也要问清楚
还要牌啊﹋o﹋
买电动车推荐台铃或雅迪,质量比其他的不只好一点点
唉。这电动车新买的都会有问题。真让人担心&
唉。这电动车新买的都会有问题。真让人担心&
不用管那些,直接天猫买个定时器,按10小时,到点自动断电,对电池比较好吧
难道是“”绿源“”牌?
什么牌子的?
yxdeep 发表于
什么牌子的?
baty1007 发表于
难道是“”绿源“”牌?
时间没到的吧 后面是浮冲 电池永久了失水了会鼓包 也不会变绿灯
开始冲了10多个小时都不变。拔下来插上去就变了。不过电冲饱了&
xzxfzb 发表于
时间没到的吧 后面是浮冲 电池永久了失水了会鼓包 也不会变绿灯
开始冲了10多个小时都不变。拔下来插上去就变了。不过电冲饱了
多少V多少安的电瓶&
如果是三段式充电器又是新车新电池的话,这种情况比较正常。(目前充电器主要是三段式的,依次为恒流充电、恒压充电、浮充电三个阶段,俗称三段式充电器。开始用1.8安培充电,电压逐渐升高,叫恒流充电;电压到了一定值叫恒压,在40伏左右,最高充到44伏左右,这个阶段恒压;最后一段,电压达到44伏的时候开始往下降,降到保底点41伏,这时从涓流开始充,用100毫安小电流慢慢充,最后一段主要是保障让电池充足,同时不让它过充,因为这时电流很小),可以理解为在你拔下充电器的时候,电池电压处于2,3段之间所以会出现这种情况,插上充电器的刹那产生一个高压,让充电器判断电池电压达到充满所以绿灯。当然不是绝对,比较稳妥的办法,可以用手在外壁摸一下有没有比较烫手,如果充电器或者电池故障的话,电池的温度会非常高非常烫手,当然不排除奸商给你用劣质电池的情况,没有专用工具的情况下,用手摸比较靠谱,很烫的话,绝逼找他换电池
好像不烫。怎么才能知道电池好不好?跑还是可以跑很远。&
开始冲了10多个小时都不变。拔下来插上去就变了。不过电冲饱了
多少V多少安的电瓶
60v 20A 刚去售后换了个充电器 晚点去看看会跳不&
禅若枫 发表于
如果是三段式充电器又是新车新电池的话,这种情况比较正常。(目前充电器主要是三段式的,依次为恒流充电、 ...
好像不烫。怎么才能知道电池好不好?跑还是可以跑很远。
不变绿就是电池不得,买的时候你看清楚他装电池没有,而且这个牌子不得
新买的。真郁闷&
也许灯装反了
没有吧。电是充进去了&
我以前也出现这个问题应该是电池坏了,
新买的电池就坏么?刚去找售后换了个充电器。&
电池那充电线接错了吧,当心充电器烧了。
不清楚什么情况。刚去换了个充电器&
去年10月份我买的一款1598的爱码也是,我用的定时充电器 定的8小时应该充满了,但是还是红灯,拔掉再插上,指示灯就变绿了
后来怎么解决的?&
遇见过,电池应该是坏的,鼓了。可劲冲。以后就一冲就满一用就完。新买的雅迪就这德行。后来自己换了电瓶
新买的都这样?唉 现在啥东西质量都不行啊&
可能电瓶有问题 去找店家 换个充电器试试
嗯 已经换了 下午在观察下&
求科普...马上也要入电动车
我也是第一次买。。买的时候一定要问清楚。还有上牌的事 也要问清楚&
哪个牌子好些
重要信息提醒 /1
双十一红包点击领取:1元、2元、5元、1111元;每天可领,点击这里领取>>>
Powered by扫描下载MIUI论坛APP
经验2431 米
在线时间51 小时
版本6.7.28
积分 2491, 距离下一级还需 2509 积分
积分 2491, 距离下一级还需 2509 积分
机型小米手机5
签到次数157
MIUI版本6.7.28
最近几个版本的v5,用充电器充电,满电后手机呼吸灯闪绿色,此时不解锁手机直接拔出充电器,呼吸灯一直亮闪绿色,不熄灭,需要解锁屏幕后才回复正常,求关注
遇到的人越多,MIUI开发组会越关注
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
经验310 米
在线时间3 小时
积分 117, 距离下一级还需 83 积分
积分 117, 距离下一级还需 83 积分
机型小米手机2/2S
签到次数37
MIUI版本4.1.3
通过手机发布
我的也是。。。。
经验6865 米
在线时间484 小时
版本5.6.26
MIUI v6 内测组
积分 8004, 距离下一级还需 11996 积分
积分 8004, 距离下一级还需 11996 积分
机型Google GN
签到次数145
MIUI版本5.6.26
过一会儿就好了,或者打开屏幕,然后关闭就好了,不会一直这样
已有&1&人评分
感谢分享^_^
经验19901 米
在线时间433 小时
版本V8.1.1.0.MAACNDI
机型小米手机5
签到次数94
MIUI版本V8.1.1.0.MAACNDI
原来大家都一样,我还准备刷机,
经验2431 米
在线时间51 小时
版本6.7.28
积分 2491, 距离下一级还需 2509 积分
积分 2491, 距离下一级还需 2509 积分
机型小米手机5
签到次数157
MIUI版本6.7.28
这个问题存在好久了
经验9984 米
在线时间189 小时
版本6.10.25
机型小米手机5
签到次数170
MIUI版本6.10.25
是吗?还好我的没有这种情况
经验6665 米
在线时间184 小时
版本6.10.25
机型小米手机2/2S
签到次数155
MIUI版本6.10.25
这个是经常的事 点亮下屏幕再关了就OK了
经验561 米
在线时间0 小时
积分 22, 距离下一级还需 28 积分
积分 22, 距离下一级还需 28 积分
签到次数59
我也是&&在屏幕唤醒的情况下拔掉呼吸灯就会一直亮, 屏幕锁了再拔掉呼吸灯就会灭了。 亲测...
MIUI 2000万
MIUI 2000万发烧友纪念勋章
1000万用户纪念勋章
MIUI1000万用户纪念勋章
MIUI三周年
MIUI三周年纪念勋章
关注新浪微博
已关注新浪微博
已关注微信
关注腾讯微博
已关注腾讯微博
MIUI 100周
100周发布纪念勋章
小米手机元器件合体活动勋章
小米求合体勋章
MIUI 300周
MIUI 300周更新纪念勋章
MIUI 3000万
MIUI 3000万发烧友纪念勋章
MIUI 7纪念勋章
MIUI五周年
MIUI五周年纪念勋章
已关注极客秀微信
MIUI六周年
MIUI六周年纪念勋章
Copyright (C) 2016 MIUI
京ICP备号 | 京公网安备34号 | 京ICP证110507号

我要回帖

更多关于 把充电器变成无线充电 的文章

 

随机推荐