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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
如题,小弟在做一款移动电源,用PWM控制充电的,发现打开PWM以后,1024阶ADC测量电池电压非常不准,有时跳跃幅度可达上百阶,求算法滤掉这些跳得太离谱的值!
, O2 J& s; R. D) W' q0 G4 c
! V- Y% Y% W4 l" f7 o" D急求大神!

该用户从未签到

推荐
发表于 2014-3-6 08:44 | 只看该作者
本帖最后由 超級狗 于 2014-3-6 12:20 编辑
  u: j# Q, w9 p3 v( p8 @' m+ g
7 s; P1 Z& `) W) w, ?; D您這個問題應該是取樣時,有時取樣到 PWM 正在充電的狀況,有時取樣在 PWM 未充電的狀況造成的。
# z- X( Z* |( D; D, u/ H- b8 w: ?, H2 V$ K- E3 V5 Y
軟硬件需要和 PWM 做同步(Synchronization)9 t) w9 q3 s- d# s- @
2 j1 f5 e8 Z( q2 J3 r
  • 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 方式在打開充電前做取樣。" @3 G. q% G& }8 d
1 }) V+ C0 O1 L0 k; D* A! ~4 b6 u
7 q5 D8 D- l6 ^: ]
其實咱家是做硬件的,回答這問題已經有點拚了。  z3 S  Y2 T$ a$ ]4 v

5 t; M' J3 [$ Q  y! z+ ~在其他專家面前班門弄斧,見笑了!! N% t  i" n+ Y. i; y1 d

" w, `& t4 n  t/ Y, |8 @

点评

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

该用户从未签到

3#
发表于 2014-3-6 11:22 | 只看该作者
不知道电路图是什么样子的,LZ方便的话,贴图出来咯。" d" u* z% W  O$ R* {" {# P2 k

该用户从未签到

4#
 楼主| 发表于 2014-3-6 13:47 | 只看该作者
超級狗 发表于 2014-3-6 08:445 `; Q9 Z+ Q# R% |7 ^
您這個問題應該是取樣時,有時取樣到 PWM 正在充電的狀況,有時取樣在 PWM 未充電的狀況造成的。, s8 q4 X, Q# O2 h; b
2 R. u* V% B* z1 z0 h+ I3 K
軟硬件 ...

* b6 J9 V8 I+ \. v' O8 {# `PWM频率目前取10KHZ,ADC采样需要51个系统周期,加上分频,滤波采样,完成一次检测需1mS左右。; C: B& p+ z. d4 A+ T: K  g
( v/ [& X+ N, e$ |
这样的话,不大可能在PWM的LOW间隙进行取样,关闭PWM采样的话,加上电池缓慢恢复时间,关闭时间可能要达到秒级甚至几秒。- N% O' f+ I! B, J. }

8 [7 \$ C) M3 @* d以上就会充一段时间电,关闭几秒,再充一段时间再关闭,如此循环。
6 @' U. |* r$ e+ l1 {5 @, H: k" D3 X
我不知道移动电源有没有这样做的先例,也不是很清楚这样做是否合适,不知狗版有什么看法?

该用户从未签到

5#
发表于 2014-3-6 15:10 | 只看该作者
嗯~還是木木考慮較周詳,就知道這系統設計有鬼。
9 V, e1 Y5 C& y) j5 _$ _/ n' r* L% X+ n# o) r
顯然樓主用了一顆很便宜、很便宜的 MCU,那就充一段、停一段吧~* N) X' p. U/ X# d& s: b6 S

% q4 a' m/ Q# z" Q% c( n/ K2 V軟件上是還可以做點優化,電平離 4.2V 還遠的時候久久才看一次,快到 4.2V 才密集點去偵測。7 C7 A- Y# Z; ^

) j) @3 R$ P4 `7 @是看過有人充電控制這樣做。/ `: G) s* W6 |* e- v" _; ~
0 m, Z1 Z5 ^* J7 f. `: [

5 ~9 a* u6 B1 [1 @. k
% \8 B/ P. L6 e; T

该用户从未签到

6#
 楼主| 发表于 2014-3-6 15:37 | 只看该作者
超級狗 发表于 2014-3-6 15:107 U, j+ M1 Q- L; d3 o7 J! u
嗯~還是木木考慮較周詳,就知道這系統設計有鬼。5 z8 c* F% m/ |, {

+ w% i/ s( D: O1 Z! G" q2 ^顯然樓主用了一顆很便宜、很便宜的 MCU,那就充一段、 ...
* z, V6 w5 R) S# U) v
比较贵的MCU怎么做的,和便宜的MCU差别在哪里啊?

该用户从未签到

7#
发表于 2014-3-6 16:49 | 只看该作者
也沒什麼不對啦~這東西也許便宜就是王道。$ N( }, C) r* ]0 x7 N( b; q
6 K: S! R3 |' X: B8 _' z/ ?$ U
我只是看 MCU 的執行週期和 ADC 轉換時間,和我以前用的 MCU 和 ADC 差很多。覺得它很慢,所以推測一定很便宜。
  s2 l7 i  L9 C9 A4 }, N+ `4 B, m
7 ]3 h3 ?: [% t$ d& ~找到一份文檔看起來應該對您幫助很大,根據他的說法,每一秒停個 2% 的時間做電壓偵測就可以。
. g- s1 w  i8 _) R& m& M; U3 Y
" E: ^, k! f/ q7 ]! e6 c# ^A Review of Battery Charging Algorithms and Methods
4 Q0 o( `7 V- Y' X0 _% Y
" r6 ^% N6 h- q8 X很珍貴且具實用價值的一份文檔!- _' Y1 q7 o& g, F2 b# X

; n+ j* N  i9 ~. D. h

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

Current Interruption.jpg

batchrg.pdf

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

该用户从未签到

8#
 楼主| 发表于 2014-3-6 17:06 | 只看该作者
超級狗 发表于 2014-3-6 16:49% \# A  w7 ]) m  R
也沒什麼不對啦~這東西也許便宜就是王道。( W, U6 B7 B* p+ a; V
- ?: _: S  l! T7 s6 d+ c& t
我只是看 MCU 的執行週期和 ADC 轉換時間,和我以前用的 MCU ...
6 s% @" ^, w, f
狗版,单个ADC周期最快是12.5us,这速度算不算快的?但是听说太快的话,ADC检测会不稳定,,所以分频了就比较慢,不知道这说法是否正确呢?( Y" n1 p' C( x, }! B
8 {4 r! i/ g+ x2 Q0 A: ~
另外非常感谢狗版主的资料!感谢!

该用户从未签到

9#
发表于 2014-3-6 17:38 | 只看该作者
狗版,单个ADC周期最快是12.5us,这速度算不算快的?
9 d. v# h8 d; f; Z8 H! k* H
那就是小弟誤會了,我是看到您講 ADC 採樣轉換一次需要 1ms。不過 ADC 很多種設計方式,速度和價格上有差異,以前用踢哀(TI)ADS8505,採樣速度是 250KHz,相對來說 12.5us = 80KHz 也不算太快啦!
& E7 L, ?: x& j# q- [; j" D8 M5 ?, c. F9 l+ L+ q
但是听说太快的话,ADC 检测会不稳定。
/ y- ^% j+ \5 {9 v4 u( D# j5 Z/ T
這樣說也是沒錯啦!所有的東西都不是越快越好,夠用最恰當!, N3 m9 c( e! J1 E6 @0 b
" _! S7 G5 N& M7 {

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-29 17:55 , Processed in 0.140625 second(s), 32 queries , Gzip On.

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

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

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