基于无线传输的仓库多点温度智能监控系统设计

基于无线传输的仓库多点温度智能监控系统设计

摘要:设计了一种由ATMEGA16单片机、无线模块和DS18B20温度传感器构成的多点温度智能监控系统,介绍了系统组成结构、工作原理、硬件电路和软件设计,适用于复杂环境下的仓库温度监测,具有结构简单、成本低、功耗低等特点。本设计由远程终端单片机实时采集温度数据,通过无线数传模块上传给主监控中心,主监控中心根据所测量数据向远程终端单片机发出无线信号控制外部降温设备的运行,保证仓内合适的温度环境。

关键词:ATMEGA16 无线模块DS18B20

The design of the warehouse based on the system of multi-spot temperature intelligent monitoring of

wireless transmission

Abstract:We designed a multi-point temperature intelligent surveillance system that consists of the ATMEGA16 microcontroller, wireless module and the temperature sensor DS18B20.This paper presents its system structure, working principle,as well as hardware circuit and software design. The system is suitable for temperature monitoring for warehouse in complex environments.It features a simple structure, low cost and power consumption,among others.The design of the remote terminal microcontroller collected real-time temperature data,through the wireless module to the main control center, the main control center according to the measurement data sent to the remote terminal microcontroller wireless signals to control external cooling equipment operation, to ensure proper temperature warehouse environment.

Keywords: ATMEGA16 wireless module DS18B20

目录

第一章绪论 (4)

1.1 课题设计背景和意义 (4)

1.2 系统功能说明 (4)

第二章方案论证 (5)

2.1 系统总体方案论证 (5)

2.2 单片机的选择 (5)

2.3 显示器的选择 (6)

2.4 串口通信方案论证 (6)

2.5 数据传输方案论证 (7)

第三章系统硬件电路设计 (8)

3.1 总体硬件电路设计 (8)

3.2 单片机主控制电路设计 (8)

3.2.1 ATMEGA16单片机介绍 (8)

3.2.2 ATMEGA16引脚功能 (9)

3.2.3 A VR与其他8位单片机的比较 (11)

3.2.4 ATMEGA16单片机最小系统电路 (11)

3.3 LCD显示模块的设计 (12)

3.3.1 1602字符液晶简介 (12)

3.3.2 1602管脚说明 (12)

3.3.3 字符集 (13)

3.3.4 显示地址 (14)

3.3.5 基本的读写时序图 (15)

3.3.6 1602与单片机连接 (15)

3.4 无线数据收发模块的设计 (15)

3.4.1 无线模块的相关参数 (15)

3.4.2 XL02-232AP1的接口电路说明 (17)

3.5 数据采集模块 (18)

3.5.1 温度传感器DS18B20简介 (18)

3.5.2 DS18B20的主要特性 (19)

3.5.3 DS1820使用中注意事项 (19)

3.6 声光电路设计 (20)

3.6.1 声控电路设计 (20)

3.6.2 光控电路设计 (21)

3.7 上位机接口模块的设计 (22)

3.7.1 串行异步通信 (22)

3.7.2 RS-232技术 (23)

3.7.3 MAX232数据操作原理 (23)

3.7.4 MAX232电路设计 (24)

第四章系统软件设计 (25)

4.1 主程序设计 (25)

4.2 按键程序设计 (25)

4.3 温度报警程序设计 (27)

4.4 上位机软件流程设计 (27)

第五章总结 (30)

5.1 测试环境及工具 (30)

5.2 设计总结 (30)

致谢 (31)

参考文献 (32)

附录 (33)

整机系统运行图片 (33)

单片机部分程序 (33)

第一章绪论

1.1 课题设计背景和意义

数字温度传感器广泛应用于各种监测系统中,如工农业生产、气象、环保、医学等,它们已影响到我们各方面的日常生活。因此,研究温度传感器的测量精度和远程智能监控具有重要的意义。

目前应用于仓库的温度监测系统大多由温度传感器、AD转换器及单片机等组成。这种系统需要在仓库内布置大量的电缆才能把现场各点传感器采集的信号送到监控中心,系统安装和拆卸复杂,而且不具有灵活性,监测的位置较为固定。现介绍的利用ATMEGA16单片机作为控制器,利用微型计算机控制和短距离无线通信技术,设计了一种成本低、功耗低、结构简单和便于安装的仓库温度多点智能监控系统。

现在市场上的无线通信系统很多都是复杂的系统,通常涉及到高频的领域,设计无线数传产品往往需要相当的无线电专业知识和价格高昂的专业设备,传统的电路方案不是电路繁琐就是调试困难,因而影响了用户的使用和新产品的开发,XL02-232AP1无线通讯芯片采用具有较强抗干扰能力的FSK调制方式,工作频率稳定可靠,功耗低,适合于便携式及手持式产品的设计,由于采用了低发送功率和高接收灵敏度的设计,因而可以满足无线管制要求,无需使用许可证,是目前低功率无线数据传输的理想选择,可广泛用于控制、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集、无线标签、身份识别、非接触RF智能卡、小型无线数据终端、安全防火、无线遥控、生物信号采集、水文气象监控、机器人控制等系统。目前市场上对于单片机之间的无线通信很少,高校也没有相关的课程,研究的也不多,由于单片机无线通信系统成本不高,研发费用低而且应用广泛,可见市场前景是很大的。还可以将系统集成化小型化,开发各种应用系统,投入市场,这就是赋予本设计的实际意义。

1.2 系统功能说明

基本功能说明:

1. 采集多点温度并实时显示,同时可以单独查看各点的温度。

2. 设置温度上下限,超过范围做声光报警处理。

3. 温度数据的无线传输、远程显示及监控处理。

第二章方案论证

2.1 系统总体方案论证

方案一:采用数字电路方式,利用逻辑电路构成控制部分,开关实现数值的输入,而且由于整个系统采用数字信号控制方式,仅仅显示部分的硬件就非常庞大,可见整个系统的硬件电路非常的复杂,并且控制的方式也不容易实现。

方案二:采用单片机来实现控制。通过键盘的功能键控制单片机实现各个功能,单片机软件编程灵活、自由度大,可编程实现温度传感器的控制及运行;并且程序都模块化,方便利用。硬件电路方面与方案一相比较非常简单,在硬件确定的情况下,只要修改程序就能使整个系统达到设计要求。

故相比较而言,采用方案二来实现此设计。

整个系统采用ATMEGA16作为主控芯片,通过单片机的串口TXD和RXD 对XL02-232AP1无线收发芯片实现控制并实现数据的输入和输出。为了跟上计算机发展的步伐,能够实现实际应用中与PC机的人机交互,就必须通过一个电平转换电路,将下位机的数据信息传输给上位机,而这个电平转换电路采用电平转换电路芯片MAX232。另外的设计部分还有显示和按键,显示部分采用了低功耗、使用方便的LCD1602液晶屏,按键部分因为数量少,所以采用了简单的独立式按键,方便程序的编写。将各个部分连接起来就构成了系统的硬件部分,软件部分主要是对单片机进行编程,主要编写各个子程序,例如键盘子程序、数据收发子程序、显示程序和一些控制程序,将硬件和软件结合并通过调试就可以实现单片机的无线串口通信。

2.2 单片机的选择

方案一:采用STC89C52单片机,40脚直插,工作电压5V,51内核兼容性强。该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,用MAX232下载程序。但是此单片机响应速度稍慢,无法完成个别快速显示的需要。

方案二:采用ATMEGA16单片机,性价比远高于51,高速、RISC结构,主频最高达20MHz;低功耗,宽电压,1.8V~5.5V,最低全速运行功耗<300uA;IO 口驱动能力强,推拉电流能力均达30mA,可以直接驱动蜂鸣器、继电器等;片内资源丰富,外部中断、定时/计数器、UART、SPI、IIC、ADC、模拟比较器;型号

齐全,而且40脚以下的A VR均具有DIP的封装形式。因A VR的时钟源(晶振、内部RC等)不经过分频直接提供给CPU使用,而51的CPU主频等于晶振的12分频,同等条件下响应速度较快,因此选用ATMEGA16作为主控单片机。

2.3 显示器件的选择

方案一:采用LED数码管显示。LED数码管也称半导体数码管,是目前数字电路中最常用的显示器件。它是以发光二极管作笔段并按共阴极方式或共阳极方式连接后封装而成的。数码管只能显示固定数字和字母,而且其接口及驱动电路比较复杂,如图2.1。

图2.1 数码管与单片机连接图

方案二:采用LCD显示。LCD显示具有接口简单,可显示文字、图形,输出信息相当丰富,并具有一屏输出多路信息的特点,比较适合本设计,同时对液晶的控制口线也不多。

由于LED数码显示器显示方面的局限性,不能提供文字画面显示。而LCD灵活的接口方式和简单、方便的操作指令,可构成人机交互图形界面,低电压低功

耗是其又一显著特点。综上所述:同时考虑到本设计要显示多路数字信息,采用LCD显示信息比较方便。故采用LCD液晶屏显示。

2.4串行通信方案论证

方案一:RS-232串口通信方案。利用RS-232串口通信及现场总线技术,可方便地实现1台微机与多台机器的近距离通信,通用性好,成本低。

方案二:RS-485串口通信方案。RS-485半双工异步通信总线是一种被广泛使用的数据通信总线。它具有通信距离远、通信速度高、成本低等特点。在远程监控系统中,由于设备数量多,分布较远,现场的各种干扰也较大,往往通信的可靠性及质量不高。RS-485收发器采用的平衡发送和差分接收具有抑制共模干扰的功能,加上收发器具有很高的灵敏度,能检测低达200mV的电压。因此,传输信号可在千米以外得到恢复。

因为这次课题并不是运用在真正的实际运作当中,所以我采用了方案一。如果是在实际场合中使用,建议采用方案二。

2.5数据传输方式方案论证

方案一:电缆传输方案。电缆数据传输的主要好处有:1.数据传输速度快;2.数据不易丢失,可靠性强。

方案二:无线传输方案。无线数据传输解决了地域的局限性,解决了拉线拉网的烦恼,具有很强的发展空间和运用前景。

虽然电缆的传输速率高、可靠性强,但价格昂贵。而无线传输成本低,没有地域限制,所以我采用方案二。

第三章系统硬件电路设计

3.1 总体硬件电路设计

系统总体电路主要由单片机单片机主控制电路,LCD显示模块,按键控制电路,无线数据收发模块,数据采集模块以及声光显示模块部分。下图3.1为系统部分电路图。数据终端包含4个区,分别是:MAX232电平转换模块,无线数据收发模块,上位机接口模块,声光显示模块。

图3.1 系统部分电路图

3.2 单片机主控制电路设计

3.2.1 ATMEGA16单片机介绍

ATMEGA16是基于增强的A VR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATMEGA16的数据吞吐率高达1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。

ATMEGA16 A VR 内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构见图3.2大大提高了代码效率,并且具有比普通的CISC微控制器最高至10 倍的数据吞吐率。

图3.2 ATMRGA16内部结构图

ATMEGA16有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512字节EEPROM,1K字节SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP封装)的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。

本芯片是以Atmel高密度非易失性存储器技术生产的。片内ISP Flash允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于A VR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlash Memory)。在更新应用Flash存储区时引导Flash 区(Boot Flash Memory)的程序继续运行,实现了RWW 操作。通过将8 位RISC CPU与系统内可编程的Flash集成在一个芯片内,ATMEGA16成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。

3.2.2 ATMEGA16引脚功能

端口A(PA7..PA0)端口A做为A/D转换器的模拟输入端。端口A为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输

出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A处于高阻状态。

端口B(PB7..PB0)端口B为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。端口B也可以用做其他不同的特殊功能。

端口C(PC7..PC0)端口C为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C处于高阻状态。如果JTAG接口使能,即使复位出现引脚PC5(TDI)、PC3(TMS)与PC2(TCK)的上拉电阻被激活。端口C也可以用做其他不同的特殊功能。

端口D(PD7..PD0)端口D为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D处于高阻状态。端口D也可以用做其他不同的特殊功能。

RESET复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的脉冲不能保证可靠复位。

XTAL1反向振荡放大器与片内时钟操作电路的输入端。XTAL2反向振荡放大器的输出端。

A VCC A VCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC连接。

AREF A/D的模拟基准输入引脚。

下图3.3为ATMEGA16引脚功能图

图3.3 ATMEGA16引脚功能图

3.2.3 A VR与其他8位单片机的比较

1.哈佛结构,具备1MIPS/MHz的高速运行处理能力;

2.超功能精简指令集(RISC),具有32个通用工作寄存器,克服了如8051 MCU

采用单一ACC进行处理造成的瓶颈现象;

3.快速的存取寄存器组、单周期指令系统,大大优化了目标代码的大小、执行

效率,部分型号FLASH非常大,特别适用于使用高级语言进行开发;

4. 作输出时与PIC的HI/LOW相同,可输出40mA(单一输出),作输入时可

设置为三态高阻抗输入或带上拉电阻输入,具备10mA-20mA灌电流的能力;

5.片内集成多种频率的RC振荡器、上电自动复位、看门狗、启动延时等功能,

外围电路更加简单,系统更加稳定可靠;

6.大部分A VR片上资源丰富:带E2PROM,PWM,RTC,SPI,UART,TWI,

ISP,AD,Analog Comparator,WDT等;

7.大部分A VR除了有ISP功能外,还有IAP功能,方便升级或销毁应用程序。

3.2.4 ATMEGA16单片机最小系统电路

下图3.4为ATMEGA16单片机最小系统典型电路图,主要由时钟电路及复位电路组成。

图3.4 ATMEGA16单片机最小系统电路图

3.3LCD显示模块的设计

3.3.1 1602字符液晶简介

字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,工业字符型液晶,能够同时显示16X2即32个字符(16列2行)。注:为了表示的方便,后文皆以1表示高电平,0表示低电平。一般1602字符型液晶显示器实

物如图3.5。

3.3.2 1602管脚说明

1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线,VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样。具体管脚说明见下表3.1。

表3.1 1602管脚定义表

3.3.3 字符集

1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如'A'。下图3.6是1602的16进制ASCII码图:

图3.6 1602的ASCII码图

读的时候,先读上面那列,再读左边那行,如:感叹号的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)。

3.3.4 显示地址

下图3.7为1602显示地址图

图3.7 1602显示地址图3.3.5 基本的读写时序图

读写操作时序如图3.8所示:

图3.8 1602读写操作时序图3.3.6 1602与单片机连接

下图3.9为连接图

图3.9 1602与单片机连接图

3.4无线数据收发模块的设计

3.4.1 无线模块的相关参数

XL02-232AP1 是UART 接口半双工无线传输模块,可以工作在433MHz 公用频段。此模块专为用于各种串口之间的无线通讯,如电脑,单片机,各种机器设备串口等,完全兼容有线通讯串口协议,使用简单方便灵活。

XL02-232AP1 的各项参数及技术指标(表3.2):

工作频率在428.8-435.1MHz(默认433.92MHZ )

可设置ID:范围0-65535默认ID:12345

串口速率1.2K---115.2KBPS (默认9.6KBPS)

数据格式8N1

表3.2 XL02-232AP1参数及技术指标表

工作频率428.5-435.1MHz

调制方式FSK

发射功率0dBm /5dBm /10dBm /15dBm(默认15dBm)

接收灵敏度-110dBm

工作电压+5V

谐波<-60dBc

杂散<-60dBm

串口速率 1.2k/2.4k/4.8k/9.6k/19.2k/38.4k/57.6k/115.2k

发射电流24mA@0dBm、29mA@5dB、38mA@10dBm、

45mA@15dBm

接收电流16mA

接口数据格式8N1

用户接口方式TTL

工作温度-30℃~70℃

工作湿度10%~90%相对湿度,无冷凝

外形尺寸24mm×40mm

3.4.2 XL02-232AP1的接口电路说明

下图3.10为无线模块的接口连接电路图。该模块共7个引脚,各引脚定义如下:引脚1:VCC,接+5V

引脚2:GND,接地

引脚3:TXD,串口信号发送端,接单片机的RXD

引脚4:RXD,串口信号接收端,接单片机的TXD

引脚5:SET,模块内部参数设置端,低电平有效

引脚6:GND,接地

引脚7:NC,空脚

图3.10 无线模块的接口连接电路图

3.5 数据采集模块

3.5.1 温度传感器DS18B20简介

DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式,温度测量范围为-55℃~+125℃,可编程为9位~12位A/D 转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,也可采用寄生电源方式产生,多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信(每个温度传感器的ROM里有不同的识别号码),占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。

DS18B20内部结构如图3.11所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如图3.12所示,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端。

ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同,ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

图3.11 DS18B20内部结构图图3.12 DS18B20管脚图3.5.2 DS18B20的主要特性

(1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电。

(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。

(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。

(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。

(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。

(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。

(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。

(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

3.5.3 DS1820使用中注意事项

DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点。

但在实际应用中也应注意以下几方面的问题:

较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。

在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。

连接DS1820的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。

在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。

3.6 声光电路设计

3.6.1 声控电路设计

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,

相关文档
最新文档