智能教学楼电子创新设计大赛论文 精品.docx

上传人:b****6 文档编号:5118456 上传时间:2022-12-13 格式:DOCX 页数:30 大小:254.80KB
下载 相关 举报
智能教学楼电子创新设计大赛论文 精品.docx_第1页
第1页 / 共30页
智能教学楼电子创新设计大赛论文 精品.docx_第2页
第2页 / 共30页
智能教学楼电子创新设计大赛论文 精品.docx_第3页
第3页 / 共30页
智能教学楼电子创新设计大赛论文 精品.docx_第4页
第4页 / 共30页
智能教学楼电子创新设计大赛论文 精品.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

智能教学楼电子创新设计大赛论文 精品.docx

《智能教学楼电子创新设计大赛论文 精品.docx》由会员分享,可在线阅读,更多相关《智能教学楼电子创新设计大赛论文 精品.docx(30页珍藏版)》请在冰豆网上搜索。

智能教学楼电子创新设计大赛论文 精品.docx

智能教学楼电子创新设计大赛论文精品

 

信息学院第三届电子创新设计大赛

 

智能教学楼(论文)

 

班级

队名

成员

 

2013年12月20日

摘要

 

针对国际能源短缺及高校教学楼用电浪费的现象,,为了有效利用教室灯光、节约能源,我们设计了以STC89C52单片机作为控制核心的教学楼智能控制系统,能根据人物的活动、光强与温度来控制室内的灯光与风扇并且依靠走廊内光强与声音对灯光进行调控,还能对烟雾等进行预警。

调试结果证明该系统具有很好的人机交互界面,且电路简单,成本低,节约能源,可移植性好。

也可应用于图书馆、会议室、办公室、办公等场所,具有很好的实际应用价值和广泛的应用空间。

 

    本课题针对教学楼各个模块的控制,分析了教学楼灯光智能控制的原理和实现方法,提出了基于单片机设计教室灯光智能控制系统的思路,并在此基础上开发了智能控制系统的硬件模块和相应软件部分。

 

该系统以STC89C52单片机作为控制模块的核心部件,室内采用热释红外人体传感器检测人体的存在,采用光敏三极管构成的电路检测环境光的强度,采用DS18B20及LCD1602来测量环境温度并显示,并且可以通过设定的温度值来控制风扇的开启与关闭;走廊采用声音传感模块和光敏三极管构成的电路检测环境光的强度从而控制灯的开启并且具有检测烟雾并进行报警的功能,避免了教学楼用电的大量浪费。

本系统程序采用C语言编写,采用模块化结构设计、条理清晰、通用性好,便于改进和扩充。

该系统具有体积小,控制方便,可靠性高,针对性强,性价比高等优点,可以满足各类院校对教学楼智能控制的要求,很大程度的达到节能目的。

 

目录

1系统方案1

1.1XXXX的论证与选择1

1.2XXXX的论证与选择1

1.3控制系统的论证与选择1

1.3控制系统的论证与选择1

2系统理论分析与计算1

2.1XXXX的分析1

2.1.1XXX1

2.1.2XXX1

2.1.3XXX1

2.2XXXX的计算1

2.2.1XXX1

2.2.2XXX1

2.2.3XXX1

2.3XXXX的计算2

2.3.1XXX2

2.3.2XXX2

2.3.3XXX2

3电路与程序设计2

3.1电路的设计2

3.1.1系统总体框图2

3.1.2XXXX子系统框图与电路原理图2

3.1.3XXXX子系统框图与电路原理图2

3.1.4电源2

3.2程序的设计2

3.2.1程序功能描述与设计思路2

3.2.2程序流程图3

4测试方案与测试结果3

4.1测试方案3

4.2测试条件与仪器3

4.3测试结果及分析3

4.3.1测试结果(数据)3

4.3.2测试分析与结论4

5总结4

附录1:

电路原理图5

附录2:

源程序6

 

1系统方案

本系统主要由智能教室模块、走廊控制模块、电源模块组成,下面分别论证这几个模块的选择。

1.1智能教室模块的论证与选择

方案一:

本系统以STC89C52单片机作为控制模块的核心部件,室内采用热释红外人体传感器检测人体的存在,采用光敏三极管构成的电路检测环境光的强度,采用DS18B20及LCD1602来测量环境温度并显示,并且可以通过设定的温度值来控制风扇的开启与关闭,具体工作流程如下:

1.当热释红外人体传感器检测人体的存在(输出一个高信号)并且光强较低(输出一个高信号)的情况下,通过单片机检测到两个高信号来使室内的灯光控制口输出高信号,从而让室内的灯光亮起。

2.当热释红外人体传感器检测人体的存在(输出一个高信号)并且温度高于所设定的温度值(输出一个高信号)时,通过单片机检测到两个高信号来使风扇控制口输出高信号,从而使风扇转动。

但美中不足的是:

灯光过暗甚至没有亮度,并且风扇的转动往往让LCD1602的显示屏闪烁或者没有任何显示。

方案二:

此方案的设计是在方案一的基础上进行的改进,经过我们数次的测试与论证得出了一些重要的结论:

灯光过暗甚至没有亮度是由于电压很小,达不到灯光正常照明的电压,风扇的转动往往让LCD1602的显示屏闪烁或者没有任何显示也是由于电压不足导致的,因此,我们小组成员提出并采用了通过继电器来直接供电的措施,从而解决了这些问题。

综合以上方案,选择方案二。

1.2烟雾传感器的论证与选择

烟雾传感器属于气敏传感器,是气-电变换器,它将可燃性气体在空气中的含量(即浓度)转化成电压或者电流信号,通过A/D转换电路将模拟量转换成数字量后送到单片机,进而由单片机完成数据处理、浓度处理及报警控制等工作。

传感器作为烟雾检测报警器的信号采集部分,是仪表的核心组成部分之一。

由此可见,传感器的选型是非常重要的。

烟雾传感器介绍

方案一:

利用物理化学性质的烟雾传感器:

如半导体烟雾传感器、接触燃烧烟雾传感器等。

方案二:

利用物理性质的烟雾传感器:

如热导烟雾传感器、光干涉烟雾传感器、红外传感器等。

方案三:

利用电化学性质的烟雾传感器:

如电流型烟雾传感器、电势型气体传感器等。

烟雾传感器应满足的基本条件一个烟雾传感器可以是单功能的,也可以是多功能的;可以是单一的实体,也可以是由多个不同功能传感器组成的阵列。

但是,任何一个完整的烟雾传感器都必须具备以下条件:

(a)能选择性地检测某种单一烟雾,而对共存的其它烟雾不响应或低响应;

(b)对被测烟雾具有较高的灵敏度,能有效地检测允许范围内的烟雾浓度;

(c)对检测信号响应速度快,重复性好;

(d)长期工作稳定性好;

(e)使用寿命长;

(f)制造成本低,使用与维护方便。

MQ-2型烟雾传感器的工作原理

半导体烟雾传感器包括用氧化物半导体陶瓷材料作为敏感体制作的烟雾传感器以及用单晶半导体器件制作的烟雾传感器。

按敏感机理分类,可分为电阻型和非电阻型。

半导体气敏元件也有N型和P型之分。

N型在检测时阻值随烟雾浓度的增大而减小;P型阻值随烟雾浓度的增大而增大。

半导体气敏传感器的分类如表所示。

类型

所利用的特性

工作温度

代表性被检测气体

电阻型

电阻

表面电阻控制器

300~450°C

可燃性气体

体电阻控制器

300~450°C

700°C以上

乙醇、可燃性气体

非电阻型

二极管整流特性

室温~200°C

H2、CO、乙醇

晶体管特性

150°C

H2、H2S

本设计中采用的MQ-2型烟雾传感器属于二氧化锡半导体气敏材料,属于表面离子式N型半导体。

当处于200~300°C温度时,二氧化锡吸附空气中的氧,形成氧的负离子吸附,使半导体中的电子密度减少,从而使其电阻值增加。

当与烟雾接触时,如果晶粒间界处的势垒受到该烟雾的调制而变化,就会引起表而电导率的变化。

利用这一点就可以获得这种烟雾存在的信息。

遇到可燃烟雾(如CH4等)时,原来吸附的氧脱附,而由可燃烟雾以正离子状态吸附在二氧化锡半导体表面;氧脱附放出电子,烟雾以正离子状态吸附也要放出电子,从而使二氧化锡半导体导带电子密度增加,电阻值下降。

而当空气中没有烟雾时,二氧化锡半导体又会自动恢复氧的负离子吸附,使电阻值升高到初始状态。

这就是MQ-2型燃性烟雾传感器检测可燃烟雾的基本原理。

MQ-2型传感器的结构图如图2.1所示,其外观如2.2所示。

图2.1MQ-2型传感器的结构图

图2.2MQ-2型传感器的外观

MQ-2气敏元件的结构和外形如图1所示(结构AorB),由微型AL2O3陶瓷管、SnO2敏感层,测量电极和加热器构成的敏感元件固定在塑料或不锈钢制成的腔体内,加热器为气敏元件提供了必要的工作条件。

封装好的气敏元件有6只针状管脚,其中4个用于信号取出,2个用于提供加热电流。

1.3声光控制的论证与选择

方案一:

含555定时器、光敏三极管、双向可控硅的声光控电路 

优点:

此声、光同时控制的新式照明灯用光敏三极管的输出端控制555的触发控制端,用音频放大电路控制555的复位端。

555定时器接成单稳态触发器,控制双向可控硅,简单易制、成本低、节电又方便。

原理图设计:

设计中考虑到光敏电阻的阻值随电压升高有规律的下降,而蜂鸣器则用驻极体话筒代替。

具体原理如图2-1:

 

图2.1设计原理图

555定时器接成单稳态触发器,控制双向可控硅,当555定时器输出高电平,触发可控硅导通,灯泡亮,当555定时器输出低电平时,可控硅未导通,灯泡灭。

电路由l0V稳压直流电源供电。

为使声光同时控制,将光敏三极管的输出端控制555的触发复位端,音频放大电路控制555的触发端。

 

缺点:

该电路在声强>50dB时,对照明灯的有效控制率高于94%,过于敏感。

很小的声音也会促使灯发光,会造成能源的浪费。

方案二:

运用YQ-I制成声光控电路

优点:

声光控延时开关的电路原理图见图2-2所示。

电路中的主要元器件是使用了数字集成电路YQ-I,其内部含有4个独立的与非门vd 1~vd4,使电路结构简单,工作可靠性高。

陶瓷压电蜂呜片B把声音变成直流控制电压。

通过光敏电阻的改变,使电位发生改变,从而控制晶闸管的通断,从而达到使灯自动熄灭的目的。

 

缺点:

降压功能不强,对晶闸管的冲击电流大,对灯泡的寿命有影响。

方案三:

声光控开关 IC CD4011应用电路 

优点:

其采用集成块IC CD4011,制作起来成本低、并且节电又方便。

同时,对声音的灵敏度适中,并且原件容易设计。

 

综合以上三种电路的优缺点后,我们决定采用第三种方案。

 

3电路与程序设计

3.1电路的设计

3.1.1系统总体框图

系统总体框图如图所示

3.1.2智能教室模块子电路原理图

3.1.3走廊子系统电路原理图

3.1.4电源

电源由4节电池来提供

3.2程序的设计

3.2.1程序功能描述与设计思路

1、程序功能描述

根据题目要求软件部分主要实现键盘的设置和显示。

1)键盘实现功能:

设置频率值、频段、电压值以及设置输出信号类型。

2)显示部分:

显示电压值、频段、步进值、信号类型、频率。

2、程序设计思路

3.2.2程序流程图

1、主程序流程图

 

2、XXX子程序流程图

 

3、XXX子程序流程图

4、XXX子程序流程图

 

4测试方案与测试结果

4.1测试方案

单片机系统的调试应包括硬件及软件两部分,主要是通过调试发现硬件及软件中存在的问题,查看其运行结果是否符合设计要求。

在对系统进行实际调试时,首先应对硬件进行静态调试,同时对系统软件进行初步调试,此后再对软件和硬件进行动态调试,最后才能使系统进入正常工作.

(1)静态调试:

静态调试主要是排除明显的硬件故障。

在将芯片、传感器等元件连接到电路板上时,要保证各处电源极性、电压正确,以防止因电源极性接反或电压过高损坏芯片或传感器。

此外,插入芯片必须在断电的情况下进行,特别注意芯片的方向不要插反。

(2)软件调试:

在软件调试时采用在计算机上利用模拟软件实现对单片机的硬件模拟、指令模拟及运行状态模拟,从而完成应用软件开发的全过程。

调试过程中的运行状态、各寄存器状态、端口状态等都可以在指定的窗口区域显示出来,通过这些显示结果随时跟踪程序运行状态,以确定程序运行无错误。

(3)动态调试:

控制系统的软件和硬件是密切相关的,由于软件模拟开发系统不能对硬件部分进行诊断,同时也不能实时在线仿真,所以用户程序还需跟硬件连接起来进行联调,同时对软件和硬件进行检查和诊断。

整个单片机系统进行在线调试时,需借助仿真开发工具来对用户软件及硬件电路进行诊断、调试。

在应用系统各模块电路调试成功后,将程序加载到在线仿真器上,这时就能单步或连续地执行目标程序,同时也可以根据需要分段设置断点执行程序。

而对于一些与硬件相关的用户程序,如接口驱动程序等,则需要配合硬件,进行在线调试,如果有逻辑错误,也要及时纠正修改。

程序调试完毕后,利用编程器将程序固化到单片机中,使整个系统运行起来。

各模块电路调试流程图如下示:

图4-1电源调试图4-2单片机最小系统调试

图4-3按键电路调试图4-4显示电路调试

图4-5采集电路调试

 

4.2测试条件与仪器

测试条件:

检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。

测试仪器:

高精度的数字毫伏表,模拟示波器,数字示波器,数字万用表,指针式万用表。

4.3.2测试分析与结论

根据上述测试数据,XXXXXXXXXXXXXXXXXXXXXXXXXXXXX,由此可以得出以下结论:

1、

2、

3、

综上所述,本设计达到设计要求。

5总结

 

附录1:

电路原理图

 

附录2:

源程序

#include

#include"lcd.h"

#include"temp.h"

voidLcdDisplay(int);

sbitK1=P2^4;

sbitK2=P2^5;

sbitK=P1^3;

externintth=20;

sbitbeep=P1^0;

sbitredout=P1^2;

sbitled=P1^1;

voidmain()

{

LcdInit();

LcdWriteCom(0xc7);

LcdWriteData('C');

while

(1)

{

if(K1==0)

{

Delay1ms(500);

if(K1==0);

th++;

}

if(K2==0)

{

Delay1ms(500);

if(K2==0);

th--;

}

LcdDisplay(Ds18b20ReadTemp());

}

}

voidLcdDisplay(inttemp)

{

inti,tt,mm;

unsignedchardatas[]={0,0,0,0},datas1[]={0,0,0};

floattp;

if(temp<0)

{

LcdWriteCom(0xc0);

LcdWriteData('-');

i=1;

temp=temp-1;

temp=~temp;

tp=temp;

temp=tp*0.0625*10+0.5;

mm=-temp;

}

else

{

LcdWriteCom(0xc0);

LcdWriteData('+');

tp=temp;

temp=tp*0.0625*10+0.5;

mm=temp;

}

datas[0]=temp/1000;

datas[1]=temp%1000/100;

datas[2]=temp%100/10;

datas[3]=temp%10;

if(th<0)

{

LcdWriteCom(0x89);

LcdWriteData('-');

tt=-th;

}

else

{

LcdWriteCom(0x89);

LcdWriteData('+');

tt=th;

}

datas1[0]=tt/100;

datas1[1]=tt%100/10;

datas1[2]=tt%10;

LcdWriteCom(0x87);

LcdWriteData('H');

LcdWriteCom(0x88);

LcdWriteData(':

');

LcdWriteCom(0x8a);

LcdWriteData('0'+datas1[0]);

LcdWriteCom(0x8b);

LcdWriteData('0'+datas1[1]);

LcdWriteCom(0x8c);

LcdWriteData('0'+datas1[2]);

if(redout==1&&K==1)

{

led=0;

Lcd1602_Delay1ms(5);

}

else

{

led=1;

Lcd1602_Delay1ms(5);

}

if(mm>=(th*10)&&redout==1)

beep=0;

else

beep=1;

LcdWriteCom(0x80);

LcdWriteData('T');

LcdWriteCom(0x81);

LcdWriteData('A');

LcdWriteCom(0x82);

LcdWriteData('I');

LcdWriteData('');

LcdWriteCom(0x84);

LcdWriteData('A');

LcdWriteCom(0x85);

LcdWriteData('N');

LcdWriteCom(0xc1);

LcdWriteData('0'+datas[0]);

LcdWriteCom(0xc2);

LcdWriteData('0'+datas[1]);

LcdWriteCom(0xc3);

LcdWriteData('0'+datas[2]);

LcdWriteCom(0xc4);

LcdWriteData('.');

LcdWriteCom(0xc5);

LcdWriteData('0'+datas[3]);

LcdWriteCom(0xc6);

LcdWriteData('"');

}

#include"temp.h"

voidDelay1ms(unsignedinty)//延时

{

unsignedintx;

for(y;y>0;y--)

for(x=110;x>0;x--);

}

unsignedcharDs18b20Init()//初始化

{

unsignedinti;

DSPORT=0;

i=70;

while(i--);

DSPORT=1;

i=0;

while(DSPORT)

{

i++;

if(i>5000)

return0;//失败

}

return1;//成功

}

voidDs18b20WriteByte(unsignedchardat)//写字节

{

unsignedinti,j;

for(j=0;j<8;j++)

{

DSPORT=0;//每写入一位数据之前先把总线拉低1us(数据手册上模糊)

i++;

DSPORT=dat&0x01;

i=6;

while(i--);

DSPORT=1;

dat>>=1;

}

}

unsignedcharDs18b20ReadByte()

{

unsignedcharbyte,bi;

unsignedinti,j;

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

{

DSPORT=0;

i++;

DSPORT=1;

i++;

i++;

bi=DSPORT;

byte=(byte>>1)|(bi<<7);

i=4;

while(i--);

}

returnbyte;

}

voidDs18b20ChangTemp()//温度转换

{

Ds18b20Init();

Delay1ms

(1);

Ds18b20WriteByte(0xcc);

Ds18b20WriteByte(0x44);

}

voidDs18b20ReadTempCom()//读取温度命令

{

Ds18b20Init();

Delay1ms

(1);

Ds18b20WriteByte(0xcc);

Ds18b20WriteByte(0xbe);

}

intDs18b20ReadTemp()//读取温度

{

inttemp=0;

unsignedchartmh,tml;

Ds18b20ChangTemp();

Ds18b20ReadTempCom();

tml=Ds18b20ReadByte();

tmh=Ds18b20ReadByte();

temp=tmh;

temp<<=8;

temp|=tml;

returntemp;

}

#ifndef__TEMP_H_

#define__TEMP_H_

#include

sbitDSPORT=P3^0;

voidDelay1ms(unsignedint);

unsignedcharDs18b20Init();

voidDs18b20WriteByte(unsignedcharcom);

unsignedcharDs18b20ReadByte();

voidDs18b20ChangTemp();

voidDs18b20ReadTempCom();

intDs18b20ReadTemp();

#endif

#include"lcd.h"

voidLcd1602_Delay1ms(uintc)//延时

{

uchara,b;

for(;c>0;c--)

{

for(b=19;b>0;b--)

{

for(a=1;a>0;a--);

}

}

}

#ifndefLCD1602_4PINS//当没有定义这个LCD1602_4PINS时

voidLcdWriteCom(ucharcom)//写入一个字节命令

{

LCD1602_E=0;

LCD1602_RS=0;

LCD1602_RW=0;

LCD1602_DATAPINS=com;

Lcd1602_Delay1ms

(1);

LCD1602_E=1;

Lcd1602_Delay1ms(5);

LCD1602_E=0;

}

#else

voidLcdWriteCom(ucharcom)

{

LCD1602_E=0;

LCD1602_RS=0;

LCD1602_RW=0;

LCD1602_DATAPINS=com;//由于4位的接线是接到P0口的高四位,所以传送高四位不用改

Lcd1602_Delay1ms

(1);

LCD1602_E=1;

Lcd1602_Delay1ms(5);

LCD1602_E=0;

LCD1602_DATAPINS=com<<4;//发送低四位

Lcd1602_Delay1ms

(1);

LCD1602_E=1;

Lcd1602_Delay1ms(5);

LCD1602_E=0;

}

#endif

#ifndefLCD1602_4PINS

voidLcdWriteDa

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1