基于LabVIEW和RS485通信的光伏监测系统

2014-03-08 03:47李建国陈永超赖立海刘建民
自动化与仪表 2014年9期
关键词:PC机电平上位

李建国 ,陈永超,赖立海,刘建民

(1.上海电机学院 电气学院,上海 200240;2.安阳师范学院 物理与电气工程学院,安阳 455000;3.安阳高新区生产力促进中心,安阳 455002)

随着能源危机的日益严峻,各种可再生能源得到了长足的发展。在诸多的可再生能源中,光伏发电在未来有着广泛的应用前景[1],光伏产业是最有潜力的新能源之一。进行光伏发电时,对光伏电站发电状态的监测是十分必要的。因为单块光伏组件输出的直流电压较低,一般在几十伏左右,所以通常采用多块光伏组件相互串联,然后各个组串相互并联从而形成光伏阵列[2]。在发电过程中,光伏阵列的局部故障会导致整个供电系统输出电压或功率下降,直接影响系统性能和运行效率。为确保系统正常运行,应对光伏阵列进行状态监测,以便能及时地、有针对性地进行维护,从而提高光伏发电效率。据此,本文基于RS485通信和LabVIEW软件平台研发了一套光伏电站监测系统。该系统具有可视化的监测界面,可实时显示光伏发电系统的发电状态,并可供用户查询历史数据以便进行统计分析。

1 系统结构及原理

图1为系统总体结构框图,PC机主要对光伏发电系统中的温度、光照强度等环境参数和输出电流、输出电压、输出功率等发电信息进行监控、统计及显示。单片机、A/D转换和传感器构成一个数据采集器,传感器将环境参数和发电信息采集过来,通过A/D转换将模拟信号变成数字信号发送至单片机,单片机将数据处理后缓存并发送。单片机与PC机之间采用RS485转RS232通信协议进行数据传输。PC机将接受到的数据处理后保存并及时显示,实现对光伏发电系统各类参数的实时监测。

图1 系统原理框图Fig.1 System principle diagram

2 硬件电路设计

本系统硬件电路主要包括2方面:数据采集模块和通信。数据采集部分将所需数据采集处理后,通过单片机发送至上位机;通信部分在硬件上主要是电平的转换和与上位机通信时接口处理。

系统处理器采用STC公司生产的STC89C51芯片,该芯片具有8 K字节Flash,512字节RAM,32位I/O口线,看门狗定时器,3个16位定时器/计数器,4个外部中断,1个7向量4级中断结构,全双工串行口,是一种低功耗、高性能微控制器[3]。

2.1 数据采集模块

该模块主要功能是采集电流、电压、温度、照度4类数据。利用模数转换芯片将传感器采集回来的模拟信号转换成数字信号,再由单片机进行数据处理。模数转换芯片采用TI公司生产的ADC0809,它是8位逐次逼近式模数转换器,包括1个8位的逼近型的ADC部分,并提供1个8通道的模拟多路开关和联合寻址逻辑,用它可直接将8个单端模拟信号输入,分时进行A/D转换。本系统中只需要应用其中的4个通道,分别对有传感器采集回来的电流、电压、温度、照度4个模拟信号进行转换,然后由51单片机进行数据存储及数据处理,完成对模拟信号的采集。

由于ADC0809芯片内部没有时钟脉冲源,可利用单片机89C51提供的地址锁存控制输入信号ALE经D触发器四分频后,作为ADC0809的时钟输入。当CPU访问外部存储器时,ALE的输出作为外部锁存地址的低字节的控制信号;当不访问外部存储器时,ALE端以1/6的时钟振荡频率固定地输出正脉冲,可取单片机的时钟频率为12 MHz,则ALE端输出的频率为2 MHz,再经四分频后为500 kHz,符合ADC0809对时钟的要求。

如图2所示,ADC0809内部设有地址锁存器,通道地址由P2口的低3位直接与ADC0809的A、B、C相连,通道基本地址为0000H~0007H。模拟量由ADC0809的IN0~IN7输入,数字量由ADC0809的 DO~D7输出并接到单片机 I/O口的 P0口,ADC0809 其他引脚如:START、OE、ALE、A、B、C 等直接接到单片机的P2口。最后ADC0809的结束信号端口直接接到单片机的P2.7口。

图2 ADC0809与单片机的接口电路Fig.2 Interface circuit of ADC0809 with single chip microcomputer

2.2 通信部分

PC机串行口为标准的RS232C接口,最大通信距离仅为15 m,无法适用于远距离的监测[4]。选用RS485串行接口标准可实现管理微机远距离对下位机进行通信管理。串口通信采用RS485协议进行,其传输距离较长,适用于从光伏发电设备到监控设备之间的数据传输。RS485采用差分信号负逻辑,逻辑“1”以两线间的电压差为+(2~6)V 表示;逻辑“0”以两线间的电压差为-(2~6)V表示。RS485接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。RS485最大的通信距离约为1219 m,最大传输速率为10 Mb/s,传输速率与传输距离成反比。

采用RS485通信时,需要解决2个问题。STC89C51本身具有全双工串行口,但进行RS485通信时需要电平转换;PC机串行口为标准的RS232C接口,通信时需要将RS485接口的逻辑电平转换成RS232电平。RS485通信的电平转换芯片有全双工的和半双工的,为了便于软件开发,本次设计采用全双工芯片MAX488。

如图3所示,电平转换电路采用MAX488全双工集成芯片,使用时将单片机的串行收发端接入RS488的发收端。为保持通信信号的稳定,一般会在MAX488加上、下拉电阻。上拉电阻把不确定的信号通过一个电阻嵌位在高电平,此电阻还起到限流的作用。同理,下拉电阻将不确定的信号嵌位在低电平。在实际工程应用中,由于存在反射信号和环境等各种干扰的影响,特别是在通讯波特率比较高的时候,在线路上加上、下拉偏置电阻是非常必要的。上、下拉电阻可提高总线的抗电磁干扰能力,管脚悬空容易受到外界的电磁干扰,同时长线传输中电阻不匹配容易引起反射波干扰,加上、下拉电阻就是电阻匹配,可有效地抑制反射波干扰。

图3 RS485电平转换电路Fig.3 RS485 level conversion circuit

RS485转RS232接口电路主要包括了电源、RS232电平转换、RS485电路3部分。本电路的RS232电平转换电路采用了MAX232集成电路,RS485电路采用了MAX488集成电路。为使用方便,电源部分设计成无源方式,整个电路的供电直接从PC机的RS232接口中的DTR(4脚)和RTS(7脚)获取。PC串口每根线可以提供大约9 mA的电流,因此2根线提供的电流足够满足这个电路的使用要求。使用本电路需注意PC程序必须使串口的DTR和RTS输出高电平,经过D3稳压后得到VCC,经过实际测试,VCC电压大约在4.7 V左右。其电路图如图4所示。

图4 RS485转RS232接口电路Fig.4 RS485 to RS232 interface circuit

3 软件设计

3.1 单片机程序设计

下位机程序完成A/D转换和通信收发的功能,串口接收采用中断方式,为方便上位机识别数据以及减少错误率,发送时加上前后校验码。照度、温度、电压、电流4类数据分别采用不同的前后校验码。在主程序中,A/D转换完成后,将数据处理后并储存,紧接着查看上位机发送回来的信息,将指定类型数据发送给上位机。

3.2 上位机程序设计

上位机主要是完成3项任务:与下位机的通信;将下位机发送回来的数据进行处理及存储;设计一个显示界面,把数据变化情况以图表形式显示出来。

程序采用LabVIEW软件平台进行编写,Lab-VIEW是当下最流行的图形化编程开发软件,利用它可以大量使用图表、菜单、图形等可视化工具,使系统具有丰富、灵活的画面和图表显示功能[5]。

LabVIEW通过VISA与串行接口仪器通信[6]。VISA是应用于仪器编程的标准I/O应用程序接口(API),它本身并不具有仪器编程能力,而是为用户提供了一套独立的可方便调用的标准I/O底层函数。利用LabVIEW中的VISA函数,可实现上位机与单片机之间的通信。通过LabVIEW平台内丰富的底层函数,可进行高速精确的数据处理。其设计分为前面板和后面板,前面板为可视化的用户界面,而后面板就是支撑系统运行的程序,并且采用图形化的编程,数据的传输通过各函数之间的连线实现。

在前面板设立5个波形图表控件,分别用于显示照度、温度、电流、电压、功率5类数据信息的实时变化情况,若干数值显示控件用于显示各数据的平均值及发电量总值。

后面板串口通信利用LabVIEW中的VISA配置串口函数、VISA写入函数、VISA读取函数可完成对串口的配置及串口收发,VISA关闭函数用于关闭VISA资源名称指定的串口会话句柄或事件对象。是一个串口接收和发送的子VI,上位机可以向单片机发送命令及接受单片机发送回来的数据。

主程序采用平铺式顺序结构,先利用子VI生成5个电子表格文件以保存当天的数据,然后在循环结构下,调用串口收发子VI为每类数据分别发送获取指令,让下位机把相应数据发送过来。接收数据后,比对前后校验码,若有误则重新发送,若正确则获取数据码进行数据处理。数据处理包括将数据还原、存入相应表格文件以及送入波形图表控件进行显示。

此外,设计子VI从各电子表格文件中获取储存的累计数据,则可计算各类数据的平均值以及总发电量,便可得到光伏发电系统的发电信息。在LabVIEW中可自行设立用户菜单,程序运行时操作用户菜单,可方便用户设置串口参数及查看历史数据。

4 结语

经系统实际运行测试,系统可稳定地监测到各类参数的变化情况。各类参数的平均值和总发电量通过储存的累计数据得到,并通过控件显示。整个系统可完成数据的采集、处理、储存、统计、显示等功能,实现对光伏发电系统的监测目的。将系统运用到光伏发电领域中,能够供电站工作人员实时了解电站的环境情况及发电信息,还可对历史数据进行统计分析。通过监测界面能够及时有效地发现电站运行故障,以实现系统检修及有针对性地进行维护,提高光伏运行效率。

[1] 张筱文,郑建勇.光伏电站监控系统的设计[J].电工电气,2010(9):12-16.

[2] 汪义旺,宋佳,张波,等.基于无线传感器网络的光伏组件监测系统[J].计算机测量与控制,2014,22(1):36-38.

[3] 孙涵芳,徐爱卿.单片机原理及应用[M].北京:北京航空航天大学出版社,1996.

[4] 邓素萍.串行通信RS232/RS485转换器[J].国外电子元器件,2001(7):62-63.

[5] 侯国屏,王坤,叶齐鑫.LabVlEW7.1编程与虚拟仪器设计[M].北京:清华大学出版社,2005.

[6] 王水鱼,李宁,胡树燕.基于Labview实现PC机与单片机的串行通信[J].中国新通信:技术版,2007,9(23):11-15.

猜你喜欢
PC机电平上位
三电平PWM整流器下的地铁牵引供电系统探讨
要攻城略地关键要有好筹码,这匹水产动保“黑马”如何能迅速上位?
三相三电平PFC(VIENNA)控制策略研究
特斯拉 风云之老阿姨上位
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
三电平H桥逆变器差模干扰源研究
VC.NET下实现dsPIC单片机与PC机的通信
基于ZigBee和VC上位机的教室智能监测管理系统
基于单片机与PC机的电气量采集系统设计
VIVID3彩色超声仪结构原理及维修