找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 1631|回复: 10
打印 上一主题 下一主题

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

[复制链接]

4

主题

16

帖子

136

积分

二级会员(20)

Rank: 2Rank: 2

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

EDA365欢迎您!

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

x
如题,小弟在做一款移动电源,用PWM控制充电的,发现打开PWM以后,1024阶ADC测量电池电压非常不准,有时跳跃幅度可达上百阶,求算法滤掉这些跳得太离谱的值!# A/ n0 c- i4 |
' C. P& @, D' S. J" r4 A
急求大神!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

33

主题

4949

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
12225
推荐
发表于 2014-3-6 08:44 | 只看该作者
本帖最后由 超級狗 于 2014-3-6 12:20 编辑
) W: t6 T) a  t( s6 B- O- a/ y0 [. i9 L
您這個問題應該是取樣時,有時取樣到 PWM 正在充電的狀況,有時取樣在 PWM 未充電的狀況造成的。
5 M5 H  ~' I6 l! y1 [7 e! @, R  @( P
軟硬件需要和 PWM 做同步(Synchronization)4 W; T3 u1 x  w1 n

! ]" u9 V3 f( \' [5 j& W8 p
  • 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 方式在打開充電前做取樣。# a/ r1 `/ d4 p3 \0 g# E" c

, V( C, `/ K( t, q6 w9 j0 u6 Q# z- c) F$ K
其實咱家是做硬件的,回答這問題已經有點拚了。& c' [$ p: u# q$ D2 I5 _- U4 \

8 q; m$ |4 E0 ]+ q在其他專家面前班門弄斧,見笑了!
5 J/ b  ]4 T" A# k" u. S& Z$ f" ]- Z- `8 n

点评

支持!: 5.0
支持!: 5
狗斑竹太谦虚了,明摆着专家级别的回答……  发表于 2014-3-6 11:21
哈士奇是一種連主人都咬的爛狗!

31

主题

347

帖子

2216

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2216
10#
发表于 2014-9-28 14:28 | 只看该作者
充一会,停一会儿,我们就是这样做的,这种在别的机子里面出现过,可以的,也费不了多长时间,
200 字节以内
不支持自定义 Discuz! 代码

33

主题

4949

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

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

5 {* _: z  j* r/ L% [  W8 w3 [6 [那就是小弟誤會了,我是看到您講 ADC 採樣轉換一次需要 1ms。不過 ADC 很多種設計方式,速度和價格上有差異,以前用踢哀(TI)ADS8505,採樣速度是 250KHz,相對來說 12.5us = 80KHz 也不算太快啦!+ D" H" L; F8 V( ?: r5 T
" ^" f+ g. B2 F- m' e  b
但是听说太快的话,ADC 检测会不稳定。
& O0 U- \+ r; h3 g. o8 l* z7 u
這樣說也是沒錯啦!所有的東西都不是越快越好,夠用最恰當!/ e" {- O# E/ ^' P$ w+ n

3 n2 B) G' c3 A
哈士奇是一種連主人都咬的爛狗!

4

主题

16

帖子

136

积分

二级会员(20)

Rank: 2Rank: 2

积分
136
8#
 楼主| 发表于 2014-3-6 17:06 | 只看该作者
超級狗 发表于 2014-3-6 16:49& U6 u  Q) P. I! E, E
也沒什麼不對啦~這東西也許便宜就是王道。
" k0 @/ B" m* o" W" J9 m; F+ F4 c6 p+ ~3 Y, u
我只是看 MCU 的執行週期和 ADC 轉換時間,和我以前用的 MCU ...

7 j5 q' w( @) f8 [6 X狗版,单个ADC周期最快是12.5us,这速度算不算快的?但是听说太快的话,ADC检测会不稳定,,所以分频了就比较慢,不知道这说法是否正确呢?$ a! d6 K# `$ y3 f! }' K

  Z) q: f8 R' o另外非常感谢狗版主的资料!感谢!

33

主题

4949

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
12225
7#
发表于 2014-3-6 16:49 | 只看该作者
也沒什麼不對啦~這東西也許便宜就是王道。8 f# W  E1 x* _& }& I1 B7 t

1 B, @- Q+ P6 M0 G$ w我只是看 MCU 的執行週期和 ADC 轉換時間,和我以前用的 MCU 和 ADC 差很多。覺得它很慢,所以推測一定很便宜。/ Y& N4 h- C' G! i0 e
- W+ }0 y( e7 \, }4 e; O& ]7 s8 _) Y
找到一份文檔看起來應該對您幫助很大,根據他的說法,每一秒停個 2% 的時間做電壓偵測就可以。$ Y; N7 y$ R  Q

) `3 R1 Y3 f) p" \5 Y$ jA Review of Battery Charging Algorithms and Methods
* Y' T8 \! h( F% c5 t$ U. |7 I
) v( c! z: F& T2 n5 ]很珍貴且具實用價值的一份文檔!( z+ z- I: U* o8 x9 P3 L. F+ f

3 p* \6 z, d; p4 }4 h" _8 S

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

Current Interruption.jpg

batchrg.pdf

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

哈士奇是一種連主人都咬的爛狗!

4

主题

16

帖子

136

积分

二级会员(20)

Rank: 2Rank: 2

积分
136
6#
 楼主| 发表于 2014-3-6 15:37 | 只看该作者
超級狗 发表于 2014-3-6 15:104 }2 \+ p3 m2 @0 c3 r8 ]
嗯~還是木木考慮較周詳,就知道這系統設計有鬼。; Q5 p  ?! c. t, F0 p9 w( \: e
; X# @  ?( V. J9 R3 s( p! r/ e
顯然樓主用了一顆很便宜、很便宜的 MCU,那就充一段、 ...

7 {1 O, Q3 B( K! Y3 J7 z- c比较贵的MCU怎么做的,和便宜的MCU差别在哪里啊?

33

主题

4949

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
12225
5#
发表于 2014-3-6 15:10 | 只看该作者
嗯~還是木木考慮較周詳,就知道這系統設計有鬼。. j) d0 p" n. S; {: y, l& O

/ f1 {3 @( S, c! X/ R% h* [8 Z顯然樓主用了一顆很便宜、很便宜的 MCU,那就充一段、停一段吧~/ T& {6 n) W; C; @" W

% T, ~4 n, v9 R0 y軟件上是還可以做點優化,電平離 4.2V 還遠的時候久久才看一次,快到 4.2V 才密集點去偵測。6 x5 u. F; j" m' {* K' m

  z+ `( U# \9 p7 P. e是看過有人充電控制這樣做。
- F: R: l6 S3 @8 Z, F; Q* t  k9 ?' H" q2 V
8 J6 ]# y( y6 c0 b' p+ H

; q4 P; R$ l' e/ k# B. f0 |
哈士奇是一種連主人都咬的爛狗!

4

主题

16

帖子

136

积分

二级会员(20)

Rank: 2Rank: 2

积分
136
4#
 楼主| 发表于 2014-3-6 13:47 | 只看该作者
超級狗 发表于 2014-3-6 08:44
6 E, N' s5 d: e您這個問題應該是取樣時,有時取樣到 PWM 正在充電的狀況,有時取樣在 PWM 未充電的狀況造成的。
, ?. V; {1 ^/ {1 [" m
- j9 ]3 D8 R6 u" M$ Y& r* f軟硬件 ...

; ~& c3 n7 m: W* J! n+ YPWM频率目前取10KHZ,ADC采样需要51个系统周期,加上分频,滤波采样,完成一次检测需1mS左右。$ L& @- g( ]7 t
& K! L0 ]2 h. e
这样的话,不大可能在PWM的LOW间隙进行取样,关闭PWM采样的话,加上电池缓慢恢复时间,关闭时间可能要达到秒级甚至几秒。
' y( R, }  D# U9 ?1 f+ [  |; r) O( I7 @2 V$ a& y% {3 Q: X3 n
以上就会充一段时间电,关闭几秒,再充一段时间再关闭,如此循环。! d, X3 ~3 l/ x7 [/ p
' Z* M, p' ^9 }$ H. ?8 |
我不知道移动电源有没有这样做的先例,也不是很清楚这样做是否合适,不知狗版有什么看法?

23

主题

884

帖子

3341

积分

EDA365版主(50)

Rank: 5

积分
3341

杰出贡献奖

3#
发表于 2014-3-6 11:22 | 只看该作者
不知道电路图是什么样子的,LZ方便的话,贴图出来咯。
' I5 _/ y+ r5 Q  c9 ?+ T8 k  l9 \' v- G
不要痴迷于阅读成功人士的传记,从中寻找经验,这些书大部分经过了精致的包装,没有人会随随便便成功。更不要痴迷哥,哥还没成功!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-1-4 05:39 , Processed in 0.066713 second(s), 42 queries , Gzip On.

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

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

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