要求:实时检测太阳能电池板电压、电流等参数
我的思路是:在太阳能的电池输出端和负载之间接入一个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检测值可以不太稳定,但是检流电阻两侧的电压值跳动能够一致性,以保证检流电阻两侧测得对应的压差,从而计算出电流? |