EDA365电子工程师网

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

作者: linzilideshu    时间: 2014-3-5 16:09
标题: 求移动电源电池检测ADC算法
如题,小弟在做一款移动电源,用PWM控制充电的,发现打开PWM以后,1024阶ADC测量电池电压非常不准,有时跳跃幅度可达上百阶,求算法滤掉这些跳得太离谱的值!; @. x5 ~7 ^5 C) J
3 a2 s. F0 |, J) Q
急求大神!
作者: 超級狗    时间: 2014-3-6 08:44
本帖最后由 超級狗 于 2014-3-6 12:20 编辑
0 R  X! V; Q* I# G$ X
# W' a; M5 }% _5 u$ x% w您這個問題應該是取樣時,有時取樣到 PWM 正在充電的狀況,有時取樣在 PWM 未充電的狀況造成的。
; Y" {1 q: K) s
8 ]4 y5 A* G- g軟硬件需要和 PWM 做同步(Synchronization)
: o1 v; j) J% r- D* ^" C! o. F& }4 z9 z4 L% Q  ^

& N6 Z9 \! v( |0 O8 x. j4 O3 z& Z8 n- k$ p/ U" Y5 w
其實咱家是做硬件的,回答這問題已經有點拚了。3 L! y/ j8 }+ ?& S6 v; X9 \

, D1 m4 C; ?- L( w在其他專家面前班門弄斧,見笑了!1 n+ p9 O+ t" k% i
) c+ |4 }: @: h  k' p' Y; P

作者: 北漂的木木    时间: 2014-3-6 11:22
不知道电路图是什么样子的,LZ方便的话,贴图出来咯。& p6 `1 Q& ~) B( E4 ?- u2 \' X4 O

作者: linzilideshu    时间: 2014-3-6 13:47
超級狗 发表于 2014-3-6 08:445 Z9 e7 R/ i! o% f/ v
您這個問題應該是取樣時,有時取樣到 PWM 正在充電的狀況,有時取樣在 PWM 未充電的狀況造成的。1 q3 n" H) l0 T7 u9 N: b8 `* V
3 o6 s4 ?+ P, m
軟硬件 ...

% Z8 d1 U" G! o( n# C3 APWM频率目前取10KHZ,ADC采样需要51个系统周期,加上分频,滤波采样,完成一次检测需1mS左右。
4 q: @8 K# a; X5 N$ q( M4 D# j- K' v$ {2 p
这样的话,不大可能在PWM的LOW间隙进行取样,关闭PWM采样的话,加上电池缓慢恢复时间,关闭时间可能要达到秒级甚至几秒。
3 r- k9 {& M0 f$ q8 t1 _, \& _3 j( s* J; u) k7 J, ?
以上就会充一段时间电,关闭几秒,再充一段时间再关闭,如此循环。
6 U* M' N4 `6 D
) R4 n$ Q  X- n" e) i0 H我不知道移动电源有没有这样做的先例,也不是很清楚这样做是否合适,不知狗版有什么看法?
作者: 超級狗    时间: 2014-3-6 15:10
嗯~還是木木考慮較周詳,就知道這系統設計有鬼。
5 u. G0 w$ e' O6 Q& G* S
, T" c4 [/ P: L, q& ?+ Q+ N! a顯然樓主用了一顆很便宜、很便宜的 MCU,那就充一段、停一段吧~
% _, ?; W8 S0 c* U, o
) A( r7 g- D! g  A/ C軟件上是還可以做點優化,電平離 4.2V 還遠的時候久久才看一次,快到 4.2V 才密集點去偵測。
' n8 _1 ~( @5 k5 M' Z: M, h" Y) G" l2 S" O
是看過有人充電控制這樣做。- {. v+ p* G  n
% k/ l" l2 I/ y( M  }2 J

; k# u3 `/ ^4 R. q! R- h1 @+ f" `9 m- M! y- B/ P% S

作者: linzilideshu    时间: 2014-3-6 15:37
超級狗 发表于 2014-3-6 15:10
) W% H4 x" Z/ p, l0 }嗯~還是木木考慮較周詳,就知道這系統設計有鬼。
) C; y& \! a) S; ?! a% O2 _. R2 [3 W3 _: \+ Z
顯然樓主用了一顆很便宜、很便宜的 MCU,那就充一段、 ...

- Z7 z8 t2 F7 P" M* }4 r比较贵的MCU怎么做的,和便宜的MCU差别在哪里啊?
作者: 超級狗    时间: 2014-3-6 16:49
也沒什麼不對啦~這東西也許便宜就是王道。
0 }- b& R0 o3 ?
- e# v* d1 j2 Z( Q: Q9 W我只是看 MCU 的執行週期和 ADC 轉換時間,和我以前用的 MCU 和 ADC 差很多。覺得它很慢,所以推測一定很便宜。
8 ~3 E, D7 Z7 K) u3 V0 n' A" y) X$ h! T' r+ i6 i
找到一份文檔看起來應該對您幫助很大,根據他的說法,每一秒停個 2% 的時間做電壓偵測就可以。
  P: F0 ]$ P# U* V4 d$ T4 r6 e0 I" F% V' y, T8 t6 N
A Review of Battery Charging Algorithms and Methods
3 W. F; ]" Y' U7 K9 Z/ H- ~7 R! g4 ?7 t
很珍貴且具實用價值的一份文檔!
; a7 _. O$ r% k0 N' c' c; B2 E3 \( [/ w: b8 m  ~( @

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
) h+ b8 b6 G' B/ W. W也沒什麼不對啦~這東西也許便宜就是王道。
/ Y3 ]* H4 p' z/ N5 N$ f' h5 g: ~% N4 Z/ L5 q% W9 h9 k: @: i
我只是看 MCU 的執行週期和 ADC 轉換時間,和我以前用的 MCU ...
6 \) u& F$ X& V
狗版,单个ADC周期最快是12.5us,这速度算不算快的?但是听说太快的话,ADC检测会不稳定,,所以分频了就比较慢,不知道这说法是否正确呢?
) E/ k. g# d( r- G' O
' z+ |1 [( @6 A  w! w另外非常感谢狗版主的资料!感谢!
作者: 超級狗    时间: 2014-3-6 17:38
狗版,单个ADC周期最快是12.5us,这速度算不算快的?

+ Z  z- ?- @7 L3 U7 |: M* I那就是小弟誤會了,我是看到您講 ADC 採樣轉換一次需要 1ms。不過 ADC 很多種設計方式,速度和價格上有差異,以前用踢哀(TI)ADS8505,採樣速度是 250KHz,相對來說 12.5us = 80KHz 也不算太快啦!
# e# d# _3 K5 Q' W. F
& X) y; N( T# w. R3 Y9 w
但是听说太快的话,ADC 检测会不稳定。

4 g- d$ W9 v/ b. L& x! A這樣說也是沒錯啦!所有的東西都不是越快越好,夠用最恰當!6 J6 J( W6 j: _+ j) m

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




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