智能排气扇.docx

上传人:b****2 文档编号:562335 上传时间:2023-04-29 格式:DOCX 页数:34 大小:592.02KB
下载 相关 举报
智能排气扇.docx_第1页
第1页 / 共34页
智能排气扇.docx_第2页
第2页 / 共34页
智能排气扇.docx_第3页
第3页 / 共34页
智能排气扇.docx_第4页
第4页 / 共34页
智能排气扇.docx_第5页
第5页 / 共34页
智能排气扇.docx_第6页
第6页 / 共34页
智能排气扇.docx_第7页
第7页 / 共34页
智能排气扇.docx_第8页
第8页 / 共34页
智能排气扇.docx_第9页
第9页 / 共34页
智能排气扇.docx_第10页
第10页 / 共34页
智能排气扇.docx_第11页
第11页 / 共34页
智能排气扇.docx_第12页
第12页 / 共34页
智能排气扇.docx_第13页
第13页 / 共34页
智能排气扇.docx_第14页
第14页 / 共34页
智能排气扇.docx_第15页
第15页 / 共34页
智能排气扇.docx_第16页
第16页 / 共34页
智能排气扇.docx_第17页
第17页 / 共34页
智能排气扇.docx_第18页
第18页 / 共34页
智能排气扇.docx_第19页
第19页 / 共34页
智能排气扇.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

智能排气扇.docx

《智能排气扇.docx》由会员分享,可在线阅读,更多相关《智能排气扇.docx(34页珍藏版)》请在冰点文库上搜索。

智能排气扇.docx

智能排气扇

安徽工业大学工商学院

课程设计说明书

 

课程设计名称:

测控系统原理与设计

课程设计题目:

智能排气扇

学院名称:

工商学院

专业:

测控技术与仪器班级:

1041班

姓名(学号)葛敬兵

柏华乐

都勇

评分:

教师:

郭华

2014年1月6日

 

测控系统原理与设计课程设计任务书

2013-2014学年第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显示了温度、湿度,等实时信息反馈给使用者。

使用者通过单片机上键盘实现排气扇的显示控制。

 

2.1试验任务6

7附录

附录

(一)................参考文献................................................20附录

(二).................实物硬件电路..............................................20

附录(三)................源代码...........................................................30

1前言

随着经济的发展,智能化渐渐步入普通百姓的家。

现在市场上的各类智能化产品可谓层出不穷,最常见的有智能电饭煲,智能电冰箱和智能洗衣机等。

所谓的智能化,其目的在于增加人与机器的互动,降低功耗,提升效率,尽量达到以人为本的目的。

而本小组的作品—“智能排气扇”,就是遵循上述目的设计的。

对于装有热水器的家庭来说,排气扇可谓必不可少的家电,然而它又却常常被人们所忽略而缺少维护。

一把积满灰尘,随时都有可能罢工的排气扇,成了浴室的隐患。

有鉴于此,本小组设计了智能排气扇,它能够对扇叶转速实时监控,异常报警,对热水开停检测,自动运行和关闭。

它的转速根据浴室温度而定,当有有害气体产生时,它能自动强制排气。

有了它,你在浴室里再也没有后顾之忧。

2总体方案设计及选择

2.1试验任务

设计并制作一个浴室用智能排气扇,能够实现:

自动检测热水的开/闭,相应启动或停止排气扇工作;自动检测煤气是否有泄漏,相应启动或停止排气扇工作;自动检测室内温、湿度的高低,相应控制排气扇运转的强弱。

水流温度测量

烟雾检测

温湿度测量

流量控制

2.2总体系统设计

电机驱动

LED显示

键盘输入

稳压电源

微控制器

 

 

本排气扇总体系统设计如上图所示,由微控制器为核心,通过检测传感器来判断排气扇的工作状态和获取必要数据,进而控制电机的工作。

稳压电源为整个系统提供稳定的低压直流电。

排气扇的人机交互由键盘和LED来完成。

通过键盘,用户能执行基本的控制,而LED能把温度,湿度等基本信息反馈给用户。

2.3微控制器方案

方案一:

高性能单片机ATmega16

方案二:

增强型51单片机STC12C5A08S2

性能要求:

(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)8KROM,256RAM

(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.3MQ-2烟雾传感器

标准工作条件:

符号

参数名称

技术条件

备注

Vc

回路电压

≤15V

ACorDC

VH

加热电压

5.0V±0.2V

ACorDC

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最小系统

远红外火焰传感器

LCD160液晶显示

控制DS18B20调速

独立键盘

MQ-2烟雾检测

数字信号模拟信号

数字信号数字信号

DS18B20测温

脉冲信号数字信号

DHT1湿度检测

数字信号脉冲信号

 

开关电源模块

流量计与18B20控制水流

脉冲信号

排气扇以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单片机应用设计》、

《AltiumDesigner实用教程》、《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

////////////

//////////////////////测试端口

sbitl0=P2^1;//7段码显示控制位

sbitl1=P2^2;//7段码显示控制位

sbitl2=P2^3;//7段码显示控制位

sbitl3=P2^4;//7段码显示控制位

sbitl4=P2^5;//7段码显示控制位

sbitl5=P2^6;//7段码显示控制位

///////////////////////////////////////////////

///////////////////////////////////////

sbitb0=P1^0;//7段码显示控制位

sbitb1=P1^1;//7段码显示控制位

sbitb2=P1^2;//7段码显示控制位

sbitdd=P1^6;//

sbitfengmingqi=P1^5;//

sbitwen_du=P3^7;//显示控制

sbitshi_du=P3^6;//

sbitliuliang=P3^5;//

//unsignedcharcodeshudian[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};

unsignedcharcodeshu[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x90,0x90,0x90,0x90,0x90,0x90};

charset=0,v,dv,cv,mv,kong;

unsignedintWENDU,SHIDU,maichong,end=1,dingshizhi=0,dingshizhi1=0,dianyashuju,ll,gg;

///////////////////////////////////////////

//////////////////////////////////////////////

///////////////////////PWM模块P1.4

//#definePWM_RCCAP0H

#definePWM_LCCAP1H

sfrCCON=0xD8;//PCA控制寄存器

sfrCMOD=0xD9;//PCA模式寄存器

sfrCCAPM0=0xDA;//PCA模块0模式寄存器//模块0对应P1.3/CEX0/PCA0/PWM0(STC12C5A60S2系列)

sfrCCAPM1=0xDB;//PCA模块1模式寄存器//模块1对应P1.4/CEX1/PCA1/PWM1(STC12C5A60S2系列)

sfrCL=0xE9;//PCA定时寄存器低位

sfrCH=0xF9;//PCA定时寄存器高位

sfrCCAP0H=0xFA;//PCA模块0的捕获寄存器高位

sfrCCAP1H=0xFB;//PCA模块1的捕获寄存器高位

sbitCR=0xDE;//PCA计数器运行控制位

voidPWM_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相关的寄存器声明------------------

sfrP1ASF=0x9d;//P1口模数转换功能控制寄存器

sfrADC_CONTR=0xbc;//AD转换控制寄存器

sfrADC_RES=0xbd;//AD转换结果寄存器高

sfrADC_RESL=0xbe;//AD转换结果寄存器低

sfrAURX1=0xa2;//AD转换结果存储方式控制位//------------------------------------------------------------------

voidAD_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驱动部分

/////////////////////////////////////////////////////////////

typedefunsignedcharU8;/*无符号8位整型变量*/

typedefsignedcharS8;/*有符号8位整型变量*/

typedefunsignedintU16;/*无符号16位整型变量*/

typedefsignedintS16;/*有符号16位整型变量*/

typedefunsignedlongU32;/*无符号32位整型变量*/

typedefsignedlongS32;/*有符号32位整型变量*/

typedeffloatF32;/*单精度浮点数(32位长度)*/

typedefdoubleF64;/*双精度浮点数(64位长度)*/

//

#defineucharunsignedchar

#defineuintunsignedint

#defineData_0_time4

//----------------------------------------------//

//----------------IO口定义区--------------------//

//----------------------------------------------//

sbitD=P2^0;//////////////////////////////////////////////////////////////////

//----------------------------------------------//

//----------------定义区--------------------//

//----------------------------------------------//

uintcount_ov=0,count_now,motor_speed;

uchartime0_count=0,pwm_set=2,flag_18b20;

uchartemp_high,temp_low;

uinttemp_yuanma,temp_zheng,temp_xiao;

uintshow_shi,show_ge;

U8FLAG;

U8shuju;

U8temp;

U8TH,TL,RH,RL;

U8TH_temp,TL_temp,RH_temp,RL_temp,check_temp;

U8comdata;

voidDelay_40us(void)//延时40us

{

U8i;

for(i=0;i<72;i++);

}

/************延时函数************/

voidDelay_nms(unsignedcharn)//延时nms

{

U8i,j;

for(j=n;j>0;j--)

{

for(i=0;i<180;i++);

}

}

/************DHT11采集数据************/

voidDATA_R(void)

{

U8i;

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数据校验************/

voidDATA_C(void)

{

D=0;

Delay_nms(180);//主机拉低电位180ms

D=1;

Delay_40us();//主机拉高电位40us

D=1;

if(!

P)//

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2