找回密码
 注册
关于网站域名变更的通知
查看: 2343|回复: 10
打印 上一主题 下一主题

求移动电源电池检测ADC算法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2014-3-5 16:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
如题,小弟在做一款移动电源,用PWM控制充电的,发现打开PWM以后,1024阶ADC测量电池电压非常不准,有时跳跃幅度可达上百阶,求算法滤掉这些跳得太离谱的值!! o% s5 \( x! L

: @' Z  e; P; @( X急求大神!

该用户从未签到

推荐
发表于 2014-3-6 08:44 | 只看该作者
本帖最后由 超級狗 于 2014-3-6 12:20 编辑
( ]. b4 [' W- @& O2 @6 S) J( Q  \3 k6 _
您這個問題應該是取樣時,有時取樣到 PWM 正在充電的狀況,有時取樣在 PWM 未充電的狀況造成的。& W6 l# J# j3 L* M  z9 e1 R( n/ j

7 s5 k/ \: i8 M% ?! u/ \/ h& _軟硬件需要和 PWM 做同步(Synchronization)
% q8 _( p) C6 T! P6 r4 s: b
/ o7 G1 y( t2 d$ G+ T' k0 w& ]
  • MCU 內部 PWM 如果能觸發中斷(Interrupt),在 PWM 關掉充電線路時再去偵測電池電壓。
  • PWM 不能從 MCU 內部觸發中斷(Interrupt),但外部有能觸發中斷(Interrupt)的管腳,把 PWM 訊號拉回該管腳觸發中斷(Interrupt)也行。
  • 上述兩者都沒有的話……………假使 MCU 速度比 PWM 快很多的話,將 PWM 訊號拉回一個輸入(Input)管腳,然後用詢問(Polling)的方式應該也可以。
  • 如果 PWM 是 Timer + GPIO 產生的,那就更簡單了。你知道什麼時候 PWM High/Low,那樣軟件會更容易許多。
  • MOS 管開關需要時間,關掉充電之後電池電壓也會緩慢下降,所以盡量想辦法取樣在中間或後段,取樣值會更穩定且精準。意思就是說,中斷(Interrupt)觸發後延遲(Delay)一段時間再取樣,或是 Timer + GPIO 方式在打開充電前做取樣。
    6 e4 c5 l# T$ m; ]2 y8 f$ w1 E

/ \" x, b; I6 K+ z- c
) G, @$ C9 a; i- R$ X: z其實咱家是做硬件的,回答這問題已經有點拚了。
8 a$ Q& @1 ]  z; Z+ ?- N+ U0 H" t& }" q5 t, F2 z
在其他專家面前班門弄斧,見笑了!
1 @6 M* I9 q- S1 }9 a% K, @0 I% N$ V5 v1 {9 u7 p

点评

支持!: 5.0
支持!: 5
狗斑竹太谦虚了,明摆着专家级别的回答……  发表于 2014-3-6 11:21

该用户从未签到

3#
发表于 2014-3-6 11:22 | 只看该作者
不知道电路图是什么样子的,LZ方便的话,贴图出来咯。- ~0 Z* S/ n, t4 j/ N5 }

该用户从未签到

4#
 楼主| 发表于 2014-3-6 13:47 | 只看该作者
超級狗 发表于 2014-3-6 08:447 G7 J+ t" Y% A6 B
您這個問題應該是取樣時,有時取樣到 PWM 正在充電的狀況,有時取樣在 PWM 未充電的狀況造成的。
6 \8 y  t2 d7 H6 V2 n/ V9 H; N+ a
! O9 Z5 O& \  i2 R3 c軟硬件 ...

3 k# I7 \6 ^( t+ ~' GPWM频率目前取10KHZ,ADC采样需要51个系统周期,加上分频,滤波采样,完成一次检测需1mS左右。
# v/ y8 F* t$ `- E, a. `4 {) S% o' _1 s% D! E  v1 @7 m
这样的话,不大可能在PWM的LOW间隙进行取样,关闭PWM采样的话,加上电池缓慢恢复时间,关闭时间可能要达到秒级甚至几秒。
, C# o7 U2 ?2 }, t) Z4 m, t: o" s* i% v
以上就会充一段时间电,关闭几秒,再充一段时间再关闭,如此循环。5 f" K4 R8 n& H/ J! A) c

2 L$ ~6 D$ q4 N+ B$ s' }我不知道移动电源有没有这样做的先例,也不是很清楚这样做是否合适,不知狗版有什么看法?

该用户从未签到

5#
发表于 2014-3-6 15:10 | 只看该作者
嗯~還是木木考慮較周詳,就知道這系統設計有鬼。
9 b& b. ]5 z3 m3 W9 C1 _
) T! l  y) w  |4 G  d顯然樓主用了一顆很便宜、很便宜的 MCU,那就充一段、停一段吧~
$ V1 S8 M1 h- u
6 Y$ D. z' H; ^4 C: D9 e5 S軟件上是還可以做點優化,電平離 4.2V 還遠的時候久久才看一次,快到 4.2V 才密集點去偵測。
" J. a: P4 q( Y
. }; V  t3 Y4 a! A' z是看過有人充電控制這樣做。# ]' T! R# c5 W# z  t" T

9 d, |6 E: V8 O% S/ P
- J5 d2 s0 a  _6 s. w' S) a/ A  J8 a& z# d$ o" N1 D

该用户从未签到

6#
 楼主| 发表于 2014-3-6 15:37 | 只看该作者
超級狗 发表于 2014-3-6 15:107 X2 I% S. |# w
嗯~還是木木考慮較周詳,就知道這系統設計有鬼。( D, S3 x0 {$ I7 G/ g& [% T2 c
- u8 V  g+ L1 j9 y0 o
顯然樓主用了一顆很便宜、很便宜的 MCU,那就充一段、 ...

, E7 S, D& c, N比较贵的MCU怎么做的,和便宜的MCU差别在哪里啊?

该用户从未签到

7#
发表于 2014-3-6 16:49 | 只看该作者
也沒什麼不對啦~這東西也許便宜就是王道。' }1 S+ `4 n: ~

+ _! J0 _6 C0 \7 t我只是看 MCU 的執行週期和 ADC 轉換時間,和我以前用的 MCU 和 ADC 差很多。覺得它很慢,所以推測一定很便宜。5 W4 m  \# ^3 y0 L0 r! B  X5 z

6 M4 A3 e) i8 Z5 }' ]2 d' U找到一份文檔看起來應該對您幫助很大,根據他的說法,每一秒停個 2% 的時間做電壓偵測就可以。
0 m  q6 v- u9 |1 N/ U$ e! q
/ Q& C: ~' a; \* k7 c0 YA Review of Battery Charging Algorithms and Methods/ e3 r7 N: I9 `5 y0 f9 u% C

+ I' A, m. J3 L  K) ^/ k很珍貴且具實用價值的一份文檔!7 h$ O1 |  W* @" M

. v2 E1 E# p8 K* v+ p

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

Current Interruption.jpg

batchrg.pdf

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

该用户从未签到

8#
 楼主| 发表于 2014-3-6 17:06 | 只看该作者
超級狗 发表于 2014-3-6 16:49( w$ w2 ^( m3 s9 u5 K4 Y
也沒什麼不對啦~這東西也許便宜就是王道。
: v9 W) W% h0 q' A0 G! [% n" F0 g5 y1 ]) @5 F
我只是看 MCU 的執行週期和 ADC 轉換時間,和我以前用的 MCU ...

0 v' p/ U+ y, ~+ Y/ [8 Q/ q狗版,单个ADC周期最快是12.5us,这速度算不算快的?但是听说太快的话,ADC检测会不稳定,,所以分频了就比较慢,不知道这说法是否正确呢?. ]; E3 `! O9 o+ `/ e+ o* E
0 ]& d! U6 E; Y. n
另外非常感谢狗版主的资料!感谢!

该用户从未签到

9#
发表于 2014-3-6 17:38 | 只看该作者
狗版,单个ADC周期最快是12.5us,这速度算不算快的?

+ d  P4 R; s$ @/ c那就是小弟誤會了,我是看到您講 ADC 採樣轉換一次需要 1ms。不過 ADC 很多種設計方式,速度和價格上有差異,以前用踢哀(TI)ADS8505,採樣速度是 250KHz,相對來說 12.5us = 80KHz 也不算太快啦!, R( [" t$ R) y' n5 u
5 z; S8 i* b9 V; E8 }* j* y
但是听说太快的话,ADC 检测会不稳定。
+ ?8 g; J9 M' F3 a0 @
這樣說也是沒錯啦!所有的東西都不是越快越好,夠用最恰當!
- x$ m+ J# ?; H$ w+ h# u3 o) U$ a* W; u) K; `# d4 f

该用户从未签到

10#
发表于 2014-9-28 14:28 | 只看该作者
充一会,停一会儿,我们就是这样做的,这种在别的机子里面出现过,可以的,也费不了多长时间,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-7 15:41 , Processed in 0.078125 second(s), 29 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表