EDA365电子工程师网

标题: 求移动电源电池检测ADC算法 [打印本页]

作者: linzilideshu    时间: 2014-3-5 16:09
标题: 求移动电源电池检测ADC算法
如题,小弟在做一款移动电源,用PWM控制充电的,发现打开PWM以后,1024阶ADC测量电池电压非常不准,有时跳跃幅度可达上百阶,求算法滤掉这些跳得太离谱的值!
) s, r- |/ M  N& s5 n" l5 g/ b' z. J3 o1 I$ |
急求大神!
作者: 超級狗    时间: 2014-3-6 08:44
本帖最后由 超級狗 于 2014-3-6 12:20 编辑
7 ]% i; s& s5 O1 {) ?/ q& r9 z6 P. @0 S
! `6 b2 t6 m$ o' [5 O, ~: E5 X您這個問題應該是取樣時,有時取樣到 PWM 正在充電的狀況,有時取樣在 PWM 未充電的狀況造成的。5 @7 {- [. j- `3 _8 D0 T% J
7 k* @! o+ P0 |( l2 G
軟硬件需要和 PWM 做同步(Synchronization)7 j5 B. `1 C' w& X% Q

' y$ l$ }) k% b0 K4 W6 o2 R. E0 [3 _0 w& {

- r/ U) u2 I6 u其實咱家是做硬件的,回答這問題已經有點拚了。6 Q( x% s( r3 {& p  X% m- g
' r' a0 f' {8 z
在其他專家面前班門弄斧,見笑了!: o( V8 p& K  k' L/ O9 c" K

& v; L! G3 ~4 q* l4 p7 D2 c
作者: 北漂的木木    时间: 2014-3-6 11:22
不知道电路图是什么样子的,LZ方便的话,贴图出来咯。
( @) t5 H. S% ]8 q

作者: linzilideshu    时间: 2014-3-6 13:47
超級狗 发表于 2014-3-6 08:449 ~8 v, G+ _6 P
您這個問題應該是取樣時,有時取樣到 PWM 正在充電的狀況,有時取樣在 PWM 未充電的狀況造成的。
$ T/ S2 q0 \1 s1 u# Z, Z  J: [- L0 ~  B
軟硬件 ...

8 ~) l# s' F, b. ~PWM频率目前取10KHZ,ADC采样需要51个系统周期,加上分频,滤波采样,完成一次检测需1mS左右。4 y/ r" x$ H; h6 b8 x7 r, L

7 ]' o3 D2 @+ h) m) P5 K这样的话,不大可能在PWM的LOW间隙进行取样,关闭PWM采样的话,加上电池缓慢恢复时间,关闭时间可能要达到秒级甚至几秒。+ }% M9 q) H# F( g8 Y" u/ h
( [. Y2 p& a" f
以上就会充一段时间电,关闭几秒,再充一段时间再关闭,如此循环。- E) k+ n9 x4 @
" G4 J$ a4 Z6 L
我不知道移动电源有没有这样做的先例,也不是很清楚这样做是否合适,不知狗版有什么看法?
作者: 超級狗    时间: 2014-3-6 15:10
嗯~還是木木考慮較周詳,就知道這系統設計有鬼。
0 w- Q$ J# N( y( q$ X
# N) Q0 j% v/ m5 S: z顯然樓主用了一顆很便宜、很便宜的 MCU,那就充一段、停一段吧~
1 g4 u$ h. ^5 W" g1 D
5 g& m; @: p5 w% I軟件上是還可以做點優化,電平離 4.2V 還遠的時候久久才看一次,快到 4.2V 才密集點去偵測。& `+ z+ {& ?5 c% ^

# b" B$ _# `9 M是看過有人充電控制這樣做。; t4 ?4 x. q, y
. m; t2 j. Q* q; ?7 g- K, D

/ W$ Z% F. f# `" x: v, c% v
/ _" b9 ]2 Y+ d7 v% b
作者: linzilideshu    时间: 2014-3-6 15:37
超級狗 发表于 2014-3-6 15:10
0 r. [$ O  G/ q9 V嗯~還是木木考慮較周詳,就知道這系統設計有鬼。2 O. a# r8 v) R7 T- p8 @6 O' i
! Q* H, f/ _+ ^, f) j. R9 U6 ]
顯然樓主用了一顆很便宜、很便宜的 MCU,那就充一段、 ...
: R& U& |" O9 Z' s' _
比较贵的MCU怎么做的,和便宜的MCU差别在哪里啊?
作者: 超級狗    时间: 2014-3-6 16:49
也沒什麼不對啦~這東西也許便宜就是王道。
3 B9 N% Q6 H. p( }- n5 H' R7 u4 k/ }3 F
我只是看 MCU 的執行週期和 ADC 轉換時間,和我以前用的 MCU 和 ADC 差很多。覺得它很慢,所以推測一定很便宜。
2 Q8 _  j3 c/ k+ `) N* d. i! n& k; u) Y# P
找到一份文檔看起來應該對您幫助很大,根據他的說法,每一秒停個 2% 的時間做電壓偵測就可以。" G2 }, t1 x" T+ D% E- ]

& K) V/ ]& z  \: W6 g& ^A Review of Battery Charging Algorithms and Methods
% Z5 O4 X& H; ?7 r, r0 L0 J( C# u! W4 u8 o5 `: e
很珍貴且具實用價值的一份文檔!
# [$ p" h, D+ Y
6 R+ i! w' X+ e# b( _

Current Interruption.jpg (166.93 KB, 下载次数: 1)

Current Interruption.jpg

batchrg.pdf

70.16 KB, 下载次数: 61, 下载积分: 威望 -5


作者: linzilideshu    时间: 2014-3-6 17:06
超級狗 发表于 2014-3-6 16:49
+ G) O) q4 d: g" [# f+ f6 v也沒什麼不對啦~這東西也許便宜就是王道。; U0 {: j& \; {7 f. U
2 d, o0 }" `4 h- n
我只是看 MCU 的執行週期和 ADC 轉換時間,和我以前用的 MCU ...

) L; a; r2 o$ r. n. ~( S' ?: \狗版,单个ADC周期最快是12.5us,这速度算不算快的?但是听说太快的话,ADC检测会不稳定,,所以分频了就比较慢,不知道这说法是否正确呢?
" f/ c; o; W( r" s  m7 `. }* @. k4 k" ]" |7 O7 n" K. ~
另外非常感谢狗版主的资料!感谢!
作者: 超級狗    时间: 2014-3-6 17:38
狗版,单个ADC周期最快是12.5us,这速度算不算快的?
5 g' c7 [# c: u( l/ T
那就是小弟誤會了,我是看到您講 ADC 採樣轉換一次需要 1ms。不過 ADC 很多種設計方式,速度和價格上有差異,以前用踢哀(TI)ADS8505,採樣速度是 250KHz,相對來說 12.5us = 80KHz 也不算太快啦!) E# [% `* z1 m# T# f

9 V  l: w: {# J( I' i2 h: K
但是听说太快的话,ADC 检测会不稳定。
/ x4 z/ ^; _' D# d3 ~! N  o
這樣說也是沒錯啦!所有的東西都不是越快越好,夠用最恰當!0 o9 ~& o( G/ c1 A. i3 r/ c
+ A$ T! P( x0 i! ^9 f& U

作者: tuzhiquan    时间: 2014-9-28 14:28
充一会,停一会儿,我们就是这样做的,这种在别的机子里面出现过,可以的,也费不了多长时间,




欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) Powered by Discuz! X3.2