关于温控风扇的设计报告_.doc_第1页
关于温控风扇的设计报告_.doc_第2页
关于温控风扇的设计报告_.doc_第3页
关于温控风扇的设计报告_.doc_第4页
关于温控风扇的设计报告_.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

.关于温控风扇的设计摘要:现代社会都讲究绿色,节能环保。在满足人们的基本要求上,能够尽可能的节约、环保。而电扇在某些场合是必不可少的。那么我们就可以设计一种可以保持环境温度一定的情况下,尽可能减少能量的消耗,降低风扇的转速。实现实时的随温度的变化来调节风扇的的转速。我们可以根据温度传感器采集环境温度,通过单片机显示出来。并且调用函数,调节占空比控制风扇的转速。这样的话,既满足了人们的需求,也大量节约了能源。关键词:节能 智能 控制 风扇1 设计要求1.根据温度传感器检测外部环境温度来控制风扇的转速。2.利用light点亮的数目来显示当前转速的等级(高、中、低)。3.显示当前检测的环境温度。4.显示当前转速级数(0-99)。2 总体设计2.1 系统组成及工作原理整体思路是:利用温度传感器DS18B20检测环境温度并直接输出数字温度信号给单片机mc9s08aw60进行处理,在LED数码管上显示当前环境温度值。并且用小灯点亮的数量来显示当前转速的等级。其中预设温度值只能为整数形式,检测到的当前环境温度可精确到小数点后一位。主要功能是采用PWM脉宽调制方式来改变直流风扇电机的转速。原理框图如图所示2.2 温度传感器的测量原理DS18B20测温原理如图所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。主要特点(1)适应电压范围宽,电压范围:3.05.5V。(2)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。(3)温范围55125,在-10+85时精度为0.5。(4)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(5)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。3 硬件设计3.1 硬件组成 本设计要用到感测外部环境温度的数字型温度传感器、显示用的数码管、电风扇、小灯,当然了还有主要的大脑单片机aw60。他们之间的关系如图所示。 3.2 单片机核心模块1、MC9S08系列MCU的特点1)8-bitHCS08内核CPU;2)CPU频率可达40MHz;3)内部总线频率可达20MHz; 4)支持多达32种中断/复位源;5)片内多达60KB的在电路可编程Flash存储器,支持块保护,还具有安全加密特性;6)ADC:16通道10位ADC,自动比较功能;7)SCI:2个串行通信接口模块;8)Timers: 1个6通道和1个2通道的16位定时器/脉冲宽度调制器模块(TPM)。具有输入捕捉、输出比较、脉宽调制功能。2、单片机的最小系统 图:最小系统3.3 温度传感器电路数字式集成温度传感器DS18B20的高度集成化,大大降低了外接放大转化等电路的误差因数,温度误差变得很小,并且由于其检测温度的原理与热敏电阻检测的原理有着本质的不同,使得其温度分辨力极高。温度值在器件内部转化成数字量直接输出,简化了系统程序设计,又由于该温度传感器采用先进的单总线技术,与单片机的接口变得非常简洁,抗干扰能力强。因此,不但能够大大简化我们的工作量,同时使系统更加稳定、精确。3.4 lED驱动、显示电路3.6 小灯电路3.7 驱动电路 单片机输出的电流太小不足以支持电机的正常工作。所以我们要在电机的前面加一个驱动电路。电机的驱动电路我用的是H桥。 图:H桥示意图要使电机运转,必须使对角线上的一对三极管导通。例如,如图所示,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极。按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。当三极管Q1和Q4导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动。 图:软件连接的H桥4 程序设计1.1 主程序设计程序设计部分主要用到了我们学过的pwm构件、light构件、LED构件和TPM构件。 首先对温度传感器初始化;通过DS18B20温度转换的函数实现对环境温度的实时采集;温度读取完成之后,单片机温度传感器的数据进行换算,然后进行显示输出。与此同时,温度处理函数对采集到的温度进行分析处理,是否开启电机如果达到预置值要求的话,控制PWM的占空比从而控制电机的转速。同时控制小灯点亮的数目; 4.2 子程序设计 1)温度显示如果当前环境温度为C摄氏度,拆分为个位和十位。然后显示在数码管上。十位=C/10;各位=C-十位*10; 2)利用温度数据调节当前PWM的占空比各参数之间的对应关系温度(摄氏度)占空比(%)转速等级(0-99)档位(高中低)35100100高程序界面主要程序代码interrupt void isrT1Ch0In(void) unit8 temp ,sw,gw,level; DisableInterrupts(); DisableTPM1ChInInt(0); Delay(1); temp=AW60_TPM1_CHSCSTR(0) &=AW60_TPM_CHSCSTR_CHF; /输入捕捉功能接收温度信号 EnableInterrupts(); sw=temp/10; /获取温度参数的个位和十位,然后显示在数码上 gw=temp-sw*10; ledbuf1=gw; ledbuf0=sw; if (temp35) /如果温度参数大于 35度,按35度处理; temp=35; if(temp=27&temp36) /小于27度 不做处理 也就是说处理范围是大于27度 switch(temp) /分为各种温度参数下的九种情况来做不同的操作 case 27: ledbuf1=4;ledbuf2=0; /例如第一种情况 27度。 显示当前的转速40 将温度转换为占空比参数 level= 40; Light_Control(Light_Run_PORT,Light_Run,Light_OFF); /并且控制一个小灯亮,表示当前档位为低档。 break; case 28: ledbuf1=5;ledbuf2=0; level= 50; Light_Control(Light_Run_PORT,Light_Run,Light_ON); break; case 29: ledbuf1=6;ledbuf2=0; level= 60; Light_Control(Light_Run_PORT,Light_Run,Light_ON); break; case 30: ledbuf1=7;ledbuf2=0; level= 70; Light_Control(Light_Run_PORT,Light_Run,Light_ON); Light_Control(Light_Run_PORT,Light_Run1,Light_ON); break; case 31: ledbuf1=7;ledbuf2=5; level=75; Light_Control(Light_Run_PORT,Light_Run,Light_ON); Light_Control(Light_Run_PORT,Light_Run1,Light_ON); break; case 32: ledbuf1=8;ledbuf2=0; level= 80; Light_Control(Light_Run_PORT,Light_Run,Light_ON); Light_Control(Light_Run_PORT,Light_Run1,Light_ON); Light_Control(Light_Run_PORT,Light_Run2,Light_ON); break; case 33: ledbuf1=8;ledbuf2=5; level= 85; Light_Control(Light_Run_PORT,Light_Run,Light_ON); Light_Control(Light_Run_PORT,Light_Run1,Light_ON); Light_Control(Light_Run_PORT,Light_Run2,Light_ON); break; case 34: ledbuf1=9;ledbuf2=0; level=90; Light_Init(Light_Run_PORT,Light_Run,Light_ON); Light_Init(Light_Run_PORT,Light_Run1,Light_ON); Light_Init(Light_Run_PORT,Light_Run2,Light_ON); break; case 35: ledbuf1=9;ledbuf2=9 ; level=100 Light_Init(Light_Run_PORT,Light_Run,Light_ON); Light_Init(Light_Run_PORT,Light_Run1,Light_ON); Light_Init(Light_Run_PORT,Light_Run2,Light_ON); break; PWM(TPM_NUM_1,TPM1_CH_3,0x0138, level); /输出占空比来控制直流电机的转速 LEDshow(ledbuf); EnableTPM1ChInInt(); EnableInterrupt() ; 4 调试及结果电路仿真能够实现部分功能。本系统能够实现单片机系统检测环境温度的变化,然后根据环境温度变化来控

温馨提示

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

评论

0/150

提交评论