电风扇模拟控制系统.doc
Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date电风扇模拟控制系统电风扇模拟控制系统2014-2015学年第一学期 电风扇模拟控制系统课程名称 单片机原理及应用学生姓名 王士波 学 号 5011212416 所属学院 信息工程学院 班 级 计算机16-4 授课教师 孟洪兵 塔里木大学教务处制摘 要本次课程设计通过使用Keil uVision3软件和Proteus软件设计一个电风扇模拟控制系统。该电风扇模拟控制系统通过单片机AT89C51芯片对电机的控制,通过一位数码管显示风扇的档位,实现风扇弱风、中风、强风的改变。文章主要介绍了该电风扇模拟控制系统的硬件电路设计和软件设计。 关键词: Keil uVision3软件 Proteus软件 AT89C51芯片 -目 录绪 论11、电风扇控制系统原理21.1 控制装置的原理21.2 设计方案特点22、系统硬件设计22.1 系统总体设计主要内容22.2 系统的工作原理32.3 系统硬件设计电路图32.4 显示模块43、系统软件设计53.1 PWM控制方法53.2 占空比53.3 电风扇控制设计主程序流程图63.4 电机控制模块与定时器T1中断流程图84、调试与仿真94.1 软件仿真94.2 仿真运行95、实物图9结 论11参考文献14附 录15绪 论 许多边缘、交叉学科的发展促进了现代科学技术的进步,尤其是对机电一体化、自动控制、计算机技术以及光电通信技术等科学领域的意义更是非同一般。本文设计的智能电风扇正是以上交叉学科的有机结合体。它的独特之处在于巧妙的采用了红外遥控技术、单片机控制技术,把智能控制技术用于家用电器的控制中,通过主控单片机对电风扇实施智能控制。本次设计用到了微电子技术、电子计算机技术、现代通讯技术、光电子技术,新技术的成群崛起,将促进不同原理、不同性能、不同结构和用途的电子产品。作为一种老式家电,电风扇具有价格便宜、摆放方便、体积轻巧等特点。由于大部分家庭消费水平的限制,电风扇作为一个成熟的家电行业的一员,尤其在中小城市,以及乡村将来一段时间内仍然会占有市场的大部分份额。面临庞大的市场需要的同时,也要提高电风扇的市场竞争力。使之在技术含量上有所提高,应使风扇不仅功能多样,操作简便,而且更加安全可靠。为此,在现有市场多功能电风扇的基础上,我们提出了一种新型的智能电风扇。该风扇功能更多,添加了很多人性化的设计,如安全保护,倾倒保护,智能照明等,使电风扇更加人性化。可实现:多级调速功能,即提供更多的风力级别和风型,提高用户的舒适度。1、电风扇控制系统原理1.1 控制装置的原理 传统电风扇供电采用是200V交流电,电机转速分为几个档位,通过人工手动调整电机转速达到改变风速的目的,每改变一次风力,必然有人参与操作,这样就会带来诸多的不便。本设计介绍了一种AT89C51单片机的智能电风扇调速器的设计,该设计巧妙利用了单片机控制技术、调速技术,把智能控制技术应用于家用电器的控制中,将电风扇变成智能化。初始加电时,电风扇不加电,一位数码显示器显示0,只有按下按钮电路就将按系统默认控制负载定时工作的时间方式自动开始运行。在进行风速调节过程中,系统采用一位数码管显示,显示直观、准确。1.2 设计方案特点 初始加电时,电风扇不加电,一位数码显示器显示0,只有按下按钮电路就将按系统默认控制负载定时工作的时间方式自动开始运行。在进行风速调节过程中,系统采用一位数码管显示,显示直观、准确。2、系统硬件设计 2.1 系统总体设计主要内容本设计以AT89C51单片机为核心,从而建立一个控制系统,该设计的内容:通过点击控制按钮实现弱风、中风、强风(1、2、3、4档)然后显示数字1,2,3,4。总体设计图如图2.1。控制电机AT89C51键盘功能输入输出显示图2.1 电风扇系统总体设计2.2 系统的工作原理 AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51单片机的基本结构和外部引脚如图2.1所示 。 图2.1 AT89C51单片机2.3 系统硬件设计电路图电风扇设计系统以AT89C51单片机为核心,由时钟电路,复位电路,显示电路,键盘,电机组成,如图2.2所示。 图2.2 电风扇设计总电路图2.4 显示模块显示模块采用数码管,在显示模块中与以往的不同之处在与加入了指示灯模块,将指示灯加在断码所在的I/O口上了,将指示灯进行编码进行显示,在显示模块中考虑到电路最优化问题,位选口所需的电流较大些,而P2口所承受的电流较大一些,所以位选选择为P0口,而断码选在P2口上,如图2.5所示。图2.5 显示模块3、系统软件设计3.1 PWM控制方法SPWM(Sinusoidal PWM)法是一种比较成熟的、目前使用较广泛的PWM法。前面提到的采样控制理论中的一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时, 其效果基本相同。SPWM法就是以该结论为理论基础,用脉冲宽度按正弦规律变化而和正弦波等效的PWM波形即SPWM波形控制逆变电路中开关器件的通断, 使其输出的脉冲电压的面积与所希望输出的正弦波在相应区间内的面积相等,通过改变调制波的频率和幅值则可调节逆变电路输出电压的频率和幅值。PWM 调速系统具有以下特点: 1.主电路简单,所用功率元件少,且工作于开关状态,因此电路的导通损耗小,装置效率比较高; 2.开关频率高,可避开机床的共振区,工作平稳; 3.采用功率较小的低惯量电机时,具有高的定位速度和精度; 4.低速性能好,稳速精度高,调速范围宽; 5.系统频带宽,动态响应好,抗干扰能力强。3.2 占空比 在一串理想的脉冲序列中(如方波),正脉冲的持续时间与脉冲总周期的比值。例如:脉冲宽度1s,信号周期4s 的脉冲序列占空比为0.25。在一段连续工作时间内脉冲占用的时间与总时间的比值。在 CVSD 调制中,比特“1”的平均比例。在周期型的现象中,现象发生的时间与总时间的比。占空比是高电平所占周期时间与整个周期时间的比值,如图3.1所示。图3.1 占空比3.3 电风扇控制设计主程序流程图 初始化显示按键是否有按下置占空比1:3按键是否有按下Y置占空比1:6NY N按键是否有按下置占空比1:9 NY结束开始图3.2 主程序流程图3.4 电机控制模块与定时器T1中断流程图 PWM调制Y按键是否有按下开始NPWM输出速度显示结束图3.3 电机控制模块图关中断程序电机是否高电平标志位为1标志位为1置标志位占空比达到电机输出置定时器T1初值清标志位电机输出清标志位中断返回开中断置定时器T1初值占空比达到置标志位NNNYYY图3.4 定时器T1中断图4、调试与仿真4.1 软件仿真1、把程序在Keil uVision3中调试,成功无错误后生成Hex文件。2、检查在proteus软件中的电路图,检查无错误。3、双击89C51导入生成Hex文件。4、点击proteus软件左下方的开始键,进行仿真,观察高低电平情况。4.2 仿真运行 开关按下时,同时数码管显示数字。通过示波器可以看到波形,如图4.1所示。 图4.1 波形及其仿真图5、实物图(1)0档时风扇处于静止状态。(2)2档时风扇处于中风状态。(3)3档时风扇处于强风状态。结 论通过本次设计,使我学到了许多书本上无法学到的知识,也使我深刻体会到单片机技术应用领域的广泛。不仅让我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生更大的兴趣。在本次设计过程中,我学会了在网络上查找有关设计的个硬件的资源,其中包括:直流电机PWM调速·AT89C51的脚图的资料。本系统是以单片机AT89C51芯片为核心部件,实现了电风扇系统控制功能,在软件上是花费时间最多的,我们上网找资料,上图书馆,尽可能的了解有关于电风扇的知识。通过这次设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步。在设计的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。全能提高个人系统开发的综合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实的基础。不但加深我对在课程上所学到的单片机理论知识的认识和理解,重新让自己认识到了这门学科的在应用方面的广阔前景,并且通过知识与应用于实践的结合更加丰富了自己的知识。扩展了知识面,不但掌握了本专业的相关知识,而且对其他专业的知识也有所了解,而且较系统的掌握单片机应用系统的开发过程,因而自身的综合素质有了全面的提高。经过这次一个较完整的产品设计和制作过程,对于认识到自己在知识方面存在的不足,明确今后的学习方向是非常有益的,为将来的的就业提前打了下坚实的基础。的初期阶段,难度很大,没有头绪。通过求助老师,理清思路。同时,在图书馆里、网上查阅资料,攻克设计中的道道难题。在克服困难的过程中,我学到了许多,特别是在课堂上学不到的东西。总的感受有以下几方面:1、通过本次设计,我不但对单片机有了更深的了解,对一个课题如何画流程图,编程序等有了一定的认识。2、进一步加强了我的动手能力和运用专业知识的奴隶,从学习到如何去思考和解决问题,以及如何灵活地改变方法实现设计方案。3、让我了解到单片机技术对当今人们生活的重要性。同时这次设计的经历也使我受益匪浅,让我知道做任何事情都应脚踏实地,刻苦努力地去做,只有这样,才能做好。参考文献1 王水,周培志,张耀进.PWM控制与驱动器使用指南及应用电路单端控制与驱动器部分J.西安:西安电子科技大学出版社,2005,5070.2 邹振春MCS-51系列单片机原理及接口技术M北京:机械工业出版社,2006:186-187,1913 李锡雄,陈婉儿.脉冲调制技术J.武汉:华中理工大学出版社,1996,54-98.4 张凯MCS-51单片机综合系统及其设计开发M北京:科学出版社,19965 赵鸿图.基于单片机AT89C51的直流电机PWM调速系统J. 电子技术, 2008, (10),73-766 楼然苗,李光飞51系列单片机设计实例M北京:北京航空航天大学出版社,20037 何立民单片机高级教程M 北京:北京航空航天大学出版社,20008 马忠梅,藉顺心,张凯单片机的C语言应用程序设计M 北京:北京航空航天大学出版社,20039 方力. 基于单片机的直流电动机控制系统设计J. 机械制造与自动 化, 2011,(06),175-177. 附 录#include <AT89X51.H>#define Key P1_1#define motor P3_2unsigned char code tab5=0xc0,0xf9,0xa4,0xb0,0x99; /数码管编码unsigned char code set4=0,3,6,9; /PWM占空比90%,60%,30%unsigned char code zy9=2,4,6,8,9,8,6,4,2; /自然风unsigned char tt=0; /档位unsigned char jj=0; void delay( unsigned int ms);void main( void) bit kk=0; /按键 motor = 0; TMOD = 0x01; /定时器T0,工作方式1 TH0 = -1000/256; TL0 = -1000%256; /定时1ms ET0 = 1; EA = 1; TR0 = 1; while(1) P2 = tabtt ; Key =1; if( Key = 0) delay(10); Key =1; if(Key = 0 && kk =0) tt+; if(tt>4) tt=0; P2 = tabtt ; kk =1; Key = 1; if( Key = 1) kk= 0; void IT( void ) interrupt 1 static unsigned char i = 0; TH0 = -1000/256; TL0 = -1000%256; /定时1ms if(tt<4) if( i < settt ) motor =1; else motor = 0; i+; if(i>=10) i=0; else if(tt=4) static unsigned char j = 0; if(j<zyjj) motor=1; else motor=0; j+; if (j>=30) j=0; jj+; if(jj>9) jj=0; void delay( unsigned int ms) /延时 unsigned char i; while( ms-) for( i=0 ; i<125 ; i+);