大型粮库的温湿度检测及控制系统设计文档格式.docx
《大型粮库的温湿度检测及控制系统设计文档格式.docx》由会员分享,可在线阅读,更多相关《大型粮库的温湿度检测及控制系统设计文档格式.docx(41页珍藏版)》请在冰豆网上搜索。
SHT10;
microcontroller;
AT89S52is;
detection;
alarm
1绪论
1.1选题背景
随着时代的进步和发展,单片机控制无疑是人们追求的目标之一。
单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术。
温室、粮库等恒温场所对于自动化的要求也越来越高,对室内温湿度的测量和设备的控制操作要用自动控制系统来完成。
我国是一个人口众多的大国,科学储粮是保障人民粮食供应,促进社会安定的大事,粮仓温度的监测在科学储粮中占有重要地位[1]。
在大多数粮食存储企业,目前仍主要靠人工检测粮仓温度。
由于粮库占地面积大,粮仓分散,仓内温度测试点多,因而人工监测工作量大,效率低,检测周期长,容易漏检,而且测量器件损坏率高,测试精度难以保证[2]。
控温储粮是使粮食在储藏期间保持一定的温度水平,达到安全储藏的目的。
控温储粮能保持粮食较好的品质,是目前比较先进的一种安全、经济、绿色的储粮技术,已成为当今科学储粮技术发展的新方向。
低温储藏使粮食品质提高,温度对微生物的生长、繁殖也有影响,大多数菌种生长繁殖的适宜温度范围是28℃-30℃,温度低于15℃这些菌种的活动的繁殖就会受到抑制,低于12℃时害虫一般不能繁殖[3]。
当粮库温度在20℃-35℃、相对湿度≥85%时,粮食就易发生霉变。
当温度较高,空气中相对湿度较低时,霉菌也能依附在物体表面繁殖生长。
分析表明,我国江南5~9月有利于发生霉变的频率为34%,即夏季约有三分之一的时间,其温、湿度及空气中水汽含量搭配得当,易导致库房内大部分仓储物品霉变,尤其在7、8俩月,温湿度条件有利于物品发生霉变的频率达60%以上,而在其它时段均在20%以下。
储粮害虫一般最适湿度在70%-75%,如果粮堆内的空气相对湿度保持在65%以内,保持与其平衡的水分,就可以抑制粮食上几乎全部微生物的活动[4]。
从储粮管理来说,湿度抑制微生物的生长比温度更有意义。
1.2选题的现实意义
2002年Sensiron公司在世界上率先研制成功SHT10型智能化温度/温度传感器,体积与火柴头相近。
它们不仅能准确测量相对温度,还能测量温度和露点。
测量相对温度的范围是0~100%,分辨力达0.03%RH,最高精度为±
2%RH。
测量温度的范围是-40℃~+123.8℃,分辨力为0.01℃。
测量露点的精度<
±
1℃。
在测量湿度、温度时A/D转换器的位数分别可达12位、14位。
利用降低分辨力的方法可以提高测量速率,减小芯片的功耗。
SHT11/15的产品互换性好,响应速度快,抗干扰能力强,不需要外部组件,适配各种单片机,可广泛用于医疗设备及温度、湿度调节系统中。
现在虽然单片机的品种繁多,各具特色,但仍以MCS-51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的WinBond系列单片机。
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
1.3设计内容
本设计以此为出发点,以温湿度控制为核心思想,根据自己所学的专业知识,用新型的智能集成温温度传感器SHT10主要实现对温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机AT89S52进行数据的分析和处理,为显示和报警电路提供信号,实现对温湿度的控制报警。
根据工作环境要求设定系统的温湿度阈值,利用LCD实时地测量显示环境的温湿度值,实现温湿度自动控制,使其在较宽的温度范围内具有较高的测试精度,同时还可以根据预设定报警阈值报警,一旦发现环境温湿度超限,立即报警。
为此我设计了操作简单、测量精度高、工作稳定的基于单片机的温湿度检测与控制系统。
具体的是用新型的智能集成温温度传感器SHT10主要实现检测温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机AT89S52进行数据的分析和处理,为显示和报警电路提供信号。
设定模块主要为设定温湿度报警的阈值。
2方案选择
方案一:
系统的数据采集部分是将温湿度传感器置于仓库内部,测出仓内的温湿度值,经过放大、A/D转换为数字量之后送入80c51单片机中,然后通过8位LED显示,单片机将预设的参考值与测量值进行比较,根据比较结果作出判断,经过程序分析处理发送相应指令控制执行机构动作,接通或关闭各种执行机构的继电器,进而控制干燥机、空调和风机等设备,以此来调节仓内温湿度。
如此循环不断,使温湿度值与设定值保持一致。
当温湿度值超过允许的误差范围,系统将发出声光报警,如果有必要,仓管人员还可以根据实际的情况通过键盘或按钮来人工修改片内存储的预设值。
通过对整个系统的核心单片机部分的设计,达到优化控制温湿度的目标。
方案二:
以AT89C51单片机为主控组件,采用SHT10等数字型温湿度传感器置于仓库内部,此种数字型温湿度传感器可以直接输出数字信号,无需A/D转换,直接送入单片机中,然后通过LCD1602显示器显示出温湿度值。
单片机将预设的参考值与测量值进行比较,以判定粮仓温湿度是否超出限定值。
若超出限定值,则单片机发出控制信号控制干燥、制冷、通风和加热等设备工作,调节粮仓温湿度以使其达到限定值范围。
同时在温湿度超限时,系统会通过指示灯和蜂鸣器报警,提醒工作人员。
如有必要,管理人员还可以通过按键系统改变单片机内预设的温湿度值,以使系统适应不同地区和不同粮食的温湿度要求。
方案三:
温湿度控制系统的被控参数是温度和湿度。
温度与湿度通过温度传感器与湿度传感器输出的电信号经过A/D转换,送到PC机内。
PC机根据温湿度设定值与测量值之间的偏差和偏差变化率,经过模糊自调整PID的调节,送出控制信号,将PC机的输出分成加热、制冷或加湿、开风机信号,送入PLC来分别控制加热阀、制冷阀、加湿阀和风机,从而实现了对温湿度的控制。
方案三采用PLC控制温湿度,但由于PLC系统过于简单,无法独自完成主控系统的所有任务,必须得借助于PC机才能完成整个系统的比较与控制过程,显得复杂且不经济。
方案一和方案二都采用单片机作为主控系统,能正好完成设计要求且还不显得功能富于,但方案一采用的单片机是较为传统的80c51单片机,虽然使用稳定,且兼容性好,但相对于可以多次写入程序的AT89C51单片机,AT89c51单片机性价比更好。
采用数字型传感器直接输出数字信号,可以省掉A/D转换设备,使布线和编程显得更加明了和简单。
LCD显示器相对于LED七段数码管显示得更清楚、直观,而且显示得内容也更多,还可以显示字母。
因此,综合考虑后,我们选择方案二。
3系统的硬件设计
3.1系统的总体设计
本设计采用数字型温湿度传感器采集温湿度信号,由于输出信号为数字信号,直接可输入单片机处理。
若温湿度超出上下限,则蜂鸣器报警,同时红色指示灯亮,温度超出上限制冷设备启动,低于下限加热设备启动,湿度高于上限通风设备启动,低于下限加湿设备启动。
温湿度的上下限可通过按键输入单片机。
总体设计框图见图3-1所示
图3-1系统总体设计
3.2单片机选择与介绍
图3-2(a)AT89S52芯片引脚图图3-2(b)单片机最小系统图
AT89S52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低功耗、高性能的CMOS8位微处理器。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S52是一种高效微控制器,AT89S52单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案[5]。
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0不具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;
在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。
在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能:
P1.0T2(定时器/计数器T2的外部计数输入),时钟输出。
P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)。
P1.5MOSI(在系统编程用)
P1.6MISO(在系统编程用)
P1.7SCK(在系统编程用)
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,即P3口输出电流(IIL)。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表3-1所示。
在flash编程和校验时,P3口也接收一些控制信号。
表3-1P3口引脚与第二功能
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INTO(外中断0)
P3.3
INT1(外中断1)
P3.4
TO(定时/计数器0)
P3.5
T1(定时/计数器1)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
RST——复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是器件是使用12V编程电压Vpp[6]。
RST引脚是单片机复位端,高电频有效。
在引脚端输入至少连续两个单片机周期的高电频,单片机复位。
使用时,在引脚与VSS引脚之间接一个10KΩ的下拉电阻,与VCC引脚之间接一个约10μF的电解电容,即可保证上电自动复位。
本设计中复位电路如图3.2所示[7]。
在单片机电路中晶振的作用非常大,结合单片机内部的电路,产生单片机所必需的时钟频率,单片机的一切指令的执行都是建立在晶振的基础上。
晶振利用一种特殊的晶体,在电能和机械能之间相互转化产生共振,提供稳定精确的单频震荡,为系统提供基本的时钟信号。
晶振元器件实物图如图3-3所示。
图3-3晶振实物图
设计中晶振电路如图3-2所示[8]。
3.3温湿度传感器
湿度检测采用湿敏组件,其主要分为电阻式和电容式。
湿敏电阻的种类多,灵敏度高,但是起线性度和产品的互换性差。
湿敏电容灵敏度高,产品互换性搞,响应速度快,偏于实现产品小型化和集成化,是精度一般比湿敏电阻要低一些。
综合湿敏组件,其线性度可抗污染性差,在湿度的检测环境中湿敏组件需要时刻在检测环境中,很容易受到环境污染从而影响其测量精度和持续的稳定性。
温度检测采用最基本的热电偶和热敏电阻。
热电偶应用广泛,价格便宜而且耐用。
种类多,能够覆盖非常宽的温度范围,最高温度可以到达2000℃。
但是其非线性、响应速度慢、精度中等、灵敏度低、稳定性低、高温下容易老化和有线性漂移,并且测量需要参考虑。
热敏电阻,该传感器主要随温度的变化阻值发生变化,主要用于-200到500℃温度范围内的温度测量。
其温度系数要大而且需要稳定的温度源,反应速度快,工艺好价格低,测温环境稳定。
温湿度检测采用集成模拟传感器,其灵敏度高、线性度好、响应速度快,而且它可以和信号处理电路及逻辑控制电路集成在一起,使用方便。
湿度传感器选用HS1101,温度传感器选择AD590。
这两个传感器,在接入电路中,都需要A/D转换器,把模拟信号转换成数字信号从而是单片机存储采集到的数据。
采用数字式传感器,起初选择DS18B20和SHT10作为温度和湿度测量组件,但是SHT10包含相对湿度传感器、温度传感器,所以把SHT10作为温湿度检测的一个整体。
SHT10作为典型的温湿度传感器,在测量过程中可对相对温湿度进行自动校准,准确的测量温湿度。
产品互换性好,相应速度快,抗干扰性强,不需要外部参考源和外部器件。
综上所述,SHT10与温湿敏组件的温湿度测量以及模拟测量的元器件相比,起数字温湿度传感器低成本,内部集成复杂,测量准确,而且能够提供数字输出,简化外部测量电路,精度高,适用广泛的测量范围,并且本设计的温湿度检测系统相适合。
因此,选择温度湿度传感器SHT10作为此次设计中的测量组件
温湿度传感器SHT10由Sensirion公司生产,其产品具有无可比你的优越性能。
SHT10单芯片传感器内含有已校准数字信号输出的复合传感器,它应用专利的COMS过程微加工技术确保了产品具有极高的可靠性与卓越的长期稳定性。
体积与火柴头相近。
它们不仅能准确测量相对温度,还能测量露点参数。
广泛应用在数据采集器、变送器、自动化过程控制、汽车行业、楼宇控制、暖通空调、电力机房、计量测试、医药业。
实体图如图3-4所示[9]。
图3-4SHT10传感器实体与接口图
3.3.1接口定义
接口定义如表3-2所示。
表3-2接口定义
引脚
名称
描述
1
GND
接地
2
DATA
串行数据,双向
3
SCK
串行时钟,输入口
4
VDD
电源
NC
必须为空
SHT10的供电电压范围为2.4~5.5V,建议供电电压为3.3V。
在电源引脚(VDD,GND)之间须加一个100nF的电容,用以去耦滤波。
SHT10的串行接口,在传感器信号的读取及电源损耗方面,都做了优化处理。
传感器不能按照I2C协议编址,但是,如果I2C总线上没有挂接别的组件,传感器可以连接到I2C总线上,但单片机必须按照传感器的协议工作。
SCK用于微处理器与SHT10之间的通讯同步。
由于接口包含了完全静态逻辑,因而不存在最小SCK频率。
DATA引脚为三态结构,用于读取传感器数据。
当向传感器发送命令时,DATA在SCK上升沿有效且在SCK高电平时必须保持稳定。
DATA在SCK下降沿之后改变。
为确保通讯安全,DATA的有效时间在SCK上升沿