工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->通信电路图->通信综合电路图->低压电力线载波通信系统设计

低压电力线载波通信系统设计

作者:不爱吃窝瓜时间:2015-09-04

由传统的高压电力线通信技术发展而来的低压电力线载波通信(PLC,low-voltage power line carrie-current communication)技术已经越来越受到关注,且被视为解决因特网接入“最后一公里”问题的有效手段。文章通过软硬件结合的方式,自主搭建了一个低压电力线载波通信系统,从而实现了利用低压电力线进行数据传输的目的。


0引言现代社会的发展,人们对生产和生活有了更多、更高的要求,例如要求更节能环保、更舒适便捷,这些要求的实现都需要大量信息的获取、传输和处理,需要把与生产生活相关的大量设备和对象连接起来,构成网络,以实现对它们的监测控制与管理,从而形成物联网、家域网(HAN)等。在这些网络中,需要连接的对象数量众多,位置可能变动,给网络的构成带来一定的困难。由于这些对象的工作大都离不开电力,所以,用低压电力线组成网络进行通信,是一种很需要重新布线,覆盖范围广,维护少,节约资源。为此,本文结合国内外研究动态,对低压电力线载波通信技术进行了研究,并采用相关功能模块,编写了相关控制软件,实现了两点之间通过低压电力线载波通信来进行数据传输,并通过上位机进行监控的目的。

1系统总体结构本设计主要包括载波通信模块、上位机监控界面及转换接口电路等几个部分。其中,转换接口电路主要负责PLC模块的TTL电平接口与上位机的串口之间的接口通信。其系统框图如图1所示。




在数据信号发送端,上位机发出数据信号给COM口,通过接口转换电路把上位机发出的数据信号转换为PLC模块能够接收并处理的TTL电平信号。然后经过PLC模块将信号调制成特殊的电力信号,再通过电力线进行传输。

在数据信号接收端,PLC模块将电力线上的信号耦合下来,并通过滤波、解调转换为原来的TTL电平信号,再经接口转换电路把信号发送到上位机进行显示。

该系统信息是双向传输的,即PLC模块与转换接口电路均可以实现双向通信。

2系统硬件选择与设计2.1低压电力线载波模块本文选用杭州新实科技有限公司的SENS-01嵌入式电力线载波通信模块,该模块可提供半双工通信功能,可以在220 V/110 V、50Hz/60 Hz电力线上实现局域通信;通信速率有600 b/s、1 200 b/s、2 400 b/s、4 800 b/s、9 600 b/s、19 200 b/s等多种速率;每帧长度小于或等于20 B;具有TTL电平接口,可为用户提供透明的数据通道,而且数据传输与用户协议无关。

2.2接口转换电路选择与设计本设计选用的是USB接口作为上位机与PLC模块的通信接口,因为现在的笔记本大多没有RS232接口,而且现在许多工业现场也采用USB接口作为串口通信,十分灵活便捷。因此,本文选用FTDI公司生产的FT232RL芯片作为USB与TTL电平接口的转换芯片,该芯片具有全握手协议及MODEM接口(CTS、RTS、DTR、DCD、RI),并具有硬件及Xon/Xoff流量控制。芯片内置晶振,外围电路简单,驱动能力强。其接口转换电路如图2所示。



3系统软件设计本文采用MSCOMM控件(即Microsoft Communication Control)进行串口编程,该控件是Microsoft公司为简化Windows下串行通信编程而提供的ActiveX控件。它提供了一系列标准通信命令的使用接口,因此,利用它能够建立和串口的连接,并能够通过串口连接到其他通信设备(如调制解调器)发出命令、交换数据以及监控和响应串行连接中发生的事件和错误。使用MSCOMM控件编写串口程序时,不需要花费时间了解复杂的API函数,但它在执行的时候需要调用API函数。

MSCOMM控件串行通信处理方式采用事件驱动方式,许多情况下,在事件发生时需要得到通知,这时,就可以利用MSCOMM控件的OnComm事件捕捉并处理这些通信事件。这种方法的优点是程序响应及时,可靠性高。

3.1系统通信程序设计本系统数据的发送与接收显示都是通过对上位机编写软件来实现的。其流程大致为:关闭串口,对串口的波特率进行选择,然后设置通信参数;打开串口之后,可以选择发送方式为手动或自动(自动发送周期根据模块的处理速度固定为2 s),也可以选择是否为十六进制发送(对应的接收端应选择十六进制显示)。

在监控显示部分,当接收缓冲区有数据时,系统就会触发OnComm事件,对数据进行读取并在编辑框中显示。修改波特率时,一般需要关闭串口然后才能调试。其系统程序流程图如图3所示。


3.2数据发送部分算法由于在数据发送时,模块每次只能接收20 b以内的数据,因此,为了使模块能够发送或接收更多的数据,本文采用指针指向的方法,分段取出所要发送的数据,每段20 b.




数据发送首先要获取编辑框内所要发送的数据,然后计算其长度,再判断与20的关系。如果整除得b的话,就直接发送b次,每次分段读取,且必须在两次发送之间添加延时程序,否则,这样处理就没有意义,因为模块的处理速度慢于发送的速度会造成数据丢失。当不能整除且得到的余数为a时,要先发送b次,读取完bX20个字符后,再发送剩余的a个字符。图4所示是其数据发送程序流程图。




3.3通信与监视界面图5所示是本系统中上位机的通信与监控界面图。从图中可以看出,在通信界面设置好波特率,然后打开串口,在COM6发送窗口输入字符串,然后点击发送(或自动发送),COM5接收显示窗口就会显示COM6所发送的信息。由图5可知,数据信息的传输量已经突破了模块自定义的20 B,即能够实现较多信息量的发送与接收。

4结语电力网络是目前覆盖范围最广的网络,有着巨大的潜在利用价值。在家居自动化、家用电器控制等方面,PLC技术有着得天独厚的优势。本文利用低压电力线载波方式实现了数据在低压电力线上的传输,并能通过上位机实时显示数据。但是,目前PLC技术仍然存在很多不足,在电力线上干扰严重时,通信成功率可能还无法保证,通信速率也比较低,因此还需要更深入的研究。




评论

技术专区