作者:山东科技大学 殷凡姣 顾强 刘斌斌
指导教师:公茂法
作品简介
(1)太阳能供电系统
太阳能供电系统由18V-20W的太阳能电池板、12V-7.2AH的铅蓄电池及基于TL431的太阳能充放电控制电路组成。
(2)上位机软件
上位机软件使用Labview开发,可以实时显示采集到的温湿度数据和执行机构的状态,并绘制温湿度变化曲线,生成excel进行报表输出。
(3)中央控制显示单元:
中央控制显示单元采用MSP430F5438A低功耗MCU,外部扩展TFT触摸屏、掉电存储模块、执行机构控制电路;它是整个系统设计的核心。
(4)执行机构:
限于实验室条件,执行机构由8个220V-15W的灯泡组成(说明:此处虽然仅8个执行机构,但控制电路在设计上可以实现对48个执行机构的控制)。
(5)数据采集部分:
数据采集部分采用TI的CC2530组成星形网络,协调器节点与中央控制显示单元通过串口进行通信,终端节点上扩展了空气温湿度传感器DHT11以及土壤温湿度传感器SHT10。
SHT10、DHT11温湿度传感器直接输出数字信号,响应快,抗干扰能力强,测量精度高,内部集成最高14位分辨率的的AD转换器。
3.功能与使用说明:
(1) 传感器采集的温湿度数据通过ZigBee星型网络传至中央控制显示单元;
(2) 中央控制显示单元为系统的核心,可实时显示温湿度,绘制温湿度曲线,可以设置各节点温湿度的上下限,并自动控制执行机构,采集到的温湿度数据被存储到SST25VF032B存储芯片中,实现了掉电存储功能;
(3) 上位机软件可以实时显示采集到的温湿度数据和执行机构的状态,并绘制温湿度变化曲线,生成excel进行报表输出。
4.作品特色:
(1) 采用基于CC2530的ZigBee技术,组网能力强,组网灵活,且功耗低。
(2) 采用MSP430F5438A低功耗MCU,降低了系统功耗及成本。
(3) 采用太阳能供电,清洁且降低了运行成本。
(4) 设计了上位机软件,实现了远程监控。
(5) 系统可扩展性好,新增节点可以自动加入已有的ZigBee网络,中央控制显示单元也会做出相应处理;执行机构控制电路采用74LS164级联,方便扩展更多执行机构。
(6) 中央控制显示单元采用触摸屏,人机界面友好,操作简单方便,无需外加键盘。
采用大容量的外部FLASH存储,可以实现数据的掉电存储。
平台选型说明
选用MSP430F5438A为控制核心,选用TI的CC2530组建无线传感器网络
设计说明
1.系统总体方案
系统整体分为三个层次,自上而下为:上位机、中央控制显示单元、基于ZigBee的无线传感器网络。
系统的数据流向为:ZigBee无线传感器网络将采集到的温湿度数据传送到中央控制显示单元,中央控制显示单元将数据进行简单处理后发送至上位机。中央控制显示单元与上位机通过485总线进行通信。
上位机采用Labview进行开发,简单易用。
中央控制显示单元采用低功耗的MSP430F5438A进行设计,外部扩展了2.8寸TFT触摸屏、掉电存储模块、执行机构控制电路。
基于ZigBee的无线传感器网络,采用TI的CC2530进行搭建,所用网络拓扑为星形网络;所用到的传感器型号为DHT11、SHT10。
2.系统硬件介绍
如图2.1所示,系统硬件结构分为以下部分:太阳能供电系统、MSP430F5438A最小系统、触摸显示屏模块、外部存储模块、执行机构控制电路、ZigBee网络节点硬件设计、传感器电路。
(1)太阳能供电系统
根据青岛地区的太阳辐射相关参数以及相关的计算公式,选择 18 V-20 W 多晶硅电池板1块、12 V 7.2 Ah铅酸蓄电池1块作为太阳能电源模块的必须配置。为保证铅酸蓄电池不过充放电,规定其端电压应稳定在10.6~14.4 V。本设计利用TL431 的可控开关特性和MOSFET,实现了开关控制蓄电池过充电及过放电保护。
该模块的主要功能如下:
(A)蓄电池过充电保护功能:光照情况下,18 V-20 W 多晶硅电池板向蓄电池充电,当蓄电池端电压升高到14.4 V 时,该保护电路切断多晶硅电池板对蓄电池充电电路,保护蓄电池;
(B)蓄电池过放电保护功能:光线较弱时,蓄电池向系统供电,当蓄电池端电压低于10.6 V 时,该保护电路自动切断供电,避免蓄电池过放电现象;
太阳能充放电控制电路如图2.2所示:
由电池输出的12V电压,进行5V、3.3V转换的电路此处略去。
(2)MSP430F5438A最小系统
可供选用的单片机种类较多,我们选用的是MSP430系列的单片机。MSP430系列单片机以高性能、超低功耗而著称,在工业、安全和传感器应用中有独特优势。电路图略。
(3)触摸显示屏模块
本设计选择了IM28FE78-A带触摸TFT 液晶显示屏作为其主显示设备,程序工作是在这一显示基础上完成的。由于430系列单片机端口操作需要4个时钟周期,所以一个完整的TFT液晶写周期需要8个系统时钟,即便是运行频率为18MHz的MSP430F5438,当全屏刷新时,2Mpps的像素填充速度仍然不流畅。为解决这一问题,液晶驱动采用了一个独特的设计方式,用SPI的SCK端来驱动液晶的写信号,当全屏刷新区域填充时,刷新速度可达10Mpps,因此可以流畅运行。开发板上用TA0产生PWM信号控制液晶背光亮度,控制方便。
(4)外部存储模块
大容量存储芯片种类繁多,综合考虑容量、性能和成本因素后,我们选择SST公司生产的SST25VF032B存储芯片。该芯片具有32Mbit存储空间,本设计要求至少具有9.6MB的存储量,因此需要多片存储芯片,电路如图2.5所示。对于引脚数目少的串行flash来讲,它的优势是减少了系统板的空间、功耗和成本。SST25VF032B存储芯片具有SPI接口,芯片操作电压3.3V,最大操作时钟频率可达50MHz。
(5)执行机构控制电路
执行机构控制电路采用6个74LS164级联的方式,仅需两个普通IO口,考虑单片机IO口的驱动能力不强,因此加入了三极管电路驱动继电器动作,同时单片机与执行机构通过继电器和光耦进行隔离,从而实现了弱电控制强电。
(6)ZigBee网络节点硬件设计
该部分电路设计主要是CC2530最小系统的设计,此处不在赘述,电路图略。
(7)传感器电路
传感器DHT11、SHT10的电路均采用Datasheet中给出的典型应用电路。
3.系统软件介绍:
系统软件总体上分为下位机软件和上位机软件。
上位机软件使用Labview软件进行开发,上位机软件的设计主要是对中央控制显示单元传送上来的数据进行处理,并发送用户命令控制中央控制单元修改相应参数设置,此处不再赘述。
下位机软件包括中央控制显示单元和ZigBee无线网络两部分。
中央控制显示单元的编程是基于UC/OS-II操作系统的。在嵌入式操作系统中,我们添加了5个普通任务和2个中断任务,如表1所示。
表1 中央控制显示单元任务分布
ZigBee无线网络编程是基于IAR for 8051开发环境和 Z-stack-2007-PRO协议栈的。所有节点组成星型网络,关于协议栈在此不做具体介绍,仅将协调器和终端节点的主要任务流程说明如下。
4.系统自定义通信协议介绍:
仿效DL/T 645-2007多功能电能表通信规约来制定一套详细的系统通信规约。内容主要分为字节格式和帧格式。详情如下:
(1)字节格式:
每个字节含8位2进制码,传输时加上一个起始位(0),一个偶校验位,一个停止位(1),共11位,传输时先传低位,后传高位,如下图所示:
(2)帧格式:
系统内的通信主要是中央控制显示单元与上位机通信,中央控制显示单元与ZigBee网络通信,所以有以下4种不同的帧。
在介绍各种帧格式前,先定义帧中组成部分的定义。
(a)帧起始符:由4个FE组成,标志着一帧数据发送开始。
(b)节点标识符:ZigBee无线网络中有很多数据采集节点,通过节点标识符,可以辨别传送的有效数据来自哪个节点。
(c)空气温度、空气湿度、土壤温度、土壤湿度:采集到的环境参数。
(d)节点数目变化符:仅占用1个字节,表明网络中节点数目增加、减少或不变。
(e)变化节点的MAC地址:如果节点数目发生变化,就将该MAC地址发送给接收方,否则不发送,接收方也会根据节点数目变化符自动选择数据处理方式。
(f)空气温度上限、空气温度下限、空气湿度上限、空气湿度下限、土壤温度上限、土壤温度下限、土壤湿度上限、土壤湿度下限:由上位机或中央控制显示单元设定的各环境参数的报警上下限。
(g)执行机构当前状态符:由一个字节组成,每个bit位代表一个灯泡的亮灭。(由于本作品中仅用了8个灯泡,所以只用了一个字节。)
(h)校验和:从第一个帧起始符开始到校验码之前的所有字节的模 256 的和,即各字节二进制算术和,不计超过 256 的溢出值。
(i)结束符号:16H,标志着一帧数据发送结束。
以下是四种不同的帧格式。
1) 中央控制显示单元向上位机发送数据
表2 中央控制显示单元向上位机发送数据的帧格式
2)上位机向中央控制显示单元发送数据
表3 上位机向中央控制显示单元发送数据的帧格式
3)中央控制显示单元向ZigBee网络发送数据
表4 中央控制显示单元向ZigBee网络发送数据的帧格式
4)ZigBee网络向中央控制显示单元发送数据
表5 ZigBee网络向中央控制显示单元发送数据的帧格式