基于AVR单片机的电力系统数据采集与通信系统设计

2013-11-30 03:13马洪波
山东工业技术 2013年12期
关键词:模拟量电平上位

马洪波 周 悦

(1.沈阳建筑大学 信息与控制工程学院,辽宁 沈阳 110168;2.辽宁省送变电工程公司,辽宁 沈阳 110021)

0 引言

智能化是电力系统发展方向。随着网络电子产品等与电力系统的紧密融合,分布式电源、储能装置、智能电器等快速发展,以及云计算、大数据、移动终端等现代信息技术的广泛应用,传统电网向智能电网的全面升级已成必然。要顺应世界电网发展最新趋势,推广线路智能监控系统、智能调度控制系统、智能互动用电设备成为首要任务,因此需要建设贯穿各领域的高效信息传输的技术,进而加快电网各环节的智能升级改造,全面提高电网智能化水平。

1 本设计系统功能

本文基于AVR单片机的数据采集和通信系统的功能,应用两级计算机系统完成,上位机应用普通PC计算机,下位机采用单片机控制,下位机主要完成数据的采集及数据传输给上位机的功能,上、下位机之间以串行数据传输方式进行通信。双方共同遵守同一个通信协议。下位机接收到的上位机指令后将采集的数据处理后传给上位机。上位机在软件的支持下对采集的数据进行分析处理。

本系统分成三个模块组成:模拟量采集模块、开关量、LCD、LED本地显示模块,通过串行口传输给上位机模块。系统结构图如图1所示。

图1中的5个模拟量用遥控盒上的5个电位器来模拟输入。经过芯片TLC2543进行模数转换,然后输入到ATmega64L中的PD口。经过AVR单片机处理后再经PA口输出到液晶显示模块(LCM1)进行本地显示,经PD2口和PD3口输出到MAX232E的RXD和TXD进行RS-232的电平转换,最后通过串行电缆送到上位机。

系统利用遥控盒上8个开关的开和关模拟数字量输入的逻辑“1”或逻辑 “0”,经过三态双向总线隔离/驱动芯片74HC245,输入到ATmega64L中的PE口。AVR单片机处理之后经PA口输出到8D锁存器74HC573中,然后经过驱动电路控制8个LED的亮或灭。同时单片机同样经PD2和PD3输出到MAX232E的RXD和TXD进行RS-232的电平转换,最后通过串行电缆送到上位机。

图1 基于AVR单片机的数据采集与通信系统结构图

2 设备选型

本设计采用ATmel公司的高性能低功耗的AVR单片机ATmega64L作为设备的核心控制器。根据图1所设计的系统结构,选择外围电路器件分别为:锁存器74HC573、发光二极管LED、液晶显示器LCD芯片MAX232E、芯片74HC245、串行传输口RS232等,进而达到本系统的设计功能。

3 RS-232通信接口标准

本次设计,需要用单片机执行数据采集的任务,把采集结果通过单片机传送到上位计算机中去,最后由计算机完成数据处理过程,以及人机界面显示。这需要在单片机和计算机之间建立通信结构。此结构可以在单片机和计算机之间进行有效而正确的信息传输。

RS-232通信接口是美国电子工业协会(EIA)正式公布的串行通信接口标准,用来实现计算机和计算机之间、计算机和外设之间的数据传输。RS-232串行接口总线适用于设备之间通信距离在15米以内而且速度不高于20Kbps的场合中。

RS-232在电气接口上采用负逻辑,即逻辑“1”为-5V~-15V,而逻辑:“0”则是+5V~+15V。

由于单片机采用的是 TTL电平,即逻辑“1”为+5V,逻辑“0”为0V,因此为了实现单片机和计算机之间的通信,必须进行RS-232和TTL接口之间的电平转换。

本设计中实现TTL电平和RS-232电平转换的芯片是MAX232E.MAX232E由+5V电源供电,主要由一个片内电压泵升电路、一个双重发送电路和一个双重接收电路组成。电压泵升电路由两个电荷泵组成,用以实现升压和电压极性的转换[4]。

4 AVR内部资源的C语言编程

本次设计所选择的ATmega64L型号单片机是一款片内资源丰富的单片机,它除了64KBFlash程序存储器和4KB片内SRAM数据存储器,53个可编程的I/O口外,还有全双工异步串行通信接口USART,同步串行接口SPI和35个中断源等。对片内资源进行充分的开发和利用是设计ATmega64L单片机应用系统的关键。

本设计采用C语言编程,因为C语言的可移植性最佳而成为首选。

5 软件结设计

基于AVR单片机的数据采集和通信系统控制软件采用模块化设计。从结构上看主要包括主循环体程序、接收数据程序、发送数据程序、中断服务程序和其它控制程序。

5.1 主程序

主程序开始时进行定时器0,定时器1,定时器2,AD,DI,LCD,MCU等的初始化,初始化主要是设置定时器的中断方式(如使设置定时器0溢出中断,定时器1比较中断,定时器2溢出中断),外部中断INT0,INT1中断方式(INT0下降沿产生异步中断请求,INT1上升沿产生异步中断请求);AD,DI处于可以接收模拟量和开关量的状态。然后程序进入循环状态,首先判断串口接收标志是否为1,如果是1且上位机处于使能发送状态则接收数据同时LCD显示遥控状态,如果上述条件不符合则跳入下一个判断即外部中断INT0控制的AD采样判断,首先判断中断标志是否为1,如果为1,则取样求平均值,在LCD上显示模拟量号(通道0,显示第1,2路模拟量,通道1显示第3,4路模拟量,通道2显示第5,6路模拟量)。如果中断标志不为1,则跳入下一个判断开关量DI采样标志是否为1,如果为1,则检验DI口输入量是否有变化,如果有变化则保存数据,并置相应的指示灯亮,如果输入量无变化则检验上次开关量是否发送完毕,如果发送完毕,则发送下一个数据包。如果未发送完毕或DI采样标志不为1则跳入下一次判断即外部中断INT1控制的按键中断,如果按键标志为1,则键值为1通道号加1,显示下两路模拟量,如果键值为2,则通道号减1,显示前两路模拟量;再将按键标志置为0此时结束程序进入下一次循环判断,如果按键标志为0直接结束程序进入下一次循环判断。

5.2 中断程序

定时器0中断服务程序

定时器0中断主要完成模拟量的数据采集与平均值计算。具体为:定时器0中断时间为20毫秒,用于AD采样计时;当AD采样次数满15次后判断采样结束标志,如果采样结束则计算平均值然后在LCD上进行显示后,产生AD中断,最后中断返回。

定时器1中断服务程序:定时器1主要完成扫描开关量输入状态,具体为:中断时间为250毫秒,如果有开关量输入,则置开关量输入标志为1,然后中断返回。

定时器2中断服务程序:定时器2中断服务程序主要完成按键处理,用于按键的去抖延时控制。串行发送中断服务程序:串行中断服务程序主要完成向上位机传输数据的功能。

串行接收中断服务程序:串行接收中断服务程序主要完成接收上位机发送的数据的功能。

中断0服务程序:中断0主要完成模拟量的采集。当6路模拟量采集完毕后,关中断,再将采集到的模拟量送入模拟量缓冲区,然后中断返回。

中断1服务程序:中断1主要完成按键处理,主要完成去抖延时的功能。

6 结束语

ATmega64L是片内资源非常丰富的单片机,对单片机片内资源进行充分的开发和利用。是设计ATmega64L应用系统的关键。在基于AVR单片机的电力系统数据采集与通信系统的软件设计方法中,采用模块化设计,以AVR单片机为控制核心,通过软件编程来实现系统功能。运行结果显示,该数据采集与通信系统操作简单方便、运行正常、成本低廉,上位机与下位机通信均达到系统性能要求。

[1]马建明.数据采集与处理技术[M].西安:西安交通大学出版社,2005,9.

[2]余锡存,曹国华.单片机原理及接口技术[M].西安:电子科技大学出版社,1994,6.

[3]ATmel公司.具有64KB系统内可编程Flash的8位微控制器 ATmega64、ATmega64L(初稿)[S].2490G-AVR-03/04.

[4]谭浩强.C 程序设计[M].北京:清华大学出版社,1999,7.

[5]求是科技.单片机典型模块设计实例导航[M].北京:人民邮电出版社,2005,1.

[6]李长林.AVR单片机应用设计[M].北京:电子工业出版社,2005,5.

猜你喜欢
模拟量电平上位
二电平和三电平网侧变流器控制及谐波比较*
三电平PWM整流器下的地铁牵引供电系统探讨
一种模拟量模块的应用
特斯拉 风云之老阿姨上位
基于直流侧电压不均衡的CHB多电平逆变器SHEPWM控制技术
基于ZigBee和VC上位机的教室智能监测管理系统
PLC中模拟量采样的处理方式与分析
基于VC的PLC数据采集管理系统
一种新型的级联型多电平逆变器研究