路灯节能控制系统摘要:本文描述了一个自动化路灯节能系统的设计与实现,该系统包括了一个PC机与MSC51通信接口、MSC51与MT8880芯片接口模块与远端指令接收子系统。
文中主要讨论了系统的总体设计方案,系统关键部件的软、硬件设计与实现,并对RS-232、MSC51的串行通信、MT8880芯片的应用、Delphi串口通信作了重点的介绍。
随着社会的发展,能源问题日益引起各国甚至整个人类的密切关注,能源危机成为人类面临的主要危机,特别是我国的电力能源近年来日益显得吃紧,电力紧张成为各大城市生产、生活的绊脚石,甚至严重影响到我国经济的发展与社会文明的进步。
目前各大城市的交通路灯的能源利用率存在一个普遍的问题,这就是路灯的能源利用率不高,特别是子夜过后,交通道上的车辆与行人较为稀少,交通道上的路灯没有必要全部打开,可以适当关闭部分路灯,如隔一个开一个,对于车辆与行人特别稀的交通道路则可以关闭更多的路灯。
我们推算出从午夜开始隔灯关闭可以节省电能近40%,对于大中城市来说,每年可节约几百万元路灯电费。
本文设计了基于自动化技术的路灯节能管理系统。
该系统具有三个特点:一是该系统的成本较低,但实用价值很高;第二是采用的技术较为先进而且成熟,从而可以保证系统的稳定性;第三是该系统是一个覆盖面较广的基于电力网的通信网,分布节点具有分散性,控制中心对各节点具有定位功能。
另外对系统应用要求不是很高,环境的适应能力与抗干扰能力较强。
系统的组成与工作原理1.系统总体框架设计基于自动化技术的路灯节能系统的总体框架系统分为控制中心、远端指令接收器、控制中心与电力网接口三个部分。
系统的结构图如图1所示。
控制中心以易于操作、交互性好的Windows平台实行可视化监控管理,从而实现实时可视化远程控制,为进一步提高自动化水平,可通过软件的设定达到自动控制。
控制中心发出的控制指令通过电力网进行传输,这样最大的好处就是可以最大程度地减少对现有电力网的改造,最大限度地减少资源的开销,为了使从控制中心中的计算机发出的控制信号能够接入电力网,必须在计算机与电力网之间接入一个匹配接口,这个接口采用计算机的标准接口RS-232串口与单片机相连接,通过单片机连接的优点是一方面使得计算机的数字自动控制指令具有较高的灵活性与可扩展性;另一方面对于控制指令信号加载到电力网上具有较好的适配作用。
本设计中通过单片机控制MT8880双音频信号(DTMF)发生器,将音频信号加载到电力网上的优点是一方面音频信息对电力系统的影响几乎为零,另一方面是对远端指令接收器的设计与实现起到最大的简化作用,最大限度地降低成本。
2.系统结构设计基于图1的总体设计框架与设计思想,基于自动化技术的路灯节能系统的整体详细设计如图2。
下面就具体部件进行介绍:(1)RS-232接口计算机I/O接口根据数据传输方式不同可分为并行总线接口和串行总线接口两大类。
并行口速度快、实时性好,但是占用的线多,较为复杂,如IEEE-488、ISA、PCI等。
而串口一般速度较慢,但简单、灵活、方便,如RS-232 、USB和IEEE-1394等。
在本系统设计中,根据系统的结构特点与实际运用领域,运用RS-232较为科学,这是因为此系统所要求的实时性并不是很强,而且根据电力网的线路特点,其指令信号传输线只用两根。
另外RS-232应用广泛,在现代的计算机中已经是一种标准的串行接口,几乎每一台计算机都有一个或多个RS-232端口,而且串口设备与单片机这种高性价比控制部件的联接实现起来具有方便快捷的特性。
RS-232接口引脚说明如表1所示。
(2)MCS51单片机部件本系统设计采用性价比较高的89C2051,它是是一种采用了MCS-51型系列单片机的核心和汇编语言的高性价比单片机。
系统开发方式与所用工具本系统采用二次开发,结合89C2051单片机开发,选择可视化快速开发工具Delphi作为开发平台,系统中的指令信号与监控信号的传输通过计算机的串口,为加速开发进程,本设计选择第三方组件MSComm控件作为串口通信控件。
1.指令信号传输方式与MT8880介绍(1)指令信号传输方式考虑到本系统的信号传输是加载到电力系统上进行传输的,所以本系统采用双音多频信号(DTMF)作为传输信号,DTMF是由一组低音频信号和一组高音频信号以一定方式的组合构成,每组音频信号各有4个音频信号,而每种组合有一个高音频信号和一个低音频信号,共16种组合,具有很强的抗干扰能力。
如果用合适的采样频率对这个信号进行A/D转换,则很容易计算出每一个采样点的A/D值,而如果将这些采样值形成一张表,在单片机里用同样的采样频率将这张表中的数值用D/A转换器输出,就是双音频信号。
在实际应用中常用1 b的DM编码来实现A/D和D/A过程,其中A/D过程可以在PC机上完成,用程序生成对应每一个DTMF信号的DM编码表,D/A过程在单片机上完成。
与单音编码不同,DTMF信号是采用八中取二的方式来构成一个音频信号,可抗虚假信号的干扰,所以应用范围特别广泛。
(2)MT8880 MT8880是一个带有呼叫处理滤波器(call progress filter)的单片DTMF收发器,它功耗低,可靠性高。
MT8880中的DTMF收号器是基于单片收号器MT8870工业标准,能接收全部16个DIMF信号,DTMF发送器采用开关电容D/A变换器,信号失真小、精度高,定时精确。
MT8880有DTMF和呼叫处理(CP)两种工作模式。
当选择了呼叫处理模式时,MT8880就用于检测电话网上电话呼叫过程中表示不同进程的信号音(主要是拨号音,拨号音的标准频率为350 Hz或440 Hz),可以进行拨号音识别。
这是目前其他DTMF芯片所不具备的,这样便可省去一套复杂的拨号音识别电路。
MT8880的引脚图如图3所示,引脚说明如表2所示。
其中,GS :用于输入信号的增益高速;IRQ / CP:向MCU 的中断申请,当选择了呼叫处理模式时,输入信号线上有呼叫信号时输出与之相应的方波信号;EST:当检测到有效音频对时(也称信号条件Signal condition ),就变为高电平,信号条件不满足时又立刻返回低电平。
此引脚上为高电平不一定表示有DTMF信号,话音信号也会偶然产生有效音频对;SGTI:当电压高于VTST,就保存检测到的音频对,同时更新输出锁存器的内容。
当电压低于VTST 时,芯片就可以重新接收新的音频,对Gt的输出对滞后时间常数(steering timeconstant)有影响,它的状态是EST和加到St的电压的函数。
2.软件集成控件MSComm简介目前,用Delphi实现串口通信的常用方法有三种:一是利用控件,如SPComm 控件和MSComm控件;二是使用Windows API函数;三是调用其它串口通信程序。
其中利用Windows API函数编写串口通信程序较为复杂,需要掌握大量的通信知识。
相比较而言,利用MSComm控件则相对较为简单,并且该控件具有丰富的与串口通信密切相关的属性,提供了对串口的各种操作,而且还支持多线程。
(1)属性Commport属性,这一属性用于设置返回连接的串行端口号,Windows将会利用该串口和外界通信。
在设计时,nNewValue可以设置成从1~16的任何数(默认值为1)。
但是如果用PortOpen属性打开一个并不存在的端口时,MSComm控件会产生错误68(设备无效)。
Setting属性,该属性以字符串形式设置并返回串口的波特率奇偶校验、数据位、停止位参数,共4个参数。
如默认值为“9600,N,8,1”表示波特率为9600bit/s,无奇偶校验,8位数据位,1位停止位。
当端口打开时,如果该属性设置非法,则MSComm控件产生错误380(非法属性值)。
波特率为:110、300、1200、2400、4800、9600、14400、19200、28800、38400、56000、57000、115200、12800、25600。
数据位值可为4、5、6、7、8。
停止位可为1、2。
InputMode属性,该属性用于设置或者返回传输数据的类型。
其取值和基本含义为:0:ComInputModeText,表示通过Input属性以文本方式取回数据;1:ComInputModeBinary,表示通过Input属性以二进制方式取回数据。
Input属性,Input属性拥有读取接收缓冲区中的数据。
该属性在端口未打开时不可用,在运行时只读。
PortOpen属性,该属性用于打开或关闭端口。
一般情况下在程序开始时打开端口,在程序结束时关闭端口。
CommEvent属性,如果在通信过程中发生错误或事件,将会引发OnComm 事件并且改变该属性值,CommEvent属性值返回错误或者事件类型,为只读的。
程序中可以根据该属性值执行不同的任务。
另外该属性在端口关闭时不可用。
(2)事件MSComm 控件只有一个事件,即OnComm事件,利用MSComm控件编写的应用程序在通信时如果发生错误或者OnComm事件,将会引发OnComm事件并且改变其属性值,通过GetCommEvent()可获得OnComm 产生事件或错误的代码。
在通信程序的设计中可以根据CommEvent属性值来执行不同的操作。
系统开发实现1.系统上层开发实现为了使系统具有更好的交互性,本系统将系统在软件层次上划分为应用层、会话层和物理层三个层次,如图4所示。
在应用层中开发应用程序界面,本系统设计采用基于Windows平台,采用面向对象技术,利用Delphi作为开发工具,对路灯的状态(点亮还是熄灭)进行显示,从而使系统的人机交互性达到最佳效果。
在会话层中实现对应用指令的解释,将应用层的“准自然语言”转化为可以计算机接口输出指令,并自定义接口指令。
为使系统具有更好的可扩展性,本系统采用二进位接口指令,采用二进制接口指令的好处是使得在下一物理层中的设计更有灵活性。
物理层则是对系统指令动作的具体操作,在本系统中属于硬件开发范畴。
本系统开发在应用层进行“准自然语言”定义,如通过程序中的对象实体的状态对远程路灯进行形象化显示,通过菜单或程序的快捷键对远程路灯进行控制,通过程序的设置来设定如何控制路灯。
会话层的定义实质上就是应用程序开发过程中“准自然语言”与底层物理层语义转换数据格式的自定义。
物理层则是在二进制代码的指令控制实施层,本系统具体实现是通过89C2051来实现。
软件开发的基本流程如图5所示。
在应用层的关键点是对串口进行二进制的通过,由于本系统采用了基于第三方控件与可视化的Delphi快速开发平台,相对来说比较简单,在本刊的网站()上给出部分从应用程序向控制终端发出指令信息子过程,供读者参考。