




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电控学院过程控制综合实验 题 目: 湿度测量仪 院 (系): 电气与控制工程学院 专业班级: 姓 名: 学 号: 指导教师: 2014年 7月 9日52单片机控制湿度测量仪的设计与制作摘 要本设计采用先进的专用微处理器芯片STC89C52,可靠性高,抗干扰能力强。传感器模块采用的是HS1101电容式湿度传感器。NE555集成定时器是一种模拟和数字电路相混合的集成电路。它结构简单,使用灵活,用途十分广泛。HS1101检测出当前环境下的湿度,所得到的数据经过NE555集成定时器振荡电路处理后,接入到STC89C52单片机,以单片机为核心对数据进行记录、存储、处理和报警。系统的显示模块采用的是LCD1602液晶显示。STC89C52单片机从NE555集成定时器中读入湿度数据,在液晶屏上即时显示。报警模块采用NPN三极管控制LED指示灯和蜂鸣器进行报警,可以在视觉和听觉上起到警示作用。当湿度值超过或低于上、下限值时,报警模块会实现报警。基于STC89C52单片机设计湿度控制系统,可以及时、较为精确的反映出湿度的变化,对湿度进行智能控制也有着重大的意义。关键词:STC89C52单片机;NE555集成定时器;LCD1602;HS1101湿度传感器1项目背景意义STC89C52单片机是常用于控制的芯片,在智能仪器仪表、工业检测控制、机电一体化等方面取得了令人瞩目的成果,用其作为湿度控制系统的实例也很多。使用单片机能够实现湿度全程的自动控制,可以及时、较为精确的反映室内的湿度变化。湿度测量系统对湿度进行智能控制有着重大的意义。湿度测量控制对于单片机的应用具有一定的实际意义,它代表了一类自动控制的方法。正是基于本设计的优点所在,它可以更精确的调控一些特殊环境中的湿度,所以可以将其应用于温室种植、粮仓储备及“白色”家居等方面。一般的温室种植,为了充分的利用好温室这一高效特性,就必需有一套科学的、先进的管理方法,用以对不同种类植被生长的各个时期所需的湿度等进行实时的监控和调控。此时湿度控制可以及时、精确的反映室内的湿度变化。完成诸如湿度测量及调控的控制方式,将此系统应用到温室种植、家居调控及粮食储存等方面可以更好地造福人类。2方案分析2.1总体方案的描述总体来说,系统设计主要涉及了湿度数据的测量、显示以及实现报警三个方面。硬件方面有四个模块,即单片机主控模块、传感器模块、LCD1602液晶显示模块、报警模块。总体框图如图2-1所示。图2-1方案总图2.2微处理器模块的比较与选择方案一:用单片机STC89C52作为系统的主控核心。此单片机具有体积小,使用灵活的,可靠性高,抗干扰能力强,易于人机对话和良好的数据处理,有较强的指令寻址和运算功能等优点。方案二:用FPGA等可编程器件作为控制模块。FPGA可以实现各种复杂的逻辑功能,密度高,速度快,稳定性好等许多有点。FPGA在掉电后会丢失数据上电后须进行一次配置,因此FPGA在应用中需要配置电路和一定的程序。并且FPGA作为数字逻辑器件,竞争、冒险是数字逻辑器件较为突出的问题,因此在使用时必须注意毛刺的产生、消除及抗干扰性。在此系统中,采用STC89C52单片机作为控制比采用FPGA实现更简便。基于综合性价比,确定选择方案一。2.3传感器模块的比较与选择方案一:采用电容式湿度传感器HS1101,湿度测量范围设定为33%RH75%RH,可以满足一般需要。湿度传感器HS1101是基于独特工艺设计的电容元件,全互换性好,在标准环境下不需校正,长时间饱和下快速脱湿,可以自动化焊接,包括波峰或水浸,高可靠性与长时间稳定性,可用于线性电压或频率输出回路,快速反应时间短。将HS1101置于NE555振荡电路中,将电容值的变化转为与之呈反比的电压频率信号,可直接被计算机所采集。且其误差不大于2%RH;响应时间小于5s;可见其精度是较高的。方案二:采用全数字型温湿度传感器DHT11,温度测量范围0-50,湿度测量范围20%RH90%RH,也可以满足一般需要。若要求更宽测量范围,只需更换温湿度传感器型号,硬件电路及软件程序全兼容。测量温湿度测量响应时间快、长期稳定性好。综合各自的性能特点,基于与NE555定时器相兼容,价格便宜,我们选择了方案一中的HS1101电容式湿度传感器。2.4 显示模块比较与选择方案一:采用普通LED显示。其优点是元器件价格低廉,而且外围电路简单。但是扫描要占用大量的I/O口资源,还增大了单片机的运算开销,显示的信息也不够丰富。方案二:采用液晶数码管显示。液晶数码管,它的重量轻、体型薄、工作电压低、功耗极微,适合用电池供电的携带式电子设备。其缺点是可视角度小、对温度变化敏感。温度过高或者过低时,显示器对比度将降低。方案三:采用LCD1602液晶彩屏显示。其优点是显示信息非常丰富,可以很形象的显示信号发生器的各个参数。同时颜色多样,不会很单调。占用的I/O资源比较少,不需要循环扫描,节省了大量的程序开销。鉴于本系统的扩展要求,我们采用方案三中的LCD1602液晶作为我们的显示模块,同时写入彩屏程序,使其更生动直观。2.5报警模块的选择方案一:采用声光报警模块使用蜂鸣器与LED发光二极管作为本系统的声光报警模块,其结构简单,造价低廉,可以简洁明了的在视觉和听觉上起到报警作用。方案二:语音报警模块GBT系列语音芯片,是最简单的语音IC。GBT40/80是40/80秒长度的语音IC,支持PWM或DAC高品质的语音输出,在6KHz采样基础上达到40秒语音长,是属于4位硬件压缩。GBT40内部内置了一个外部电阻器的系统时钟振荡器。最大支持63段语音。一组可以包含最多700组的语音元素组合。每一步都可以被定义触发模式,输出状态,语音组,静音的长度,I / O型简单编程功能。易于使用的开发系统功能选择和语音组合。鉴于经济效益,我们选择了蜂鸣器与LED发光二极管作为本系统的声光报警模块,它可以简洁明了的在视觉和听觉上起到报警作用。3系统硬、软件的设计3.1硬件原理框图介绍本设计选用宏晶公司高性能单片机STC89C52该芯片为52内核8位单片机,兼容Intel等52内核单片机,支持ISP下载,适用于常用检测控制电路。由STC89C52组成的单片机系统原理图3-1如图所示。图3-1单片机系统原理图本系统采用层次化、模块化设计,以HS1101湿敏芯片的传感器作为测量的器件,所得到的数据经过NE555振荡电路处理后,接入到STC89C52单片机,以单片机为核心对数据进行记录、存储、处理和报警。硬件原理框图如图3-2所示。HS1101电容式湿度传感器STC89C52单片机LCD1602显示湿度值过阈值报警人为操作湿度数据NE555定时器图3-2硬件原理框图3.2转换电路设计转换及测湿电路如图3-3所示。由于测湿传感器是采用的电容式测湿传感器,故对湿度的测量转变为了对变化电容的容值检测。检测容值的有效方案首选由555芯片组成的多谐振荡器, 当电路通电时,电容HS1101被充电。当触发端2脚的电压上升到2* VCC5/3V时,输出端3变为低电平,同时电容通过7脚放电,2脚电平下降;当2脚电平下降到VCC5/3V时,输出端3脚转变为高电平。电容HS1101放电所需时间为:Td=RH4*C(HS1101)*2当放电结束时,VCC5将通过RH3、RH4向电容HS1101充电。2脚电压由VCC5/3上升到2*VCC5/3所需的时间为:Tu=(RH4+RH3)*C(HS1101)*2当3脚上升到2*VCC5/3时,电路又翻转为低电平。如此周而复始,就在电路的输出端3脚得到一个周期性的矩形波,通过单片机的外部中断口可以检测这个矩形波并得到其频率,频率的计算公式如下: f=1/(Td+Tu)=1/(2*RH4+RH3)* C(HS1101)*2;进而得到电容值的计算公式:C(HS1101)=1/(2*RH4+RH3)*f*2这样就能得到测湿电容C(HS1101)的电容值并与湿度一一对应起来了。图3-3转换及测湿电路图3.3报警电路设计报警电路如图3-4所示。当湿度超过设定值时,单片机会控制蜂鸣器发声报警。电路中的三极管9013当做开关管使用,从而实现对LED灯和蜂鸣器进行控制。9013给高电平就会导通,低电平截止。图3-4报警电路图3.4 LCD1602显示显示部分采用LCD 1602液晶屏进行数据显示,其主要技术参数如表3-1所示。表3-1液晶屏技术指标显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WXH)mm接口信号说明如表3-2所示。表3-2 液晶屏接口信号说明编号符号引脚说明1GND电源地2VDD电源正极3VL液晶显示偏压信号4RS数据/命令选择端(H/L)5R/W读/写选择端(H/L)6EN使能信号7D0Data I/O8D1Data I/O9D2Data I/O10D3Data I/O11D4Data I/O12D5Data I/O13D6Data I/O14D7Data I/O15BL+背光源正极16BL-背光源负极与单片机接口电路如图3-5所示。图3-5接口电路图3.5软件编程3.5.1主程序#include reg51.h#define uchar unsigned char#define uint unsigned int long int f; long int q;double k;sbit rs=P20;sbit rw=P21;sbit ep=P22;sbit bell=P13;uchar code table110= humidity=;uchar code table213=0123456789%. ;uchar code table312= The RH is;void delay(int ms) / 延时子程序int i;while(ms-) for(i = 0; i2; i+); void writec(unsigned char cmd)rs=0;rw=0;ep=0;P0=cmd;delay(1);ep=1;delay(1);ep=0;void writed(unsigned char date) rs=1; rw=0; ep=1; P0=date; delay(1); ep=0; void Init_timer()TMOD=0x51; /0101 0001 定时器0在模式1下工作16位定时器,定时方式 定时器1在模式1下工作16位计数器,T1负跳变加1TL0=0x00; /定时器0初值 定时50000usTH0=0x4C; TL1=0x00; /定时器1清零TH1=0x00;ET0=1; /使能定时器0中断ET1=1; /使能定时器1中断EA=1; /使能总中断TR0=1; /开始计时TR1=1;void init()writec(0x38); /delay(1); writec(0x0c); /delay(1); writec(0x06); /delay(1); writec(0x01); /清除LCD的显示内容void display(double k1)int a,b,c,d,e,k;k1=k1*100;k= (int) k1;a=k/1000;k=k%1000;b=k/100;k=k%100;c=k/10;k=k%10;d=k/1;writec(0xc8);if(a=0)&(b=0)writed(table20);else if(a=0)&(b!=0)writed(table2b);elsewrited(table2a);writed(table2b);writed(table211);writed(table2c);writed(table2d);/*writed(table2e);*/writed(table210);/*writed(table2a);writed(table2b);writed(table211);writed(table2c);writed(table2d); writed(table2e);writed(table210);*/ /初值 /* 名称: timer0() * 功能: 定时器1,每50000us中断一次。* 入口参数:*/void timer0() interrupt 1 EA=0;TR0=0;TR1=0;TL0=0xb0; /重装值 定时50000usTH0=0x3c;/TL0=0xFF; /重装值 定时50000us OX4BFFH/TH0=0x4B;/tem0=TL1; /读数/tem1=TH1; /TL1=0x00; /定时器1清零/TH1=0x00;/f=1; /作标注位 q+;TR0=1;TR1=1;EA=1;/* 名称: timer1() * 功能: 计数器,用于计数将555输出的频率,以计数相对湿度。* 入口参数:*/void timer1() interrupt 3 /T1中断,表示计数的频率溢出,超出了可测量的频率范围,显然在这里不可能。所以重新启动。EA=0;TR0=0;TR1=0;/TL0=0x00; /重装值 定时50000us/TH0=0x4C;TL1=0x00; /定时器1清零TH1=0x00;TR0=1;TR1=1;EA=1;void tran() f=0; f=TH1; f=(f6284|f8224) k=(8300-f)*10/500); else if(f8100) k=(8200-f)*10/500)+10; else if(f6976) k=(7000-f)*10/500)+20; else if(f6853) k=(6976-f)*10/500)+30; else if(f6728) k=(6853-f)*10/500)+4000; else if(f6600) k=(6728-f)*10/500)+5000; else if(f6468) k=(6600-f)*10/500)+6000; else if(f6330) k=(6468-f)*10/500)+7000; else if(f6186) k=(6330-f)*10/500)+8000; else if(f=6030) k=(6186-f)*10/500)+9000; else if(f=0) k=0; else k=0; */ void main()int i,z;uchar count;Init_timer();count=0;init();delay(1);writec(0x80);for(i=0;i10;i+)writed(table1i);writec(0xc8);for(z=0;z12;z+)writed(table3z); while(1) if(q=60) /*此处q=60为每3秒测一次要改为每1秒则使用q=20但void tran()子函数中的f=f/3该为f=f*/ q=0; tran(); display(k); TL1=0x00; /定时器1清零TH1=0x00; 3.5.2设计软件主程序流程图软件的主程序流程图如图3-6所示。图3-6主程序流程图4 调试过程本设计利用9013管子做开关,在集电极与射极之间加+5V直流偏置电压,根据单片机输出口加载在基极与射极之间电压的大小来控制NPN管子的导通与否,从而控制是否触发蜂鸣器报警的。报警电路我也进行了设计和参数计算,我计算的基极电阻在260420欧之间,这与组员计算值有些出入。在计算基极限流电阻时,考虑到课本上所讲解B与E之间压降约为0.7V,发光二极管导通压降1.7V左右,蜂鸣器正常工作时压降1.5V左右,而单片机的输出电压只能为0V或者5V,当输出5V时蜂鸣器要进行报警。基极电流一般为微安到毫安级别。在调试的时候,采用了R=490的基极电阻。当焊接完成后发现,基极接上5V的电压时蜂鸣器的响度不够。于是,又在其上并上了一个370的电阻,相应强度较为合理。NE555震荡电路焊接完成后,我们将其输出口连接在示波器上测量在当时湿度下的波形及频率。波形图如图4-1所示。图4-1振荡电路输出波形由于周期读数误差较大,致使在运用公式计算时出现了一系列问题。第一次显示湿度时,1602显示出来98%左右的数据,而当时的湿度仅仅有42%左右。产生了好多疑问,但后来逐个在程序中修改后发现显示的数值没有太大变化。想了好久才通过将程序显示部分不变,把传递到显示部分子函数的数值换成单片机测得的频率而不是经过函数处理得到的湿度,从而把频率用1602显示出来。结果发现,本来只有6089Hz的频率被我们用示波器读取周期后计算成了8333Hz。解决了这个问题后,我们的湿度显示值从98%变到了47%左右。后来在阅读HS1101器件手册的过程中发现,人家给出的对照表是基于给出的参考电路得到的,而与我们所设计的电路的阻值有所不同。因此,我们能把握的只有器件手册给出的在湿度为33%75%RH之间时HS1101的平均灵敏度为0.34pF/%RH,和当下湿度为42%RH时频率为6089Hz。计算过程如下,由于当湿度在33%75%RH之间时HS1101的电容值与湿度基本满足C(HS1101)=0.34*RH + b的关系。将(42%RH,6089Hz)代入得其函数关系为:C(HS1101)=0.34*RH + 171.8。又,C(HS1101)=1/(2*RH4+RH3)*f*2。代入电阻值,RH4=620K,RH3=47K后,整理可得: 这样,1602显示的湿度就与标准的相差无几了。报警的阈值由湿度为33%75%RH经公式计算可得对应频率为5819Hz和6284Hz,当频率超出这个范围便在P1.3口输出5V电压进行报警。另外,数据的类型要时刻保持一致,中间要用到一些强制类型转换。最终通过各个组员齐心协力、共同努力,我们的设计终于成功运行。调试结果如图4-2所示:图4-2调试结果图5心得体会在此次课题设计中我和我的团队出色的完成了所选定的课题湿度报警电路,他的测湿部分主要由HS1101传感器组成,湿度变化引起电容大小的改变,他的两端与Ne555的充放电口相连,组成一个波形产生电路,产生随湿度变化的方波,单片机的中断口可以检测到方波的频率,通过频率与湿度的对应关系可以反映出此时湿度的具体情况。下面来谈一谈我所负责的部分,我主要负责的是软件的设计与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 岩土基础课课件
- 小龙虾水彩课件
- 输液泵应急预案脚本课件
- 小鸭子学游泳课件
- 商铺租赁合同终止及租赁物使用消防安全协议书范本
- 水稻-养殖一体化土地承包种植合同
- 小鸡家着火了课件
- 小食品调味培训课件模板
- 设备制造行业细分领域高端装备制造业发展策略分析报告
- 贪吃的变色龙课件
- TSZUAVIA 009.1-2019 多旋翼无人机系统实验室环境试验方法 第1部分:通用要求
- GB/T 13993.2-2002通信光缆系列第2部分:核心网用室外光缆
- 综合布线系统-第2版第3章-接续设备
- 五年级上册英语课件-Unit 4《Hobbies》|译林版
- 国际商务文化与礼仪课件
- 人工智能导论课件
- 部编版(人教版)三年级语文上册、下册教材解析及教学建议课件
- 危险化学品安全生产技术培训教程(-)课件
- 质量异常处理单、不合格品审理单
- 中国石油天然气集团公司建设项目其他费用和相关费用的规定
- 道路交通事故现场图绘制PPT讲解(104页)
评论
0/150
提交评论