智能温控风扇课程设计说明书范文_第1页
智能温控风扇课程设计说明书范文_第2页
智能温控风扇课程设计说明书范文_第3页
智能温控风扇课程设计说明书范文_第4页
智能温控风扇课程设计说明书范文_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

年4月19日智能温控风扇课程设计说明书文档仅供参考韶关学院课程设计说明书(论文)课程设计题目:智能温控风扇学生姓名:赵永桢学号:组员姓名:郭楚茂李辉煌练远劲杨伟成院系:物理与机电工程学院专业班级:级机制5班指导教师姓名及职称:彭昕昀讲师、韩竺秦讲师起止时间:年3月——年6月课程设计评分:(教务处制)目录1引言12方案设计12.1系统整体设计12.2方案论证12.2.1温度传感器的选择12.2.2控制核心的选择22.2.3显示器件的选择22.2.4调速方式的选择32.2.5驱动方式选择33硬件设计43.1系统各器件简介43.1.1单线程数字温度传感器DS18B2043.1.2AT89S51单片机简介43.1.3桥式驱动电路L298N简介..53.1.4LCD1602简介.63.2各部分电路设计63.2.1开关复位与晶振电路63.2.2LCD显示电路.73.2.3温度采集电路.73.2.4风扇驱动电路.84软件设计84.1程序95硬件调试105.1按键电路的调试...105.2温度传感器电路的调试105.3电机电路的调试105.4硬件调试遇到的问题106结论....117结语11参考文献:.12基于51单片机的智能温控电扇设计摘要:风扇是人们日常生活中必不可缺的工具,特别是在夏天,作为一种使用频率很高的电器,备受人们喜爱。本文将以AT89S51为主控芯片,辅以DS18B20温度传感器,结合红外探测装置,来实现一种智能温控电扇的设计。此风扇经过液晶显示器来显示温度和风速,配备2个温度设定按键,由DS18B20读取外界温度,红外探头探测是否有人,经过设定的温度配合程序来调节风速,最后经过L298N来驱动电机。经过调试,风扇能够按照温度智能变速,无人自动关闭,实现了智能温控的目标。关键词:DS18B20;AT89S51;红外探头;液晶显示器1602;L298N1引言电扇是人们日常生活中常见的降温工具,从开始的吊扇到现在的USB风扇,无处不见电扇的踪迹。虽然如今空调已经走进千家万户,可是电扇的低位还是无可取代,作为一种节能环保,而且廉价简单的降温工具,电扇还在很多人家发挥着自己独特的作用。顺应时代潮流,各种多功能的风扇逐渐在取代传统风扇。单片机作为一种智能化程度高,控制精度高,操作简单,廉价易得,抗干扰能力强等特点,越来越多的应用于智能化产品之中。市场上智能风扇产品相继问世,制作方法也多种多样,功能也逐渐完善,普遍都具有了手动变速和定时关闭等功能,相对而言,具备人性化,智能化的风扇还是很少,使用也并不广泛,而且在电子工艺高度发展的今天,智能化的步伐也越来越快,特别是中国这个高速发展的国家,电扇的智能化也该向前迈进一个步伐。在中国市场上风扇还是有一定的市场份额的,几乎每个家庭都有风扇,具备价格便宜,摆放轻便,体积灵巧等特点,使得风扇在中小城市以及乡村将来一段时间内依然会占有市场的大部分份额,为提高风扇的市场竞争力,使之在技术含量上有所提高,满足智能化的要求,智能风扇很具竞争力。大学四年即将结束,为了检验自己的学习情况,我决定使用之前所学习到的硬件只是结合相关的软件基础来制作一个基于单片机的智能温控风扇。基于对人性化与智能化相结合的考虑,同时基于对价格的考虑,本设计决定制作一个基于51单片机的智能温控风扇,该风扇具有随温度自动调节风速的功能,而且在无人时能够自动关闭,而且能够根据每个人的不同情况来设定基准温度,从而实现了人性化与智能化的双重目标。2方案设计2.1系统整体设计本设计的整体思路是:利用温度传感器DS18B20来检测环境温度,并直接输出数字温度给51单片机进行处理,并将实时温度、设置温度、风速显示在液晶1602上。设置温度辅以2个可调按键,一个提高设置温度,一个降低设置温度,设置温度只能是整数型式,检测到的环境温度能够精确到小数点后一位。2.2方案论证本设计要求实现在温度变化的情况下风扇直流电机转速随之改变,而且能够在无人的情况和温度低于设定温度的时候自行停止,需要比较高的温度分辨率和稳定的探测工具以及可靠的电机控制部件。2.2.1温度传感器的选择在本设计中,温度传感器的方案有以下两种:方案一:采用热敏电阻。热敏电阻的特性就是阻值能够随温度的变化而变化,采用热敏电阻作为检测温度的核心部件,然后经过放大电路放大信号,经过AD0809数模转换讲放大的微弱电压变化信号转化了数字信号输入单片机处理。方案二:单总线数字温度计DS18B20。作为一款优秀的数字集成温度传感器,DS18B20能够直接检测并输出数字信号给单片机进行处理。对于方案一,如若采用热敏电阻作为温度检测元件,则价格方面比较便宜,元件易得,可是热敏电阻的缺点显而易见,对于温度细微变化反应不敏感,而且在后续的放大和转换电路中还会造成失真和误差,AT89S51晶振L298NLCD1602DS18B20复位红外探头独立键盘直流电机3而且热敏电阻的变化曲线非线性,每个热敏电阻都不同,还需要单独测试描绘出曲线,虽然能够经过软件来实现误差的修正,可是这会使得电路的复杂性增加,而且在人体所在实际环境中难以检测到小的温度变化。因此这个方案在本设计中难以胜任。对于方案二,DS18B20测量范围从-55℃到+125℃,增量值为0.5℃,人体所处的环境温度包括其中,分辨率较高,所获取的温度误差小,而且对温度变化反应灵敏。DS18B20最具优势的是其温度值在器件内部直接转化成数字信号输出,简化了系统设计,又由于该温度传感器采用了单总线技术,使得其接口与单片机接口变得非常简洁,抗干扰能力也得到了提高,因此本系统采用这个方案。2.2.2控制核心的选择本设计采用AT89S51单片机作为控制核心,经过软件编程的方法进行温度的实时检测与判断,并在I/O口上输出控制信号,控制电机工作。AT89S51具有较大的存储空间,工作电压低,性能高,片内含4K字节的只读程序存储器ROM和128字节的随即数据存储器RAM,兼容标准MCS-51指令系统,价格便宜,与本系统的设计相符合。2.2.3显示器件的选择方案一:LED共阴极数码显示管。方案二:LCD液晶显示屏1602。对于方案一,成本相对低廉,功耗也低,在黑暗空间也能够看的清楚,可视距离较远,同时显示温度的程序也相对而言简单,因此这种显示方式也得到了广泛应用。可是它采用的显示方式是动态扫描,各个LED逐个点亮,会产生闪烁,在这个温度实时变化的环境中闪烁可能太快,数据可能不能很好的展示出来,故此方案不采用。对于方案二,液晶显示屏显示字符清晰,自带背光,还能显示符号,而且不会不断闪烁,显示性能一流,而且考虑到此设计不只是要显示温度,还要显示电机和红外的状态,因此从设计完善的角度来考虑,选择此方案更有优势。2.2.4调速方式的选择方案一:采用数模转化芯片DAC0832来控制,有单片机根据当前环境温度输出数值到DAC0832中,再由DAC0832产生相应的模拟信号控制晶闸管的导通脚,从而采用无级调速电路实现电扇电机转速的调节。方案二:采用单片机软件模拟PWM调速的方法。PWM是一种按照一定的规律改变脉冲序列的脉冲宽度,以调节输出量和波形的一种调节方式,在PWM驱动控制的调节系统中,最常见的是矩形波PWM信号,在控制时调节PWM波的占空比。占空比是指高电平在一个周期时间内的百分比。在控制电机的转速时,占空比越大,转速就越快,若全为高电平时占空比为100%,此时转速达到最大。用单片机的I/O口输出PWM信号时,有如下三种方法:(1)利用软件延时。当高电平延时时间到时,对I/O口电平取反,使其变成低电平,再延时一定时间,反之在低电平延时到时,对I/O口电平取反,如此循环即可得到PWM信号。本设计就是采用了这种方法。(2)利用定时器。控制方法与(1)相同,只是在该方法中利用单片机的定时器来进行高低电平的转变,而不是利用软件的延时。应用此方法时编程相对复杂,故不予以采用。(3)利用单片机自带的PWM控制器。STC系列单片机自带PWM控制器,但本系统使用的AT89系列单片机没有此功能,因此不能使用。对于方案一,该方案能实现对直流电机的无级调速,速度变化灵敏,可是D/A转换芯片价格较高,性价比不高,不采用。对于方案二,相对于其它方案来说,采用软件模拟PWM实现调速的过程,具有个高的性价比与灵活性,充分的发挥了单片机自身的性能,对本系统的实现又提供了一条有效的途径。因此综合考虑还是选择方案二的第一种。2.2.5驱动方式选择方案一:达林顿反向驱动器ULN2803。方案二:电桥驱动电路L298N。对于方案一,作为一款反向驱动器,ULN2803应用广泛,驱动效果也很好,与TTL信号兼容性很好,可是在后续的硬件电路中表现不佳,风扇转速改变不明显,而且在最高档出现断档的情况,风扇不转,在修改硬件电路,修改程序后依旧效果不佳,驱动力明显不足,故方案一中途停用。对于方案二,由于之前已经有使用过,对L298N这个桥式驱动模块的应用上手快速,驱动能力也比ULN2803好很多,驱动风扇5档变速的实际效果明显,故采用方案二。3硬件设计系统主要器件包括温度传感器DS18B20、AT89S51单片机、液晶显示屏LCD1602、桥式驱动模块L298N、开关和风扇。辅助元件包括电容电阻、晶振、电源、按键、变压器等。3.1系统各器件简介3.1.1单线程数字温度传感器DS18B20此温度传感器是美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20。作为新一带数字检测元件,DS1820是世界上第一片支持"一线总线"接口的温度传感器,在其内部使用了在板(ON-BOARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活。使你能够充分发挥“一线总线”的优点。DS18B20能够程序设定9~12位的分辨率,精度为±0.5°C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。测温范围为-55~125℃,最大分辨率可达0.0625℃。DS18B20减少了外部的硬件电路,直接输出数字信号,具有低成本和易使用的特点。图2温度传感器DS18B203.1.2AT89S51单片机简介AT89S51是一个低功耗,高性能COMS8位单片机,片内含4KbytesISP的重复可读写1000次的Flash只读程序储存器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了8位中央处理器和IPSFlash存储单元,AT89S51在众多嵌入式系统中得到了广泛的应用。AT89S51具有完整的输入输出和控制端口、以及内部程序存储空间。与我们一般意义上的微机原理类似,能够经过外接A/D,D/A转换电路及运放芯片实现对传感器传送信息的采集,且能够提供以点阵或LCD液晶及外接按键实现人机交互,能对内部众多I/O端口连接步进电机对外围设备进行精确操控,具有强大的工控能力。AT89S51系列单片机编写程序简单。其语法结构与我们常见的计算机C语言基本相同,不同之处在于增加了控制具体引脚工作的语句和命令,相对于计算机C语言,单片机C语言更简练和明确,能够控制每个引脚的输入输出状态。其主要语句集中在例如:“ifelse”、“while”、“for”等循环与判断语句上,相比计算机C语言更简单。使用AT89S51系列单片机编程,能够在没有实物单片机的情况下在普通电脑上进行程序编写甚至是调试工作。一般工作中使用Keil公司开发的51单片机编程软件进行编程,它采用当前流行的开发环境,集编辑,编译和仿真于一体。在该软件上用户能够编写汇编语言或C语言源程序,并利用该软件生成单片机能运行的程序。AT89S51价格便宜,适合对大批量的计量仪器进行规模化改造,其单片售价不超过5元。图3AT89S51引脚图DIP封装3.1.3桥式驱动电路L298N简介本系统要用单片机控制风扇直流电机,需要加驱动电路,为直流电机提供足够大的驱动电流,并能在模拟PWM波的情况下实现风扇转速的改变。在本系统驱动电路中,选用桥式驱动电路L298N来驱动风扇直流电机。L298N在使用时接口简单,操作方便,可为电机提供稳定的驱动电流,能够同时驱动两台直流电机,能够在模拟PWM波的情况下很好的输出信号,实现风扇转速的平滑改变。L298N是专用驱动集成电路,属于H桥集成电路,与L293D的差别是其输出电流增大,功率增强。其输出电流为2A,最高电流4A,最高工作电压50V,能够驱动感性负载,如大功率直流电机,(二相、三相、四相)步进电机,伺服电机,电磁阀等,特别是其输入端能够与单片机直接相联,从而很方便地受单片机控制。当驱动直流电机时,能够直接控制两路电机,并能够实现电机正转与反转,实现此功能只需改变输入端的逻辑电平。模块接口说明:+5V:芯片电压+5V。VCC:电机电压,最大可接50V。GND:共地接法。EN1、EN2:高电平有效,EN1、EN2分别为IN1和IN2、IN3和IN4的使能端。IN1~IN4:输入端,输入端电平和输出端电平是对应的。3.1.4LCD1602简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,当前常见16*1,16*2,20*2和40*2行等的模块。一般1602字符型液晶显示器实物如图:图4LCD1602LCD1602主要技术参数:显示容量:16×2个字符芯片工作电压:4.5—5.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时能够经过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时能够写入指令或者显示地址,当RS为低电平R/W为高电平时能够读忙信号,当RS为高电平R/W为低电平时能够写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。3.2各部分电路设计3.2.1开关复位与晶振电路单片机系统中,有两个非常重要的电路,一个是开关复位电路,用来对单片机本身和其外部扩展I/O接口电路进行复位,还有一个是晶振电路,用于产生谐振,使单片机得以工作。电路图如图5所示:图5晶振电路与复位电路单片机的XTAL1和XTAL2用来外界石英晶体和微调电容,连接单片机内OSC的定时反馈电路。如图所示,当按下按键开关是,系统复位一次。其中电容C1、C2为20pF,C3为10uF,电阻R1为10k,晶振为12MHz。3.2.2温度采集电路DS18B20数字温度传感器经过其内部计数时钟周期来的作用,实现了特有的温度测量功能。低温系数振荡器输出的时钟信号经过由高温度系数振荡器产生的门周期而被计数,计数器预先置有与-55℃相对应的一个基权值。如果计数器计数到0时,高温度系数振荡周期还未结束,则表示测量的温度值高于-55℃,被预置在-55℃的温度寄存器中的值就增加1℃,然后这个过程不断重复,直到高温度系数振荡周期结束为止。此时温度寄存器中的值即为被测温度值,这个值以16位二进制形式存放在存储器中,经过主机发送存储器读命令可读出此温度值,读取时低位在前,高位在后,依次进行。由于温度振荡器的抛物线特性的影响,其内用斜率累加器进行补偿。DS18B20由于直接能够输出数字信号,因此能够直接输出给单片机,可是需要在输出口上接一个上拉电阻来确保工作,连接图如图6所示:图6DS18B20连接电路3.2.3风扇驱动电路本设计采用单片机模拟PWM波的方式经过I/O口输出TTL信号,再经过一个电机驱动模块L298N来驱动12V直流无刷电机工作,从而实现电扇转速的调节。红外探测控制电机开关,键盘改变设置的温度,然后和预设的温度进行比较,经过软件判断后由单片机的P3.4口输出脉冲信号,经由L298N驱动风扇直流电机电路,实现电机的启动和转速的改变。当环境温度改变时,电机的转速会按照设定的程序相对进行改变,温度升高转速变快,温度降低,转速变慢,温度过低时自动停止,无人状态下也会自动停止。当有人出现后,而且温度高于预设温度,电机重新开始工作。如图12所示:图11L298N驱动电路3.2.4

风扇驱动电路本设计采用单片机模拟PWM波的方式经过I/O口输出TTL信号,再经过一个电机驱动模块L298N来驱动12V直流无刷电机工作,从而实现电扇转速的调节。P3.4口输出脉冲信号,经由L298N驱动风扇直流电机电路,实现电机的启动和转速的改变。当环境温度改变时,电机的转速会按照设定的程序相对进行改变,温度升高转速变快,温度降低,转速变慢,温度过低时自动停止,无人状态下也会自动停止。当有人出现后,而且温度高于预设温度,电机重新开始工作。如图7所示:4软件设计软件编写有C语言和汇编语言两种,这两种语言我都有所了解,两种语言各有特点。C语言具有编写简单,容易上手的特点,而且看起来条理清晰,便于修改,能够快速准确的找到错误并进行改正。相对于汇编语言,作为一种低级的机器语言,读程序相对繁琐,但程序写好后意思明了,效率也要高于C语言编写的程序,具有很好的开发功能。结合自身实际,我还是选择了C语言,容易上手,能够更好的调试与编译程序。4.1源程序//说明:大于等于45℃时加速正转/小于等于10℃时加速反转// 75℃时达到全速正转/0℃时达到全速反转// 温度回到10℃至45℃之间时电机逐渐停止转动////#include<reg51.h>#include<intrins.h>#include<stdio.h>#defineINT8U unsignedchar#defineINT16U unsignedintexternINT8UTemp_Value[]; //传感器返回的两字节温度原始数据externINT8URead_Temperature(); //读传感器温度函数externvoiddelay_ms(INT16Ux);externvoidLCD_Initialise();externvoidLCD_ShowString(INT8U,INT8U,INT8U*)reentrant;sbitMA =P1^0; //电机方向控制端(MA,MB)sbitMB =P1^1;sbitPWM1=P1^2; //PWM调整控制端INT8UBack_Temp_Value[]={0xFF,0xFF}; //温度数据备份charTemp_Disp_Buff[17]; //显示缓冲floatf_Temp=35.0; //浮点温度值////T0定时器溢出中断函数控制电机正/反转,并输出PWM信号控制转速//voidT0_INT()interrupt1{}////主函数//voidmain(){}5硬件调试硬件电路的调试相对来说比较简单。调试的功能包括按键电路,DS18B20,电机电路和红外传感电路。5.1按键电路的调试按键电路实现的功能是在按键按下后能执行设定温度的改变,这项采用实物调试,按键按下之后,温度随之改变。5.2温度传感器电路的调试温度传感器DS18B20的调试在实物上进行,当用手指去加热温度传感器DS18B20的时候,LCD示数开始随温度的上升而改变,变化明显而且刷新频率适中,能够清晰的看到所显示的温度。5.3电机电路的调试电机电路进行调试,不断的将设定温度降低,观察电机转速的变化。电机随设定温度与实际温度差值的改变而改变,转速变化较为平滑,达到了预期的效果。5.4硬件调试遇到的问题本次设计中遇到的最困难的问题就是出在了电机的驱动上,刚开始的设计使用的达林顿ULN2803反向驱动器来驱动电机,可是在软件无误,硬件连接无误的情况下,电机转动表现出来的是变速效果不明显,最高档时停转现象的发生。再不断的修改软件和硬件电路无果的情况下,放弃了这个驱动,改用桥式驱动电路L298N,所有的问题迎刃而解,反向驱动的驱动力不连续,而且驱动力在小电流的输入输出时不足,使得电机驱动

温馨提示

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

评论

0/150

提交评论