找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

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

[复制链接]

4

主题

16

帖子

136

积分

二级会员(20)

Rank: 2Rank: 2

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

EDA365欢迎您!

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

x
如题,小弟在做一款移动电源,用PWM控制充电的,发现打开PWM以后,1024阶ADC测量电池电压非常不准,有时跳跃幅度可达上百阶,求算法滤掉这些跳得太离谱的值!6 z8 k# s9 T1 u/ O( V4 \0 I- z

. P9 U7 U8 x4 s0 Q5 \急求大神!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

33

主题

4949

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
12225
推荐
发表于 2014-3-6 08:44 | 只看该作者
本帖最后由 超級狗 于 2014-3-6 12:20 编辑 - S: r/ a5 E4 P  o7 v7 T8 h
6 t; n. p% l6 C+ A, X: c
您這個問題應該是取樣時,有時取樣到 PWM 正在充電的狀況,有時取樣在 PWM 未充電的狀況造成的。7 h4 h( I+ c5 ~, Z  Z
- A4 E& P* n0 L! O+ n5 _# W2 K: l
軟硬件需要和 PWM 做同步(Synchronization)
% m- I* ]. E( ^8 l' A/ Y+ i% Z" W, ^" b6 H) X: _
  • 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 方式在打開充電前做取樣。0 @$ N# i4 y& T2 \3 J

" Q0 m% y2 J6 p. i
1 I3 n' V6 b  k& h7 v8 b& w& F4 x. Q) i其實咱家是做硬件的,回答這問題已經有點拚了。0 m) E6 y0 Y  L4 ~: s* J+ _1 B
+ m, @* G) h5 L8 T4 |3 D
在其他專家面前班門弄斧,見笑了!) t/ z. e3 w, S: G2 Z+ z7 l

* S: G* r8 d4 Q1 d8 r3 p, c

点评

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

23

主题

884

帖子

3341

积分

EDA365版主(50)

Rank: 5

积分
3341

杰出贡献奖

3#
发表于 2014-3-6 11:22 | 只看该作者
不知道电路图是什么样子的,LZ方便的话,贴图出来咯。) y' {8 o1 F) \5 Z
不要痴迷于阅读成功人士的传记,从中寻找经验,这些书大部分经过了精致的包装,没有人会随随便便成功。更不要痴迷哥,哥还没成功!

4

主题

16

帖子

136

积分

二级会员(20)

Rank: 2Rank: 2

积分
136
4#
 楼主| 发表于 2014-3-6 13:47 | 只看该作者
超級狗 发表于 2014-3-6 08:44
, j9 t% t; o: E9 K: ]" h您這個問題應該是取樣時,有時取樣到 PWM 正在充電的狀況,有時取樣在 PWM 未充電的狀況造成的。
0 q7 N! X' R/ K* C5 s
& ?, w% Z! R( S0 S1 \  }軟硬件 ...
; D6 I& ~& c8 m- w* w: L/ F9 C
PWM频率目前取10KHZ,ADC采样需要51个系统周期,加上分频,滤波采样,完成一次检测需1mS左右。
. }, Z1 A/ E& l; [* J9 \7 A& I+ `2 J; C8 d  S; D- X2 d: }' T: N
这样的话,不大可能在PWM的LOW间隙进行取样,关闭PWM采样的话,加上电池缓慢恢复时间,关闭时间可能要达到秒级甚至几秒。
) r8 I" H% F- E9 x
* q( b% a1 T( [8 l1 z0 z- p0 F, ^0 S以上就会充一段时间电,关闭几秒,再充一段时间再关闭,如此循环。
# ^/ M  C7 p) W9 C6 S5 `6 K9 G$ R- e7 w1 S* P) e
我不知道移动电源有没有这样做的先例,也不是很清楚这样做是否合适,不知狗版有什么看法?

33

主题

4949

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
12225
5#
发表于 2014-3-6 15:10 | 只看该作者
嗯~還是木木考慮較周詳,就知道這系統設計有鬼。8 ^( t& l, \  K; E) s! S: p! k9 c
# n- e$ q0 C; v& A7 V2 k% m
顯然樓主用了一顆很便宜、很便宜的 MCU,那就充一段、停一段吧~
# S2 f8 m% ^4 [! M: ^" ~
; q7 X9 Q0 Z( y1 t- {軟件上是還可以做點優化,電平離 4.2V 還遠的時候久久才看一次,快到 4.2V 才密集點去偵測。
, j3 _7 i/ e2 S, V# \8 a: X5 Y1 {( z) N5 l
是看過有人充電控制這樣做。
) Z2 l5 o2 f- A& W; M
1 s' J5 O6 C& u6 C- a) R6 P2 V3 ]7 m8 Y0 g) X9 x7 r

/ w6 e% B6 s8 r1 g6 Z( {& L; Z
哈士奇是一種連主人都咬的爛狗!

4

主题

16

帖子

136

积分

二级会员(20)

Rank: 2Rank: 2

积分
136
6#
 楼主| 发表于 2014-3-6 15:37 | 只看该作者
超級狗 发表于 2014-3-6 15:10% Y. l* [9 l3 X) n8 R
嗯~還是木木考慮較周詳,就知道這系統設計有鬼。
& u* d( N$ R# g5 n" B! G$ @5 |5 g9 B5 _1 a$ y
顯然樓主用了一顆很便宜、很便宜的 MCU,那就充一段、 ...
$ l: |& {* x- J1 ]5 u
比较贵的MCU怎么做的,和便宜的MCU差别在哪里啊?

33

主题

4949

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
12225
7#
发表于 2014-3-6 16:49 | 只看该作者
也沒什麼不對啦~這東西也許便宜就是王道。$ L9 [5 P* b, p( b' C0 a# a; O
# F6 q. Y5 F6 g' A/ U, g, p
我只是看 MCU 的執行週期和 ADC 轉換時間,和我以前用的 MCU 和 ADC 差很多。覺得它很慢,所以推測一定很便宜。
, m& M7 a* q, g& O4 L& G( K( P- \' @& P
3 C9 O: _/ ~7 g# a找到一份文檔看起來應該對您幫助很大,根據他的說法,每一秒停個 2% 的時間做電壓偵測就可以。! r* R  C! A3 c* c, ?
) g7 r: n& P8 O
A Review of Battery Charging Algorithms and Methods0 `. a* P- W  u- t) o
: Y& E9 _  w, J# Z9 w3 g- U* l
很珍貴且具實用價值的一份文檔!
4 F" O: \9 H3 c$ k+ P+ ^! z- j. X& k0 S( }6 ^! E: |

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
8#
 楼主| 发表于 2014-3-6 17:06 | 只看该作者
超級狗 发表于 2014-3-6 16:49
' @, ?9 S+ H$ x" Y  V6 ?8 i6 i7 r也沒什麼不對啦~這東西也許便宜就是王道。1 q( d0 E+ @$ `+ H) o( O( K* w
5 U; F3 y; S! x8 @- w$ ~+ s
我只是看 MCU 的執行週期和 ADC 轉換時間,和我以前用的 MCU ...
+ f9 a. B- S: Z# N# S
狗版,单个ADC周期最快是12.5us,这速度算不算快的?但是听说太快的话,ADC检测会不稳定,,所以分频了就比较慢,不知道这说法是否正确呢?1 M5 j; B+ `) c) }- ?9 _; z
) _  I; L, C' N
另外非常感谢狗版主的资料!感谢!

33

主题

4949

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

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

8 T1 z3 y! a* H& `( i那就是小弟誤會了,我是看到您講 ADC 採樣轉換一次需要 1ms。不過 ADC 很多種設計方式,速度和價格上有差異,以前用踢哀(TI)ADS8505,採樣速度是 250KHz,相對來說 12.5us = 80KHz 也不算太快啦!7 S8 t! S8 ]% m% ], m# N
+ j& ^# J- Q# J6 D4 m- O& G% j  A
但是听说太快的话,ADC 检测会不稳定。
; H+ h, g( ~" t
這樣說也是沒錯啦!所有的東西都不是越快越好,夠用最恰當!3 ?: z6 L2 G( J) z& A) S

7 b. u' p4 ]( H/ n7 {) z
哈士奇是一種連主人都咬的爛狗!

31

主题

347

帖子

2216

积分

四级会员(40)

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

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

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2025-1-4 05:50 , Processed in 0.066736 second(s), 38 queries , Gzip On.

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

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

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