优秀毕业论文(设计):基于单片机(MCU)的蔬菜大棚温湿度监测系统设计.doc_第1页
优秀毕业论文(设计):基于单片机(MCU)的蔬菜大棚温湿度监测系统设计.doc_第2页
优秀毕业论文(设计):基于单片机(MCU)的蔬菜大棚温湿度监测系统设计.doc_第3页
优秀毕业论文(设计):基于单片机(MCU)的蔬菜大棚温湿度监测系统设计.doc_第4页
优秀毕业论文(设计):基于单片机(MCU)的蔬菜大棚温湿度监测系统设计.doc_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的蔬菜大棚温湿度监测系统设计目 录中文摘要.I英文摘要.II绪 论 .11 系统总体方案及传感器选型 .31.1 系统总体设计方案简述.31.2 系统的工作原理.31.3 传感器的选型.41.3.1 温度传感器的选型.41.3.2 湿度传感器的选择.52 传感器及其硬件电路设计 .62.1 温度传感器 DS18B20 介绍.62.2 湿度传感器 HS1101 介绍.112.3 硬件电路设计.162.3.1 温度测量电路.162.3.2 湿度测量电路.163 人机接口电路.173.1 键盘部分.173.2 显示部分.173.3 报警电路设计.183.4 RS-485 异步半双工通信总线.194 软件设计.204.1 主程序流程图.204.2 按键扫描子程序流程图.214.3 温度程序流程图.224.4 湿度程序流程图.24结束语.25致 谢.26参考文献.27附录 1.28附录 2.37基于单片机的蔬菜大棚温湿度监测系统设计I基于单片机的蔬菜大棚温湿度监测系统设计摘 要本设计首先给出了基于单片机的蔬菜大棚温湿度监测系统的总体方案,描述了温度传感器 DS18B20 和湿度传感器 HS1101 的工作原理;其次,进行了硬件电路的设计,包括温度测量电路、湿度测量电路、键盘与显示电路以及报警电路;然后在硬件部分的基础上又进行了软件部分的设计,包括主程序流程图、按键扫描子程序流程图和温湿度程序流程图,最后运用 C 语言对各个部分进行了编程。通过实践证明,该系统具有性能好、操作方便等优点,并且实现了对温湿度的测量、显示、调节和报警功能。关键词 单片机 温度传感器 湿度传感器 基于单片机的蔬菜大棚温湿度监测系统设计IITHE MONITORING SYSTEM OF THE TEMPERATURE AND HUMIDITY BASED ON SINGLE CHIP MIRCROCOMPUTER ABSTRACTIn this paper, we first present the general scheme of the monitoring system of the temperature and humidity based on single chip microcomputer, and describe the working principle of the temperature sensor DS18B20 and the humidity sensor HS1101. Secondly, this paper designed the hardware electric circuits which include temperature measurement circuit, humidity measurement circuit, key and display circuit and alarm circuit. Then on this basis, it designed the software, this software part includes main program flow diagrams, the key-press scanning subprogram flow diagrams and temperature and humidity program flow diagrams. Finally, using C language programmed each part of the scheme. Prove through practice the system has the advantage of better performance and convenient operation, and also realized the measurement, display, regulation and alarm function of temperature and humidity.KEY WORDS single chip microcomputer the temperature sensor the humidity sensor基于单片机的蔬菜大棚温湿度监测系统设计3绪 论 温湿度是衡量温室大棚的重要指标,它直接影响到栽培作物的的生长和产量,为了能给作物提供一个合适的生长环境,首要问题是加强温室内的温湿度的检测, 传统的方法是用与湿度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。因此我们需要一种造价低廉、使用方便且测量准确的温湿度测量仪。本设计即是针对这一问题,设计出了能够实现温湿度自动检测,显示,上下限报警等多功能的温湿度监测控制系统。 在传统的温度测量系统设计中,往往采用模拟技术进行设计。温度传感器一般采用热电阻、热电偶等模拟器件,需要额外加补偿电路,安装复杂,成本较高。而且必须经过 A/D 转换后才可以被微处理器识别和处理。这样就不可避免地遇到诸如引线误差补偿、多点测量中的切换误差和信号调理电路的误差等问题;而其中某一环节处理不当,就可能造成整个系统性能的下降。而 DS1820 新型单总线数字温度传感器,采用 3 脚(或 8 脚)封装,从 DS1820 读出或写入数据仅需要一根 I/O 口线,而且测量精度达到 12 位,最低精确到小数点后 4 位有效数字。用这种智能化数字式传感器的优胜显而易见。 现代湿度测量方案最主要的有两种:干湿球测湿法,电子式湿度传感器测湿法。下面对这两种方案进行比较: 干湿球湿度计的特点:干湿球湿度计的准确度只有 57RH。干湿球测湿法采用间接测量方法,通过测量干球、湿球的温度经过计算得到湿度值,因此对使用温度没有严格限制,在高温环境下测湿不会对传感器造成损坏。干湿球测湿法的维护相当简单,在实际使用中,只需定期给湿球加水及更换湿球纱布即可。与电子式湿度传感器相比,干湿球测湿法不会产生老化,精度下降等问题。所以干湿球测湿方法更适合于在高温及恶劣环境的场合使用。 电子式湿度传感器的特点: 电子式湿度传感器的准确度可以达到 23RH。电子式湿度传感器的精度水平要结合其长期稳定性去判断,一般说来,电子式湿度传感器的长期稳定性和使用寿命不如干湿球湿度传感器。湿度传感器是采用半导体技术,因此对使用的环境温度有要求,基于单片机的蔬菜大棚温湿度监测系统设计4超过其规定的使用温度将对传感器造成损坏。所以电子式湿度传感器测湿方法更适合于在洁净及常温的场合使用。 系统完成后可以通过温度传感器 DB18B20 和湿度传感器 HS1101 对大棚温室内的温湿度进行测量,通过单片机 AT89S51 对采集到的数据进行处理,用LED 显示出当前环境的温湿度状况,其中温度可以有操作人员根据不同作物所需的最适宜温度进行调节,当环境温度和设置的最适宜温度之差大于 3时,报警装置即会启动。基于单片机的蔬菜大棚温湿度监测系统设计51 系统总体方案及传感器选型1.1 系统总体设计方案简述 该温湿度测控系统是由数据采集和处理系统和报警系统组成,由温度、湿度传感器,显示器,键盘与报警电路等组成。通过对信号的采集、分析、处理,然后输出信号来使执行部件进行动作,使温室大棚达到所要求指标。1.2 系统的工作原理温湿度测控系统能完成数据采集和处理、显示、串行通信、输出控制信号,实现人机对话等多种功能。由数据采集及处理、单片机、控制和人机接口等 4个大的部分组成。该测控系统具有实时采集(检测温室大棚内的温湿度) 、实时处理(对监测到的温湿度值进行比较分析,决定下一步控制进程) 、实时控制(根据处理的结果发出控制指令,指挥被控对象动作)的功能。主要硬件包括温度传感器,湿度传感器,AT89S51 单片机、数据采集电路、LED 显示器、发光二极管、蜂鸣器、键盘等。其原理结构图如图 1-1 所示:复位电路湿度传感器处理电路温度传感器AT89S51单片机键盘显示电路报警电路485 半双工收发器图 1-1 原理结构图基于单片机的蔬菜大棚温湿度监测系统设计6 首先充分考虑气候、环境因素对植物的影响,并根据温室大棚内植物保持正常状态所需的温度和湿度,设计出温湿度参考值预先存储于单片机中。系统的数据采集部分是将温湿度传感器置于温室内部,测出室内的温湿度值之后送入 AT89S51 单片机中,然后 LED 显示出温湿度测量值。单片机将预设的参考值与测量值进行比较,根据比较结果做出判断。当温湿度值超过允许的误差范围,系统将发出报警,如果有必要,工作人员还可以根据实际的情况通过键盘来人工修改片内存储的预设值。通过对整个系统的核心单片机部分的设计,达到优化控制温湿度的目标。1.3 传感器的选型 传感器是实现测量与控制的首要环节,是测控系统的关键部件,如果没有传感器对原始被测信号进行准确可靠的捕捉和转换,一切准确的测量和控制都将无法实现。工业生产过程的自动化测量和控制,几乎主要依靠各种传感器来检测和控制生产过程中的各种参量,使设备和系统正常运行在最佳状态,从而保证生产的高效率和高质量,因此选择正确的温湿度传感器在设计中起着至关重要的作用。1.3.1 温度传感器的选型 方案一:采用热电阻温度传感器 热电阻是利用导体的电阻随温度变化的特性制成的测温元件。现应用较多的有铂、铜、镍等热电阻。其主要的特点为精度高、测量范围大、便于远距离测量。 铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。按IEC标准其测温范围为-200650,百度电阻比W(100)=1.3850时,R0为100和10,其允许的测量误差A级为(0.15+0.002t),B级为(0.3+0.005t)。 基于单片机的蔬菜大棚温湿度监测系统设计7 铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工,但其电阻率小,在腐蚀性介质中使用稳定性差。在工业中用于-50180测温。 方案二:采用DS18B20作为温度传感器 DS18B20是由Dallas半导体公司生产的“一线总线”接口的温度传感器。一线总线结构具有简洁且经济的特点,可使用户轻松地组建传感器网络,从而为测量系统的构建引入全新概念,DS18B20的测温范围为-55+125,在-10+85范围内,精度为0.0625,现场温度可直接通过“一线总线”以数字方式传输,大大提高了系统的抗干扰性。DS18B20适合于恶劣环境的现场温度测量,如环境控制、设备或过程控制、测温类消费电子产品等。它工作在3V5.5V的电压范围,采用多种封装形式,从而使系统设计更灵活、方便,设定分辨率及用户设定的报警温度存储在EEPROM中,掉电后依然保存。综合比较方案一与方案二,方案二更为适合于本设计系统对于温度传感器的选择。 1.3.2 湿度传感器的选择 测量空气湿度的方式很多,其原理是根据某种物质从其周围的空气吸收水分后引起的物理或化学性质的变化,间接地获得该物质的吸水量及周围空气的湿度。电容式、电阻式和湿涨式湿敏原件分别是根据其高分子材料吸湿后的介电常数、电阻率和体积随之发生变化而进行湿度测量的。 方案一:采用HOS-201湿敏传感器 HOS-201湿敏传感器为高湿度开关传感器,它的工作电压为交流1V以下,频率为50HZ1KHZ,测量湿度范围为0100%RH,工作温度范围为050,阻抗在75%RH(25)时为1M。这种传感器原是用于开关的传感器,不能在宽频带范围内检测湿度,因此,主要用于判断规定值以上或以下的湿度电平。然而,这种传感器只限于一定范围内使用时具有良好的线性,可有效地利用其线性特性。 方案二:采用HS1100/HS1101湿度传感器 HS1101电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。不需校准的完全互换性,高可靠性和长期稳定性,基于单片机的蔬菜大棚温湿度监测系统设计8快速响应时间,专利设计的固态聚合物结构,由顶端接触(HS1100)和侧面接触(HS1101)两种封装产品,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件和自动装配过程等。相对湿度在1%-100%RH范围内;电容量由16pF变到200pF,其误差不大于2%RH;响应时间小于5S;温度系数为0.04 pF/。可见精度是较高的。 综合比较方案一与方案二,方案一虽然满足精度及测量湿度范围的要求,但其只限于一定范围内使用时具有良好的线性,可有效地利用其线性特性。而且还不具备在本设计系统中对温度-3050的要求,因此,我们选择方案二来作为本设计的湿度传感器。 2 传感器及其硬件电路设计2.1 温度传感器 DS18B20 介绍 测温元件采用新型的温度传感器DS18B20。DS18B20是由Dallas半导体公司生产的“一线总线”接口的温度传感器。一线总线结构具有简洁且经济的特点,可使用户轻松地组建传感器网络,从而为测量系统的构建引入全新概念,DS18B20的测温范围为-55+125,在-10+85范围内,精度为0.0625,现场温度可直接通过“一线总线”以数字方式传输,大大提高了系统的抗干扰性。DS18B20适合于恶劣环境的现场温度测量,如环境控制、设备或过程控制、测温类消费电子产品等。它工作在3V5.5V的电压范围,采用多种封装形式,从而使系统设计更灵活、方便,设定分辨率及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的内部结构如图2-1所示: 基于单片机的蔬菜大棚温湿度监测系统设计9图2-1 DS18B20的内部结构温度测量原理电路如图2-2所示:低温度系数振荡器斜率累加器计数比较器预置减法计数器减至 0温度寄存器预置高温度系数振荡器减法计数器减至 0图2-2 温度测量原理电路DS18B20 主要有 4 部分组成:64 为 ROM、温度传感器、非易失性温度报警触发器 TH 和 TL、配置寄存器。DS18B20 有三个引脚,GND 接地;DQ 数字信号的输出/输入;Vdd 为外接电源输入端。DS18B20 的封装形式及引脚排列如图 2-3 所示: 图 2-3 DS18B20 的引脚排列图 DS18B20有4个主要的数据部件: 基于单片机的蔬菜大棚温湿度监测系统设计10 (1) 光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 (2) DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。其中DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(采用寄生电源供电方式时接地)。DS18B20温度数据如表2-1所示: 表2-1 DS18B20温度数据表TEMPERATUREDIGITAL OUTPUT(Binary)DIGITAL OUTPUT(Hex)+125+85+25.0265+10.125+0.50-0.5-10.125-25.0625-550000 0111 1101 00000000 0101 0101 00000000 0001 1001 00010000 0000 1010 00100000 0000 0000 10000000 0000 0000 00001111 1111 1111 10001111 1111 0101 11101111 1110 0110 11111111 1100 1001 000007D0h0550h0191h00A2h0008h0000hFFF8hFF5EhFF6EhFC90H (3) DS18B20温度传感器的存储器 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。 (4) 配置寄存器 该字节各位的意义如表2-2所示:表2-2 配置寄存器结构TM R1 R0 1 1 1 1 1 低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在基于单片机的蔬菜大棚温湿度监测系统设计11测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示(DS18B20出厂时被设置为12位):表2-3 分辨率设置R1R0分辨率温度最大转换时间009位93075ms0110位187.5ms1011位375ms1112位750msDSl8B20工作过程中的协议如下: 初始化:ROM操作命令;存储器操作命令;处理数据。 初始化 单总线上的所有处理均从初始化开始。 ROM操作命令 总线主机检测到DSl820的存在,便可以发出ROM操作命令之一,这些命令如 :指令代码 Read ROM(读ROM) 33H Match ROM(匹配ROM) 55H Skip ROM(跳过ROM CCH Search ROM(搜索ROM) F0H Alarm search(告警搜索) ECH存储器操作命令 指令代码 Write Scratchpad(写暂存存储器) 4EH Read Scratchpad(读暂存存储器) BEH Copy Scratchpad(复制暂存存储器) 48H Convert Temperature(温度变换) 44H Recall EPROM(重新调出) B8H Read Power supply(读电源) B4H 时序 基于单片机的蔬菜大棚温湿度监测系统设计12主机使用时间隙(time slots)来读写DSl820的数据位和写命令字的位 (1) 初始化 时序见图2-4。主机总线T0时刻发送一复位脉冲(最短为480us的低电平信号),接着在tl时刻释放总线并进入接收状态,DSl8B20在检测到总线的上升沿之后,等待15-60us,接着DSl8B20在t2时刻发出存在脉冲(低电平持续60-240us),如图中虚线所示:图2-4 主机读时序(2) 写时间隙 当主机总线t0时刻从高拉至低电平时,就产生写时间隙,见图2.5、图2.6,从t0时刻开始15us之内应将所需写的位送到总线上,DSl8B20在t0后15-60us间对总线采样。若低电平,写入的位是0,见图2-5;若高电平,写入的位是1,见图2-6。连续写2位间的间隙应大于1us。 图2-5 DS18B20写0 图2-6 DS18B20写1(3) 读时间隙 见图2-7,主机总线t0时刻从高拉至低电平时,总线只须保持低电平t0一t1。之后在t1时刻将总线拉高,产生读时间隙,读时间隙在t1时刻后t2时刻前有效。t2距t0为15us,也就是说t2时刻前主机必须完成读位,并在t0后的60us一120 us内释放总线。 基于单片机的蔬菜大棚温湿度监测系统设计13 图2-7 主机读时序2.2 湿度传感器 HS1101 介绍 测量空气湿度的方式很多,其原理是根据某种物质从其周围的空气吸收水分后引起的物理或化学性质的变化,间接地获得该物质的吸水量及周围空气的湿度。电容式、电阻式和湿涨式湿敏原件分别是根据其高分子材料吸湿后的介电常数、电阻率和体积随之发生变化而进行湿度测量的。下面介绍HS1101湿度传感器及其应用。 HS1101的特点是不需校准的完全互换性,高可靠性和长期稳定性,具有快速响应时间,可以自动化焊接,包括波峰焊或水浸,专利设计的固态聚合物结构,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件和自动装配过程等。 图2-8为湿敏电容工作的温、湿度范围。图2-9为湿度-电容响应曲线。 图2-8 湿敏电阻工作的温、湿度范围 图2-9 湿度-电容响应曲线 相对湿度在1%-100%RH范围内;电容量由16pF变到200pF,其误差不大于2%RH;响应时间小于5S;温度系数为0.04 pF/。可见精度是较高的。 HUMIREL 湿度传感器 HS1101基于独特工艺设计的电容元件,这些相对湿度传感器可以大批量生产。可以应用于办公自动化,车厢内空气质量控制,家电,工业控制系统等。在需要湿度补偿的场合他也可以得到很大的应用。 HS1101的外部结构及符号如图2-10所示: 图2-10 HS1101的符号及外部结构基于单片机的蔬菜大棚温湿度监测系统设计14HS1101电容式湿度传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。如何将电容的变化量准确地转变为计算机易于接受的信号,常有两种方法:一是将该湿敏电容置于运放与阻容组成的桥式振荡电路中,所产生的正弦波电压信号经整流、直流放大、再A/D转换为数字信号;另一种是将该湿敏电容置于555振荡电路中,将电容值的变化转为与之成反比的电压频率信号,可直接被计算机所采集。 空气湿度与电压频率的典型值如表2-4所示:表2-4 空气湿度与电压频率的典型值湿度频率湿度频率%RHHZ%RHHZ073516066001072247064682071008063303069769061684068531006033506728本系统采用的是将HS1101接入555定时器组成的震荡电路中,输出一定频率的方波信号,这种方法结构简单,使用方便,因此被广泛采用,具体结构图如2-11下: 基于单片机的蔬菜大棚温湿度监测系统设计15图2-11 HS1101和NE556构成的湿度采集电路集成定时器NE555一方面可以形成单稳态电路,另一方面可以形成多谐振荡电路,本系统选用的是NE556,它内部含有两个NE555定时器,其中R1,R2,C1,C2和NE556构成多谐振荡器,外接电阻R1,R2和湿敏电容C1构成了对湿敏电容C1的充电回路,7端通过芯片内部的晶体管对地短路又构成了对C1的放电回路,并将2,6端相连引入到片内比较器。该振荡电路的两个暂稳态过程交替如下:首先是电源Ucc通过R1,R2向C2充电,经T1充电时后,Uc2充至内比较器的高触发电平,约2/3Ucc,此时输入引脚3端由高电平突降为低电平,然后通过R2放电,经T2放电时间后,Uc2下降到比较器的低触发电平,约1/3Ucc,此时输入引脚3端又由低电平跃升为高电平,如此反复,形成方波输出,其中充放电时间为: T1=C1(R1+R2)ln2 (2-1)T2=C1R2ln2 (2-2)因而输出的方波频率为: f=1/(T1+T2)=1/C1(R1+2R2)ln2=50HZ (2-3)只要改变定时元件R1和R2就可以改变脉冲的频率,从多谐振荡器出来的信号又接入到单稳态触发器,单稳态触发器它有两个触发状态,一个稳定状态,一个暂稳定状态,在外来触发脉冲作用下,能够由稳定状态翻转到暂稳定状态,而暂稳定状态维持一段时间后,再自动的返回到稳定状态,且暂稳定状态持续时间长短取决与电路本身参数,图中,R3,C3和传感器HS1101是外接地定时元件,触发脉冲Ui由5端输出,由8端输入,下降沿有效,从9端输出一个幅度,宽度都一定的矩形波信号,输出的脉冲宽度Tp为: Tp=R3(C2+Cx)ln3 (2-4)基于单片机的蔬菜大棚温湿度监测系统设计16虽然从NE556输出的是标准的脉冲信号,为了减少外界对信号的干扰,设计中采用低通滤波器,过滤掉高频信号的干扰,然后直接用单片机的定时计数器T1来测量脉宽Tp,通过脉宽值,我们可以得到湿度传感器的电容值,知道了传感器的电容值,我们就可以分析电容与湿度的关系,下图为HS1101的典型输出曲线,相对湿度在1%-99%RH之间,电容量由163pf变化到202pf,其误差不大于2%RH,响应时间小于5S,温度系数为0.04pf/。湿度传感器HS1101的典型输出曲线如图2-12所示:图2-12 HS1101的典型输出曲线根据HS1101的典型输出曲线,以及传感器的相关资料,我们可以得到电容值与湿度值的近似关系为:RH(Cx-163)/0.39 (2-5)我们可以根据前面测量出的NE556输出的脉宽值,求出相应的电容值,再根据上式,我们就可以由相应的电容值求出湿度值。2.3 硬件电路设计2.3.1 温度测量电路 温度测量采用DS18B20,它是单线传输器件,不需校正温宿,接口接的是P3.6,具体的温度测量电路如图3-1所示: 基于单片机的蔬菜大棚温湿度监测系统设计17 图 3-1 温度测量电路2.3.2 湿度测量电路 湿度测量用的是HS1101电容式湿度传感器,他与NE556组成一方波发生电路,湿度改变对应频率的变化,用单片机采集频率值进行转化得出湿度值,具体的湿度测量电路如图3-2所示:图3-2 湿度测量电路3 人机接口电路3.1 键盘部分根据该系统的实际情况,我选用了独立式键盘。独立式键盘是各个按键相互独立地连通两条输入数据线。这种键盘结构的优点是电路简单,缺点是当键的数量较多时占用的 I/O 线的数量较多。其电路结构如图 3-3 所示:基于单片机的蔬菜大棚温湿度监测系统设计18图 3-3 键盘连接3.2 显示部分 八位数码管采用动态显示方式,动态显示可节省端口,方便连接,由于每个数码管处于轮流导通状态,因此,每次只有一个数码管点亮,比静态数码管可省电。数码管显示电路如图 3-4 所示:图 3-4 显示电路3.3 报警电路设计在微型计算机控制系统中,为了安全生产,对于一些重要的参数或系统部位,都设有紧急状态报警系统,以便提醒操作人员注意,或采取紧急措施。其方法就是把计算机采集的数据或记过计算机进行数据处理、数字滤波,标度变换之后,与该参数上下限给定值进行比较,如果高于上限值(或低于下限值)则进行报警,否则就作为采样的正常值,进行显示和控制。本设计采用两个发光二级管和蜂鸣器作为报警电路。发光二级管与单片机的两个 I/O 口连接,当测定的温度或者湿度超过上下限时,二极管发光报警。蜂鸣器报警电路的设计只需购买市售的压电式蜂鸣器,然后通过 AT89S51 的 1基于单片机的蔬菜大棚温湿度监测系统设计19根口线经驱动器驱动蜂鸣器发声。压电式蜂鸣器需要约 10mA 的驱动电流,可以使用 TTL 系列集成电路 7406 或 7407 低电平驱动,也可以用一个晶体三极管驱动。在图中,当输出高电平“1”时,晶体管导通,压电蜂鸣器两端获得约+5V电压而鸣叫;当输出低电平“0”时,三极管截止,蜂鸣器停止发声。 图 3-5、3-6 为电路原理图:图 3-5 发光二级管报警电路图 3-6 三极管驱动的蜂鸣器报警电路3.4 RS-485 异步半双工通信总线 RS-485 异步半双工通信总线是被广泛使用的数据通信总线,往往应用在集中控制枢纽与分散控制单元之间。在本系统中,使用 RS-485 异步半双工通信总线,能够多点测量大棚温湿度,并与上位机连接,实现远程控制。485 总线应用电路图如图 3-7 所示:图 3-7 RS-485 总线的应用电路图 在应用系统中,主机与分机一般相隔较远,而分级系统上电或复位又常常基于单片机的蔬菜大棚温湿度监测系统设计20不在同一个时刻完成,如果在此时 DE 端电位为“1”,那么 485 总线的输出将会处于发送状态,也就是占用了通信总线,这样其他的分机就无法与主机进行通信。这种情况尤其表现在某个分机出现异常情况下(死机) ,会使整个系统通信崩溃。因此在电路设计时,应保证系统上电复位时 DE 端电位为“0”。 485 总线输出电路的设计要考虑到线路上的各种干扰及线路特性阻抗的匹配。由于工程环境的原因,现场常有各种形式的干扰,所以 485 总线的传输端一定要加有保护措施,在电路设计中采用稳压管 D1、D2 组成的吸收回路,有效地抵抗干扰。 考虑到线路的特殊情况(如一条分机的 485 芯片被击穿短路) ,为防止总线中其他分机的通信受到影响,在输出端串联了两个 20 的电阻 R34、R36,这样本机的硬件故障就不会使整个总线的通信受到影响。 在应用系统工程的现场施工中,由于通信载体是双绞线,它的特性阻抗为120 左右,所以电路设计时,在 RS-485 网络传输线的始端和末端应加一个120 的电阻(如图中 R35) ,以减少线路上传输信号的反射。 由于 RS-485 芯片的特性,接收器的检测灵敏度为200mV,即差分输入端VA-VB200mV,输出逻辑 1;VA-VB-200mV,输出逻辑 0;而 A、B 端电位差的绝对值小于 200mV 时,输出为不确定。如果在总线上所有发送器被禁止时,接收器输出逻辑 0,这会误认为通信帧的起始引起工作不正常。解决这个问题的办法是人为的使 A 端电位高于 B 端电位,这样 RXD 的电平在 485 总线不发送期间呈现唯一的高电平,8951 单片机就不会被误中断而收到乱字符,通过在485 电路的 A、B 端加接上拉电阻 R33、R37,即可很好的解决这个问题。 485 芯片的软件编程对产品的可靠性也有很大影响。由于 485 总线是异步半双工的通信总线,在某一个时刻,总线只可能呈现一种状态,所以这种方式一般适用于主机对分机的查询方式通信,总线上必然有一种始终处于主机地位的设备在巡检其他分机,所以需要制定一套合理的通信协议来协调总线的分时共用。这里采用的是数据包通信方式,通信数据是成帧成包发送的,每包数据都有引导码、长度码、地址码、地址码、命令码、内容、校验码等部分组成。其中引导码是用于同步每一包数据的引导头;长度码是这一包数据的总长度;命令码是主机对分机的控制命令;地址码是分机的本机地址号;内容是这一包数据里的各种信息;校验码是这一包数据的校验标志,可以采用奇偶校验、和基于单片机的蔬菜大棚温湿度监测系统设计21校验等不同方式。 在 485 通信的芯片中,尤其要注意对 485 控制端 DE 的软件编程。为了可靠地工作,在 485 总线状态切换时需要做适当延时,再进行数据的收发,具体做法是在数据发送状态下,先将控制端置“1”,延时 1ms 左右的时间,再发送有效的数据,一包数据发送结束后再延时 1ms 左右的时间后,将控制端置“0”。这样的处理会使总线在状态切换时,有一个稳定的工作过程。4 软件设计4.1 主程序流程图主程序流程图如图 4-1 所示:基于单片机的蔬菜大棚温湿度监测系统设计22开始初始化单片机初始化 DS18B20初始化 HS1101初始化 LED读取温度数据显示读取湿度数据返回图4-1 系统主程序流程图4.2 按键扫描子程序流程图按键扫描子程序如图 4-2 所示:基于单片机的蔬菜大棚温湿度监测系统设计23KEY0键按下KEY1键按下设定温度值加1设定温度值减1正常工作指示灯工作YYYNNN异常指示灯工作蜂鸣器报警检测到温度在正常范围 图4-2 按键扫描子程序流程图4.3 温度程序流程图温度报警程序流程图如图4-3所示:基于单片机的蔬菜大棚温湿度监测系统设计24开始总线复位跳过 ROM设置匹配 ROM发送 ROM 编号报警开始温度转换延时 1 秒显示温度DS18B20 开始温度转换是否超限制温度NY图4-3 温度报警流程图基于单片机的蔬菜大棚温湿度监测系统设计254.4 湿度程序流程图湿度测量部分程序流程图如图4-4所示:湿度处理函数重新设置定时器,计数从头来过,等待 3s后下一次结果定时器 0、1 初始化读取定时器计数值函数返回定时器设置 50ms 定时,启动定时中断对计数值求算法得湿度值,保存,以便显示调用是否中断 60次,即 3sYN图4-4 湿度测量部分程序流程图基于单片机的蔬菜大棚温湿度监测系统设计26结 束 语 本设计以满足工况需要最大限度的提高工作效率和节省人力物力为出发点,使用 AT89S51 单片机对温室大棚内的温湿度进行数据的采集、接收,处理、发送和控制。单片机采用 C 语言程序,建立模块化结构,各模块互相独立,有较高的可靠性和扩展性。可与上位机连机通讯,实行远程监控,大大提高了储存质量也节省了大量的人力物力。本设计的有优点在于操作人员可根据不同农作物的需求来设定最佳适宜温度值,在当前温度偏离所设定的适宜温度3时,报警装置发光二极管和蜂鸣器即会启动,该系统基本实现了对温湿度的测量与显示,操作人员可以根据显示指示,来判断当前温湿度是否对作物生长有利。 该系统的不足之处在于没能够实现温湿度的自动调节,可以进一步加入温湿度自动调节电路,在当前温湿度超出作物所需的最适宜条件时,启动温湿度调节装置,就可以真正的实现温湿度的自动控制。 基于单片机的蔬菜大棚温湿度监测系统设计27致 谢基于单片机的蔬菜大棚温湿度监测系统设计28参考文献1梁中明. 基于DS18B20与虚拟I(2)C总线的数字温度测量装置设计J.湖北电子报,2006.2刘迎春.传感器原理设计与应用M.北京:国防科技大学出版社,2005. 205-207. 3余成波.胡新宇,赵勇. 传感器与自动检测技术M.北京:高等教育出版社,2006.4金杰. DS18B20实现高精度温度测量J. 郑州电子报, 2005,(2005-02-27).5吴兴慧,王彩君.传感器与信号处理M.北京: 电子工业出版社,1998.6张世英,刘万莹,李仁兵. 基于AT89S51单片机的温湿度监控系统设计A.中南六省(区)自动化学会第24届学术年会会议论文集C, 2006.7新型单片机AT89S51及其应用举例J. 1996. 8苏家健,曹柏荣,汪志峰. 单片机原理及应用技术M .北京:高等教育出版社,2006.9赵娜,赵刚.基于51单片机的温度测量系统J.微计算机信息,2007,23(1):146148.10刘攀,俞杰.基于单片机的温度测控系统J.兰州交通大学学报,2005,6(12):103106.11黄明,梁旭,岳洋.基于CAN总线设计实现的数据采集监控系统J.化工自动化及仪表,2010,37(6):79-81.12张培仁,孙力.基于C语言C8501F系列微控制器原理与应用M.北京:清华大学出版社,2007.13Oregano Systems. MC8051 IP Core User Guide z.Oregano Systems.2002.6.14冯显英,葛荣雨.基于数字温湿度传感器SHT11的温湿度测控系统J.自动化仪表,2006,27(1):5961.15李俊,张晓东.基于单片机的温湿度检测与控制系统研究J.微计算机信息,2008,24(17):116118.16陶然,王树文.智能化温室环境控制系统的研究J.农机化研究,2003,33(2):5355.17Sensirion Company.SHT1 x/SHT7x humidity temperature sensor datasheetZ. 2005.基于单片机的蔬菜大棚温湿度监测系统设计29附录 1:程序清单/*/ #include reg52.h #include intrins.h /_nop_();延时函数用#include string.h #define Disdata P1 /段码输出口 #define uchar unsigned char #define uint unsigned int /* 485通信命令 */#define _ACTIVE_ 0 x01 / 主机询问从机是否存在#define _GETDATA_ 0 x02 / 主机发送读设备请求#define _OK_ 0 x03 / 从机应答#define _STATUS_ 0 x04/ 从机发送设备状态信息#define _MAXSIZE 0 x08 / 缓冲区长度#define _ERRLEN 12 / 任何通信帧长度超过12则表示出错uchar dbuf_MAXSIZE; / 该缓冲区用于保存设备状态信息uchar dev=1; / 该字节用于保存本机设备号unsigned int S,G,TH,RS; unsigned char B1,B2,B3;/定义数的各位数,分别为百,十,个位 uint number; unsigned char num=0; sbit DQ=P36; /温度输入口sbit HS=P35; /湿度输入口 sbit DIN=P17; /LED小数点控制 sbit LED1=P22; sbit LED2=P23; sbit BEEP=P27; /蜂鸣器输出口 sbit key1=P20; 基于单片机的蔬菜大棚温湿度监测系统设计30sbit key2=P21; sbit S1=P00; /位选端sbit S2=P01; sbit S3=P02; sbit S4=P03; sbit S5=P04; sbit S6=P05; sbit S7=P06; sbit S8=P07; sbit M_RE=P26; /接收器使能,0有效sbit M_DE=P25; /驱动器使能,1有效uint h,T; uint temp; uchar coad ASCii=48,49,50,51,52,53,54,55,56,57;/* 温度小数部分用查表法*/ uchar code ditab16= 0 x00,0 x01,0 x01,0 x02,0 x03,0 x03,0 x04,0 x04,0 x05,0 x06,0 x06,0 x07,0 x08,0 x08,0 x09,0 x09; / uchar code dis_7=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/共阴LED 段码表 0 1 2 3 4 5 6 7 8 9 uchar data temp_da ta2=0 x00,0 x00; /读出温度暂放 uchar data display4 =0 x00,0 x00,0 x00,0 x00; /显示单元数据,共 3 个数据和一个运算暂用 /*11us 延时函数* * */ void del10ms() uint a,b; 基于单片机的蔬菜大棚温湿度监测系统设计31for(a=40;a!=0;a-) for(b=248;b!=0;b-); void delay(uint t) for (;t0;t-); /*/ void timer0()interrupt 1 TH0=0 x3C; TL0=0 xB0; /定时 50ms num+; /记到 20 就直接停止 /*/ void scankey() if ( key1=0) del10ms(); if(key1=0) TH+; if (key2=0) del10ms(); if(key2=0) 基于单片机的蔬菜大棚温湿度监测系统设计32TH-; T=display2*10+display1; if (TH-3)T(TH+3) LED1=0; LED2=1; BEEP=1; if(TTH+3) BEEP=0; LED1=1; LED2=0; /*显示扫描函数*/ scan() S=TH/10; G=TH%10; S8=1;S7=1;S6=1;S5=1;S4=1;S3=1;S2=1;S1=0; Disdata=dis_7display2; delay(200); Disdata=0 x00; S8=1;S7=1;S6=1;S5=1;S4=1;S3=1;S2=0;S1=1; Disdata=dis_7display1; DIN=1; delay(200); Disdata=0 x00; S8=1;S7=1;S6=1;S5=1;S4=1;S3=0;S2=1;S1=1; 基于单片机的蔬菜大棚温湿度监测系统设计33 Disdata=dis_7display0; delay(200); Disdata=0 x00; S8=1;S7=1;S6=1;S5=1;S4=0;S3=1;S2=1;S1=1; Disdata=dis_7S; delay(200); Disdata=0 x00; S8=1;S7=1;S6=1;S5=0;S4=1;S3=1;S2=1;S1=1; Disdata=dis_7G; delay(200); Disdata=0 x00; S8=1;S7=1;S6=0;S5=1;S4=1;S3=1;S2=1;S1=1; Disdata=dis_7B1; delay(200); Disdata=0 x00; S8=1;S7=0;S6=1;S5=1;S4=1;S3=1;S2=1;S1=1; Disdata=dis_7B2; DIN=1; delay(200); Disdata=0 x00; S8=0;S7=1;S6=1;S5=1;S4=1;S3=1;S2=1;S1=1; Disdata=dis_7B3; delay(200); Disdata=0 x00; /*DS18B20复位函数*/ ow_reset(void) char presence=1; while(presence) 基于单片机的蔬菜大棚温湿度监测系统设计34 while(presence) DQ=1;_nop_();_ nop_();/从高拉倒低 DQ=0; delay(50); /550 us DQ=1; delay(6); /66 us presence=DQ; /presence=0 复位成功,继续下一步 delay(45); /延时 500 us presence=DQ; DQ=1; /拉高电平 /*DS18B20 写命令函数* */ /向 1-WIRE 总线上写 1 个字节 void write_byte(uchar val) uchar i; for(i=8;i0;i-) DQ=1;_nop_();_nop_(); /从高拉倒低 DQ=0;_nop_();_nop_();_nop_();_nop_(); /5 us DQ=val&0 x01; /最低位移出 delay(6); /66 us val=val/2; /右移 1 位 DQ=1; delay(1); 基于单片机的蔬菜大棚温湿度监测系统设计35 /*DS18B20 读 1 字节函数*/ /从总线上取 1 个字节 uchar read_byte(void) uchar i; uchar value=0; for(i=8;i0;i-) DQ=1;_nop_();_nop_(); value=1; DQ=0;_nop_();_nop_();_nop_();_nop_(); /4 us DQ=1;_nop_();_nop_();_nop_();_nop_(); /4 us if(DQ)value|=0 x80; delay(6); /66 us DQ=1; return(value); /*读出温度函数* */ / read_temp() ow_reset(); /总线复位 delay(200); write_byte(0 xcc) ; /发命令 write_byte(0 x4e); write_byte(TH); /发命令 write_byte(RS); delay(200); 基于单片机的蔬菜大棚温湿度监测系统设计36 ow_reset(); write_byte(0 xcc) ; /发命令 write_byte(0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论