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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
如题,小弟在做一款移动电源,用PWM控制充电的,发现打开PWM以后,1024阶ADC测量电池电压非常不准,有时跳跃幅度可达上百阶,求算法滤掉这些跳得太离谱的值!
. f5 ~: H. |; f9 @
, t6 ^( B3 a9 a+ Q) S急求大神!

该用户从未签到

推荐
发表于 2014-3-6 08:44 | 只看该作者
本帖最后由 超級狗 于 2014-3-6 12:20 编辑 & V7 G2 x9 D+ x1 Z% k" ?0 _

5 T: F0 i& z  x您這個問題應該是取樣時,有時取樣到 PWM 正在充電的狀況,有時取樣在 PWM 未充電的狀況造成的。$ j: {; u2 S# I" G# s$ u
+ a% z& u% ]" _, O6 N. X
軟硬件需要和 PWM 做同步(Synchronization)/ {+ f) \. i# j9 c' h! X6 Q

  o! U" w+ F3 e( Z9 G  F
  • 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 方式在打開充電前做取樣。
    1 v7 {: O) e" ^0 {& u& J

# l$ w6 @. v# L: ]  f& m6 M9 M& {. i' D# G: c8 ^
其實咱家是做硬件的,回答這問題已經有點拚了。+ c* I: E0 i( Q" F  j/ }; {) j

9 k+ o2 b+ e" ~0 X( `在其他專家面前班門弄斧,見笑了!
$ s  Q$ }) e, N) k8 i: H; M- c7 x4 r4 Q) B* N! ]

点评

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

该用户从未签到

3#
发表于 2014-3-6 11:22 | 只看该作者
不知道电路图是什么样子的,LZ方便的话,贴图出来咯。0 l( H$ _7 ^- F% i8 M

该用户从未签到

4#
 楼主| 发表于 2014-3-6 13:47 | 只看该作者
超級狗 发表于 2014-3-6 08:447 [- @/ p! x, H2 t* K
您這個問題應該是取樣時,有時取樣到 PWM 正在充電的狀況,有時取樣在 PWM 未充電的狀況造成的。
& Q  {# G$ v" N, O7 A
' v8 Q, X( d# n7 \軟硬件 ...

. m% |) I; r) ?1 z  lPWM频率目前取10KHZ,ADC采样需要51个系统周期,加上分频,滤波采样,完成一次检测需1mS左右。
. T& @/ u$ e# G) W$ f2 c9 Y
- ~& i. X# ?" Y5 M! `0 x( Q! Q这样的话,不大可能在PWM的LOW间隙进行取样,关闭PWM采样的话,加上电池缓慢恢复时间,关闭时间可能要达到秒级甚至几秒。+ d# E" K' @( K% \& M8 f, e
7 {$ P' u9 R$ u8 [
以上就会充一段时间电,关闭几秒,再充一段时间再关闭,如此循环。
: V. f: y. w/ Y5 g+ T' t- ~3 G& e4 q
我不知道移动电源有没有这样做的先例,也不是很清楚这样做是否合适,不知狗版有什么看法?

该用户从未签到

5#
发表于 2014-3-6 15:10 | 只看该作者
嗯~還是木木考慮較周詳,就知道這系統設計有鬼。
! x* B" Q7 Q1 K1 N+ l5 T
' W; ?( }$ @1 o. Q# L% ^顯然樓主用了一顆很便宜、很便宜的 MCU,那就充一段、停一段吧~
  Q2 D# h* ]! [0 q7 j6 V8 S$ U4 s
+ r* N% W: x/ y- g9 r/ o7 I軟件上是還可以做點優化,電平離 4.2V 還遠的時候久久才看一次,快到 4.2V 才密集點去偵測。; B' i9 X8 [4 w- y* A4 M4 o4 ?4 M

- L5 G2 I1 z7 n0 A是看過有人充電控制這樣做。
5 ^* F" W" Y1 o8 W/ s" t( ?9 B. k( C/ @" \+ n9 @4 i

" S# v4 l3 e# Z) D  s) k; h* k2 A$ F2 w2 U+ _

该用户从未签到

6#
 楼主| 发表于 2014-3-6 15:37 | 只看该作者
超級狗 发表于 2014-3-6 15:10  m! g2 f) N7 d0 j
嗯~還是木木考慮較周詳,就知道這系統設計有鬼。7 s( _; o1 S# `" y) n3 G( h
) j, b) g1 f3 w
顯然樓主用了一顆很便宜、很便宜的 MCU,那就充一段、 ...

1 U: }( n7 I# k比较贵的MCU怎么做的,和便宜的MCU差别在哪里啊?

该用户从未签到

7#
发表于 2014-3-6 16:49 | 只看该作者
也沒什麼不對啦~這東西也許便宜就是王道。9 n: d% @. w5 w. K! p
  d0 H( p- N6 Y2 h4 `2 T6 I5 m
我只是看 MCU 的執行週期和 ADC 轉換時間,和我以前用的 MCU 和 ADC 差很多。覺得它很慢,所以推測一定很便宜。8 g0 b2 z6 L! Q7 g1 c6 t* H
3 ?" y" R  W5 s8 T1 N% B# b  G
找到一份文檔看起來應該對您幫助很大,根據他的說法,每一秒停個 2% 的時間做電壓偵測就可以。
8 s3 M6 n$ p. d9 k) G& h5 E  ?( d6 V, v3 S' D8 j' s" X
A Review of Battery Charging Algorithms and Methods
; |. |' [2 g" v  A' w" p+ E6 ~. }+ l1 g( s2 t2 S8 U6 u
很珍貴且具實用價值的一份文檔!2 X. I" X3 |) ]( A, Q1 r6 t2 R

9 d. k/ d& R) x

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

Current Interruption.jpg

batchrg.pdf

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

该用户从未签到

8#
 楼主| 发表于 2014-3-6 17:06 | 只看该作者
超級狗 发表于 2014-3-6 16:49
. u! D  `- Q% E( ^也沒什麼不對啦~這東西也許便宜就是王道。
( L2 f: D+ a0 I, T9 L8 H: S) O; C* i) V
我只是看 MCU 的執行週期和 ADC 轉換時間,和我以前用的 MCU ...
" R' |2 x+ f% Q! \
狗版,单个ADC周期最快是12.5us,这速度算不算快的?但是听说太快的话,ADC检测会不稳定,,所以分频了就比较慢,不知道这说法是否正确呢?( D4 h+ g0 ~* m: i# S( ]0 Y* G
+ T6 x! y. @2 U! r/ Z% u" H
另外非常感谢狗版主的资料!感谢!

该用户从未签到

9#
发表于 2014-3-6 17:38 | 只看该作者
狗版,单个ADC周期最快是12.5us,这速度算不算快的?
" J2 M6 ~/ f% N+ p/ {$ \! p
那就是小弟誤會了,我是看到您講 ADC 採樣轉換一次需要 1ms。不過 ADC 很多種設計方式,速度和價格上有差異,以前用踢哀(TI)ADS8505,採樣速度是 250KHz,相對來說 12.5us = 80KHz 也不算太快啦!
0 }* F7 |* |# A% P0 o9 R5 P5 w3 }+ F# `
但是听说太快的话,ADC 检测会不稳定。
' K& ]0 Y/ ^- K% v  F5 D0 o; B
這樣說也是沒錯啦!所有的東西都不是越快越好,夠用最恰當!
( r3 v- @5 i# t2 E! q/ s% _% M7 l+ ]

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-3 01:32 , Processed in 0.156250 second(s), 30 queries , Gzip On.

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

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

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