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

智能排气扇

2014-01-12 42页 doc 11MB 48阅读

用户头像

is_361261

暂无简介

举报
智能排气扇智能排气扇设计 安徽工业大学工商学院 课程设计说明书 课程设计名称: 测控系统原理与设计 课程设计题目:智能排气扇 学 院 名 称: 工商学院 专业:测控技术与仪器 班级: 1041班 姓名(学号) 葛敬兵 柏华乐 都勇 评分: 教师: 郭华 2014年 1月6日 测控系统原理与设计 课程设计任务书 20 13 -20 14 学年 第 1 学期  题目 智能排气扇 内容及要求 以STC12C5A60S2为核心控制单元。采用抗干扰能力强,温湿度传感器DHT11感知浴室温度和湿度;通过烟雾传感器来反应浴室的烟雾情况,通过流量计来反...
智能排气扇
智能排气扇 安徽工业大学工商学院 课程设计说明 课程设计名称: 测控系统原理与设计 课程设计题目:智能排气扇 学 院 名 称: 工商学院 专业:测控技术与仪器 班级: 1041班 姓名(学号) 葛敬兵 柏华乐 都勇 评分: 教师: 郭华 2014年 1月6日 测控系统原理与设计 课程设计任务书 20 13 -20 14 学年 第 1 学期  题目 智能排气扇 及要求 以STC12C5A60S2为核心控制单元。采用抗干扰能力强,温湿度传感器DHT11感知浴室温度和湿度;通过烟雾传感器来反应浴室的烟雾情况,通过流量计来反应水流。系统通过LED数码管和按键控制来分别显示出温度、湿度,流量,转速等实时信息反馈给使用者。 进度安排 1. 布置任务、查阅资料、选择方案,领仪器设备 2. 领元器件、焊接、制作 3.调试、答疑 4. 验收 5. 写报告 学生姓名:葛敬兵、柏华乐、都勇 指导时间:2013年12月30日 指导地点:教二401 任务下达 2013 年 12 月25 日 任务完成 2014年1月 6 日 考核方式 1.评阅 □ 2.答辩 □ 3.实际操作□  4.其它□ 指导教师 郭华 智能排气扇设计 摘要:本智能排气扇以STC12C5A60S2为核心控制单元,。采用抗干扰能力强,温湿度传感器DHT11感知浴室温度,结合烟雾传感器MQ-2感知浴室内的有毒气体并达到报警提示的目的,通过流量传感器来反应水流,通过光电传感器来测试转速。系统通过LED显示了温度、湿度,等实时信息反馈给使用者。使用者通过单片机上键盘实现排气扇的显示控制。 目录 TOC \o "1-3" \h \z \u 2.1 试验任务 6 1 2 2 4 6 7 附录 附录(一)................参考文献................................................20 附录(二).................实物硬件电路..............................................20 附录(三)................源代码...........................................................30 1前言 随着经济的发展,智能化渐渐步入普通百姓的家。现在市场上的各类智能化产品可谓层出不穷,最常见的有智能电饭煲,智能电冰箱和智能洗衣机等。所谓的智能化,其目的在于增加人与机器的互动,降低功耗,提升效率,尽量达到以人为本的目的。而本小组的作品—“智能排气扇”,就是遵循上述目的设计的。对于装有热水器的家庭来说,排气扇可谓必不可少的家电,然而它又却常常被人们所忽略而缺少维护。一把积满灰尘,随时都有可能罢工的排气扇,成了浴室的隐患。有鉴于此,本小组设计了智能排气扇,它能够对扇叶转速实时监控,异常报警,对热水开停检测,自动运行和关闭。它的转速根据浴室温度而定,当有有害气体产生时,它能自动强制排气。有了它,你在浴室里再也没有后顾之忧。 2 总体方案设计及选择 2.1 试验任务 设计并制作一个浴室用智能排气扇,能够实现:自动检测热水的开/闭,相应启动或停止排气扇工作;自动检测煤气是否有泄漏,相应启动或停止排气扇工作;自动检测室内温、湿度的高低,相应控制排气扇运转的强弱。 2.2总体系统设计 本排气扇总体系统设计如上图所示,由微控制器为核心,通过检测传感器来判断排气扇的工作状态和获取必要数据,进而控制电机的工作。稳压电源为整个系统提供稳定的低压直流电。排气扇的人机交互由键盘和LED来完成。通过键盘,用户能执行基本的控制,而LED能把温度,湿度 等基本信息反馈给用户。 2.3微控制器方案 性能要求:(1)较强的抗干扰能力(2)低功耗(3)硬件集成AD及PWM (4)较高处理速度(5)成本合理。 方案比较:两款单片机均能较好地实行上述要求(详细电气参数请参见附录)但采用51内核的STC12C5A08S2具有比ATmega16更稳定的市场来源,更低的成本(前者的约为后者二分之一) 。最终决定采用STC12C5A08S2。 3 单元模块设计 3.1单片机最小系统设计 本系统以STC12C5A08S2为核心控制单元其管脚与一般的51兼容,其主要特性如下: (1)​ 增强型51内核,一个机器周期执行一条指令。 (2)​ 工作电压5.5V~3.3V (3)​ 工作频率范围0~35MHz (4)​ 8K ROM,256 RAM (5)​ 32个通用IO口,可推免输出,电流达20ma (6)​ 支持ISP,IAP串口编程方式 (7)​ 集成EPROOM,看门狗,内部RC (8)​ 上电自动复位,掉电检测 (9)​ 6路外部中断,支持上升沿触发 (10)​ 2路8位PWM (11)​ 8路10位AD转化 其引脚如上图所示,RXD,TXD为串口收发端,INT0,INT1为外部触发,WR,RD分别为外部写选通,外部读选通。P0,P1,P2,P3为输入输出接口。可设定为四种模式:准双向口,推免,高阻,开漏。P1口第二功能为AD口和ISP下载口P0口自带上拉电阻。XTAL2 XTAL1为晶振引脚。 最小系统电路:C3与R1构成上电复位电路,XTAL1,XTAL2与晶振相连,频率为12MHz,C1,C2为起振电容EA接正极,以保证对内部ROM编程。电源电压为直流5V。晶振频率为12MHz。 3.3 MQ-2烟雾传感器 标准工作条件: 符号 参数名称 技术条件 备注 Vc 回路电压 ≤15V AC or DC VH 加热电压 5.0V±0.2 V AC or DC RL 负载电阻 可调 RH 加热电阻 31Ω±3Ω 室温 PH 加热功耗 ≤900mW H为加热电阻丝引脚。RL为负载电阻,与AB串联,当检查到有害器体时,AB两端的阻值发生变化,引起电压变化,再经由单片机AD口检测。要注意的是,MQ-2需要一定的预热时间,刚开机时不能马上读取数据,否则会出错。此外,MQ-2受湿度影响比较大,在浴室使用时必需加上适当的防潮措施。 灵敏度特性曲线图温度:20℃相对湿度:65%、 氧气浓度:21% RL=5kΩ 3.4DHT11温湿度传感器 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。每个DHT11传感器都在湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行口,较小的体积、较低的功耗,信号传输距离可达20米。 DHT11的供电电压为3-5.5V。传感器上电后,要等待1s 以越过不稳定状态在此期间无需发送任何指令。电源引脚(VDD,GND)之间可增加一个100nF 的电容,用以去耦滤波。 由于DHT11的温度测量只能精确到个位,而实际浴室温度变化比较小,很难通过DHT11的变化控制PWM的占空比,故本设计只采用DHT11的湿度传感器,而温度的测量则交由DS18B20实现。 3.5总体电路布线 图1 图2 单片机外围电路如上图(1)所示,P2口连接LED1602液晶显。示S1到S6为六个独立按钮,用来调节排气扇的转速及关机延时。图(2)所示为各传感器接线电路图,依次分别为温度传感器、温湿度传感器、烟雾传感器以及蜂鸣器。 3.6模块连接图 数字信号 模拟信号 数字信号 数字信号 脉冲信号 数字信号 数字信号 脉冲信号 脉冲信号 排气扇以STC12C5A08S2为核心处理各种信号,信号类型有数字信号,模拟信号以及脉冲信号。模拟信号由单片机AD读取,脉冲信号由外部中断捕捉。电源模块为单片机及各传感器模块提供稳定低压 3.7 流程图 ​ 4调试与仿真 排气扇调试必须获得的参数有 (1)​ 开机后烟雾传感器稳定所需要的时间 (2)​ 稳定后无烟雾时烟雾传感器电压 (3)​ 稳定后有烟雾时烟雾传感器电压 (4)​ 电风扇的最大及最小转 调试过程:用手温替代水温和空气的温度,用打火机气体代替浴室的有害器体。通过模拟浴室环境进行试调。数据传感器经由排气扇的液晶显示,为程序的试调提供依据。 上图为无级调速电路在Multisim输出波形的仿真结果。一图的导通角较大,此时风扇转速较快,二图导通角较小,转速较慢。 5系统功能及参数 本排气扇所能实现的功能有: (1)能够对室内的温度、湿度进行检测并显示。 (2)热水开启的时候,根据室温的高低控制排气扇运转的强弱;热水关闭的时候,排气扇能够根据设定的延时时间停止。 提高要求: (1)​ 能够对室内的一氧化碳等有毒气体进行检测报警,并启动排气扇强制排气。 (2)​ 能够对排气扇的转速进行检测并显示。 (3)​ 特殊情况下能够遥控启动或停止排气扇工作。 (4)​ 其它创新性设计。 (5)​ 设计成本控制。 性能参数: 烟雾传感器有效范围:0~2m 湿度传感器精确度:5% 温度传感器精确度:0.1摄氏度 系统功耗;1.5w 电机功率:30W 电机转速:1000~2500r/min 电机转速的调节范围:0~+5摄氏度 6设计总结 本设计所用到的传感器数目及种类比较多,所以传感器的选取非常重要。好的传感器能节省不少调试的时间,增加系统的稳定性。无级调速是本设计电路中较难的部分,因为单片机必须准确地控制排气扇的转速且和强电电路实现电气隔离。一般家用电风扇的无级调速是通过改变连接在晶闸管控制极的电容充放电时间来控制导通角,而本设计采用单片机直接控制导通角,这样不仅能使调速更加精确,而且能充分利用单片机硬件资源。 本设计涉及到弱电对强电的控制,除了做好必要的隔离外,强电产生的干扰必须考虑。在调试过程中我们遇到这样的问题,当电机打开后,转速测量就会出错,比正常值高出许多。再三查错后我们发现,由于模块间的连线较长,电机的转动在连接到霍尔传感器的外部中断引脚产生了严重的干扰,产生了额外的计数。我们通过缩短引线,并接滤波电容,很好地解决这个问题。 首先,我们学会了如何分工合作,如何把程序设计、电路设计、焊接安装和论文设计合理地分配,发挥各人特长。其次,在实践中我们获取了很多电子设计的经验,尤其增长了对各种传感器的认识。为了写好传感器的通信,为了协调各模块的工作,为了解决各种各样意料之外的问题,我们翻遍了有关书籍,我们付出了很多,但我们收获了很多。我们知道的可能并不多,可我们有着学习的热诚和精力。 当然,本设计还有很多需要改进的地方。例如烟雾传感器工作时需要先预热,功耗大、灵敏度低,且不稳定,给程序的编写带来了极大的麻烦。若改为离子烟雾传感器,则能获得更好的效果。再如本设计模块间的连接采用杜邦线,线长且乱,容易受干扰而出错,若整个电路由PCB板来制作,则稳定性会大大加强。 附录 参考文献 参考文献:《C程序设计》、《MCS—51单片机应用设计》、 《Altium Designer 实用教程》、《AVR嵌入式系统设计》 附录(二) 实物硬件 附录(三)源代码 //****************************************************************// // DHT11使用范例 //单片机 :STC12c5a // 功能 :串口发送温湿度数据 晶振 11.0592M 波特率 9600 //硬件连接: //P2.0口为通讯口连接DHT11,DHT11的电源和地连接单片机的电源和地,,,,,,,,,,,,,,,,,,,,,,,,,,,各个模块都要共地 //pwm输出口为p1.4 会有轻微嗡嗡的响声 继电器与p1.4连接的原因 ,,,,,,,,,,,,,,,,,,,,,,,,,, //p3.4为脉冲累加口 接在排气扇转速的测定,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, //P1^7为ad输入端 一氧化碳 检测到高电平报警 如果不需要报警直接接地,,,,,,,,,,,,,,,,,,,,,,, //p0口8位7断码显示数据 //p1.0~p1.3为7断码显示位控制 //p3.7温度控制按键 //p3.6湿度控制按键 //p3.5流量控制按键 //流量传感器的输出端接p1.6口 p2.5口的灯用来显示有无流量流出、、、、、。,,,,,,,,,,,,,, //****************************************************************// // #include #include //////////// //////////////////////测试端口 sbit l0=P2^1;//7段码显示控制位 sbit l1=P2^2;//7段码显示控制位 sbit l2=P2^3;//7段码显示控制位 sbit l3=P2^4;//7段码显示控制位 sbit l4=P2^5;//7段码显示控制位 sbit l5=P2^6;//7段码显示控制位 /////////////////////////////////////////////// /////////////////////////////////////// sbit b0=P1^0;//7段码显示控制位 sbit b1=P1^1;//7段码显示控制位 sbit b2=P1^2;//7段码显示控制位 sbit dd=P1^6;// sbit fengmingqi=P1^5;// sbit wen_du=P3^7;// 显示控制 sbit shi_du=P3^6;// sbit liuliang=P3^5;// //unsigned char code shudian[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; unsigned char code shu[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x90,0x90,0x90,0x90,0x90,0x90}; char set=0,v,dv,cv,mv,kong; unsigned int WENDU,SHIDU,maichong,end=1,dingshizhi=0,dingshizhi1=0,dianyashuju,ll,gg; /////////////////////////////////////////// ////////////////////////////////////////////// ///////////////////////PWM模块 P1.4 //#define PWM_R CCAP0H #define PWM_L CCAP1H sfr CCON = 0xD8; //PCA控制寄存器 sfr CMOD = 0xD9; //PCA模式寄存器 sfr CCAPM0 = 0xDA; //PCA模块0模式寄存器 //模块0对应P1.3/CEX0/PCA0/PWM0(STC12C5A60S2系列) sfr CCAPM1 = 0xDB; //PCA模块1模式寄存器 //模块1对应P1.4/CEX1/PCA1/PWM1(STC12C5A60S2系列) sfr CL = 0xE9; //PCA 定时寄存器 低位 sfr CH = 0xF9; //PCA 定时寄存器 高位 sfr CCAP0H = 0xFA; //PCA模块0的 捕获寄存器 高位 sfr CCAP1H = 0xFB; //PCA模块1的 捕获寄存器 高位 sbit CR = 0xDE; //PCA计数器 运行控制位 void PWM_init() { CCON = 0x04; CH = CL = 0x00; CMOD = 0x00; // CCAPM0 = 0X42; //8位PWM输出,无中断 CCAPM1 = 0X42; CR = 1; // PWM_R=0; PWM_L=0; } ////////////////////// //////////////////////AD模块 //---------与STC12C5A32S2单片机ADC相关的寄存器声明------------------ sfr P1ASF =0x9d; //P1口模数转换功能控制寄存器 sfr ADC_CONTR =0xbc; //AD转换控制寄存器 sfr ADC_RES =0xbd; //AD转换结果寄存器高 sfr ADC_RESL =0xbe; //AD转换结果寄存器低 sfr AURX1 =0xa2; //AD转换结果存储方式控制位//------------------------------------------------------------------ void AD_caiji()//AD初始化 { P1ASF=0x80;//P1^7为ad输入端,可以选择P1其他端口输入,也可同时使用多个但要动态扫描 ADC_CONTR=0x8f;//选择转换速度,转换电压源启动,转换输入脚,转换启动与终止 for(kong=0;kong<5;kong++); AURX1=0;//选择转换 dianyashuju=ADC_RES*4+ADC_RESL;//转换结果方式选择,10位数全要 } ////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// /////////////////////////////////////dht11驱动部分 ///////////////////////////////////////////////////////////// typedef unsigned char U8; /* 无符号8位整型变量 */ typedef signed char S8; /* 有符号8位整型变量 */ typedef unsigned int U16; /* 无符号16位整型变量 */ typedef signed int S16; /* 有符号16位整型变量 */ typedef unsigned long U32; /* 无符号32位整型变量 */ typedef signed long S32; /* 有符号32位整型变量 */ typedef float F32; /* 单精度浮点数(32位长度) */ typedef double F64; /* 双精度浮点数(64位长度) */ // #define uchar unsigned char #define uint unsigned int #define Data_0_time 4 //----------------------------------------------// //----------------IO口定义区--------------------// //----------------------------------------------// sbit D = P2^0 ;////////////////////////////////////////////////////////////////// //----------------------------------------------// //----------------定义区--------------------// //----------------------------------------------// uint count_ov=0,count_now,motor_speed; uchar time0_count=0,pwm_set=2,flag_18b20; uchar temp_high,temp_low; uint temp_yuanma,temp_zheng,temp_xiao; uint show_shi,show_ge; U8 FLAG; U8 shuju; U8 temp; U8 TH,TL,RH,RL; U8 TH_temp,TL_temp,RH_temp,RL_temp,check_temp; U8 comdata; void Delay_40us(void) //延时40us { U8 i; for(i=0;i<72;i++); } /************延时函数************/ void Delay_nms(unsigned char n) // 延时n ms { U8 i,j; for(j=n;j>0;j--) { for(i=0;i<180;i++); } } /************DHT11采集数据************/ void DATA_R(void) { U8 i; for(i=0;i<8;i++) //每次采集8位数据 { FLAG=2; while((!D)&&FLAG++); //拉低50us 为接受一bit数据作准备 D=1; //电平已拉高,这句可不要 temp=0; //默认为低电平,即"0" Delay_40us(); //延时40s后再测 if(D) temp=1; //如果40us后仍是高电平,是"1" comdata<<=1; comdata|=temp; //将值赋给U8comdata,每次赋一位 FLAG=2; while((D)&&FLAG++); //延时等待电位降低进行下一次循环 } } /************DHT11数据校验************/ void DATA_C(void) { D=0; Delay_nms(180); //主机拉低电位180ms D=1; Delay_40us(); //主机拉高电位40us D=1; if(!P) //如果电位为低,表明从机响应信号已到达 { FLAG=2; while((!D)&&FLAG++); //判断从机拉低电位80us FLAG=2; while((D)&&FLAG++); //判断从机拉高电位80us,准备采集数据 DATA_R(); RH_temp=comdata; //湿度高8位 DATA_R(); RL_temp=comdata; //湿度低8位 DATA_R(); TH_temp=comdata; //温度高8位 DATA_R(); TL_temp=comdata; //温度低8位 DATA_R(); check_temp=comdata; //校验8位 D=1; temp=(TH_temp+TL_temp+RH_temp+RL_temp); if(temp==check_temp) //数据校验 如果正确进行下一步 { RH=RH_temp; RL=RL_temp; TH=TH_temp; TL=TL_temp; } } } //////////////////////////////////////////////////////// ////////////////////////////////////// //数据处理部分 ////////////////////////////////////////// ////////////////////////////////////////////////// void DHT11_SHUJUCHULI() { DATA_C(); WENDU=RH;//*256+U8RH_data_L; PWM_L=WENDU;//////////////////////////温度越高转速越快 SHIDU=TH;//*256+U8T_data_L; } uint maichongjishu() { uint jishuzhi; if(end==1){end--; EA = 1; TL0=0;TH0=0; TR0=1;TMOD=0X05;}// jishuzhi=TH0*256+TL0; TL0=0; TH0=0; return jishuzhi; } /////////////////////////////////////////////////////////// ////////////////////////////////// //显示部分 //////////////////////////// /////////////////////////// void delay11(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void xianshi()//7段码显示 { int j; if(wen_du==0)set=0;else if(shi_du==0)set=1;else if(liuliang==0)set=2; switch (set) { case 0: ///数据的处理根据情况改变 需要变 v=WENDU/100; dv=WENDU%100/10; cv=WENDU%10; break; case 1: ///数据的处理根据情况改变 需要变 v=SHIDU/100; dv=SHIDU%100/10; cv=SHIDU%10; break; case 2: ///数据的处理根据情况改变 需要变 // maichong=maichongjishu()*60/98; v=maichong/100; dv=maichong%100/10; cv=maichong%10; break; } j=200;//1.2秒扫描一次 if(v>9)v=9;if(dv>9)dv=9;if(cv>9)cv=9;//限制输出 while(j) { j--; P0=shu[v]; b0=0; delay11(2); b0=1; P0=shu[dv]; b1=0; delay11(2); b1=1; P0=shu[cv]; b2=0; delay11(2); b2=1; } } ///////////////////////////////// /////////////////////////////////////////////////// //---------------------------------------------- //main()功能描述: AT89C51 11.0592MHz 串口发 //送温湿度数据,波特率 9600 //---------------------------------------------- void main() { PWM_init();///////////////////PWM初始化 ///////////////////////////////////// EA=1; TMOD=0x05; TH1=(65536-50000)/256; TL1=(65536-50000)%256; ET1=1; TR1=1; while(1) { xianshi(); AD_caiji(); if(dianyashuju>500) { fengmingqi=0;PWM_L=255; } else fengmingqi=1; if(ll==dd){gg++;if(gg>60000)l4=1;} else{l4=~l4;gg=0;} ll=dd; //if(TL0>50)l5=~l5;脉冲测试 } } void RSINTR() interrupt 3 { TR1=0; if(dingshizhi==(160))////2秒定时 流量控制 { maichong=maichongjishu()/7;//脉冲 //////////////////////////////////// dingshizhi=0; } if(dingshizhi1==(800))////5秒定时 { DHT11_SHUJUCHULI();//温度值和湿度值控制 dingshizhi1=0; } dingshizhi++;dingshizhi1++; TH1=(65536-50000)/256; TL1=(65536-50000)%256; TR1=1;}
/
本文档为【智能排气扇】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索