基于单片机的智能风扇控制系统设计-知网查重5.4%_第1页
基于单片机的智能风扇控制系统设计-知网查重5.4%_第2页
基于单片机的智能风扇控制系统设计-知网查重5.4%_第3页
基于单片机的智能风扇控制系统设计-知网查重5.4%_第4页
基于单片机的智能风扇控制系统设计-知网查重5.4%_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

摘要电风扇是夏天给人们降温的非常好的家用电器,智能风扇就是能根据温度的改变,风扇转速随之改变,现在的风扇很难做到这一点,只有人为的几档调速。夏夜温度下降后人们容易因熟睡而受凉,当温度升高时,它又不能根据温度的变化改变转速。本设计智能风扇采用单片机AT89C51作为控制系统的核心,使用温度传感器DS18B20进行当前的温度采集,利用PWM脉冲宽度调制技术进行实时调速,并通过LED数码管显示当前温度。关键词:单片机;温度传感器;风扇;PWM;DesignofSmartFanBasedonSingleChipMicrocomputerAbstractFanisverygoodforpeoplecoolingappliancesinthesummer.SmartFanisaccordingtochangesintemperature,andfanspeedchanges.Nowthefanisdifficulttodothis,onlyafewartificialstallspeed.ThedesignofthefancontrolsystemusesAT89C51microcontroller,theindoortemperaturesensorDS18B20temperatureacquisition,usePWMpulsewidthmodulationtechnologyforreal-timecontrol,anddisplaysthecurrenttemperaturethroughtheLEDdigitaltube.KeyWords:Microcontroller;TemperatureSensors;Fan;第一章绪论31.1引言31.2开展现状与应用领域41.3本次设计的主要任务和内容5第二章方案论证62.1控制核心的选择62.2调速方式的选择62.3温度传感器的选择72.4显示电路的选择8第三章主要原件的介绍83.1AT89C51简介83.2DS18B20简介103.3四位共阳极数码管12第四章系统主要硬件电路设计134.1DS18B20的工作原理及其单片机的接口电路134.2风扇PWM调速原理及其单片机接口电路154.3晶振及复位电路设计164.4数码显示电路174.5按键连接电路18第五章软件设计195.1程序设置19第六章系统调试196.1软件调试196.1.1按键显示局部的调试206.1.2传感器DS18B20温度采集局部调试206.1.3电动机调速电路局部调试206.2硬件调试206.2.1传感器DS18B20温度采集局部调试21电动机调速电路局部调试216.3系统功能216.3.1系统实现的功能216.3.2系统功能分析21总结22谢辞23参考文献23附录24附录一:电路原理图24附录二:源程序24第一章绪论1.1引言在现实生活中,我们要经常使用一些降温设备。虽然现在不少城市家庭都用空调设备作为降温工具,但在大局部农村家庭风扇仍然是作为夏季降温的主要工具。春夏或者夏秋交替季节,早晚温差比较大,白天温度很高,风扇应该转动的比较快,这样才能给人带来凉爽。到了晚上,气温下降的很多,当人们入睡后,风扇的转动速度应慢慢减下来,防止感冒。虽然现在的风扇有不同的档位可以调节,但都必须人工来换挡,当人们熟睡时就无能为力了。尽管现在普遍采用定时的方式解决这个问题,但定时时间有限,一般最多只有两个小时,在这两个小时内温度并不一定就会下降的很多,风扇关闭后,人们可能就会因为炎热再次醒来开启电扇,这样会使人的睡眠质量大大降低。从以上的分析可知,需要设计出一种很智能化的电风扇来解决。本设计用单片机作为控制核心,用温度传感器采集当前温度,LED数码管显示实时温度,并根据当前检测到的温度,输出不同占空比的PWM脉冲信号,从而风扇实现了不同的转速。1.2开展现状与应用领域当今社会已经完全进入了电子信息化,温度控制器在各行各业中已经得到了充分的利用。具有对温度进行实时监控的功能,以保证工业仪器,测量工具,农业种植的正常运作,它的最大特点是能实时监控周围温度的上下,并能同时控制电机运作来改变温度。它的广泛应用和普及给人们的日常生活带来了方便。简易温度监测控制器是利用单片机系统来完成的一个小型的控制系统。现阶段运用与国内大局部家庭,系统效率越来越高,本钱也越来越低。其开展趋势可以根据其性质进行相应的改良可以运用与不同场合的温度监测控制,并带来大量的经济效益。它广泛应用于城市、农村、各种工业生产,在一定情况下亦适用于太阳能、锅炉及对温度敏感的产业的自动控制和温度报警,是实现无人值守的理想产品,市场极为广阔,需求量大。并且使用寿命长,适用范围广,安装极其容易。1.3本次设计的主要任务和内容本设计是以AT8951单片机为主要控制核心,利用51单片机对温度传感器采集到的数据进行处理,并且通过各种电子元器件对电风扇各种工作状态进行实时控制,从而可以到达用户的要求。本次设计主要完成以下内容:(1)可根据预设温度自动调节风扇转速,当当前温度大于预设温度上限,风扇转速较高;小于预设温度上限,大于预设温度下限风扇转速较低;小于预设温度下限风扇自动关闭。(2)预设温度可通过按键增加或减少,三个按键。第一个为功能键按第一下显示温度上限设置,按第二下显示温度下限设置,按第三下显示环境温度。第二个键为温度设置加键,按一下加五度。第三个键为温度减键,按一下温度减一。(3)可以实现对风扇转速的手自动控制。(4)自动模式下,通过对温度信号的检测,实现对风扇转速的智能控制。(5)数码管可以对环境温度进行显示,并显示风扇档位。第二章方案论证2.1控制核心的选择方案一:采用单片机作为主要控制芯片。在本设计中采用AT89C51单片机,通过软件编程的方法来实现对温度的实时采集和控制,在其I/O口输出相应的控制信号。单片机AT89C51工作电压相比照较低,单片内含有4k字节的ROM和256字节的RAM,并且价格也相对较廉价。方案二:采用电压比较电路作为控制执行部件。将采集到的温度信号转换为电信号并经放大电路放大,集成运算放大器组成的比较电路来判断决定电风扇的转动速度。对于方案一,用单片机作为控制器件,通过简单的程序编写可以将温度传感器DS18B20检测的温度通过LED数码管显示出来,而且可以通过按键扫描程序通过单片机的外部按键对预设的初值进行增加或者减少,同时对于驱蚊功能采用单片机的软件编程更易实现,本钱低,故以单片机AT89C51为控制核心,适合本次设计。对于AT89C51的具体参数参见下面“硬件设计〞中的各器件介绍。对于方案二,采用电压比较电路作为控制的核心,虽然电路比较简单、容易实现,但不能对预设温度的值进行更改,无法满足不同用户的需求,故本次设计不采用。2.2调速方式的选择方案一:采用变压器调节方式,运用变压器原理将市电220V交流电压通过线圈降压到不同的值,电风扇电机接到不同电压值的线圈上就可以来控制直流电机的转速。方案二:采用单片机的PWM软件编程方式。PWM中文意思是脉冲宽度调制,英文意思是PulseWidthModulation的简写形式,它是一种按某种规律变化的脉冲方波,在PWM驱动直流电机的调节控制系统当中,最常用的是矩形PWM脉冲波信号,也是编写程序最简单的。在对直流电机的转速进行控制时,需要根据当前温度来输出不同占空比的PWM脉冲。PWM脉冲的占空比是指高电平的时间在一个周期时间内的百分比,假设全为低电平,占空比为零,风扇不转;假设全为高电平,占空比为100%时,转速到达最大[4]。用单片机输出PWM脉冲信号时,有如下两种方法:(1)利用软件延时。可以利用单片机自带的定时器编程实现不同占空比的PWM脉冲的输出,利用中断程序对单片机输出的电平进行上下转换,从而实现风扇的调速,本设计采用该方法。设计不同占空比的PWM脉冲的思路是:假设采用1S的周期方波,以50MS为基准,那么20个基准便就是一个1S,那么当其中4个连续的50MS的高电平脉冲,然后16连续的50MS低电平脉冲,便得到了占空比为20%的PWM方波信号。(2)利用单片机自带的PWM功能。但本次设计所用得AT89C51单片机没有这种功能,只有STC系列的才有,故不可行。对于方案一,该方案可以对直流风扇进行调速,但调节不是很方便,而且采用变压器来改变电压,不能适应人性化要求。对于方案二,采用PWM脉冲调制的纯软件的方法来实现对直流电机的实时调速,具有很大的灵活性,而且可以更充分地发挥单片机的功能,综合考虑选用方案二。2.3温度传感器的选择方案一:用热电偶来作为检测温度的元器件,配适宜当的外围电路,将检测到的温度信号送入单片机AT89C51处理。方案二:用热敏电阻作为检测温度的元器件,经过运算放大器放大,由于温度变化会引起热敏电阻的电阻值发生相应的变化、便可以得到输出电压变化的信号。方案三:用高精度集成温度传感器DS18B20作为检测温度的元器件,直接输出数字温度信号给单片机处理[5]。对于方案一,采用热电偶作为检测元器件,其检测的温度范围非常宽,可检测-50摄氏度到1600对于方案二,采用热敏电阻价格相对廉价、元器件也很容易买到,但热敏电阻对温度的变化不是很敏感,在检测温度信号的时候,还有可能产生失真和误差,故本设计不采用该方案。对于方案三,由于温度传感器DS18B20的集成度很高,大大减少了外接电路,从而检测误差也会变小很多,DS18B20检测温度的原理与前面两种方案的原理有着很大的不同。其检测到的温度值可以直接送入单片机处理,不用编写更多的转换程序,简化了程序的编写,且只用一根线便可与单片机相连,接口相当简单,本次设计采用该方案。关于DS18B20的详细参数参看下面“硬件设计〞中的器件介绍。2.4显示电路的选择方案一:采用四位共阳极数码管显示温度,动态扫描显示方式。方案二:采用液晶显示屏LCD显示温度对于方案一,该方案本钱低廉,显示温度明确醒目,在夜间也能看见,功耗极低,显示驱动程序的编写也相对简单,这种显示方式得到广泛应用。缺乏的地方是扫描显示方式是使四个LED逐个点亮,因此会有闪烁,但是人眼的视觉暂留时间为20MS,当数码管扫描周期小于这个时间时人眼将感觉不到闪烁,因此可以通过增大扫描频率来消除闪烁感。对于方案二,液晶体显示屏具有显示字符优美,不但能显示数字还能显示字符甚至图形的优点,这是LED数码管无法比较的。但是液晶显示模块价格昂贵,驱动程序复杂,从简单实用的原那么考虑,本系统采用方案一。第三章主要原件的介绍系统主要器件包括DS18B20温度传感器、AT89C51单片机、四位LED共阳数码管、风扇。辅助元件包括电阻、电容、晶振、电源、按键、开关等。3.1AT89C51简介AT89C51是美国ATMEL公司生产的低电压单片机,其含有4K字节的ROM和256字节的RAM,兼容MCS-51指令。其中央处理器是8位的,且含有Flash存储单元,功能非常强大。AT89C51单片机具有以下标准的功能:一个8位CPU频率范围1.2-12MHZ,4K字节Flash闪存,256字节内部数据存储器RAM,4个8位并行I/O口,一个全双工串行口,2个16位定时/计数器,5个中断源的中断控制系统,片内自带振荡器和时钟电路。AT89C51单片机管脚图如3.3所示:图3.3AT89C51单片机各管脚功能如下[8]:VCC:40引脚接5V供电电压。GND:20引脚接地。XTAL1:19引脚为单片机提供外部时钟信号,外接石英晶体和微调电容。XTAL2:18引脚为单片机提供外部时钟信号,外接石英晶体和微调电容。P0口:P0.7~P0.0,这组引脚共8条,其中P0.7为最高位,P0.0为最低位。是漏极开路的8位准双向I/O口,有两种功能。第一:做通用I/O口,无片外内存时,P0口可做通用I/O接口使用。第二:做地址/数据口,在访问外部内存时,用作地址总线的低8位和数据总线。P1口:P1.7~P1.0,其中P1.7为最高位,P1.0为最低位,仅用作I/O口。P2口:P2.7~P2.0,其中P2.7为最高位,P2.0为最低位。P2口是带内部上拉电阻的8位准双向I/O接口,具有两种功能。第一:做通用I/O口,无片外内存时,P2口可用作通用I/O口。第二:做地址口,在访问外部内存时,用作地址总线的高8位。P3口:P3.7~P3.0,其中P3.7为最高位,P3.0为最低位。P3口是双功能口。具有两种功能。第一:用作通用I/O口。第二功能:P3.0RXD串行口输入;P3.1TXD串行口输出;P3.2INTO外部中断0输入;P3.3INT1外部中断1输入;P3.4T0定时计数器的脉冲输入;P3.5T1定时计数器的脉冲输入;P3.6WR片外RAM写信号;P3.4RD片外RAM读信号。RST:9引脚复位输入,高电平有效。:29引脚外部程序内存读信号。当访问外部程序内存时,此脚定时输出脉冲作为读片外程序内存的选通信号,通常接EPROM的OE端。端在每个机器周期中两次有效,但当访问外部RAM时,两次负脉冲不出现。可驱动8个LS型TTL。ALE/:30引脚地址锁存允许/编程线,当访问片外存储器时,在P0.7~P0.0引脚线上输出片外存储器低8位地址的同时还在ALE/线上输出一个高电位脉冲,其下降沿用于把这个片外存储器低8位地址锁存到外部专用地址锁存器。/VPP:31引脚内外部程序内存选择输入端。=1,CPU访问片外ROM,并执行其指令。当PC>0FFFH时,自动转向片外ROM。=0,不管片内是否含有内存,只执行片外ROM的指令。3.2DS18B20简介DS18B20内部结构主要有四个局部:64位的只读程序存储器ROM、温度传感器、非挥发的报警触发器TH和TL、配置存放器。总共有三个管脚,包含DQ,GND,VDD。其中DQ为数字信号端,GND为电源地,VDD为电源输入端。DS18B20的主要性能特点如下:(1)仅可用一个端口便可以通信;(2)无须外部器件;(3)DS18B20支持多点组网功能;(4)适应电压范围广,电压范围为3.0~5.5V;(5)待机功耗为零;(6)温度以9位或12位数字;(7)具有报警命令识别功能;(8)具有负电压特性,电源接反时,芯片不会烧坏;DS18B20的管脚图及局部温度值与DS18B20输出的数字量对照表见图3.5和表3-1所示:图3.5DS18B20温度传感器表3-1局部温度值与DS18B20输出的数字量对照温度值/℃数字输出〔二进制〕数字输出〔十六进制〕+125000001111101000007D0H +8500000101010100000550H+25.62500000001100100010191H+10.125000000001010001000A2H+0.500000000000010000008H000000000000000000000H-0.51111111111111000FFF8H-10.1251111111101101110FF5EH-25.6251111111101101111FF6FH-551111110010010000FC90H3.3四位共阳极数码管四位共阳极数码管,位控制端(1-4)给高电平使能相应的位,笔段控制端(A-B、DP.)给低电平可点亮。第四章系统主要硬件电路设计本次设计的思路:本次设计主要利用AT89C51单片机为控制核心,利用温度传感器DS18B20采集当前温度送入单片机处理,单片机根据当前温度与预设温度的比较决定是否开启风扇和风扇转速,并通过四位共阳极LED数码管显示当前温度和风扇档位。当前温度高于预设温度上限,风扇工作在高档位2档;低于预设温度上限高于预设温度下限时风扇工作在低档位1档;当前温度低于预设温度下限风扇停止转动0档。单片机根据当前的温度输出相应占空比的PWM脉冲,送入12V的直流电机,从而产生不同转速。复位方式是:上电自动复位,没有复位按键。系统总体设计图如图3.1所示。AT89C51温度、档位显示键盘功能输入AT89C51温度、档位显示键盘功能输入电机调速数字温度传感器电机调速数字温度传感器图3.1系统总体设计结构图4.1DS18B20的工作原理及其单片机的接口电路DS18B20内部结构如图3-1所示,主要由4局部组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置存放器。其管脚排列如图3-2所示,DQ为数字信号端,GND为电源地,VDD为电源输入端。图4-1DS18B20内部结构图图3-2DS18B20外形及管脚由于DS18B20只有一根数据线。因此它和主机〔单片机〕通信是需要串行通信,而AT89S51有两个串行端口,所以可以不用软件来模拟实现。经过单线接口访问DS18B20必须遵循如下协议:初始化、ROM操作命令、存储器操作命令和控制操作。要使传感器工作,一切处理均从序列开始。主机发送〔Tx〕--复位脉冲〔最短为480μs的低电平信号〕。接着主机便释放此线并进入接收方式〔Rx〕。总线经过4.7K的上拉电阻被拉至高电平状态。在检测到I/O引脚上的上升沿之后,DS18B20等待15-60μs,并且接着发送脉冲〔60-240μs的低电平信号〕。然后以存在复位脉冲表示DS18B20已经准备好发送或接收,然后给出正确的ROM命令和存储操作命令的数据。DS18B20通过使用时间片来读出和写入数据,时间片用于处理数据位和进行何种指定操作的命令。它有写时间片和读时间片两种。写时间片:当主机把数据线从逻辑高电平拉至逻辑低电平时,产生写时间片。有两种类型的写时间片:写1时间片和写0时间片。所有时间片必须有60微秒的持续期,在各写周期之间必须有最短为1微秒的恢复时间。读时间片:从DS18B20读数据时,使用读时间片。当主机把数据线从逻辑高电平拉至逻辑低电平时产生读时间片。数据线在逻辑低电平必须保持至少1微秒;来自DS18B20的输出数据在时间下降沿之后的15微秒内有效。为了读出从读时间片开始算起15微秒的状态,主机必须停止把引脚驱动拉至低电平。在时间片结束时,I/O引脚经过外部的上拉电阻拉回高电平,所有读时间片的最短持续期为60微秒,包括两个读周期间至少1μs的恢复时间。一旦主机检测到DS18B20的存在,它便可以发送一个器件ROM操作命令。所有ROM操作命令均为8位长。图3-3DS18B20与单片机接口电路4.2风扇PWM调速原理及其单片机接口电路我们采用的是PWM来实现直流电动机的调速,优点:控制原理简单,输出波动小,线性好,对邻近电路干扰小。缺点:功率低,散热问题严重。PWM调速原理:输出电压〔2-1〕〔2-2〕式2-1中称为占空比。占空比D表示了在一个周期T里开关管导通的时间与周期的比值。D的变化范围为0<=D<=1。当电源电压U不变的情况下,输出电压的平均值U取决于占空比D的大小,改变D值也就改变了输出电压的平均值,从而到达控制电动机转速的目的,即实现PWM调速。风扇驱动电路核心元件由两个三级管组成。Q1为NPN型三极管8050,基极高电平有效;Q2为PNP型三极管8550,基极低电平有效。R3、R4是限流电阻,R5是上拉电阻。当外界温度高于预设温度上限时,P1.0输出较高电平令Q1导通,当Q1导通电流较大时Q2基极会产生低电平使Q2导通大幅度导通风扇转速较快。当外界温度低于预设温度上限高于预设温度下限时,P1.0会根据程序占空比输出一个较低电平,使风扇转速较慢。当外界温度低于预设温度下限时,占空比为零,风扇停止转动。4.3晶振及复位电路设计单片机工作时需要时钟信号,时钟信号通常可由外部方式或者单片机的内部方式提供。本次设计采用内部时钟方式,利用单片机内部自带的反相放大器,XTAL2为放大器的输出端,XTAL1为放大器的输入端,这两个引脚外接石英晶体振荡器和微电容,构成可以自激的振荡器。本设计在XTAL1和XTAL2外接了一个12MHZ的晶振,22pf的电容[9]。复位是使单片机回复到初使的状态,就跟计算机的重启差不多,并从初始状态从新工作。单片机是高电平复位,一般有两种方式:按键复位和上电复位,两种复位方式均可。本次设计采用上电复位,当系统上电时,系统复位一次,电阻R1为10k。其时钟电路与复位电路如图3.4所示:4.4数码显示电路显示电路局部包括4个共阳极七段数码管,PNP型晶体管,电阻器等。用单片机的P0端口连接共阳极数码管的七位数据端用来提供段选数据,用单片机的P2端口的P2.0—P2.3连接数码管的片选端用来提供片选信号输,用8550〔PNP型〕三极管搭建驱动电路驱动来驱动数码管显示。因为P0口内部没有上拉电阻,所以在P0接一个10K的排阻到电源。通过P0口把要显示的数据通送给数码管,并且通过P2.0—P2.3四个端口轮流翻开数码管的位选通,由于每位数码管刷新显示的时间十分短〔扫描周期在20ms左右〕和人眼视觉暂留,所以我们根本看不出它的闪烁,而是固定同步显示各数据。4.5按键连接电路按键包括三个独立按键S1S2和S3,一端与单片机的P3.1、P3.2和P3.3口连接,另一端接地,当按下任一键时,P3口读取低电平有效。系统上电后,进入按键扫描子程序,以查询的方式确定各按键,完成温度初值的设定。其中按键S1为设置键,可设置温度上下限值,第一次按下设置键设置温度上限值,第二按下设置键设置温度下限值,再按加减键就可以修改温度值。每按一次S2加键,系统对最初设定值加五,按键S3为减按键,每按下一次,系统对初定值进行减一计算。其连线图如图3-4所示。第五章软件设计5.1程序设置程序设计局部主要包括主程序、DS18B20初始化函数、DS18B20温度转换函数、温度读取函数、按键扫描函数、数码管显示函数、温度处理函数以及风扇电机控制函数。DS18B20初始化函数完成对DS18B20的初始化;DS18B20温度转换函数完成对环境温度的实时采集;温度读取函数完成主机对温度传感器数据的读取及数据换算,按键扫描函数那么根据需要完成初值的加减设定;温度处理函数对采集到的温度进行分析处理,为电机转速的变化提供条件;风扇电机控制函数那么根据温度的数值完成对电机转速及启停的控制。主程序流程图如图4-1所示。第六章系统调试6.1软件调试6.1.1按键显示局部的调试起初根据设计编写的系统程序:程序的按键接口采用P3口,数码管现实采用P0控制LED的段码,P2口控制LED的位码,从而实现按键功能以及数码管的显示。经过编译没有出错,但在仿真调试时,数码管显示的只是乱码,没有正确的显示温度,按键功能也不灵的,当按键按下时,显示并不变化。经过查找分析,发现按键扫描程序没有按键消抖局部,按键在按下与松手时,都会有一定程序的抖动,从而可能使单片机做出错误的判断,导致按键条件预设温度时失灵,甚至根本不工作。因此必须在按键扫描程序中参加消抖局部,即在按键按下与松手时参加延时判断,以检测按键是否真的按下或已完全松手。数码管不能正确的显示,主要是因为所有数码管的段码都由P0口传送,而数码管显示又采用了动态扫描的方式,但在程序中却没有设置显示段码的暂存器,导致当P0口传送段码时发生混乱,不能正确识别段码。应在系统中参加锁存器,或是在程序中设定存储段码的空间。在按键参加了消抖程序,数码管显示程序中参加了段码的存储空间后,数码管能够正常的显示,按键也能正常的工作,到达了较好的效果。6.1.2传感器DS18B20温度采集局部调试由于数字式集成温度传感器DS18B20的高度集成化,为软件的设计和调试带来了极大的方便,体积小、低功耗、高精度为控制电机的精度和稳定提供了可能。软件设计采用了P1.2口为数字温度输入口,但是需要对输入的数字信号进行处理后才能显示,从而多了温度转换程序。通过软件设计,实现了对环境温度的连续检测,由于硬件LED个数的限制,只显示了预设温度和环境温度的整数局部。6.1.3电动机调速电路局部调试本设计中,采用了两个三极管为核心的驱动电路驱动直流电机,本系统仅驱动一个。软件设置了P1.0口输出不同的PWM波形,通过三极管驱动直流电机转动,通过软件中程序设定,根据不同温度输出不同的PWM波,从而得到不同的占空比控制风扇直流电机。6.2硬件调试6.2.1传感器DS18B20温度采集局部调试将DS18B20芯片接在系统板对应的P1.2口,通过插针在对应系统板的右下侧三口即为对应的VCC、P1.2和GND,可将芯片直接插在该插件上,因此极为方便。系统调试中为验证DS18B20是否能在系统板上工作,将手心靠拢或者捏住芯片,即可发现LED显示的前两位温度也迅速升高,验证了DS18B20能在系统板上工作。由于DS18B20为3个引脚,因此在调试过程中因注意各个引脚的对应位置,以免其接反而使芯片不能正常工作甚至烧毁芯片。6.2.2电动机调速电路局部调试系统本局部的设计中重在软件设计,因为外围的驱动电路只是将送来的PWM信号放大从而驱动电机转动。系统软件设置在P1.0口输出是电机转动的PWM占空比,当环境温度高于设置温度时,电机开始转动,假设此时用高于环境温度的热源靠近芯片DS18B20时,发现当当前温度大于预设温度上限,风扇转速较高;小于预设温度上限,大于预设温度下限风扇转速较低;小于预设温度下限风扇自动关闭。6.3系统功能6.3.1系统实现的功能本系统能够实现单片机系统检测环境温度的变化,然后根据环境温度变化来控制风扇直流电机输入占空比的变化,从而产生不同的转动速度,也可根据按键调节不同设置温度,再由环境温度与设置温度的差值来控制电机。当环境温度低于设置温度时,电机停止转动;当环境温度高于设置温度时,单片机对应输出口输出不同占空比的PWM信号,当当前温度大于预设温度上限,风扇转速较高;小于预设温度上限,大于预设温度下限风扇转速较低;小于预设温度下限风扇自动关闭。并能通过按键调节当前的设置温度。6.3.2系统功能分析系统总体上由五局部组成,即按键与复位电路、数码管显示电路、温度检测电路、电机驱动电路。首先考虑的是温度检测电路,该局部是整个系统的首要局部,首先要检测到环境温度,才能用单片机来判断温度的上下,然后通过单片机控制直流风扇电机的转速;其次是电机驱动电路,该局部需要使用外围电路将单片输出的PWM信号转化为平均电压输出,根据不同的PWM波形得到不同的平均电压,从而控制电机的转速。电路的设计中采用了以两个三极管为核心的驱动电路,实现较好的控制效果;再次是数码管的动态显示电路,该局部的功能实现对环境温度和设置温度的显示,其中DS18B20采集环境温度,按键实现不同设置温度的调整,实现了对环境温度和设置温度的及时连续显示。总结到目前为止,我的论文根本完成。从最初的无从下手,毫无头绪,再到对思路的清晰,整个设计过程都是对我的考验。因为我对电路一直都挺感兴趣的,我开始思考我的论文题目,从定下论文题目后,我开始收集材料,尽量让我的资料更加完整,在之后在写作的过程中,我也遇到了许多的问题,多亏了老师的指导和同学们的帮助,我才能把论文慢慢成形。当我终于完成了所有的任务之后,看着我的论文,我觉得一切都是值得的。这次毕业论文的制作过程让我更加了解了自己,知道了独立思考的重要性。我不会忘记这次在毕业设计中所感受到的一切,这让我知道今后无论遇到任何事,都需要脚踏实地、认真谨慎,更要有不怕困难,坚持不懈的精神。谢辞本次课题是在王老师的悉心指导下完成的。在对本课题的设计以及论文编写过程中,王老师给予充分正确的指导。在此,谨向王老师通过这次毕业设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学四年的学习成果。在这次设计中我学会了把理论和实际问题结合起来理解,让理论来指导实践,让实践来验证理论。虽然我在这次毕业设计的过程中觉得自己有了质的飞跃,但是还需在以后的工作和学习中继续努力、不断完善。这几个月的设计是对过去所学知识的系统提高和扩充的过程,为今后的开展打下了良好的根底。由于自身水平有限,设计中一定存在很多缺乏之处,敬请各位老师批评指正。参考文献[1]胡汉才.单片机原理及其接口技术.北京:清华大学出版社,2004[2]刘国钧,陈绍业,王凤翥.图书馆目录.第1版.北京:高等教育出版社,1957[3]求是科技.单片机典型模块设计实例导航.北京:人民邮电出版社,2004[4]王化详,张淑英.传感器原理.天津:天津大学出版社,2002[5]荣俊昌.新型电风扇原理与维修.北京:高等教育出版社,2004[6]王港元.电工电子实践指导.江西:江西科学技术出版社,2005[7]余小平,奚大顺.电子系统设计[M].北京:航空航天大学出版社,2007.37-53[8]来清民.传感器与单片机接口及实例[M].北京:航空航天大学出版社,2023.90-92[9]刘健,徐炜,伊均萍,刘良成.电路分析[M].北京:电子工业出版社,2005.75-79[10]郑海春、姜月.智能无线防盗报警系统.西化:微计算机信息,2023(2).21-43[11]童诗白、华成英.模拟电子技术根底〔第三版〕.北京:高等教育出版社,2007.12附录附录一:电路原理图附录二:源程序#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint////////////////////sbitdj=P1^0;//电机控制端接口sbitDQ=P1^2;//温度传感器接口//////////按键接口/////////////////////////////////sbitkey1=P3^1;//设置温度sbitkey2=P3^2;//温度加sbitkey3=P3^3;//温度减//////////////////////////////////////////////////////sbitw1=P2^0;sbitw2=P2^1;sbitw3=P2^2;sbitw4=P2^3;/////共阴数码管段选//////////////////////////////////////////////uchartable[22]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x40,0x38,0x76,0x00,0xff,0x37};//'-',L,H,灭,全亮,n 16-21uintwen_du; uchargao,di;//pwmuintshang,xia;//比照温度暂存变量uchardang;//档位显示ucharflag;uchard1,d2,d3;//显示数据暂存变量voiddelay(uintms){ ucharx; for(ms;ms>0;ms--) for(x=10;x>0;x--);}/***********ds18b20延迟子函数〔晶振12MHz〕*******/voiddelay_18B20(uinti){ while(i--);}/**********ds18b20初始化函数**********************/voidInit_DS18B20(){ ucharx=0; DQ=1;//DQ复位 delay_18B20(8);//稍做延时 DQ=0;//单片机将DQ拉低 delay_18B20(80);//精确延时大于480us DQ=1;//拉高总线 delay_18B20(14); x=DQ;//稍做延时后如果x=0那么初始化成功x=1那么初始化失败 delay_18B20(20);}/***********ds18b20读一个字节**************/ucharReadOneChar(){ uchari=0; uchardat=0; for(i=8;i>0;i--) { DQ=0;//给脉冲信号 dat>>=1; DQ=1;//给脉冲信号 if(DQ) dat|=0x80; delay_18B20(4); } return(dat);}/*************ds18b20写一个字节****************/voidWriteOneChar(uchardat){ uchari=0; for(i=8;i>0;i--) { DQ=0; DQ=dat&0x01; delay_18B20(5); DQ=1; dat>>=1; }}/**************读取ds18b20当前温度************/voidReadTemperature(){ uchara=0; ucharb=0; uchart=0; Init_DS18B20(); WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0x44); //启动温度转换 delay_18B20(100);//thismessageisweryimportant Init_DS18B20(); WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0xBE); //读取温度存放器等〔共可读9个存放器〕前两个就是温度 delay_18B20(100); a=ReadOneChar(); //读取温度值低位 b=ReadO

温馨提示

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

评论

0/150

提交评论