基于温度的风扇设计毕业设计报告_第1页
基于温度的风扇设计毕业设计报告_第2页
基于温度的风扇设计毕业设计报告_第3页
基于温度的风扇设计毕业设计报告_第4页
基于温度的风扇设计毕业设计报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计说明书题目:_基于温度的风扇设计产品设计工艺设计方案设计类型:学生姓名:____学号:学院:_电子信息工程学院____专业:物联网应用技术班级:学校指导教师:企业指导教师:_____________________2015年12月15日目录1引言11.1课题研究的背景与意义11.2课题研究的内容12系统总体设计思路12.1控制系统的概述12.2红外模块控制舵机部分2.3电机部分3硬件设计3.1舵机的设计3.2电机的设计3.3红外感应模块的设计3.4电源的设计4软件的设计4.1红外感应模块的程序设计4.2舵机的控制程序设计4.5主程序的设计结论5致谢6参考文献7附录-源代码总程序红外模块的程序舵机的程序

1绪论课题研究的背景及意义电风扇曾一度被认为是空调产品冲击下的淘汰品,其实并非如此,市场人士称,家用电风扇并没有随着空调的普及而淡出市场,近两年反而出现了市场销售复苏的态势。其主要原因:一是风扇和空调的降温效果不同——空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用;二是电风扇有价格优势,价格低廉而且相对省电,安装和使用都非常简单。尽管电风扇有其市场优势,但传统电风扇还是有许多地方应当进行改良的,最突出的缺点是它的摆头功能,传统的风扇的摆头只是左右匀速的摆动,不管左右是否有人,而智能摆头风扇是利用红外感应左右是否有人来实现摆头的功能。鉴于以上方面的考虑,我们需要设计一种智能摆头电风扇来解决这些问题课题研究的内容本文所研究的课题是基于arduino的智能摆头电风扇的设计,控制对象是舵机的转动,把电机风扇安装在舵机上通过红外模块的感应来控制舵机的转动从而实现风扇的摆头。2系统的总体设计智能电风扇控制系统概述本设计以arduino为核心,通过红外传感器对环境进行数据采集,从而建立一个控制系统,实现根据是否接受到红外感应来使舵机摆头的性能,另外,通过按键控制电机风扇转动,把电机风扇安装在舵机上从而来实现电风扇的智能摆头。红外模块控制舵机部分通过红外传感器对环境进行数据采集,从而建立一个控制系统,实现根据是否接受到红外感应来使舵机摆头的性能。电机风扇部分设计一个按键控制电路,通过按键来控制电路的通断从而实现电机风扇的转动硬件设计舵机的设计舵机采用M0300360度旋转的大扭力马达电机的设计红外模块的设计该传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测到方向遇到障碍物(放射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同事信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2-80cm。该传感器的探测距离可以通过电位器调节、具有干扰小、便于装配、使用方便等特点,可以广泛应用于机器人避障、避障小车、流水线计数及黑白线循迹等众多场合。电源的设计电源采用两节3.7V电池供电。软件的设计红外感应模块的程序设计附件源代码红外感应模块的程序 舵机控制的程序附件源代码舵机控制的程序主程序的设计附件源代码总程序结论首先,通过这次应用系统设计,在很大程度上提高了自己的独立思考能力和单片机的专业知识,也深刻了解写一篇应用系统的步骤和格式,有过这样的一次训练,相信在接下来的日子我们都会了,而且会做得更好。我所写的系统主要根据目前节智能化电风扇技术的发展趋势和国内实际的应用特点和要求,采用了自动化的结构形式,实现对电风扇转速的自动控制。系统以Arduino为核心部件,Arduino系统完成对环境红外信号的采集、处理等功能;运行程序该系统的主要特点是:1)适用性强。2)系统成本低廉,操作非常简单,随时可以根据软件编写新的功能加入产品。操作界面可扩展性强,只要稍加改变,即可增加其他按键的使用功能。本系统在当今提倡人性化设计和健康产品的环境下具有非常好的市场前景。本设计在模拟检测中运行较好,但采样据不太稳定。功能上的缺憾是对于两个档之间的临界温度处理不好,并且档位太少。还有待改进。致谢毕业设计已经接近了尾声,这也意味着我的大学生活就要结束了,学生生活一晃而过,回首走过的岁月,心中倍感充实,当我写完这篇毕业设计报告的时候,有一种如释重负的感觉,感慨良多。首先,我要特别感谢我的指导老师刘凯老师。做设计的过程是艰辛的,但是在我的努力之下还是完成了。在这个过程中刘凯老师给了我很大的帮助,没有他的尽心指导和严格的要求,我也不会顺利完成这次设计。每次遇到难题,我最先做的就是向刘老师寻求帮助,而刘老师每次不管忙或闲,总会抽空来找我面谈,然后一起商量解决的办法。刘老师平日里工作繁多,但我做毕业设计的每个阶段,从选题到查阅资料,论文提纲的确定,中期论文的修改,后期论文格式调整等各个环节中都给予了我悉心的指导。这几个月以来,刘老师不仅在学业上给我精心指导,同时还在思想上给我以无微不至的关怀,在此谨向刘老师致以诚挚的谢意和崇高的敬意。其次,还要感谢这三年来教我知识的每个老师们,毕业论文能够顺利完成,你们也有很大的功劳。最后,我要向着三年大学生活期间所有帮助过我的同学们以及各位朋友们说一声谢谢。这次的毕业设计,对于培养我们理论联系实际的设计思想;训练综合运用电路设计和有关专业课程的理论,结合生产实际反系和解决工程实际问题的能力;巩固、加深和扩展有关电路设计方面的知识等方面有重要的作用。写毕业论文是一次再系统学习的过程,毕业论文的完成,同样也意味着新生活的开始。希望大家在将来的生活中继续追逐最初的梦想,永不放弃。参考文献[1]电子技术—尹常永—北京高等教育出版社,2013.8[2]感器技术应用—樊尚春—北京航空航天大学出版社2010.1[3]玩转Arduino物联网应用篇—陶冶王晓东刘军北京航空航天大学出版社2013.7附录源代码主程序 #include<Servo.h>//调用舵机的函数库Servomyservo;intpos=0;constintPin1=3;constintPin2=4;//定义红外传感器的引脚constinttime=1500;constintleft=90;constintright=94;}//舵机左转右转的偏转角度constintstop1=92;voidsetup(){pinMode(Pin1,INPUT);//定义红外传感器为输入pinMode(Pin2,INPUT);myservo.attach(9);//定义舵机为9号引脚Serial.begin(9600);//串口初始化}voidloop(){intp1,p2;intkey1,myservo.write(stop1);while(1){key1=digitalRead(Pin1)+digitalRead(Pin2)*2;//定义key1的值if(key1!=3)//左右红外传感器都没有感应到{delay(500);Key1=digitalRead(Pin1)+digitalRead(Pin2)*2;//break;}}if(key1==0)//左右红外传感器同时感应到{if(pos==0)myservo.write(stop1);elseif(pos==-1){myservo.write(right);delay(time);//如果电风扇的初始位置在左边红外感应到电扇右转到中间位置停止myservo.write(stop1);pos=0;}elseif(pos==1){myservo.write(left);delay(time);myservo.write(stop1);pos=0;}//如果电扇初始位置在右边红外感应到电扇左转到中间位置停止}elseif(key1==2)//01左边红外感应模块感应到{if(pos==-1)//初始位置在左边电扇不动myservo.write(stop1);elseif(pos==0){myservo.write(left);delay(time);//初始位置在中间电扇左转到左边 myservo.write(stop1);pos=-1;}elseif(pos==1){myservo.write(left);delay(time*2);//初始位置在右边电扇左转两次到左边myservo.write(stop1);pos=-1;}}elseif(key1==1)//01 右边传感器感应到{if(pos==1)myservo.write(stop1);//初始位置为右边电扇不动elseif(pos==0){myservo.write(right);delay(time);//初始位置在中间电扇右转到右边myservo.write(stop1);pos=1}elseif(pos==-1){myservo.write(right);delay(time*2);//初始位置在左边电扇右转两次到右边myservo.write(stop1);pos=1;}}else;}红外采集程序:ConstintPin1=2;constintPin2=3;//定义红外传感器的引脚intbuttonState=0;voidsetup(){pinMode(Pin1,INPUT);pinMode(Pin2,INPUT);//定义红外传感为输入Serial.begin(9600); //串口初始化}buttonState=digitalRead(Pin1);Serial.print("PIN1:");//读取PIN1的值并打印出来Serial.println(buttonState);buttonState=digitalRead(Pin2);Serial.print("PIN2:");//读取PIN2的值并打印出来Serial.println(buttonState);delay(2000);舵机控制程序:#include<Servo.h>//调用库函数Servomyservo;//createservoobjecttocontrolaservo//twelveservoobjectscanbecreatedonmostboardsintpos; //定义舵机转动的角度为posvoidsetup(){Serial.begin(9600);//串口初始化}voidloop(){putyourmaincodehere,torunrepeatedly

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论