打印

AD检测参考电压不稳定

[复制链接]
12308|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
x_catl|  楼主 | 2010-11-4 23:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
要求:实时检测太阳能电池板电压、电流等参数

我的思路是:在太阳能的电池输出端和负载之间接入一个0.01Ω检流电阻(2512封装),利用单片机的AD检测功能实时测得检流电阻两侧的电压值,同时算出压差,除以检流电阻值即为目前电流值。电流*电压=功率。
以180W太阳能电池板为例,输出电压40V电压以下,输出电流7A以下,我通过LM2576-3.3V稳压芯片对太阳能输出进行稳压,并以此提供系统用电,同时在检流电阻的两侧通过电阻分压的方式保证接入到单片机AD检测引脚的电压在3.3V以内。我目前用的是带10AD的单片机,在3.3V电压下工作,参考电压即选择电压源3.3V。


目前问题是:
1.   10位AD(3.3V)的分辨率为(1/1024)*3.3V=0.003V,通过 0.01Ω电阻后电流的分辨率仅为0.003V/0.01Ω=0.3A。   这里的电压分辨率完全可以接收,但是0.3A的分辨率着实太低,如果按太阳能电池白天电压17V来算,则为17V*0.3A=5.1A,这样的差值是无法接收的。目前正考虑通过单片机控制12AD来实现更高的分辨率。

2.   因为系统初始时是以LM2576-3.3V稳压后的电源为AD的参考电压,当然此电源还在给一个很小的无线系统供电,在测试此10位AD的时候出现的问题是转换的前8位AD很稳定,最后的2位则上下浮动的厉害,如:检测为1.236V电压,经常会从1.229V~1.242V之间跳动。 且,电阻两端所测的电压跳动也经常不一致,按道理来讲靠近电源侧的电压应大于检测电阻后侧的电压,结果显示却时不时的出现相反情况,直接导致测试的电流值为负值。

我认为是参考电压的不稳定所导致,但是之后焊接了个单独的LM2576-3.3V的稳压电路专供此系统作为AD的参考电压,并不带任何负载,结果也没有明显的好转。

是不是我在PCB布线的时候需要注意些什么?或者是有什么其他的方法能够得到稳定的AD检测值?或者即使AD检测值可以不太稳定,但是检流电阻两侧的电压值跳动能够一致性,以保证检流电阻两侧测得对应的压差,从而计算出电流?
沙发
jaojo| | 2010-11-5 08:33 | 只看该作者
:victory:

使用特权

评论回复
板凳
yewuyi| | 2010-11-5 08:44 | 只看该作者
1、LM2576是DCDC,你需要考虑纹波对电压基准造成的影响。
2、太阳能电池板本身的输出电流也不会是非常稳定的,你还需要考虑信号源波动带来的测量闪烁。
3、AD的使用也需要符合设计需要,AD的采样转换速度和DCDC的频率也需要考虑一下。
4、建议:LM2576输出后再接一个3V输出的LDO,用LDO的输出给MCU供电,LM2576输出后再接一个2V输出的LDO做AD的电压基准,考虑的电压基准的精度要求,建议使用静态输出误差1%以内的LDO,限制0.01欧姆电阻两端的电压不超过2V即可,你可以大致算算对电流的采集精度是否满足你的要求?如果精确计算和设计,也许是不需要外加12BIT的AD芯片。

使用特权

评论回复
地板
jiabin1024| | 2010-11-6 15:48 | 只看该作者
路过

使用特权

评论回复
5
NE5532| | 2010-11-6 17:05 | 只看该作者
看了半天没看到到底要多高的精度,不说清楚,咋做?有精度高的,还有精度更高的,要哪个才够呢?

使用特权

评论回复
6
x_catl|  楼主 | 2010-11-7 15:36 | 只看该作者
5# NE5532

电压和电流精度最好都达到0.1的分辨率即可

使用特权

评论回复
7
yewuyi| | 2010-11-8 00:03 | 只看该作者
5# NE5532  

电压和电流精度最好都达到0.1的分辨率即可
x_catl 发表于 2010-11-7 15:36


电压和电流是直接相关的,所以,你的这个要求是否存在问题,你自己稍微思考一下就明白了。

使用特权

评论回复
8
teng_wang| | 2010-11-9 21:06 | 只看该作者
检测为1.236V电压,经常会从1.229V~1.242V之间跳动。
我也发现这个问题,我用的是10位AD,单片机自带的。
根本无法稳定。
我怀疑这个单片机,只能达到这个精度。
我建议楼主,用专门的AD转换器。

使用特权

评论回复
9
xwj| | 2010-11-9 21:14 | 只看该作者
10位的自带ADC,这个精度很正常,已经很不错了。

要求高的话应该外扩高精度的ADC,或者用自带16bit以上的片内ADC

使用特权

评论回复
10
yewuyi| | 2010-11-9 21:33 | 只看该作者
检测为1.236V电压,经常会从1.229V~1.242V之间跳动。
我也发现这个问题,我用的是10位AD,单片机自带的。
根本无法稳定。
我怀疑这个单片机,只能达到这个精度。
我建议楼主,用专门的AD转换器。 ...
teng_wang 发表于 2010-11-9 21:06


10位AD,当选择5V的电压基准时,分辨率就是5/1024=0.0049左右,所以,你的这个波动本来就是如此。

使用特权

评论回复
11
teng_wang| | 2010-11-10 09:55 | 只看该作者
楼上说的不对吧!
0.0049的精度,如果量的电压是3V,那么应该2.9951-3.0049.
我认为可能是由于电源不稳造成的。
是不是可以采用另外输入参考电源呢?
我晚上会去试一下。

使用特权

评论回复
12
x_catl|  楼主 | 2010-11-11 08:12 | 只看该作者
7# yewuyi

这个我了解,电压的分辨率达到0.001的时候,电流才有可能达到0.1,我说的意思是我用的显示上只需要电压电流显示到0.1的数值即可。当然,这里的电流分辨率是决定性的,毕竟电流由电压差/检流电阻。

使用特权

评论回复
13
XIEYUANBIN| | 2010-11-11 09:06 | 只看该作者
如果参考电压稳定,PIC的AD精度可以达到 0.5个 LSB,也就是有可能在某个位置有±1数字的跳动,如果你要达到这个精度,你的电源纹波最高不能超过3.3V/2048,这样的纹波,DCDC肯定是达不到的。你可以在DCDC后面加电感电容滤波再试试看看能否减小一点你的结果跳动幅值。

使用特权

评论回复
14
teng_wang| | 2010-11-14 13:33 | 只看该作者
是不是说用单片机自带的AD来量精确的电压(或电流)不是最佳选择呢?
不知各位有没有好的方案,或者好的经验。

使用特权

评论回复
15
XIEYUANBIN| | 2010-11-15 17:04 | 只看该作者
非,不管你用什么做AD,基准电压一定要准,否则什么都白搭。用单片机做AD,如果要求精度高的话,最好在SLEEP状态下测量,PIC的AD模块有专门的振荡器,保证在SLEEP的情况下也能工作

使用特权

评论回复
16
yuntian| | 2010-11-15 19:49 | 只看该作者
跳动两个字是正常的.但好的布线和电路设计可以做到跳动一个字,3.3V的电源跳动会大一些,5V电源会好点.建议加多次平均滤波.

使用特权

评论回复
17
x_catl|  楼主 | 2010-11-16 20:55 | 只看该作者
3# yewuyi

我用了LM2574的给转换成3.3V,之后再通过LDO芯片稳压到3V给负载供电,另外用一个LDO从3.3V降到2.5V作为参考电压,出来的AD转换结果稳定多了,待会去测试检流电阻差看看。

使用特权

评论回复
18
yewuyi| | 2010-11-16 23:40 | 只看该作者
3# yewuyi  

我用了LM2574的给转换成3.3V,之后再通过LDO芯片稳压到3V给负载供电,另外用一个LDO从3.3V降到2.5V作为参考电压,出来的AD转换结果稳定多了,待会去测试检流电阻差看看。 ...
x_catl 发表于 2010-11-16 20:55


这已经说明了很多问题,继续努力,争取早日毕业。

使用特权

评论回复
19
scutzhh| | 2010-11-17 00:02 | 只看该作者
我还在LM386,继续努力!

使用特权

评论回复
20
zhaoyu2005| | 2010-11-18 11:07 | 只看该作者
LZ的方案需要再考虑,测两端电压的方案,很可能严重降低了动态范围,将采样电阻串在负极和负载端,通过放大电路将采样电压放大到合适的范围,才能保证宽的动态范围

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

58

帖子

1

粉丝