版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大学生创新性实验项目结题报告 “大学生创新性实验计划”项目结题报告项目名称 智能无叶风扇 项目编号 项目级别 项目负责人 系、年级、班级 指导教师姓名 职称 填表日期 2014 年 4 月 25 日 学院教务处制表目 录一、项目选题思路1二、实验的研究方案及技术路线1三、项目的实施过程2 1电路部分系统整体设计2 2电路实现原理2 3温度部分系统硬件设计33.1 独立键盘连接电路33.2 数码管显示电路3 3.3 温度采集电路3 3.4 风扇电机驱动与调速电路4 4湿度部分系统硬件设计4 4.1 湿度采集电路4 4.2 阈值设置电路5 4.3数码管显示电路5 4.4 加湿器驱动电路5 5系统软
2、件设计6 5.1温度部分软件设计6 5.2湿度部分软件设计7四、项目的预期成果及最终成果8五、项目组成员的收获及体会8参考文献9附件1源程序10附件2电路图2122一、项目选题思路风扇是日常生活中重要的电器,不仅在家庭中给人们带来凉爽,在温室等很多地方也都需要风扇通风散热。大部分风扇还只是停留在手动调节的水平。如果风扇能根据周围温度自动启停和调节风速,那么不仅解放了人力,还能节省电能。目前许多家里都使用空调,不但耗电率过高,而且几乎毫无通风的可能。传统风扇的三瓣叶,不仅清洗起来麻烦,而且对小朋友还存在一定的安全隐患。市面上有一款奇特的风扇,因其外形上不同于普通风扇,没有扇叶所以称为无叶风扇。新
3、型无叶风扇不但在价格上比空调要低很多,而且通风性很强。没有扇叶和转轮的新型电风扇,吹出清爽凉风的同时,还能完全避免了清洗扇叶之苦。它能产生神奇的持续性的吹出凉风,由于没有叶片,不会覆盖尘土,对有好奇性的儿童不具有伤害,是理想的既安全又节能的产品。基于市面信息以及风扇带来的各种问题,我们设计一款智能无叶风扇。它能实时检测温度显示出来,并根据温度调整风速以适应当前环境,解决人力调控的问题。除此之外还加有湿度检测部分显示当前湿度,并控制加湿器的启停,让环境一直保持在人感到舒适的湿度下。二、实验的研究方案及技术路线无叶风扇出风原理主要是利用喷气式飞机引擎及汽车涡轮增压中的技术。基座中带有电动机带动圆柱
4、内涡轮扇叶旋转,产生低压,抽取底座旁的空气。后基座内空气经过涡轮增压器压缩,使空气内能增加,同时增加进气量。风在雾沫夹带和负压在这两个物理现象的作用下,各种气流叠加,空气,或者说无叶风扇的风量,被显著放大了,达到涡轮风扇本身抽取量的15倍。由圆环边缘内部隐藏的一个叶轮把空气以圆形轨迹喷出,最终形成一股不间断的冷空气流。本实验主要功能是温度控制风速,湿度控制加湿器。首先对温度进行采集,并根据环境温度实现调节风速智能化的控制。若对此采用单片机来实现,不仅具有控制方便,简单,灵活性大等特点,而且还可以大幅提高被控量的技术指标。采用单片机作为控制器,利用温度传感器DS18B20作为温度采集元件,并根据
5、采集到的温度,通过一个达林顿反向驱动器ULN2803驱动风扇电机。根据检测到的温度与系统设定的温度的比较实现风扇电机的自动启动和停止,并能根温度的变化自动改变风扇电机的转速,同时用LED八段数码管显示检测到的温度与设定的温度。其次是湿度的检测,也采用单片机控制。用DHT11湿度传感器作为湿度采集原件,并根据采集数据与设定值作比较,低于设定值时启动加湿器。3、 项目的实施过程1、 电路部分系统整体设计系统构成框图。如图1所示。温湿度显示 温湿度传感器单片机AT89C52独立键盘PWM驱动电路直流电机驱动模块加湿器 图1 系统构成框图电路采用完全分开形式,避免两电路产生干扰,出现供电不足和不稳定现
6、象。用户可根据需要开启所需功能,省电、节能更人性化。2、电路实现原理本设计的温度部分实现原理:利用温度传感器DS18B20检测环境温度并直接输出数字温度信号给单片机AT89C52进行处理,在LED数码管上显示当前环境温度值以及预设温度值。其中预设温度值只能为整数形式,检测到的当前环境温度也为整数。同时采用PWM脉宽调制方式来改变直流风扇电机的转速。并通过两个按键改变预设温度值,一个提高预设温度,另一个降低预设温度值。湿度部分实现原理:传感器模块使用的是DHT11数字温湿度传感器。通过DHT11检测出当前环境下的湿度,将所测数据交给AT89C52单片机进行分析和处理。其中,为了显示稳定,本系统每
7、间隔1秒采集一次数据送入单片机。阈值设置模块通过三个按键来实现阈值设置功能的。使得在不同环境下设置阈值提供了极大的方便,不需要每次都在程序里改动然后再烧录,省去了复杂的过程。3、温度部分系统硬件设计3.1 独立键盘连接电路键盘包括2个独立按键S2和S3,一端与单片机的P1.3和P1.4口相连,另一端接地,当按下任一键时,P1口读取低电平有效。系统上电后,进入键盘扫描子程序,以查询的方式确定各按键,完成温度初值的设定。其中按键S1为加按键,每按下一次,系统对最初设定值加一,按键S2为减按键,每按下一次,系统对初设定值进行减一计算。3.2 数码管显示电路本设计制作中选用4位共阳极数码管作为显示模块
8、,其中前2位数码用于显示温度传感器实时检测采集到的温度,显示范围为099摄氏度;后2位数码管用于显示系统设置的温度,显示范围为099摄氏度。本设计采用数码管动态显示,P0口输出段码。P2.0,P2.1,P2.4,P2.5输出位选信号。3.3 温度采集电路DS18B20数字温度传感器通过其内部计数时钟周期来作用,实现了特有的温度测量功能。低温系数振荡器输出的时钟信号通过由高温系数振荡器产生的门周期而被计数,计数器预先置有与-55相对应的一个基权值。如果计数器计数到0时,高温度系数振荡周期还未结束,则表示测量的温度值高于-55,被预置在-55的温度寄存器中的值就增加1,然后这个过程不断重复,直到高
9、温度系数振荡周期结束为止。此时温度寄存器中的值即为被测温度值,这个值以16位二进制形式存放在存储器中,通过主机发送存储器读命令可读出此温度值,读取时低位在前,高位在后,依次进行。由于温度振荡器的抛物线特性的影响,其内用斜率累加器进行补偿。DS18B20在使用时,一般都采用单片机来实现数据采集。只须将DS18B20信号线与单片机1位I/O线相连,且单片机的1位I/O线可挂接多个DS18B20,就可实现单点或多点温度检测。在本如图2所示。图2温度采集和驱动电路3.4 风扇电机驱动与调速电路本设计中由单片机的I/O口输出PWM脉冲,通过一个达林顿反向驱动器ULN2803驱动5V直流无刷风扇电机以及实
10、现风扇电机速度的调节。键盘控制设置温度,通过软件向单片机输入相应控制指令,由单片机通过P1.7口输出与转速相应的PWM脉冲,经过ULN2803驱动风扇直流电机控制电路,实现电机转速与启停的自动控制。当环境温度升高时,直流电机的转速会相应按照设定的等级有所提高;当环境温度下降时,电机的转速会相应的下降;当环境温度低于设置温度时,电机停止转动,而环境温度又高于预设温度时,电机重新启动。风扇电机的一端接5V电源,另一端接ULN2803的OUT7引脚,ULN2803的IN7引脚与单片机的P3.1引脚相连,通过控制单片机的P3.1引脚输出PWM信号,由此控制风扇直流电机的速度与启停。如图2所示。4、 湿
11、度部分系统硬件设计4.1 湿度采集电路 DHT11传感器连接单片机相对比较简单。单片机的P0.0口用来发收串行数据,即数据口。连接传感器的Pin2(单总线,串行数据)。由于测量范围电路小于20米,加一个5K的上拉电阻,因此在传感器的Pin2口与电源之间连接一个5K电阻。而传感器的电源端口Pin1和Pin4分别接单片机的VDD和GND端。传感器的第三脚悬浮放置。DHT11传感器原件的电路连接图如下图3所示。 图3 DHT11电路连接图4.2 阈值设置电路如图4,从上到下依次设为K1、K2、K3、K4四个按键,其连接单片机引脚分别是P1.0-P1.3四个引脚。根据该模块使得阈值设置分两个模式,分别
12、是湿度显示模式、湿度设置模式。K1为设置键,按一次为湿度设置模式;K4为退出设置。K2和K3只有在湿度设置模式下才有效,分别为阈值增加和阈值减小。阈值设置模块是后来加进来的部分,设置非常人性化,一般人都可以操作,而不用每次设置阈值都到程序里边去设置。图4 阈值设置模块原理图4.3数码管显示电路本设计制作中选用4位共阴极数码管作为显示模块,其中前2位数码用于显示湿度传感器实时检测采集到的湿度,测量范围为20RH-80RH;后2位数码管用于显示湿度单位RH。本设计采用数码管动态显示,P0口输出段码,P2.4-P2.7各经过一PNP型三极管输出位选信号。4.4 加湿器驱动电路当环境湿度低于设置湿度时
13、,加湿器开始工作,而环境湿度高于预设湿度时,加湿器停止工作。加湿器的一端接5V电源,另一端接ULN2803的OUT7引脚,ULN2803的IN7引脚与单片机的P2.1引脚相连,通过控制单片机的P2.1引脚输出的高低电平,由此控制加湿器的启停。驱动电路如图2所示。图5 加湿器驱动电路5、系统软件设计5.1温度部分软件设计温度程序设计部分主要包括主程序、DS18B20初始化函数、DS18B20温度转换函数、温度读取函数、键盘扫描函数、数码管显示函数、温度处理函数以及风扇电机控制函数。主程序流程图如图6。开始调用温度转换程序 温度显示扫描键盘设定温度duddu度N温度 > 设定值YN温度>
14、;设定值+3YP3.1=0P3.1产生方波信号P3.1=1风扇关闭风扇低速转动风扇高速转动延时 图6温度主程序流程图程序初始化时将DS18B20的温度设定初值设为22,读取当前温度值并将段码送入P0口,由数码管动态显示。然后扫描键盘判断有无按键按下,将改变的设定值送入定义的变量中存储,比较当前值与设定值。若当前值小于设定值,P3.1=0风扇将不启动或停止转动,若大于设定值则继续判断是否大于设定值+3。若为是,P3.1=1则风扇高速转动,若为否,P3.1输出方波信号,使风扇转速降低。经过延时后循环上述步骤。5.2湿度部分软件设计湿度程序设计部分主要包括主程序、DHT11初始化函数、DHT11湿度
15、转换函数、湿度读取函数、键盘扫描函数、数码管显示函数、湿度处理函数以及加湿器控制函数。主程序流程图如图7。开始调用湿度转换程序 湿度显示 扫描键盘设定湿度duddu度N湿度 > 设定值YP2.0=1 P2.1=0P2.0=0 P2.1=1加湿器启动加湿器停止延时 图7 湿度主程序流程图程序初始化时将DDHT11的湿度度设定初值设为30RH,读取当前湿度值并将段码送入P0口,由数码管动态显示。然后扫描键盘判断有无按键按下,将改变的设定值送入定义的变量中存储,比较当前值与设定值。若当前值小于设定值,P2.0=1加湿器将停止;若大于设定值,P2.1=1加湿器启动。经过延时后循环上述步骤。4、
16、项目的预期成果及最终成果预期成果是做成实物模型。作品成果展示见图8。图8作品成果展示5、 项目组成员的收获及体会本设计已基本完成题目中的各项功能。从确定题目到立项再到实施之间已经快一年了,最大的体会是:仿真和实物真的有很大的差别。同样的程序仿真时能用但是实物板上却不能用,后来分析到仿真是有欠缺的,只能作为我们研究电路的一个参考罢了。在设计的研究过程中,用到了Keil、Altium Designer和Proteus等软件,通过对这些专业知识的学习,提高了自己的知识水平,而在课题的设计过程中,我们都加强了自己的动手能力,并且将专业知识用到实践上,让我们对这些软件更加熟悉。在后期实施过程中查找资料,
17、理论学习,实验编程调试,这一切都使我们的理论知识和动手能力有了很大的提高。了解了单片机的硬件结构和软件编程方法,对单片机的工作方式有了很大的认知。同时,对一些外围设备比如传感器、数码管、键盘、加湿器等有了一定的了解!大学生创新实验竞赛是培养学生综合运用所学知识,发现实际为题、提出实际问题、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际学习能力、动手能力的具体训练和考察过程。尽管本次创新实验设计结束了,但我们的学习仍没有结束,只有不断学习,用知识充实自己的头脑,才能在未来社会有一席之地,才能为社会的发展做出应有的贡献,一句话:学无止境。参考文献1 何立民.单片机应用技术选编.北京:北京
18、航空航天大学出版社,1997,102 张家定,林幅严,崔宏月.基于MCS-51单片机的直流小电机PWM调速设计J.中国科技论文在线,2007.3 蔡美琴, 张雅民.51 单片机系统及其应用 M.北京: 高等教育出版社,1992.4 李彩云,胡洪波.PWM 技术在直流电机调速中的应用J.南昌高专学报,2008.5 金发庆等编. 传感器技术与应用.北京机械工业出版社,20026 谭浩强. C语言程序设计 (第四版) 附件1:源程序温度检测源程序#include <reg52.h> #define uchar unsigned char#define uint unsigned ints
19、bit DQ=P17;sbit key1=P13;sbit key2=P14;sbit dianji=P31;float ff;uint y3;uchar shi,ge,xiaoshu,sheding=22,gaonum,dinum;uchar code dispcode= /段码0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e; uchar code tablel= /带小数点的段码0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9
20、0;uchar dispbitcode= /位选0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f; uchar dispbuf8=0,0,0,0,0,0,0,0; void Delay(uint num)/ 延时函数while( -num );void digitalshow(uchar a4,uchar a3,uchar a1,uchar a0)dispbuf0=a0; dispbuf1=a1;dispbuf3=a3;dispbuf4=a4;P2=0xff;P0=dispcodedispbuf0;P2=dispbitcode5;Delay(1); P2=0xf
21、f;P0=dispcodedispbuf1;P2=dispbitcode4;Delay(1);P2=0xff;P0=tableldispbuf3;P2=dispbitcode1;Delay(1);P2=0xff;P0=dispcodedispbuf4;P2=dispbitcode0;Delay(1);void dmsec(uint count) uint i;/ 1ms延时while(count-) for(i=0;i<125;i+)void tmreset(void) DQ=0;Delay(90);/ 精确延时 大于 480usDQ=1;Delay(4);/ 90,4 可以小范围变化v
22、oid tmpre(void) while(DQ);while(DQ);Delay(4); bit tmrbit(void) uint i;bit dat;DQ=0;i+; / i+;大概1usDQ=1;i+;i+; dat=DQ;Delay(8); return(dat);uchar tmrbyte(void) /读一个比特 uchar i,j,dat;dat=0;for(i=1;i<=8;i+) j=tmrbit();dat=(j<<7)|(dat>>1);return(dat);void tmwbyte(uchar dat) /写一个比特 uint i;uc
23、har j;bit testb;for(j=1;j<=8;j+) testb=dat&0x01;dat=dat>>1;/ 从低位开始if(testb) / Write 1DQ=0; / 先拉低 i+;i+;/ >1us DQ=1;Delay(4); else / Write 0DQ=0; Delay(4); DQ=1;i+;i+; / 再拉高 void tmstart(void) /ds1820开始转换 dmsec(1); tmreset(); tmpre(); dmsec(1); tmwbyte(0xcc); / skip rom tmwbyte(0x44);
24、 / 转换uchar tmrtemp(void) /读取温度 uchar a,b;tmreset();tmpre();dmsec(1);tmwbyte(0xcc); / skip romtmwbyte(0xbe);/ 转换a=tmrbyte(); / LSB低8位b=tmrbyte();/ MSB高8位y3=b;y3<<=4;a>>=4;y3=y3|a;return(y3);void keyscan(void)if(key1=0)dmsec(5);if(key1=0)sheding+;if(sheding=100)sheding=20;while(!key1);else
25、 if(key2=0)dmsec(5);if(key2=0)sheding-;if(sheding=0)sheding=20;while(!key2);void deal(uint tmp) /温度处理if(tmp<=sheding)gaonum=0;dinum=4;else if(tmp>sheding)&&(tmp<=(sheding+3)gaonum=3;dinum=1;elsegaonum=4;dinum=0;void dianjik() /电机控制 uchar q,i; for(q=0;q<dinum;q+) dianji=0; digital
26、show(shi,ge,sheding/10,sheding%10); for(i=255;i>0;i-) digitalshow(shi,ge,sheding/10,sheding%10); for(q=0;q<gaonum;q+) dianji=1; digitalshow(shi,ge,sheding/10,sheding%10); for(i=255;i>0;i-) digitalshow(shi,ge,sheding/10,sheding%10); void main(void) uint last;dianji=0;tmstart();dmsec(450);/ 初
27、始化ds18b20while(1)tmstart();/ ds1820开始转换dmsec(2); last=tmrtemp();/ 读取温度shi=last/10;ge=last%10;keyscan();dmsec(2); deal(last);dianjik(); 湿度检测源程序/*Main.c*#include <reg52.h> #include "DHT11.H" #define uchar unsigned char #define uint unsigned int sbit w1 = P24; /数码管位选端引脚定义sbit w2 = P25;s
28、bit w3 = P26;sbit w4 = P27;sbit LED1 = P20; /指示LED引脚定义sbit LED2 = P21; /指示LED引脚定义sbit K1 = P10; /按键定义sbit K2 = P11;sbit K3 = P12; sbit K4 = P13;extern uchar Humi_Value; /读取的湿度值uchar Count =0; /湿度值显示时间控制变量uchar Set_Value=30; /设置下限值uchar Table=0x5f,0x44,0x9d,0xd5,0xc6,0xd3,0xdb,0x45,0xdf,0xd7,0xcf,0xc
29、e;void Delay_1ms(unsigned int i) unsigned int x,j;for(j=0;j<i;j+)for(x=0;x<123;x+);void Humi_Display(void) /湿度显示函数P0=TableHumi_Value/10;w1=0;Delay_1ms(6);w1=1;P0=TableHumi_Value%10;w2=0;Delay_1ms(6);w2=1;P0=Table10;w3=0;Delay_1ms(6);w3=1;P0=Table11;w4=0;Delay_1ms(6);w4=1;/设置下限值相关函数void Set_Dis
30、play(void) /设置显示函数P0=TableSet_Value/10;w1=0;Delay_1ms(6);w1=1;P0=TableSet_Value%10;w2=0;Delay_1ms(6);w2=1;P0=Table10;w3=0;Delay_1ms(6);w3=1;P0=Table11;w4=0;Delay_1ms(6);w4=1;void Set_Value1(void) /设置主函数if(K1=0) /设置按键按下Delay_1ms(4);if(K1=0)while(!K1); /等待按键松开EA=0; /关闭总中断while(1)Set_Display();if(K2=0)
31、 /设置加Delay_1ms(4);if(K2=0)while(!K2);if(Set_Value<90)Set_Value+;elseSet_Value=20;if(K3=0) /设置减Delay_1ms(4);if(K3=0)while(!K3);if(Set_Value>20)Set_Value-;elseSet_Value=90;if(K4=0) /退出设置Delay_1ms(4);if(K4=0)while(!K4);EA=1; /打开总中断break;void Tim0_Init(void)/定时器0初始化函数TMOD = 0x11;/设置定时器0和定时器1为16位定时
32、器TH0 = (65536-50000)/256; /定时器0初值为50msTL0 = (65536-50000)%256;TH1 = (65536-10000)/256; /定时器1初值为10msTL1 = (65536-10000)%256;ET0 = 1; /打开定时器0中断TR0 = 1; /启动定时器0ET1 = 1; /打开定时器1中断TR1 = 1; /启动定时器1EA = 1; /打开总中断void Compare(void) /比较当前值与设置值if(Humi_Value>=Set_Value)LED1=1;LED2=0;elseLED1=0;LED2=1;void m
33、ain(void)Tim0_Init();while(1) Compare();void Tim0_Isr(void) interrupt 1TH0 = (65536-50000)/256;TL0 = (65536-50000)%256;Count+;if(Count=20) /1s读取一次湿度值Count=0;Get_DHT11_Value();void Tim1_Isr(void) interrupt 3TH1 = (65536-10000)/256; /10ms扫描一次数码管TL1 = (65536-10000)%256;Humi_Display();Set_Value1();/*dht11.c*#include <reg52.h>#include "DHT11.H"sbit DHT11_D=P32;unsigned char Temp_Value,Humi_Value;unsigned char DHT11_Con;void delay10ms(void) /误差 0us unsigned char a,b,c; for(c=5;c>0;c-) for(b=4;b>0;b-) for(a=248;a>0;a-);void delay10us(void) /误差 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 疫苗接种率提升策略-洞察分析
- 样条方法在机器学习中的优化问题探讨-洞察分析
- 艺术表演中的智能照明与舞台设计-洞察分析
- 氧气传感器改进-洞察分析
- 太阳能光伏发电成本分析-洞察分析
- 合作承诺意向书(13篇)
- 艺术品市场的波动与趋势-洞察分析
- 医院支援采集核酸个人工作总结(8篇)
- 响应面法优化工艺条件-洞察分析
- 亚硝酸钠临床应用研究-洞察分析
- 抖音快手短视频创业项目融资商业策划书
- 沪教版英语八年级上册知识点归纳汇总
- 装饰装修工程售后服务具体措施
- 软件设计说明书通用模板
- 酒店治安安全培训
- 糖皮质激素类药物临床应用指导原则(2023年)
- 我的家乡-东营
- 世界的海陆分布、世界的地形复习提纲
- SMT电子物料损耗率标准 贴片物料损耗标准
- NFPA-2010 固定式气溶胶灭火系统标准(译文)
- 钓鱼邮件专项安全意识随堂测试
评论
0/150
提交评论