为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 智能加湿器

智能加湿器

2012-06-11 27页 doc 997KB 41阅读

用户头像

is_291870

暂无简介

举报
智能加湿器2010青岛理工大学电子设计 智能加湿器 摘 要 摘 要:系统是以基于STC89C52开发板为控制器设计的智能室内加湿器,其中包括温湿度实时监测,基于湿度的电机调控,温湿度实时显示,人工和自动加湿的切换几个模块模块。系统的中心设计思想是首先通过DHT21温湿度传感器实时监测室内温湿度,通过单数据总线传给微处理器,然后经微处理器进行信息整合和处理,更具事先设定的湿度范围对电机的转速进行调节,并把湿度、温度以及电机的转速发到液晶显示屏进行显示。 关键字: DHT21 单数据总线  实时监测  12864液晶显示 A...
智能加湿器
2010青岛理工大学电子 智能加湿器 摘 要 摘 要:系统是以基于STC89C52开发板为控制器设计的智能室内加湿器,其中包括温湿度实时监测,基于湿度的电机调控,温湿度实时显示,人工和自动加湿的切换几个模块模块。系统的中心设计思想是首先通过DHT21温湿度传感器实时监测室内温湿度,通过单数据总线传给微处理器,然后经微处理器进行信息整合和处理,更具事先设定的湿度范围对电机的转速进行调节,并把湿度、温度以及电机的转速发到液晶显示屏进行显示。 关键字: DHT21 单数据总线  实时监测  12864液晶显示 Abstract: The system is based on STC89C52 development board for the controller design of the intelligent indoor humidifier, including real-time monitoring of temperature and humidity, motor control based on humidity, temperature and humidity display, manual and automatic switching of several modules humidification module. Center of the system design is the first time through the monitoring of temperature and humidity sensor DHT21 indoor temperature and humidity, a single data bus to pass through the microprocessor, and then by the microprocessor integration and processing of information, more pre-set humidity range of the motor adjust speed and the humidity, temperature and motor speed sent to the LCD screen to display. Keywords: DHT21 single data bus real-time monitoring LCD 12864 目 录 摘 要 …………………………………………………………………..……………………….……...1 目 录…………………………………………………………………..……………………….……...2 1系统…………………………………………………………………..……………………….…….4 显示液晶的选择……………………………...…………….…………………...………….….….4 温湿度传感器的选择……………….……….……………………..……………......…..……..….4 电机的选择………………...……………………………………………..…………………...….5 2程序的编写与调试………………………………………………………………………..……..…….…5 程序功能描述………………………………...…………….…………………...………….….….6 程序框图…………………….……….……………………..……………......………….……..….6 部分程序的表述…………………….……….……………………..……………......…..……..….7 部分调试记录.……………...……………………………………………..…………………...….9 3 电路与程序设计……………………………………………………………….………………...……...10 3.1 系统总体电路原理图……………………………………….………….….…..……..…..………10 3.2 电机驱动模块原理图…………………………………………….……………...….…………...11 3.2 液晶系统模块原理图…………………………………………….……………...….…………...11 4 测试过程图片………………………………………………………….…………….…...………..……12 5 #体会#………………………………………………………….……….…. …………….…..……...15 6 推广价值………………………………………………………….………. ……….……….…..……...15 7 项目创新………………………………………………………….……………….….……..…..……...15 参考文献…………………………………………………………………..………….….……………….16 附录1:电路原理图…………………………………………………………………..………….….…….17 附录2:项目总程序…………………………………………………………………..…………..….…….18 智能加湿器 1 系统方案 本系统主要由12864液晶显示模块、电机调控、DHT21采集模块、微控制器处理模块组成,下面分别论证这几个模块的选择。 1.1 显示液晶的选择 本项目在显示部分上要求对温度、湿度和电机转速进行显示,故需要对其进行四行显示。12864的配置完全适合本项目的要求。 带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集。 利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字。也可完成图形显示.低电压低功耗是其又一显著特点。 由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。 1.2 温湿度传感器的选择 方案一:DS18B20温度传感器 DS18B20是一种工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度 监控系统。在外接电源方式下, 可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证温度量精度。但是,本项目需要检测室内温度和湿度,如果采用DS18B20还学要需要增加湿度传感器。 方案二:DHT21温湿度传感器 DHT21数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT21传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为 4 针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。 经过对方案一和方案二的比较,综合考虑,我觉得DHT21温湿度传感器更加适合这个项目。 1.3 电机的选择 方案一:选择加湿器成品自带直流电机 加湿器自带直流电机,耗电小,运转时噪声小。IO口通过一个三极管接电机即可对其进行控制。方便可行。但此电机不易获得。 方案二: 选择普通直流电机,该电机耗电大,运转时噪声大,但是价格便宜易于获得。 经过对方案一和方案二的比较,综合考虑,最终选择自带电机。 2 程序的编写与调试 2.1程序功能描述 智能加湿器,是基于51单片机的智能加湿系统。采用STC89C52主控芯片;信号采集装置,采用DHT21温湿度传感器,进行温度和湿度的实时采集;加湿装置采用直流电机,方便控制档速。 智能加湿器实现了小范围内的温湿度检测,并且根据湿度范围进行加湿。测量设备DHT21对温湿度进行采集,将采集信号返回至主控芯片。经计算后,主控芯片将数据串行发送到12864进行显示。 除了根据湿度范围对空气进行加湿外,本加湿器额外加上了人工控制加湿功能。设置一个手动自动切换开关,当开关断开时,加湿器出于自动工作状态;当按键被按下,加湿器进入到人工控制阶段。用户通过“加速”、“减速”、“停止”三个开关来实现加湿器电机的调速、启动和停止。 2.2程序框图 2.3部分程序的表述 1.串行液晶显示程序 void wr_lcd (uchar dat_comm,uchar content) { uchar a,i,j; a=content; cs=1; clk=0; sid=1; for(i=0;i<5;i++) { clk=1; clk=0; } sid=0; clk=1; clk=0; if(dat_comm) sid=1; else sid=0; clk=1; clk=0; sid=0; clk=1; clk=0; for(j=0;j<2;j++) { for(i=0;i<4;i++) { sid=a&0x80; a=a<<1; clk=1; clk=0; } sid=0; for(i=0;i<4;i++) { clk=1; clk=0; } } } 2.DHT21信息采集程序 void RH(void) { P2_0=0; Delay2(5); P2_0=1; Delay_10us(); Delay_10us(); Delay_10us(); Delay_10us(); P2_0=1; if(!P2_0) { U8FLAG=2; while((!P2_0)&&U8FLAG++); U8FLAG=2; while((P2_0)&&U8FLAG++); COM(); U8RH_data_H_temp=U8comdata; COM(); U8RH_data_L_temp=U8comdata; COM(); U8T_data_H_temp=U8comdata; COM(); U8T_data_L_temp=U8comdata; COM(); U8checkdata_temp=U8comdata; P2_0=1; U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp); if(U8temp==U8checkdata_temp) if(1) { U8RH_data_H=U8RH_data_H_temp; U8RH_data_L=U8RH_data_L_temp; U8T_data_H=U8T_data_H_temp; U8T_data_L=U8T_data_L_temp; U8checkdata=U8checkdata_temp; } } } 2.4部分调试记录 将串行口中断删除,把给串行口发送数据的函数删除,把延时函数删除自己编写,后来证明这是愚蠢至极的,在调试一个自己完全陌生的程序时,不有100%的把握千万不能删减例程,要把自己的程序融入例程而不是把例程融入自己的程序。因为例程的每一步基本上都有每一步存在的必要。 经过一晚上的调试没有出结果,后来和牟晓涛一起把例程从头至尾读了一遍把每一步的存在搞懂,第二天我将自己的程序融入例程,但是仍然显示不出数据,数据一直显示0。但是一旦给定wendu和shidu的值,就能正常显示。开始我以为是DHT21没有响应,但是在void RH(void)中的 if(!P2_0) //判断从机是否有低电平响应信号 如不响应则跳出,响应则向下运行之后加了一个判断的显示,结果发现12864显示正常,说明主机能检测到从机的响应信号,不是从机不响应,那就是主机收不到数据,所以我以为是延时出了问,又想自己精确计算延时,但是在计算中我发现自己也对延时的计算弄不大清楚,所以找来示波器对P2^0口进行实时显示,结果发现P2^0口的高低电平完全符合说明,数据完全进行了传输!如此说来问题不在DHT21不在接收程序,只在显示上出了问题。经过一些列的测试最终我把问题解决。 3 电路的设计 3.1系统总体电路原理图 3.2 电机驱动模块原理图 3.3 液晶系统模块原理图 4 测试过程图片 实现初步显示 调试过程 基本成型 成果展示 显示部分 5 心得体会 在这次设计中我学到了很多东西,而感触最深的应该是理论与实践的区别吧。这个系统理论很简单,都是最基本的东西。从机流程是1.人体、烟雾、温度、电量信息的采集2.从机的数据处理、存储3.到数据发送。主机流程是1.数据接收2.数据处理3.判断执行相应的指令。我们做的只是把逻辑弄清楚,处理好各模块的冲突,最后优化程序••••••而实际中遇到了很多问题,比如串口通信时关闭了定时器,程序改动后和以前的混在一起,改错了端口等等。这些只有你一步步做了才能够体会得到。 6 推广价值 由于本着项目“低成本,高性能”的原则,鉴于成品的使用范围,我在选择一些外加元素时,因为价钱原因省略了一些创新。 由于本项目的出发点只是做一个小范围内空气温湿度的检测和加湿。在选用风机时,本着满意原则。只选用了小功率直流发电机。若要制作用来对整间房子进行加湿的加湿器。还可以从以下几个方面进行改良,并且理论和实践中均可以实现: 采用大功率风机,进行加湿; 供电电源由+5V直流电源,改成220交流电源供电; 设置“休眠/运行”等多种工作状态 将主机的功能分离;即:现在智能加湿器工作只需一个主机即可完成任务,主机可以完成环境检测、数据分析与处理、设备控制。将主机分离后,由从机进行环境的实时监测,然后将数据通过无线设备传递到主机,主机接收数据进行处理后,对工作设备进行控制。 设置多从机;在室内分散放置从机,将检测数据传递到主机,主机计算室内的平均温湿度,然后根据此平均值进行判断。 总的来说本项目在实际应用上都有一定的推广价值和应用价值。 7 项目创新 本项目将简单的USB加湿器,通过主控芯片STC89C52的控制,进行了控制改良,将室内实时的温湿度作为控制的条件,来进行自动智能加湿。大大提高了加湿的科学性,同时也节省了电能,减少不必要的资源浪费。 本设计成功的完成了基本功能,而且具有一个人性化的界面。我们从开始到作品完成遇到了各种棘手的问题,但是我们没有灰心,我们发现问题,分析问题,解决问题。在这个过程中加深了我们对所学理论知识的应用。感谢老师给我们这次锻炼的机会,我们一定不辜负老师对我们的期望,在今后的学习中做的更好。 参考文献 【1】《电力电子技术基础》 王兆安等编著 机械工业出版社 【2】《51单片机C语言教程》 郭天祥著 电子工业出版社 【3】《全国大学生电子设计竞赛获奖作品汇编》 北京理工大学出版社 【4】《电子电路设计与实践》 姚福安主编 山东科学技术出版社 附录一: 附录二: #include #include typedef unsigned char U8; typedef signed char S8; typedef unsigned int U16; typedef signed int S16; typedef unsigned long U32; typedef signed long S32; typedef float F32; typedef double F64; #define uchar unsigned char #define uint unsigned int #define comm 0 #define dat 1 sbit P2_0 = P1^0 ; sbit dianji=P0^0; sbit key_jia=P1^2; sbit key_jian=P1^3; sbit tingzhi=P1^4; sbit key_automan=P1^5; sbit clk = P3^4; sbit cs = P3^5; sbit sid = P3^6; sbit psb = P3^7; U8 U8FLAG,k; U8 U8count,U8temp; U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata; U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp; U8 U8comdata; U16 U16temp1,U16temp2; uchar num1,num2; uchar num=0,show_num=1,gao_num=1,di_num=3; uchar shuru,flag=1; uchar R[8]; uchar T[8]; int shidu,wendu,i; void Delay2(U16 j) { U8 i; for(;j>0;j--) { for(i=0;i<27;i++); } } void Delay_10us(void) { U8 i; i--; i--; i--; i--; i--; i--; } void delay0 (uint us) //delay time { while(us--); } void delay(uchar x) { uchar i,j; for(i=0;i>=1; U8T_data_L>>=1; } for(i=0;i<8;i++) { a=U8RH_data_H&0x01; b=U8T_data_H&0x01; val_r=val_r+a*cifang(i+8); U8RH_data_H>>=1; if(i<7) { val_t=val_t+b*cifang(i+8); U8T_data_H>>=1; } } shidu=val_r; wendu=val_t; if(shidu!=0&&wendu!=0) { r_10=val_r/100+'0'; r_1=val_r/10%10+'0'; r_01=val_r%10+'0'; t_10=val_t/100+'0'; t_1=val_t/10%10+'0'; t_01=val_t%10+'0'; R[0]=r_10;R[1]=r_1;R[2]='.';R[3]=r_01;R[4]='%';R[5]='R';R[6]='H';R[7]='\0'; if(b==1) { T[0]='-';T[1]=t_10;T[2]=t_1;T[3]='.';T[4]=t_01;T[5]='`';T[6]='C';T[7]='\0'; } else { T[0]='+';T[1]=t_10;T[2]=t_1;T[3]='.';T[4]=t_01;T[5]='`';T[6]='C';T[7]='\0'; } } } void dangweipanduan() { if(shidu<380)num=3; if(shidu>=380&&shidu<440)num=2; if(shidu>=440&&shidu<500)num=1; if(shidu>=500&&shidu<550)num=0; if(shidu>=550)num=4; } void automan() { if(key_automan==0) { delay(5); if(key_automan==0) flag=0; } else flag=1; } void key() { if(key_jia==0) { delay(5); if(key_jia==0) { num++; if(num>=4)num=3; while(key_jia==0); } } if(key_jian==0) { delay(5); if(key_jian==0) { num--; if(num==0)num=0; while(key_jian==0); } } if(tingzhi==0) { delay(5); if(tingzhi==0)num=4; while(tingzhi==0); } } void dispose() { switch(num) { case 0:gao_num=1;di_num=3;break; case 1:gao_num=2;di_num=2;break; case 2:gao_num=3;di_num=1;break; case 3:gao_num=4;di_num=0;break; case 4:gao_num=0;di_num=4;break; } } void qudong() { uchar i; if(di_num!=0) { for(i=0;i
/
本文档为【智能加湿器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索