多功能网络化控制实验系统的教学
2013-07-05黎学超徐志勇
谭 志,黎学超,徐志勇
(北京建筑工程学院 电气与信息工程学院,北京100044 )
0 引言
“网络化测控技术”是我校自动化专业网络化控制方向的专业课,是一门实践性很强的课程。在近五年的教学过程中,我们利用了各种先进的技术进行实践教学,其中之一就是物联网技术。物联网(Internet of Things)指将各种信息传感设备,如射频识别(RFID)装置、红外感应器、全球定位系统和激光扫描器等装置与互联网结合起来而形成的一个大型网络[1,2]。其目的是让所有的物品都与网络连接在一起,系统可以自动实时地对在网物体进行识别、定位、追踪、监控并触发相应事件[3]。
本文介绍的网络化控制实验系统是基于芯片CC2530[4]系列传感器模块和无线节点模块组成的无线传感网络,扩展嵌入式网关可实现广域网访问。该系统实现物联网的多种架构,完成物联网各传感器信息采集、无线信号收发、ZigBee 网络通讯和组件控制全过程多种教学实验和网络通讯技术开发。不仅可以用于网络化控制技术方向的实验教学,也适合物联网项目开发。该实验系统具有如下特点。
(1)支持IAR 集成开发环境,具有USB 高速下载、在线下载、调试和仿真等功能;其配置灵活,可根据需要选配多种扩展模块;
(2)具有高性能和低功耗的8051 微控制器核—64 或128kB 的系统内可编程闪存;8kB RAM,具备在各种供电方式下的数据保持能力;
(3)集成符合IEEE 802.15.4 标准的2.4GHz的RF 无线电收发机—极高的接收灵敏度和抗干扰性能;可编程的输出功率高达4.5dBm。
(4)在供电模式下,CC2530 芯片的耗电仅为24mA。4μs 就能唤醒系统,硬件支持CSMA/CA 功能。该芯片有较宽的供电范围(2.0 ~3.6V)。
(5)支持精确的数字化RSSI/LQI 和强大的5通道DMA。系统具有捕获功能的32kHz 睡眠定时器,8 路输出和12 位分辨率的ADC 模数转换器,1个符合IEEE802.15.4 规范的MAC 定时器,1 个16位定时器和1 个8 位定时器。
1 系统硬件构成
本系统由CC2530 芯片的无线节点模块、传感器及控制器模块和智能主板等组成。系统硬件结构如图1所示。
图1 系统硬件结构图
(1)无线节点模块:由射频单片机构成,MCU是TI 的CC2530。模块使用5V 供电输入,在内部使用DC/DC 芯片转换成3.3V。CC2530 使用单芯片解决方案,该芯片使用5 脚的FPC 插座完成2 线DEBUG 接口信号的引出,DEBUG 信号使用额外的扩展小板转换成标准的DEBUG 插头可用的接口。
(2)传感器及控制器模块:主要包括温湿度及光电传感器、电流传感器、电压传感器、电压输出模块、继电器模块和RS232 模块等。
(3)智能主板:实现无线节点模块与传感器或控制器模块的连接,又实现系统供电。目前主要由两节电池供电,保留外接电源接口,可以直接由外部直流电源供电。串口、程序JTAG 口及LCD 液晶显示均在智能主板上。
2 系统主要模块功能
(1)温湿度及光电传感器模块
该模块采用12 位ADC 采集器进行光敏信号采集,使用专用温湿度传感器进行温湿度信号获取。温湿度探头使用IIC 接口进行控制,光敏探头采集的信号经运算法放大器处理后输出到ADC 输入端。IIC 接口同时连接EEPROM 以及温湿度传感器,采用不同的IIC 设备地址的方式进行区分。
(2)电流传感器模块
电流输入经过电流取样检测电路后转化成电压信号,使用差分运放识别其电流方向,差分运放输出的双端信号经差分转换为单端信号,再经过衰减电路调整到适合ADC 输入的电压范围(0-3V),再经过运算放大器构成的缓冲器输出到无线节点模块的ADIN 端。
(3)电压传感器模块
电压输入端使用大于1MΩ 的等效输入阻抗做输入取样,将输入电压进行15 倍衰减,然后使用差分电路到单端运算放大器输出,将其变换到0-3V 的范围,经电压二次缓冲后送到ADC 采样输入端。
(4)电压输出模块
采用IIC 接口的DAC(TI 的DAC5573)实现程控电压输出,它具有IIC 接口的8 位四路数模转换器;缓冲放大器采用TLV2372,它是550μA/通道3MHz 的精密运算放大器。
(5)继电器模块
采用1 片带中断输出的IIC 接口的GPIO 扩展芯片实现。其中继电器输出可任意配置成常开或常闭触点,按键或外部GPIN 输入可配置成高有效或低有效(有效时输出中断信号)。
(6)RS232 模块
将带硬件流控制的TTL 电平的UART 信号转换成RS232 信号。配合特定的程序,可实现外部RS232 接口或直接实现无线协调器功能。
3 系统在教学中的应用
在“网络化测控技术”实验教学中,实验内容分为基础实验和扩展实验两类。
基础实验是让学生将实验指导书给定的演示程序添加到所创建的工程中编译、加载生成HEX 文件并运行。然后通过实验板上的LCD 显示情况判断程序是否运行完好。基础实验根据不同的模块可进行不同的实验。例如,无线传感器节点可配合系统各模块来加载不同无线传感器节点程序;协调器模块加载协调器程序做中心节点使用。
扩展实验作为选做内容。是在基础实验上附有的扩展要求。一般是对示例程序进行适当的修改,或是在LCD 上显示更复杂的内容,或是运行一个采集其他参数的程序,或是调整串口通信波特率,或是增加输出子程序将结果在PC 机上显示等。
为了进一步加强学生的硬件设计和软件编程能力,实验系统向所有学生开放了传感器模块和协调器的PCB 原理图及编程源代码,设计步骤及程序流程图。在硬件方面,该实验系统鼓励学生通过已有PCB 原理图的提示来设计自己的电路和焊接实验板扩展实验内容;在软件方面,学生通过无线传感器节点源代码及程序流程图的提示来修改或编写实验程序以实现不同功能。在PC 机客户端,通过C+ +语言来熟悉物联网实验系统的界面编写。从而提高学生在软硬件方面的综合设计能力。
4 综合实验实例
学生可以自拟或结合教师的科研项目和工程实际开设综合设计型实验项目。作为实例,这里给出一个实用性较强的Z-Stack Mesh 网络通信综合性实验,采用多点数据采集和控制输出。
在Mesh 网络中,主要设备为协调器和路由器,网络中所有的终端设备并不都直接与协调器通信,有的设备需要中间路由节点才能将数据上传到协调器。协调器负责网络的建立与维护外,还负责与上位机进行通信,包括向上位机发送数据和接受上位机的数据并无线转发给下面各个节点。路由器除了需要根据协调器发送的命令来执行数据采集或控制被控对象,还需要承担路由任务。Z-Stack 程序执行流程如图2所示。
(1)应用层—协调器程序执行。ZigBee 测控部分的软件编程采用集成开发环境IAR Embedded Workbench For MCS-51 7.51A。ZigBee 协议栈采用TI Z-Stack2.3.1-1.4.0。协调器模块上电后向上位机Sever 发送设备识别消息,在应答后进入循环等待状态,直到上位机发出对某个节点的操作指令。接到指令后协调器进入消息处理循环,处理完毕接到上位机,应用连接断开命令后断开。协调器软件流程如图3所示。
图2 Z-Stack 程序流程图
(2)应用层—路由程序执行流程。路由器软件和协调器基本类似,只是不需要与Sever 通信。终端节点软件因只负责测控事件以及循环等待无线接收信息指令,结构简单。路由程序执行流程如图4所示。
图3 协调器程序流程图
图4 路由程序流程图
(3)上位机监控软件—该监控软件基于C + +语言模块化设计。其中系统现场监控C/S 平台界面采用Visual Studio 2005 集成开发环境和Access数据库软件[5],设计实现ZigBee 节点网络拓扑结构显示、节点数据采集与控制、实时视频监控、实时曲线绘制与历史报表功能。上位机网页B/S 平台利用Tomcat 6.0 和My Eclipse 8.5 等工具实现。嵌入式PDA 采集控制界面使用VC + +在Windows CE 6.0 环境下编写,实现数据的采集与控制。
[1] International Telecommunication Union UIT. ITU Internet Reports 2005:The Internet of Things[R].2005
[2] Gustavo R G,Mario M O,Carlos D K. Early infrastructure of an Internet of Things in Spaces for Learning[C].Eighth IEEE International Conference on Advanced Learning Technologies,2008:381-383.
[3] Amardeo C,Sarma,J G. Identities in the Future Internet of Things[J].Wireless Pers Commun 2009,49:353-363.
[4] Texas Instruments. CC2530F32,CC2530F64,CC2530F128,CC2530F256,A True System-on-Chip Solution for 2. 4-GHz IEEE 802.15.4 and ZigBee Applications[K].2009.
[5] 刘卉,汪懋华,王跃宣等.基于无线传感器网络的农田土壤温湿度监测系统的设计与开发[J]. 吉林大学学报(工学版),2008(3):604-608.