基于ARM的太阳能电池组件多参量测量系统
扫描二维码
随时随地手机看文章
l、引言
太阳能电池组件发电时并不是将其接收到的所有光能转化为电能,而是只有一小部分转化为电能,大部分能量以热能的形式在太阳能电池组件的背板上挥发掉了,同时热能的挥发也会增加太阳能电池组件背板的温度,从而降低了能量的转换效率。对于这一现象,研究者提出了对常规太阳能电池组件,散热太阳电池组件,蓄冷太阳电池组件进行对比研究,通过蓄冷设备降低太阳能电池组件背板的温度,提高能量的转换效率。这就要求系统对电池组件温度的检测具有足够的精度和实时性。鉴于此,本系统采用精度为0.1℃的铂电阻温度传感器Pt100为测温元件,以Philips公司的ARM7芯片LPC2124为控制器,使用继电器对温度传感器进行切换,从而满足了系统的精度与实时性要求。
2、系统的总体设计
系统主要由前端测量电路,LPC2124控制器和数据传输单元组成,系统结构如图1所示。前端测量电路包括温度测量、辐照度测量、电压测量和电流测量:温度测量主要是通过恒流源获取温度信号,将电阻量转化为电压量,并经放大电路送入控制器;辐照度测量是将辐照度传感器微弱的电压信号放大后传入ARM控制器;电压测量和电流测量是为了获取太阳能电池组件的功率,以便对各组件在相同条件下的发电效率进行对比。数据传输单元通过RS485总线将采集到的数据发给上位机,供上位机处理、存储和绘图。
3、系统功能的设计与实现
3.1 LPC2124简介
本系统主控制器选用Philips公司的LPC2124芯片,LPC2124是基于一个支持实时仿真和跟踪的16/32 位ARM7TDMI-S内核,并内置256 KB的高速Flash存储器。4路10 位A/D转换器,转换时间低至2.44μs,46 个GPIO为系统提供了的丰富的I/O口,不需要扩展即可满足系统的要求[1]。由于内置了宽范围的串行通信接口,它们也非常适合于通信网关、协议转换器、嵌入式软件调制解调器等应用。128 位宽度的存储器接口和独特的加速结构使32 位代码能够在最大时钟速率下运行,极大地满足了系统的实时性要求。
3.2 铂电阻温度传感器Pt100测温原理
Pt100 是电阻式温度传感器,Pt100作为常用的测温传感器,其电阻值反映了它所处位置的温度。铂电阻具有较高的精度、较好的长期稳定性,是高精度测温用标准传感器。它的温度范围是:铂电阻阻值与温度的关系可以近似用下式表示,在范围内:
表达式中t的一次幂以上项的系数非常小,可以看出电阻与温度的关系具有较好的线性度。由于该表达式比较复杂,用ARM控制器处理这样的计算过程,将会占用大量的资源和CPU时间,影响系统的实时性,所以本设计采用数字非线性补偿的方法先查表(以5度为单位建表),再插值换算出温度,从而大大提高了系统的响应速度。
Pt100作为电阻式温度传感器,测温的本质其实是测量传感器的电阻,通常是将电阻的变化转换成电压或电流等模拟信号,再将模拟信号转换成数字信号,再由处理器换算出相应温度。鉴于此,测温的方法有电桥法,恒压源法和恒流源法,具体测量原理图如图2所示。
PT100接线方式分为两线、三线或四线制,如图3所示。二线制:在热电阻的两端各连接一根导线来引出电阻信号的方式叫二线制。这种引线方法很简单,但由于连接导线必然存在引线电阻R,因此这种引线方式只适用于测量精度较低的场合。三线制:在热电阻的根部的一端连接一根引线,另一端连接两根引线的方式称为三线制。这种方式通常与电桥配套使用,可以较好的消除引线电阻的影响,是工业过程控制中的最常用的引线电阻。四线制:在热电阻的根部两端各连接两根导线的方式称为四线制。其中两根引线为热电阻提供恒定电流I,把R转换成电压信号U,再通过另两根引线把U引至二次仪表。可见这种引线方式可完全消除引线的电阻影响,主要用于高精度的温度检测。
本系统采用四线制的接线方式,适应在恶劣环境条件下工作,消除了接线长度不同所导致的误差,消除了因环境温度变化而引起的接线电阻所产生的误差,从而消除了温度测量的动态误差,提高并保证了温度测量的准确度,为对太阳能电池组件在相同条件下单位面积的发电功率的比较分析提供了第一手真实而准确的数据。
3.3 恒流源电路的设计
本系统中,要精确地测温,首先就要准确地测出铂电阻温度传感器的电阻值,而测量电阻最有效的方法就是采用恒流源电路,使恒定的电流流过所要测量的热电阻,将电阻信号转换为电压信号。由电压值就可求出电阻值,从而测得温度值。利用运算放大器虚短与虛断[2]的特征和精密基准电压源LM399稳压的特征构成了一个电流调节范围宽,温票小,恒流稳定性高的恒流源。精密基准电压源LM399是温度系数非常低的特性,内部有恒温电路,可保证器件的长期稳定性,它的输出电压可得到精确而稳定的6.95V电压基准[3]。
如图4所示为本系统的恒流源测温电路,由于运算放大器虚短的特性,造成放大器的反相输入端虚地的结果,电压为0V;而大小为1KΩ的电阻R2下端运用了精密的电压源LM399,外加调整电路,该点电压可调整范围0~6.95V,电阻R2上流过的电压为I=V/R2;又由于运算放大器虛断的特性,其反向输入端输入电流Iin=0A, 所以流过铂电阻温度传感器Ptl00的电流为I=V/R2,从而达到恒流的效果[4]。经恒流源所获得的电压信号通过后级放大电路放大后输入到LPC2124内置的10位A/D 转换器,转换后供控制器处理。
在本恒流源电路中器件的温度特性对整个电路的恒流效果有很大的影响,特别是运算放大器和电阻R2要选用温度特性好的器件,以保证恒流效果。该电路按照以上原则选用器件,获得了很好的恒流效果和温度特性,使太阳能测试系统适应了户外的恶劣温度条件,采集到了预期的实验数据。
4、软件编程
由于本系统的软件设计并不复杂,所以采用传统的裸机方式(未引入嵌入式操作系统,如μC/OS-II等)进行软件编程,节省了系统的硬件资源,提高了实时性[5]。对LPC2124的A/D转换器获得的数字量,采用中值滤波法对采集的数据进行处理,具体方法是将十次采集的数据进行排序,去掉最大值与最小值,然后取平均,这种方法有效地防止了受到突发脉冲干扰的数据进入。具体程序如下所示:
//---------中值滤波-----------
paixu();
ALLdata_4=data_8[2]+data_8[3]+data_8[4]+data_8[5];
Measure=ALLdata_4>>2;
ALLdata_4=0;
//---------软件调零-------
if(Measure<=zeros[flag]) Measure=0;
else if(flag==14) { Measure=Measure+zeros1[flag]; }
else Measure=Measure-zeros1[flag];
if(flag<14) {data_processing();}
else if(flag==22)
{if(Measure<=50) Measure=Measure*10-1;
else Measure=Measure*times[flag];}
else Measure=Measure*times[flag];
本系统采用数字非线性补偿的方法来电压值转化为温度值。先以5度为单位建表,查表,将温度确定在某一段5度的范围内,再插值换算出温度,从而大大提高了系统的响应速度,查表计算温度的流程图如图5所示。
5、总结
本系统采用ARM7芯片LPC2124,外加铂电阻传感器Pt100和电流、电压、辐照等测量电路构成了一个多参量测量系统。对于电流和辐照的测量最终都是转化为电压信号进行测量。本系统对于大电流的测量采用电流传感器来采集太阳能电池发电电流的信号,传感器将直流电流信号转换为电压信号,传到A/D;辐照度通过辐照度传感器将辐照转化为0~20mv的电压信号,经后续放大后传入LPC2124。本系统应用在太阳能测试中,由工程实践证明,基于ARM的太阳能电池组件多电量测量系统不仅测量精度高、稳定性好、温度特性好,而且性价比高,可扩展性强,是一套实用的多电量测试平台。