基于AVR和ZigBee技术的工业园区环境监测系统

  作者:angelazhang 时间:2015-07-09

一、项目概述

 

1.1 引言

 

早在上世纪70年代,就出现了用单片机控制的将传统传感器采用点对点传输,连接控制器而构成传感器网络的雏形。随着科学技术的不断发展和进步,传感器网络同时还具有了获取多种信号的综合能力,并通过与传感控制器的连接,组成了有信息综合处理能力的传感网络;从上世纪末开始,现场总线技术开始应用到传感器网络,人们用其组建智能化传感器网络,大量多功能传感器被运用于无线技术连接,无线传感器网络逐渐形成,因为无线技术低能,低耗的特点,并得到迅速发展。

 

现今基于单片机技术的传感器的设计和无线传感器网络作为一种全新的信息获取平台,能够实时监测和采集网络分布区域内的各种检测对象的信息,并将这些信息发送到网关节点,以实现复杂的指定范围内目标检测与跟踪,具有快速展开、抗毁性强等特点,具有广阔的应用前景,其发展和应用,将会给人类的生活和生产的各个领域带来深远影响。美国的《技术评论》杂志在论述未来新兴十大技术时,更是将无线传感网络列为第一项未来新兴技术,探索其在应用领域的实用性尤其重要。

 

1.2 项目背景/选题动机

 

随着我国经济的发展,工业园区的发展日成规模,带动了我国GDP的大幅增加。但是日益加剧的环境污染与破坏也成了我们目前面临的首要问题,无论是煤化工业园区、钢铁工业园区、蔬菜工业园区、还是一些核工业园区,一些环境因素诸如二氧化硫浓度,一氧化碳浓度、温度、湿度、二氧化碳浓度等对产品以及人们的生活和工作环境都有着至关重要的影响。因此做好这些环境因素的检测工作是对产品质量和员工身体健康的重要保证。

 

众所周知,环境变量的精确监测与管理对于提高环境控制精度、节约能源及促进生产等有着重要的作用。目前我国工业园区环境监测系统缺乏,即便是有,往往采用一些生物检测法,布线检测法等,严重浪费能源。在应用方面,缺乏有效的监测管理机制,还未将检测、报警、预处理有机地结合起来;工业园区不同位置的各项参数值往往是不均匀的,所以需要采集多个不同点的温度值进行综合评判,而目前大多数工业园区的环境监测系统不能有效地覆盖整个工业园区,难以实现各个参数的统一性。同时,多数工业园区的数据采集采用人工和有线布网方式,前者消耗大量人力,且采集的信息缺乏一定的实时性;后者虽然比较成熟,但线路布置易受环境影响,安装程序复杂,维修、更新的费用和难度都较大,这给广大工厂带来一定的不便。

 

基于以上需求,我们将无线传感网络应用于环境监测,通过探索搭建一个稳定的传感器网络,在此基础上研发一种体积小、覆盖面广、功能多样化、便捷稳定的工业园区实时监测系统。尤其对于一些危险的生产车间我们可以采用无人操作模式,只要把传感器平台置于生产车间,采用无线收发数据模式就可以进行环境监测,使它易于操作,便于管理,可直接监测工业园区中各项环境因素的指标,进而解决环境监测成本高、监测难的问题。

 

本项目是将Atmel AVR单片机和无线传感网络投入具体领域的实用性研究。近年来兴起的ZigBee无线传输技术具有低能耗、较远传输距离、组网简单、抗毁性强等优点,因而得到广泛地推广和应用。其与Atmel AVR单片机的结合,必将增加该领域的又一解决方案,为环境监测和保护做出巨大贡献。同时也激励我们进一步探索基于ATMEL最新MCU及Xmega和UC3系列产品的创新设计,争做21世纪有用的创新人才。

 

二、需求分析

 

2.1 功能要求

 

本系统在大范围环境监测的基础上,以无线传感网络为研究平台,主要进行工业园区或生产车间内的环境数据的有效采集和传输。各采集节点分布于所需检测的环境中,采用Atmel AVR单片机控制各个传感器,节点之间由ZigBee协议搭建无线局域网,将数据传送到控制中心,以实现环境的无线实时检测。下面为系统的整体架构图:

 

 

图1 系统架构

 

2.2 性能要求

 

本系统分为两部分,由上层控制中心和下层传感节点组成。生产管理人员可以通过监控中心的上位机读取当前的环境参量,对当前的车间环境进行管理;同时还可以使用自定义的中断查询机制,通过向网络发送读取请求,使网络中的节点响应中断,上传当前检测值。当然,根据需要,节点本身也可以采用LCD即时显示采集结果。众多传感节点共同组成无线传感网络,该网络具有很好的扩展性,可以随意地增减节点,对网络的拓扑结构和组网模式无太大影响,因而可以根据实际需要增加或减少监控节点的数量,以达到最优化监测。

 

三、方案设计

3.1 系统功能实现原理

下面为该系统实现的硬件功能结构框图:

 

图2 系统硬件结构框图

 

3.2 硬件平台选用及资源配置

在整个硬件平台的设计中,节能是一个重要因素,它决定着传感器网络的寿命。当节点目前没有传感任务并且不需要为其他节点转发数据时,调节节点的无线通信模块、数据采集模块进入休眠状态以节省能耗。同时为控制子节点选择合适的地点,提供较充足的能源,以便延长节点使用寿命,提高监测预警系统的有效性。

 

3.2.1节点组成

节点主要由四部分组成:包括数采控制单元、微处理单元、无线通信单元、供电单元,见下图:

 

图3 节点组成图示

 

1 、数采控制单元

数采控制单元主要负责实现数据信息的采集,本系统采用的多数传感器集成了单片机和ADC模块,可以直接输出数字量。

(1)数字温湿度传感器

 

数字式温湿度传感器是把温度和湿度,通过温、湿度敏感元件和相应电子电路转换成易于采集和读取的数字信号的传感器。本项目拟采用SHT10传感器来完成温、湿度的采集。SHT10是Sensirion公司推出的新型集成数字式温、湿度传感器。该传感器采用CMOSens专利技术生产,具有超小体积(表面贴装)、响应速度快、接口简单、性价比高等特点,且其相对湿度和温度的测量兼有露点输出;功耗低,能自动休眠;长期稳定性非常出色。适合本项目的开发。其功能引脚图如下(图4)

 

图4 SHT10引脚图

 

引脚说明及接口电路:

①电源引脚(VDD、GND)

 

SHT10的供电电压为2.4V~5.5V。传感器上电后,它从“休眠”状态恢复过来。在此期

 

间不发送任何指令。电源引脚(VDD和GND)之间可增加1个100nF的电容器,用于去耦滤波。

 

②串行接口

SHT10的两线串行接口(bidirectional 2-wire)在传感器信号读取和电源功耗方面都做了优化处理,其总线类似I2C总线但并不兼容I2C总线。(图4中为2、3接口)

 

(2)二氧化碳浓度传感器

①CDM4161简介

CDM4161是费加罗公司生产的一种CO2气体浓度测试模块, 其在空气中对CO2有很高的选择性,CO2浓度的测量范围为400~4000 ppm,对一氧化碳和甲烷等气体不敏感,CDM4161内部集成的单片机可对传感器采集到的信号处理和自动校准,以使其输出的电平值与CO2气体的浓度保持良好的线性关系.有别于固态或者液态电解质气体传感器,CDM4161是利用半导体材料的各种化学特性将空气中含有的特定气体(即待测气体)以适当的电信号检测和定量的器件。其优点是灵敏度高、响应速度快、体积小、寿命长、便于集成化、智能化,同时能使检测转换一体化.因此,项目选用CDM4161来完成对二氧化碳浓度的实时采集转换一体化。

 

    图5

 

②CDM4161的工作原理

CDM4161对外提供5个引脚(图5),其引脚的功能描述如表一所示

 

    表一 CDM4161引脚功能表

 

工作时CDM4161引脚l接+5 V电源,引脚2输出电压范围0.4~4 V,相当于CO2气体浓度范围为400~4 000 ppm。随监测到CO2浓度的高低变化,引脚3相应输出高、低电平可以控制外部通风设备。引脚4在传感器故障时输出低电位,可通过该引脚连接蜂鸣器.以及时监测CDM4161工作状态。

(3)二氧化硫浓度传感器

二氧化硫浓度传感器采用2SH12二氧化硫半导体传感器, 2SH12二氧化硫传感器是高性能的气体检测传感器,可用于对工业中SO2气体的检测。其对二氧化硫气体有有很好的选择性,


灵敏度很高,同时具有良好的重复性和长期的稳定性及抗干扰,适合本系统的开发需求。

 

特性参数


  回路电压:(Vc)5-24V


  取样电阻:(RL)0.5-20KΩ


  加热电压:(VH)5±0.1V


  加热功率:(P)约750mW


  灵敏度:R0(air)/RS(100ppmC2H5OH)>5


   响应时间:Tres<10秒


  恢复时间:Trec<30秒

 

工作环境:温度-10-+50℃、相对湿度0-90%RH.

 

(4)一氧化碳浓度传感器

一氧化碳浓度传感器拟采用CO/CF-1000,其湿度精度最高可达到±1.8%RH,外壳耐碱耐腐蚀,可用于工业园区的一氧化碳浓度检测。

 

CO/CF-1000技术规格:

测量范围   : 0-1000 ppm(可选200ppm,300 ppm;500 ppm;2000 ppm;4000 ppm)
最大负荷   : 20000 ppm
内置过滤器  : 过滤酸性气体(可选带氢气补偿〈2%,过滤SO2和H2S)
工作寿命   : 空气中3年 
输  出   :100±20nA/ppm   4-20mA(一氧化碳检测模块)
分辨率    : 0.5 ppm
温度范围   : -20℃ to 45℃
压力范围   : 大气压±10%
响应时间 (T90): < 40 seconds
湿度范围   : 15-90 %RH(非凝结)
零点输出 (纯净空体,20℃): -1 to +3 ppm
最大零点漂移(20℃-40℃) : 10 ppm
长期漂移   : <2% /每月
推荐负载值  : 10Ω
偏置电压   : 无需               
线性度输出  : 线性
重复性    : <2%
存储温度   : 5℃ to 20℃
存储寿命   : 6个月(容器内)

 

重  量   :约13克(5.4克,32克可选)
 

2 微处理单元    

微处理器作为整个节点的控制核心,要对来自各个方面的信息作最终的判断和控制。我们拟采用AVR32 AT32UC3A(图6),其低功耗的特性和丰富强大的处理能力十分适合本系统的开发。

 

                    图 6  AVR32 AT32UC3A

 

该AT32UC3A集成了可安全和快速访问的片上闪存和SRAM存储器。

 

外设直接内存访问控制器(PDCA循环),无需处理器参与外设和存储器间的数据传输。PDCA大幅降低了处理连续的大数据的开销和在模块在微控制器间流都动的时间。

 

PowerManager提高了设计的灵活性和安全性:芯片上的欠压检测器监视电源,CPU使用片内RC振荡器或外部振荡器中之一运行时,实时时钟和与之相关的计时器会跟踪记录相关的时间。

 

定时器/计数器:包括三个相同的16位定时器/计数器通道。每个通道都可以独立编程进行频率测量,事件计数,间隔测量,脉冲生成,延迟时间和脉冲宽度调制。该AT32UC3A还具有多种通信密集型应用通讯接口。除了标准的串行接口,如UART,SPI或TWI接口外还有灵活的同步串行控制器接口、USB和以太网MAC接口等可供使用。 同步串行控制器可轻松实现串行通信协议和像I2S这样的音频标准。得益于以丰富的端点配置,它的全速USB 2.0接口支持多种USB类,OTG接口允许设备像USB闪存盘或一个USB打印机设备直接连接到处理器。

 

AT32UC3A主要特性:

A、高性能,低功耗的AVR ® 32 UC的32位微控制器

 

B、紧凑型单周期RISC指令集,包括DSP指令集

 

C、15个外设DMA通道加快了与外设通信的速度

 

D、内部高速闪存 512K字节,256K字节,版本128K字节

 

E、单周期存取高达33兆赫

 

F、 Prefetch Buffer Optimizing Instruction Execution at Maximum Speed - 优化预取缓冲器在最大速度指令执行

 

G、4ms的页编程时间和8ms的全芯片擦除时间

 

H、64K字节(512KB的闪存和256KB),32K字节(128KB闪存)

 

I、SDRAM / SRAM Compatible Memory Bus (16-bit Data and 24-bit Address Buses) - 的SDRAM / SRAM的兼容内存总线(16位数据和24位地址总线)

 

J、低延迟中断服务,可编程优先级

 

K、电源和时钟管理包括内部RC时钟和一个32kHz振荡器

 

L、看门狗定时器,实时时钟定时器

 

M、Flexible End-Point Configuration and Management with Dedicated DMA Channels - 灵活的端点配置和管理的专用DMA通道

 

N、三个外部时钟输入,脉宽调制,捕获和各种计数功能

 

O、One Master/Slave Two-Wire Interface (TWI), 400kbit/s I2C-compatible一个主/从双线接口(TWI),400kbit / s的I2C兼容

 

3 无线通信单元

 

传统的射频前端接收部分包括带通滤波器、低噪声放大器、本振、检波整形、放大器等,发射部分包括调制器、功率放大器、带通滤波器等。而单片数字信号射频收发芯片集成了无线通讯系统的大部分功能,外加少量外围器件即可构成专用或通用无线通信模块,简化了射频前端的设计。

 

本设计拟采用ATMEL公司的ATmega128RFA1芯片,该片上系统提供了低功耗ZigBee解决方案,可以实现和完成ZigBee协议中FFD与 RFD设备的功能。


•通用的2.4GHz ISM频带收发器与微控制器


•RF4CE的,SP100,的WirelessHART,ISM应用和IPv6/6LoWPAN的无线电收发器提供了从250 kb / s的高达2兆字节/秒,架高的数据传输速率处理,优秀的接收灵敏度和高传输输出功率,能够实现非常强大的无线通讯。其特性如下:

 

A、高性能低功耗,

 

B、拥有8位微控制器

 

C、先进的RISC结构


D、135条指令 -大多数为单时钟周期执行


E、32x8通用工作寄存器


F、全静态工作


G、高达16 MIPS的吞吐量,在16兆赫和1.8V


H、非易失性程序和数据存储器


I、系统内128K字节可编程闪存


J、2000写/擦除周期


K、4K字节的EEPROM


L、 内部16K字节的SRAM


                    图 7 ATmega128RFA1管脚图     

 

 

                     图 8 ATmega128RFA1内部结构图

 

 

4 .供电单元

本系统由于采用低功耗集成化器件,大大降低了功耗。预计对普通节点使用两节五号电池进行供电,而对于根节点或协调器,考虑到长期工作和其对网络组建的重要性,安排单独蓄电池为其供电。当然,在光线充足的户外环境,太阳能电池亦为节能环保的首选。

 

3.2.2串行通信接口

本系统拟采用异步串行通信实现单片机与PC机之间的数据传输,在异步串行通信中应用最广泛的标准接口就是RS232C。RS232C是由美国电子工业协会EIA公布的通信协议,适合于较短距离的通信场合(一般小于13米)。AVR32 AT32UC3A有两个全双工的串行通信模块:USART0和USART1。通过对相应寄存器的设置可使这两个模块工作于异步串行通信UART模式。本系统将USART1模块设置为异步串行通信模式,而个人PC机上RS232C接口已经成为一种标准配置,所以连接起来比较方便,只需要完成电平转换,就可连接通信。   

 

3.2.3 拟采用的其他模块

键盘操作模块和液晶显示模块构成人机接口。人机接口使系统具有良好的人机交互界面。LCD显示模块可以直观显示当前各个传感器模块的数据,液晶拟采用LCM2401281,通单片机进行控制,方便功能扩展。 键盘输入模块实现对微处理器的直接操作 ;存储器模块实现各个模块采集数据的存储,实现了当无线传输网络发生问题时对信号依然进行正常的记录,提高了整套系统的稳定性;报警器模块通过发出声音报警起到提示作用,当无线传输终端发生错误时不影响对实际情况的判断与及时措施的采取。

 

3.3系统软件架构

3.3.1无线网络软件设计

 

(1)中断程序

 

网络允许节点以一定的周期自动上传数据,也支持响应由上位机发送的中断请求进行数据被动上传,其中节点MCU控制端的中断相应控制程序分别如图9、10.

 

 

         图9主程序图                                      图10中断流程

 

(2)节点软件设计

 

A、单节点加入和退出网络

当某个节点要加入网络,它向周围发送入网请求,周围节点接收到此信号后等待其他节点发送响应(其中包括自身节点等级和本级节点数是否已满),并依据RSSI强弱排序,建立本节点周围节点状况的联络列表设置,而最终选择这其中最高级可入网节点(假定为入网目标节点),向目标入网节点发送入网请求并等待,当接收到入网目标节点的同意命令并被分编号后,节点就成功加入了网络。之后目标入网节点会将节点加入信息在下一次采集数据时同时逐次将节点入网信息上传,通知主控制台。

 

当某节点因电池电压过低,或临时要退出网络时会发送退出请求,当接收到上一级节点的同意应答后,将自动休眠或关机,退出网络。而其上一级节点也将同时删除其相应信息。

数据采集端程序

B、节点发送数据设计

终端节点程序设计

 

当前本系统拟采用简单的时分复用解决碰撞问题,在后期研究过程中将考虑利用更有效的其他方式。这样不同节点在固定时段进行工作,当进入工作周期后,节点进入工作模式根据定时器和MCU的调节工作,当采样时间到后,节点启动,采集数据,发送并等待应答,若接收到上级节点的正确应答,就说明数据发送成功,然后进入休眠;否则继续发送,直到成功(但设定最高次数,超过最高次数就认为出现故障,进行报警),如图11:

 

若在节点休眠期间接收到唤醒信号,则响应中断,保护现场,发送当前数据并等待应答,若接收到上级节点的正确应答,就说明数据发送成功,然后进入休眠;否则继续发送,直到

 

成功(但设定最高次数,最高次数就认为出现故障进行,报警)如图12:

 

 

图11                          图12

 

较高级节点接收程序设计

 

进入接收模式的高级节点进行数据接收,并对接收到的数据进行校验,若正确则发送应答包,回复节点,否则,要求节点继续发送。如图13:

 

图13

 

(3)单片机与PC机串行通信软件接口设计:

软件系统主要包括PC 机端(即上位机) 和单片机(即下位机) 的通信程序设计。上位机采用VC开发软件提供的MSComm控件来完成串口数据的发送和接收功能。通过此控件, PC机可以利用串行口与其他设备实现轻松连接,简单高效地实现设备之间的通信。可以通过串口与上位机(微机)的通信,拟选用接口芯片MAX232。MSComm 控件的事件响应有两种处理方式:

 

事件驱动方式和查询方式。事件驱动方式由MSComm 控件的On2Comm 事件捕获并处理通讯错误及事件;查询方式通过检查CommEvent 属性的值来判断事件和错误。

 

3.3.2上位机软件设计

PC机通过接口电路和接口程序从下位机采集到的信息包括:传感节点的编号,传感节点的工作状态,传感节点采集时的环境变量,所有数据存储在数据库中。用户既可以实时观测,又可主动查询。我们打算使用MFC可视化编程设计实现。

 

(1)用户查询程序实现和操作界面设计:

 1)监测实时动态显示界面(以温度为例)

 

图14实时监测示例

 

2)历史数据回查界面示例

 

图15历史数据回查示例

 

 

3)异常数据短信报警示例

系统将监测到的数据与预置的上下门限值进行比较,对异常数据进行报警(预计对3次以上的异常数据报警)

 

<p style="margin-left:81pt;color:#333333;font-family:微软雅黑, Tahoma, 'Helvetica Neue', Helvetica,

关键词: AVR 环境监测 AT32UC3A Zig

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关电路