基于51单片机的粮仓温湿度检测系统毕业设计Word文档下载推荐.docx
- 文档编号:21775763
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:36
- 大小:741.66KB
基于51单片机的粮仓温湿度检测系统毕业设计Word文档下载推荐.docx
《基于51单片机的粮仓温湿度检测系统毕业设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于51单片机的粮仓温湿度检测系统毕业设计Word文档下载推荐.docx(36页珍藏版)》请在冰豆网上搜索。
粮仓温湿度检测技术随科技水平的发展也在不断变化,早期粮仓温湿度检测主要靠人工测量,将温度计固定在插杆上,在粮仓适当位置中多点测温,读取数据,确定粮温高低,进而决定是否进行通风降温或者倒粮降温,湿度则是通过放置在粮仓中的多个湿度计来进行检测,对读取的数据进行对比,决定是否采取措施降低湿度。
但人工检测由于温湿度计的精度及读数误差等的因素,温湿度检测在速度精度上受到局限,检测不彻底准确,不能有效阻止粮食霉变引起大规模损失。
随着科技的进步及电子元器件制造工艺水平的提高,粮仓检测系统得到了长足进步,进入80年代后电阻式温度传感器、湿度传感器、采样器、模数转换器等在粮仓检测系统中大量应用,对粮仓的各个测温测湿点巡回检测,提高检测效率和检测精度,由于工艺问题,致使检测精度和系统可靠度不能达到理想水平。
至90年代初期,检测系统得到改善,单片机技术开始应用,数据处理和数据传输能力得到提高,半导体热电偶等器件也大量应用,通过软件和硬件的组合使用,使得系统的检测控制精度及可靠性取得极大进步。
目前粮仓检测控制系统已经相当成熟,传感器大都采用数字式传感器,单片机等控制器所在控制电路、检测电路等高度集成,节约成本提高控制效率,控制信号作用于执行器,控制风扇等的启停,提高控制效率。
在信号传输方面,由于传感器直接采用数字量信号,解决模拟量信号在长距传输过程中的衰减及干扰造成的精度降低等问题,通过和上位机进行通信,实现远程监测和控制。
1.3粮仓温湿度检测控制系统原理
本系统通过对温度传感器检测的温度值和湿度传感器检测的湿度值传送给单片机进行处理,进而和温湿度上下限值进行比对,如果在正常范围内,则不执行动作,若超过限值,则执行相应动作实现控制作用。
本系统中的温度传感器DS18B20是数字量传感器,其信号段DQ可通过接上拉电阻连接单片机I/O口实现数据传输。
湿度传感器HR202是模拟量传感器,需要对模拟量信号AO进行A/D转换,本系统采用STC12C52A60S2,P1口内置A/D,通过软件设定P1中一个口为A/D模式,将HR202输出模拟量进行A/D转换后进行数据处理,同湿度上下限值进行比对,进而采取控制措施。
单片机通过MAX-232芯片进行电平转换后和上位机进行通讯,实现数据传输及上位机对下位机的控制作用。
1.4本章小结
本章是简单介绍了粮仓温湿度检测控制系统的原理及控制要求,说明了系统的检测控制方法及采用的元器件型号,对系统进行了设计要求进行了说明。
第二章:
系统分析、设计要求及模块选择
2.1设计要求
对环境温度的检测与显示
对环境湿度的检测与显示
单片机对数据进行处理和判断
与上位机进行通讯实现上位机对下位机的控制作用
2.2单片机型号的选择
2.21采用STC89C52单片机
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器应用较为广泛的单片机。
可用ISP进行在线编程下载,也可用串口或USB下载,使用方便,是比较成熟的单片机
2.22采用STC12C5A60S2单片机
STC12C5A60S2系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。
此次设计需要对湿度信号进行A/D处理,而STC12C5A60S2内部带A/D模块,方便信号的转换及处理,故选择STC12C5A60S2。
2.3显示系统模块的选择
2.31采用LED数码管显示
LED数码管能在低电压、小电流条件下驱动发光,能与CMOS、ITL电路兼容。
发光响应时间极短(<
0.1μs),高频特性好,单色性好,亮度高。
体积小,重量轻,抗冲击性能好。
寿命长,使用寿命在10万小时以上,甚至可达100万小时。
成本低。
通常LED数码管显示需要大量I/0口。
2.32采用1602液晶显示
通常使用的液晶是16脚的LCD显示,市面上的1602大都是集成模块,使用方便,技术也非常成熟,故采用1602液晶显示。
2.4测温模块的选择
测温模块分为数字量温度传感器和模拟量温度传感器。
2.41采用模拟量温度传感器
常用模拟量温度传感器有PTC热敏电阻、NTC热敏电阻、CTR热敏电阻等,热敏电阻灵敏度高、工作范围宽、使用方便、易加工成复杂形状,稳定行好、过载能力强,但阻值和温度的关系非线性严重、互换性查、易老化、绝大多数热敏电阻仅适合0~150℃范围内,有一定局限性。
此外还需对热敏电阻配置A/D转换电路,实际应用相对复杂。
2.42采用数字量温度传感器
数字量温度传感器中最具代表性的是DS18B20,管脚配置类似于三极管,使用快捷方便,信号输出端DQ输出温度值的数字信号,方便单片机进行采集和处理,而且现在DS18B20技术非常成熟,可靠性高,综合对比选择DS18B20温度传感器。
2.5测湿模块的选择
湿敏电阻是利用湿敏材料吸收空气中的水分而导致本身电阻值发生变化这一原理而制成的,工业上流行的湿敏电阻主要有:
氯化锂湿敏电阻,有机高分子膜湿敏电阻,现在应用比较多的湿度传感器是HR202,可输出数字量高低电平及模拟量湿度值,相对数字式湿度传感器来说价格低廉,应用方便,故选择HR202.
2.6控制模块的选择
本次设计需要在超过温湿度限值时采取一定的控制措施,体现在单片机端口发出信号,控制电器的启动停止,是温湿度维持在正常水平,故选用继电器来控制电器的通断,而单片机本身输出电流不足以驱动继电器电路,故采用9012三极管来放大电流,驱动继电器运行。
2.7通讯模块的选择
实现上位机与下位机通讯,本次设计使用单片机的最小系统,而最小系统本身不带有通讯端口,故使用MAX232芯片进行TTL和232电平转换,采用九针232串口来做信号发送和接受,下位机和上位机之间采用USB-232信号线来传输数据。
2.8本章小结
根据系统的设计要求,采用STC12C5A60S2单片机进行数据的处理,采用DS18B20温度传感器采集温度信号,采用HR202湿度传感器采集湿度信号,采用1602液晶来显示温度和湿度值,采用MAX232及USB-232来进行电平转换和数据传输
第三章系统总体方案及硬件电路模块设计
3.1系统总体设计思路:
系统设计思路是单片机直接采集温度传感器DS18B20的温度值,通过A/D模块采集湿度传感器的湿度值,对送来的信号进行处理后进行1602显示和执行器动作,实现对温度、湿度的检测控制,数据经过MAX-232电平转换通过USB-232通讯线和上位机进行通信。
总体设计框图为
A/D转换
本系统可完成以下功能:
对环境温度和湿度的检测、显示、报警,超过温湿度上下限设定值时,对应报警灯亮,报警上下限通过软件来进行设定。
系统的硬件促成为:
信号采集电路、单片机最小系统电路、显示电路、执行电路。
3.2系统硬件设计
3.2.1单片机最小系统
1.增强型8051CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051
2.工作电压:
STC12C5A60S2系列工作电压:
5.5V-3.3V(5V单片机)STC12LE5A60S2系列工作电压:
3.6V-2.2V(3V单片机)
3.工作频率范围:
0-35MHz,相当于普通8051的0~420MHz
4.用户应用程序空间8K/16K/20K/32K/40K/48K/52K/60K/62K字节......
5.片上集成1280字节RAM
6.通用I/O口(36/40/44个),复位后为:
准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:
准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55mA
7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片
8.有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM)
9.看门狗
10.内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)
11.外部掉电检测电路:
在P4.6口有一个低压门槛比较器5V单片机为1.32V,误差为+/-5%,3.3V单片机为1.30V,误差为+/-3%
12.时钟源:
外部高精度晶体/时钟,内部R/C振荡器(温漂为+/-5%到+/-10%以内)1用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟常温下内部R/C振荡器频率为:
5.0V单片机为:
11MHz~15.5MHz3.3V单片机为:
8MHz~12MHz精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准
13.共4个16位定时器两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器再加上2路PCA模块可再实现2个16位定时器
14.2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟
15.外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,PowerDown模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2),CCP1/P1.4(也可通过寄存器设置到P4.3)
16.PWM(2路)/PCA(可编程计数器阵列,2路),也可用来当2路D/A使用,也可用来再实现2个定时器,也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持)。
17.A/D转换,10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)
18.通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口。
19.STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3)
20.工作温度范围:
-40-+85℃(工业级)/0-75℃(商业级)21.封装:
PDIP-40,LQFP-44,LQFP-48I/O口不够时,可用2到3根普通I/O口线外接74HC164/165/595(均可级联)来扩展I/O口,还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。
单片机通常选用STC89C51或者STC89C52,此次毕业设计因需要对湿度传感器的模拟量输出信号进行处理,而STC12C5A60S2内部P1口含有A/D模块,可直接将AO口连至P1中某端口,将模拟量转化为数字量,从而进行处理。
在设计过程中,采用单片机最小系统,其中,比较重要的是时钟电路、复位电路、及单片机供电电路。
单片机的时钟产生方法有两种:
内部时钟方式和外部时钟方式。
本系统中单片机采用内部时钟方式。
最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。
振荡晶体可在1.2MHz~12MHz之间。
电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,一般可在20pF-100pF之间取值。
复位电路是单片机应用中重要的一环,它对单片机抗干扰有重要作用。
在振荡运行的情况下,要实现复位操作,必须使RST引脚至少保持两个机器周期的高电平。
复位期间不产生ALE及PSEN信号。
STC12C5A60S2的A/D转换口在P1口((P1.7-P1.0),有8路10位高速A/D转换器,速度可达到,速度可达到速度可达到250KHz,8路电压输入型A/D,可做温度检测、电池电压检测、按键扫描、频谱检测等。
上电复位后P1口为弱上拉型I/O口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不需作为A/D使用的口可继续作为I/O口使用。
在实际应用中,P1.0~P1.7建议只做输入。
STC12C5A60S2的A/D转换模块如下
STC12C5A60S2系列单片机ADC由多路选择开关、比较器、逐次比较寄存器、10位DAC、转换结果寄存器(ADC_RES和ADC_RESL)以及ADC_CONTR构成。
STC12C5A60S2系列单片机的ADC是逐次比较型ADC。
逐次比较型ADC由一个比较器和D/A转换器构成,通过逐次比较逻辑,从最高位(MSB)开始,顺序地对每一输入电压与内置D/A转换器输出进行比较,经过多次比较,使转换所得的数字量逐次逼近输入模拟量对应值。
逐次比较型A/D转换器具有速度高,功耗低等优点。
从上图可以看出,通过模拟多路开关,将通过ADC0~7的模拟量输入送给比较器。
用数/模转换器(DAC)转换的模拟量与本次输入的模拟量通过比较器进行比较,将比较结果保存到逐次比较器,并通过逐次比较寄存器输出转换结果。
A/D转换结束后,最终的转换结果保存到ADC转换结果寄存器ADC_RES和ADC_RESL,同时,置位ADC控制寄存器ADC_CONTR中的A/D转换结束标志位ADC_FLAG,以供程序查询或发出中断申请。
模拟通道的选择控制由ADC控制寄存
器ADC_CONTR中的CHS2~CHS0确定。
ADC的转换速度由ADC控制寄存器中的SPEED1和SPEED0确定。
在使用ADC之前,应先给ADC上电,也就是置位ADC控制寄存器中的ADC_POWER位。
当ADRJ=0时,如果取10位结果,则按下面公式计算:
10-bitA/DConversionResult:
(ADC_RES[7:
0],ADC_RESL[1:
0])=1024x(Vin/Vcc)
当ADRJ=0时,如果取8位结果,按下面公式计算:
8-bitA/DConversionResult:
0])=256x(Vin/Vcc)
当ADRJ=1时,如果取10位结果,则按下面公式计算:
(ADC_RES[1:
0],ADC_RESL[7:
式中,Vin为模拟输入通道输入电压,Vcc为单片机实际工作电压,用单片机工作电压作为模拟参考电压。
本次设计将P1.2口作为模拟量的输入口,进行A/D转换。
P3.0、P3.1与MAX232芯片相连进行电平转换,便于和上位机进行通讯。
P3.2作为超温度上限控制输出口。
P3.3作为超温度下限控制输出口。
P3.4作为超湿度上限控制输出口。
P3.5作为超湿度下限控制输出口。
3.2.2温度信号采样电路模块
采样电路是控制系统的基础,系统只有获取要控制的变量参数,才能对变量运算得出控制作用,因此,传感器的选型和电路的设计显得尤为重要。
温度采样电路模块
现阶段温度传感器种类繁多,测量精度、信号接口及价格不一而足,因此需要选择合适的传感器,根据本系统要求,选择温度传感器DS18B20进行测温。
DS18B20是数字量的温度传感器,适应电压范围宽,支持多点组网功能,不需加任何外围元件,测温范围为-55℃至+125℃之间,在-10℃~+85℃之间精度为0.5℃。
可编程分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃。
测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送校验码,具有极高的抗干扰纠错能力。
此外,还具有负压特性,即使电源接反也不会烧掉芯片。
DS18B20中有多条指令,包括读ROM、匹配ROM、搜索ROM、跳过ROM、告警搜索命令等,在系统使用单个DS18B20时,只用跳过ROM指令即可进行温度转换和读取操作。
高速暂存器RAM是由九个字节的存储器构成,第0~1个字节显示是温度的显示位,第2个和第3个字节是复制的TL和TL,4是配置寄存器,567三个字节均是保留的下表列出了温度数据在告诉暂存器上帝0和第1个字节中的存储格式。
DS18B20在出厂默认设置为12位,最高位为符号位,温度值公11位。
前5位为读取温度值为负值,测得的数据需要取反加1再乘以0.0625才得到实际温度值。
前5位为0时,温度为正值,只要将测得的数值乘以0.0625即可。
下表为温度数据在告诉暂存器RAM中第0和第1的格式。
位7
位6
位5
位4
位3
位2
位1
位0
23
22
21
20
2-1
2-2
2-3
2-4
位15
位14
位13
位12
位11
位10
位9
位8
S
26
25
24
初始化时序:
将数据线置高电平
延时
数据线拉倒低电平0
延时750us
数据线拉倒高电平1
延时等待,如果初始化成功则在15~60us内产生一个由DS18B20返回的低电平0.该状态可以确定它的存在,但是不能无限期的等待,不然程序会进入死循环,所以进行超时判断。
若CPU读到数据线上的低电平0后,还要进行延时,其延时的时间从发出高电平算起,至少需要480us
DS18B20写数据:
数据线先置低电平0
延时确定的时间为15us
按从低位到高位的顺序发送数据。
延时时间为45us
将数据线拉到1
重复上述步骤,直到发送完整个字节。
最好将数据线拉高到1。
DS18B20读数据:
将数据线拉高到1、延时2us、将数据线拉到0,延时6us,将数据线拉高到1,延时4us
读数据线的状态得到一个状态位,并进行数据处理。
延时30us
重复上述步骤,直到读取完一整个字节。
3.2.3湿度采样电路模块
湿度传感器的选择
湿度传感器是指能感受气体中水蒸气含量,并转换成可输出信号的传感器。
湿敏元件主要有电阻式和电容式两大类。
湿敏电阻的特点就是在基片上覆盖一层用感湿材料制作成的膜,当空气中的水蒸气吸附在感湿膜时,元件的电阻率和电阻值都会发生变化,利用这一特性可实现测量湿度。
湿敏电容主要是由高分子薄膜电容制作而成,常用材料有聚苯乙烯、聚酰亚胺、酪酸醋酸纤维等。
当环境湿度发生改变时,湿敏电容的介电常数发生变化,使其电容量也发生变化,其电容变化量与相对湿度成正比。
比之现代湿度传感器,早起通常使用干湿球湿度表,电子式湿敏传感器的准确度可达2-3%RH,这比干湿球测湿精度高。
但湿敏元件的线性度及抗污染性差,在检测环境湿度时,湿敏元件要长期暴露在待测环境中,很容易被污染而影响其测量精度及长期稳定性。
这方面没有干湿球测湿方法好。
综合湿度传感器类型及实际情况,选择电阻式湿度传感器HR202,模块在环境湿度达不到设定阈值时,DO口输出高电平,当外界环境湿度超过设定阈值时,模块D0输出低电平,以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 粮仓 温湿度 检测 系统 毕业设计