本科毕业设计智能风扇控制器设计正文_第1页
本科毕业设计智能风扇控制器设计正文_第2页
本科毕业设计智能风扇控制器设计正文_第3页
本科毕业设计智能风扇控制器设计正文_第4页
本科毕业设计智能风扇控制器设计正文_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、智能风扇控制器设计前言随着人们生活水平及科技水平的不断提高,现在家用电器在款式、功能等方面日益求精,并朝着健康、安全、多功能、节能等方向发展。过去的电器不断的显露出其不足之处。电风扇曾一度被认为将是空调产品冲击下的淘汰品,其实并非如此。家用电风扇并没有随着空调的普及而淡出市场,其主要原因:一是风扇和空调的降温效果不同空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用;二是电风扇有价格优势,价格低廉而且相对省电,安装和使用都非常简单。尽管电风扇有其市场优势,但传统电风扇还是有许多地方应当进行改良的。现在大部分电风扇只有手动调速,加上一个定时器

2、,其功能比较单一,最突出的缺点是它不能根据温度的变化适时调节风力大小,对于夜间温差大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:当凌晨降温的时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理。如果能使电风扇处于两种不同的工作模式,模式一能对风扇实现手动控制,进行定时设置和档位调节,模式二具有对环境进行检测的功能,根据实时环境温度进行风速自动调节和当房间里面没有人时能自动的关闭电风扇,使风扇处于待机状态,当有人进入时自动开启并启动定时器控制,这样一来就避免了上述的不足。本

3、次设计就是围绕这些方面对现有电风扇进行改进。1 方案设计与论证 本设计能对风扇实现手动控制,进行定时设置和档位调节,同时具有对环境进行检测的功能,根据实时环境温度进行风速自动调节和当房间里面没有人时能自动的关闭电风扇,使风扇处于待机状态,当有人进入时自动开启并启动定时器控制。1.1 遥控设计方案与论证1.1.1 超声波遥控方案超声波传感器是运用超声波的特质发明出来的一种传感器。超声波的振动频率高于声波,是通过换能晶片在电压的激励下出现振动而产生的,其有波长短、频率高、方向性好、绕射现象小、可以成为射线定向传播等特点4。超声波遥控器由超声波发射和接收两个部分组成。超声波发射器电路由一块超声波振荡

4、发射专用模块NYKO和超声波发射换能器BT两部分组成。振荡发射模块发射产生振荡频率为40KHz脉冲,然后通过发射换能器BT将NYKO的输出的40KHz的振荡脉冲转换成40KHz的超声波,向空中发射出去。超声波接收电路则是将接收到的信号经过放大器放大给控制器处理。它的优点是比较耐脏污,可以在较差的环境中使用,缺点是精度较低,且成本较高4。超声波遥控原理框图如图1.1.1-1所示。超声波接收器控制器锁相环检波电路放大电路放大电路超声波发射器图1.1.1-1 超声波遥控原理框图1.1.2 红外遥控方案红外线遥控就是指通过红外线来发出控制信号,完成对控制目标的远距离控制目的。具体的来讲,就是通过发射器

5、产生红外线指令信息,然后通过接收器把信息接收下来并且对信号进行分析处理,最后达到对控目标的各种功能的远距离控制4。红外遥控系统分为发射和接收两部分。接收电路的红外接收管是一种光敏二极管,使用时要给红外接收二极管加反向偏压,它才能正常工作而获得高的灵敏度。由于红外发光二极管的发射功率较小,红外接收二极管收到的信号较弱,所以接收端就要增加高增益放大电路。红外线一体化接收头是集红外接收、放大、滤波和比较器输出等的模块,性能稳定、可靠。红外遥控的优点是便宜,易制,安全,缺点是精度低,距离近,方向性差4。红外遥控原理图如图1.1.2-1所示。图1.1.2-1 红外遥控原理图1.1.3 无线遥控方案无线遥

6、控系统由无线发射电路和无线接收电路组成。发射部分主要由按键编址电路、编码电路和发射模块组成。PT2262作为编码器,当按下按键时,设定的地址码和数据码从17引脚串行输出,经无线发射元件IRED发出信号。通过电阻ROSC凋节发射频率,适当提高PT2262工作电压(2.6 V15 V),以增大发射距离。其中A0A12可设置为高电平、低电平、悬空三种状态,因此可以发送531441种编码组合,完全满足设计需求4。无线发射原理图如图1.1.3-1所示。图1.1.3-1 无线发射原理图接收部分由解码电路和接收模块组成。常用的编码芯片和解码芯片为PT2262和PT2272。发射电路主要由315MHz无线数据

7、发射模块和编码芯片PT2262 组成。无线接收原理图如图1.1.3-2所示。图1.1.3-2 无线接收原理图综合以上方案,超声波的优点是比较耐脏污,可以在较差的环境中使用,缺点是精度较低,且成本较高;红外的优点是便宜,易制,安全,缺点是精度低,距离近,方向性差;无线电的优点是频谱广,传播距离远,缺点是抗干扰性能较差,结合目前拥有的实验设施,我们本次设计采用了方案二作为遥控方案。1.2 温度采集方案设计与论证1.2.1 方案一可以使用热敏电阻之类的器件利用起感温效应,在将随被测温度变化的电压或者电流采集过来,使用A/D转换后,就可以用单片机进行数据的处理在显示电路上,就可以将被测温度显示出来,这

8、种设计需要用到A/D转换电路,感温电路比较麻烦。1.2.2 方案二进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这就是非常容易想到的,所以就可以采用一只温度传感器DS18B20,此传感器,可以很容易的直接读取被测温度值,进行转换,就可以满足设计要求。从以上两种方案,就可以很容易的看出来采用方案二电路比较简单软件设计也非常容易。所以本设计就使用了方案二。1.3 显示方案设计与论证1.3.1 LCD显示方案1602液晶就是字符型的液晶,他是用来专门显示数字、字母、符号的液晶模块。他含有很多5X7或5X11等点阵字符位来构成的。每一个点阵字符位都能显现出字符。每一位中间都有一个

9、点距的空格。每行中间也用空格用来起字符间距、行间距的用途。由于上述原因他就不能显示图形,而且显示效果也非常不好1。1.3.2 LED显示方案LED数码管里面有八只发光二极管,分别记作a、b、c、d、e、f、g、dp,其中dp为小数点。每一只发光二极管都有一根电极接到外部引脚上,而另外一直引脚连接在一起同样的外部引脚上。常见的LED数码管有两种,分为共阴极和共阳极。共阴极:当数码管里面的发光二极管的阴极接在一起作为公共引脚,在正常使用时该引脚接低电平,当对应引脚输入高电平时发光二极管点亮。共阳极:当数码管里面的发光二极管的阳极接在一起作为公共引脚,在正常使用时该引脚接高电平,当对应引脚输入低电平

10、时发光二极管点亮。动态显示的结果和静态显示是相同的,就能省下非常多的I/O端口,并且功率消耗更加小。综上所述,本设计采用的就是LED显示方案。2 主要器件简介2.1 AT89S52单片机简介ATS89S52是Atmel这个公司发明出来的一种功率消耗、性能非常高的CMOS8位微型控制器。可以有8K的能狗编程的一种存储器。其功能非常多,其中他有8位的CPU和在系统可编程FLASH;他的内部有时钟振荡器;具有8KB的内部程序存储器;还有256字节的内部数据RAM;具有32个能够编程的I/O;中断向量源具有8个;还有三个16位的计数器、定时器;同时他还有含有三极加密程序的存储器和全双工YART串行通道

11、。2.1.1 复位电路单片机的外部复位电路有上位电路和按键手动复位两种。我们采用的的是按键手动复位。当复位按键按下后,复位端与+5V电源接通,电容迅速放电,使RST引脚为高电平;当复位键弹起后,+5V电源通过10K欧姆电阻对22UF电容重新充电,RST引脚端出现复位正脉冲,其持续时间取决于电路时间常数2。2.1.2 时钟电路AT89S52的时钟有内部时钟方式和外部时钟方式两种。我们采用的是内部时钟方式,此方式是利用芯片内部的振荡器,然后在引脚XTAL1和XTAL2两端接晶体振荡器,就够成了自激的振荡器,发出的脉冲直接送入内部时钟电路3。2.2 LED数码管简介2.2.1 数码管显示器的结构LE

12、D数码管里面有八只发光二极管,分别记作a、b、c、d、e、f、g、dp,其中dp为小数点。每一只发光二极管都有一根电极接到外部引脚上,而另外一直引脚连接在一起同样的外部引脚上。常见的LED数码管有两种,分为共阴极和共阳极。共阴极:当数码管里面的发光二极管的阴极接在一起作为公共引脚,在正常使用时该引脚接低电平,当对应引脚输入高电平时发光二极管点亮。共阳极:当数码管里面的发光二极管的阳极接在一起作为公共引脚,在正常使用时该引脚接高电平,当对应引脚输入低电平时发光二极管点亮。LED数码管引脚图如图2.2.1-1所示。图2.2.1-1 LED数码管引脚图2.2.2 数码管动态显示单片机中应用得非常多的

13、一种显示方式就是数码管动态显示,动态驱动是把每个数码管的8个显示笔划" a、b、c、d、e、f、g、dp"的同名端连接在一起,还要帮所有的数码管的公共极COM加上位选通控制电路,位选通是被每个单独的I/O线调节,当单片机输出字形码的时猴,每个数码管都收到了相同的一个字形码,但是到底是那个数码管会显现出字形,是由单片机对位选通COM端电路的调节,因此只要把必须要显示的数码管的选通控制开启,此位就会显现出字形,而没有被选通的数码管就不会发光。通过分时轮流来调节每一个数码管的的COM端,就会使每一个数码管轮流受控发光,这就是动态驱动。在轮流显示过程中,每个数码管的发光时间为12m

14、s,由于人的视觉暂留效果和发光二极管的余辉效应,就算事实上每个数码管都不是同时发光,但只要扫描的速度够快,就能给人一种一组稳定的显示数据的印象,不会出现闪烁感,动态显示的结果和静态显示是相同的,就能省下非常多的I/O端口,并且功率消耗更加小。2.2.3 数码管静态显示静态显示就是用单片机I/O口输出固定的数值,一般用来显示固定的数值,或长时间不变化的一位数值,这种显示方式在硬件结构上比较简单,而且需要程序处理也相对较少。其缺点在于显示的内容单一,往往不能满足要求,我们用的多是动态显示。LED数码管段码对照图如表2.2.3-1所示。 表2.2.3-1 LED数码管段码对照图类型段码0123456

15、78共阴极0X3F0X060X5B0X4F0X6D0X660X7D0X070X7F共阳极0XC00XF90XA40XB00X920X990X820XF80X802.2.4红外热释电检测电路红外热释电检测电路是由热释电红外传感器和传感信号处理集成电路BISS0001配以少量外接元器件组成。BISS0001是一款具有较高性能的传感信号处理集成电路芯片,BISS0001内部结构图如图2.2.4-1所示。 BISS0001内部结构图2.3 DS18B20简介低温度系数晶振的振荡频率基本不受温度的影响,就可以用来发出不变频率的脉冲信号传输到减法计数器1,震荡频率受温度影响就比较大的晶振就是高温度系数晶振

16、,其发出的信号就可以用于减法计数器2的脉冲输入,每当计数门开启的时候时,DS18B20就会对低温系数振荡器发出的时钟脉冲进行计数,然后就能实现对温度的测量。高温度系数振荡器决定了计数门的开启时间,每次测量前,首先将-55所对应的基数每一个都放倒减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄

17、存器中的数值即为所测温度。图2中的斜率累加器用于调节和改正检测温度途中的非线性,他的输出用来改正减法计数器的预置值,如果计数门还没有关闭就会重复以上步骤,直到温度寄存器的数值与被测温度值相同5。由于DS18B20的单线通信方法是分时来完成的,他有苛刻的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。DS18B20操作协议流程图如图2.3-1所示。图2.3-1 DS18B20操作协议流程图3 系统硬件设计3.1 系统总体框图智能风扇主要由控制模块、温度采集模块、红外热释电检测模块、显示模块四部分组成。控制模块由按键控制和红外控制组成,主要用于选择执行不同的功能;温度采

18、集模块主要用于环境温度采集,实现风扇的自动控制功能;红外热释电检测模块主要用于红外检测,触发中断,从而对风扇进行自动开启和定时设置;显示模块主要实现温度显示和定时时间设置。系统设计框图如图3.1-1所示。系统时钟待机控制电机控制按键控制模块中央控制器显示模块状态指示灯红外遥控接受模块温度采集红外热释检测模块图3.1-1 系统设计框图3.2 模块电路设计3.2.1 电源电路在电子电路中,基本上都要用到电压稳定的直流电源供给电能。小功率稳压电源是由电源变压器、整流电路、滤波电路和稳压电路等几个部分组成。稳压电源组成框图如图3.2.1-1所示。电 源变压器稳压电路滤波电路整流电路+u1+u2+U3-

19、+u3+u0图3.2.1-1 稳压电源组成框图本次设计中需要12V直流电源和5V直流电源,电源变压器是把220V的交流电变成所要用到的电压值,最后再由整流电路把交流电压转换成脉动的直流电压。但是因为这个时候的脉动直流电压还有非常大的纹波,必须通过C5和C6构成的滤波电路进行滤除,才能通过以上步骤得到平稳的直流电压。但是随着电网电压的波动(一般有±10%左右的波动)、负载和温度的变化电压也会有不同变化。所以在整流、滤波电路之后,还需要通过稳压电路来稳定电压。稳压电路的作用是当电网电压波动、负载和温度变化时,维持输出电压稳定。稳压电源电路图如图3.2.1-2和3.2.1-3所示。图3.2

20、.1-2 电源电路图1图3.2.1-3 电源电路图23.2.2 按键控制电路本设计按键控制模式采用独立按键作为控制输入,P1.4、P1.5、P1.6、P1.7做为独立按键输入管脚,先将所接的I/O口分别定义为定时设置、按键加、按键减、确认键。当没有按键按下时,输入端值都是1,一旦有键按下,则输入端的线会被拉低,输入端值变为0。为防止按键意外按下和按键抖动的情况,我们采用软件消抖的方法,当按键输入端变为0时,软件延时一定时间,再次对输入管脚进行读值,如果按键任然保持低电平,则视为按键确实已经按下,单片机执行相应的按键功能。独立按键电路图如图3.2.2-1所示。图3.2.2-1 独立按键电路图3.

21、2.3 红外遥控电路红外遥控电路由发送和接收两个组成部分。红外遥控的发射芯片用到的是PPM编码方式,当按下发射器按键后 ,会发出一组108ms的编码脉冲。遥控编码脉冲由前导码、16位地址码(8位地址码、8位地址码的反码)和16位操作码(8位操作码、8位操作码的反码)组成。经由过程检验用户码,各个遥控器只能支配一个设备动作,这样一来就不会出现多个设备之间的互相干涉。编码过后还必须有编码的反码,可以用来检测编码接收的正误,杜绝误操作,加强了系统的可靠性。前导码是一个遥控码的起始部分,由一个9ms的高电平(起始码)和一个4.5ms的低电平(结果码)组成,作为接受数据的准备脉冲。发射数据时,发射码“0

22、”用发射38khz的红外线0.56ms,停止发射0.565ms表示,发射码“1”用发射38khz的红外线0.56ms,停止发射1.69ms表示。当一体化接收头收到38kHz 红外信号时,输出端输出低电平,否则为高电平。所以一体化接收头输出的波形是与发射波形是反向的。编码脉冲组成图如图3.2.3-1所示:图3.2.3-1 编码脉冲组成图本次设计发送端用到的是红外万能遥控器,经由红外发射管发射出红外信号,红外接收电路完成对红外信号的摄取、放大、检波、整形,并解码出遥控编码脉冲。为了消除干扰,此次设计采用的是物廉价美且可靠性高的一体化红外接收头HS0038(其收受红外信号频率为38KHZ,周期约26

23、s) 来收受红外信号,它能同时对信号进行放大、检波、整形,并将得到的TTL电平的编码信号传送到单片机,单片机采用外部中断INT0管脚和红外接收头的信号线相连,中断方式为边沿触发方式。计算中断的间隔时间,来区分前导码、二进制的“1”、“0”码,并将操作码提取出来,根据预先设计好的程序执行相应的功能。 红外遥控接收电路图如图3.2.3-2所示。图3.2.3-2 红外遥控接收电路图3.2.4 红外热释电检测电路人体产生的红外线中心波长为 910um,而探测器件的波长范围在 0.220um 范围内几乎稳定不变。在传感器上方设置了一个装有滤光镜片的窗口,可以通过这个窗口的光的波长范围为 710um,刚好

24、可以用来进行人体红外辐射的探测,并且把其波长范围外的红外线吸收掉,通过以上方法就可以变成一种专门用来探测人体辐射的红外线传感器。第一,根据实际需要把运算放大器OP1组成传感信号预处理电路,把信号放大。然后交给运算放大器OP2进行第二级放大,并且把直流电位提高到VM(0.5VDD)后,再将输出信号V2发送由比较器COP1和COP2构成的双向鉴幅器,检测出有效触发信号Vs。因为VH0.7VDD、VL0.3VDD,所以当VDD=5V 时,可有效减少±1V的噪声扰乱,提高该系统的性能稳定。COP3是一个条件比较器。当输入电压Vc<VR(0.2VDD)时,COP3的 输出为低电平并且封住

25、了与门U2,截断了触发信号Vs向下级的传送;当Vc>VR时,COP3 的输出就为高电平,并处于延时周期。当A 端接“0”电平时,在Tx这段时间内不管V2 怎么变化都会直接忽略,直到Tx 这段时间结束,这就是人们常提到的不可重复触发工作方式。当Tx时间结束时,Vo就会下跳到低电平,并且启动封锁时间定时器进入封锁周期Ti。在Ti这段时间里,不管V2怎么变化都不会使Vo变为有效状态(高电平),这样就可以有效控制在负载切换过程中产生的各种干扰。红外热释电检测电路中,R2为可调电阻,用来调节VC的大小。BISS0001第1管脚接+5V,使芯片处于可重复触发工作方式。输出延迟时间Tx由外部的R2和C

26、7的大小调整,触发封锁时间Ti由外部的R4和C6的大小调整,R2/R4可以用470欧姆,C6/C7可以选0.1UF。电路工作时,运算放大器OP1将从14脚输入的热释电红外传感器信号作第一级放大,然后由C3 耦合给运算放大器OP2进行第二级放大,再经由电压比较器COP1和COP2组成的双向鉴幅器处理后,检出有效触发信号Vs去启动延迟时间定时器,输出信号Vo为高电平,再经由三极管构成的反向器与单片机P3.3引脚相连,触发外中断1,进入相应的中断服务程序,从而实现风扇的自动定时控制。红外热释电检测电路如图3.2.4-1所示。图3.2.4-1 红外热释电检测电路3.2.5 电机控制电路本次设计中电机控

27、制电路由PC817、NPN三极管、继电器和相关电子元件组成,电机转速由PWM控制,电机一端接地,当PWM输入为高电平时电机开始转动,其转动频率由PWM占空比决定。电路中PC817的1、4引脚接高电平,当单片机引脚P12输入高电平时,PC817不导通,NPN三极管Q1基极输入低电平,三极管截止,继电器常闭触点闭合,继电器电磁线圈未接通,电机停转;当单片机引脚P12输入低电平时,PC817导通,NPN三极管Q1基极输入高电平,三极管导通,继电器常闭触点断开,常开触点闭合,继电器电磁线圈接通,电机得电在PWM控制下转动。电机控制电路如图3.2.5-1所示。图3.2.5-1 电机控制电路图3.2.6

28、待机控制电路本次设计中待机控制电路由NPN三极管、继电器、待机状态指示灯和相关电子元件组成。继电器控制电压为直流稳压电源电路输出的12V电压,该电压用于向电机提供工作电源。NPN三极管Q3集电极接VCC,其发射极接NPN三极管Q4的基极,当单片机引脚P1.0引脚经限流电阻输出低电平时, NPN三极管Q3基极输入低电平,此时三极管Q3截止,Q4也截止,继电器常闭触点闭合,继电器电磁线圈未接通,系统正常工作;当单片机引脚P1.0输出高电平时,NPN三极管Q3基极输入高电平,此时Q3导通,Q4也接着导通,继电器电磁线圈接通,继电器常闭触点断开,常开触点闭合,电机控制电源VCCK端接地,系统进入待机状

29、态,待机状态指示灯亮起,风扇停止转动。待机控制电路图如图3.2.6-1所示。图3.2.6-1 待机控制电路图3.2.7 数码管显示电路本次设计中数码管显示电路由数码显示管、PNP三极管和相关电子元件组成,用于实现实时温度显示和定时时间显示,与LCD液晶显示器相比较,它具有使用简单、价格便宜的优点。电路设计中单片机P0.0、P0.1、P0.2、P0.3四个引脚作为位选端控制引脚,经限流电阻接PNP的基极,PNP的集电极与数码管的COM端相连、发射极均接高电平,以此控制每位数码管的分时显示,实现动态扫描显示。数码管显示电路图如图3.2.7-1所示。图3.2.7-1 数码管显示电路图3.2.8 状态

30、指示灯电路本次设计中状态指示灯电路用于指示风扇工作状态,即指示出风扇处于低速,中速,高速中某一状态,电路设计中P3.0用于低速状态指示灯控制,P3.1用于中速状态指示灯控制,P3.7用于高速状态指示灯控制。当系统处于自动控制状态下时,单片机根据实时温度控制输出不同的PWM控制电机转速,同时对应的单片机管脚输出高电平,LED灯亮起,当系统处于待机状态时,所有指示灯均熄灭。状态指示灯电路图如图3.2.8-1所示。图3.2.8-1 状态指示灯电路图3.2.9 报警确认电路本次设计中报警电路PNP三极管、蜂鸣器和相关电子元件组成,用于确认单片机对红外遥控信号的成功接收。设计中单片机P1.3引脚作为控制

31、管脚,当没有遥控按键按下时,单片机P1.3引脚输出高电平,蜂鸣器不响,报警电路不工作;当有按键按下时,单片机接收红外遥控信号,同时使单片机P1.3引脚输出低电平,蜂鸣器响起,报警电路开始工作,当按键松开后,即完成一次红外按键控制后,报警电路又处于关闭状态。报警电路图图如图3.2.9-1所示。图 3.2.9-1 报警确认电路图4 系统软件设计4.1 主程序设计流程在硬件构建了智能风扇控制系统的基本功能之后,软件所需实现的功能主要是针对系统功能的实现及数据的处理和应用。系统软件需要实现信号采集、信号控制、信号处理等功能。本设计以单片机AT89S52作为主控制器,整个系统软件设计采用C语言编辑实现。

32、主程序是单片机程序的主体,整个单片机系统软件的功能实现都是在其中完成的。主程序主要包括手动控制程序、自动控制程序两部分。程序开始首先对进入初始化模块,接着判断工作标志位done1的数值,默认done1等于0,当done1等于1时,说明有手动控制按键按下,程序执行手动控制程序;当done1等于0时,说明没有手动控制按键按下,程序执行自动控制模式,执行相应的功能模块,从而实现系统的功能。主程序流程图如图4.1-1所示。图4.1-1 主程序流程图4.2 手动控制程序设计流程手动控制模块程序主要由手动按键控制和红外遥控两部分组成,当系统开始执行手动控制程序时,首先判断红外接收完成标志irok的值,当i

33、rok的值为1时,表示存在红外遥控按键,系统自动进入红外遥控控制模块;当红外接收完成标志irok的值为0时,表示不存在红外遥控按键,系统自动进入手动按键控制模块,接着开始对设置模式标志位set_flag进行读值判断,它的默认值为0,即实现实时温度的采集显示;当模式标志位set_flag的值为1时,系统进入定时设置模式,数码管显示定时时间,利用手动按键可实现定时时间的加减控制,定时时间设置完成确认后,定时器2开始工作,系统进入待机模块,设计中待机标志位sleep_flag默认为0,此时电机正常得电,根据输入信号正常工作,当即定时时间减计数到0时,待机标志位sleep_flag变为1,此时系统进入

34、待机状态,软件控制单片机输出相应的控制信号,结合外部设计电路,使电机停转,待机指示灯亮起。手动控制流程图如图4.2-1所示。图4.2-1 手动控制流程图4.3 自动控制程序设计流程自动控制模块程序主要由温度控制、红外热释电检测和红外遥控三部分组成。当系统开始执行自动控制程序时,首先判断红外接收完成标志irok的值,当irok的值为1时,表示存在红外遥控按键,系统自动进入红外遥控控制模块;当红外接收完成标志irok的值为0时,表示不存在红外遥控按键,系统进入自控制模块,接着开启外中断1,用于处理红外热释电检测信号。当检测到红外信号时,由红外热释电检测电路产生输入信号,利用晶体三极管构成简易反向器

35、,触发单片机外中断1,此时系统自动进入定时30分钟,启动定时器2,接着进入待机模块,设计中待机标志位sleep_flag默认为0,此时电机正常得电,根据输入信号正常工作,当即定时时间减计数到0时,待机标志位sleep_flag变为1,此时系统进入待机状态,软件控制单片机输出相应的控制信号,结合外部设计电路,使电电机机停转,待机指示灯亮起。当没有检测到红外信号,系统根据当前环境的温度自动实现转速的调节,从而实现自动转速控制。自动控制流程图如图4.3-1所示。图4.3-1 自动控制流程图4.4 温度采集程序设计流程DS18B20单线通信功能是分时完成的,他有严格的时隙概念,它要求有严格的时序来保证

36、数据的完整性,其操作协议过程为初始化DS18B20(发复位脉冲)、发送ROM功能命令、发存储器操作命令、处理数据。DS18B20单数据线DQ上,存在复位脉冲、应答脉冲、写“0”、写“1”、读“0”和读“1”几种信号类型。其中除了应答脉冲之外,均由单片机产生。温度采集程序流程图如图4.4-1所示。开始初始化DS18B20有无应答脉冲发起SKIP ROM命令发起CONVERT T命令等待温度转换初始化DS18B20有无应答脉冲发起SKIP ROM命令发起READCHPAD命令结束读取温度值否是是否图4.4-1 温度采集程序流程图5 设计总结当开始设计选题时,我依然感觉有点茫然,慢慢的进入状态,再到

37、对思路逐渐的清晰,从开始确定题目,到软件设计、硬件电路设计和电路板的制作,设计报告的写作,多少个挑灯夜战的场景,整个过程难以用语言来表达。题目确定下来,我便立刻着手资料的收集工作中,当时面对浩瀚的书海真是有些茫然,不知如何下手。在老师的指导及同学的帮助下,我终于对自己的工作方向和方法有了初步掌握。资料搜集基本完成后,我开始了软件设计工作,在接近一周的时间里基本完成了系统功能的软件设计和仿真,接着我又开始结合软件设计和仿真内容开始了系统电路板的PCB绘制,在接近一周的时间里完成了此次设计的三部分电路模块的电路板绘制,但在制板和元器件的获取方面遇到了困难,使得我不得不暂缓此部分的设计工作。接着我利

38、用空余时间开始着手本次设计报告的写作,在写作过程中遇到困难我及时查阅资料和与同学沟通,借鉴实验室电路板相关资料,请教老师,在大家的帮助下,困难一个一个解决掉,报告的基本框架也慢慢成型,接着开始对报告格式进行设置,以符合本次设计中对格式的要求。当我终于完成了所有打字、绘图、排版、校对的任务后整个人都很累,但同时看着电脑荧屏上的设计稿件我的心里还是很高兴的,这次设计是我一次再学习,再提高的过程,在设计中我充分地运用了大学期间所学到的知识。本设计最终实现了电风扇的手动控制、自动控制。手动控制中定时设置可在10到99分钟连续可调,定时红外线遥控实现模式切换和档位的调整,自动控制中可根据实时温度变化自动

39、调整,红外热释电检测用于产生中断信号,中断使系统自动开始定时30分钟,定时器定时结束后,如果没有中断信号输入,系统自动进入待机状态。本次设计的存在不足之处就是红外热释电检测检测抗干扰方面不够好,需要提高。我不会忘记这难忘的一段时间,本次设计给了我难忘的回忆。设计中曾有那么多难忘的时刻:每次找到需要资料,亲手用PROTEL99SE设计完成电路图,完成软硬件的调试,为了报告熬夜这段旅程看似荆棘密布,实则蕴藏着无尽的宝藏,在今后的日子里,我仍然要不断地充实自己,争取在所学领域有所作为。附录1: 主板电路图附录2: 主板电路PCB图附录3: 红外热释电检测PCB电路图附录4: 数码管显示电路PCB图附

40、录5: 系统自动模式工作仿真图附录6: 系统定时工作仿真图附录7: 系统待机状态仿真图附录8: 部分程序代码#include<reg51.h> #define uint unsigned int#define uchar unsigned charsbit beep=P21; /蜂鸣器口sbit IR=P32; /红外接口标志uchar ZKB; /占空比uchar done_ir=1; /红外接收标志位、且刚开机设置为手动模式/*/*延时子程序*/void delay(uint num) while( -num ); void Delay_1ms(void) /用于电机延时控制P

41、WM unsigned char a,b,c; for(c=1;c>0;c-) for(b=142;b>0;b-) for(a=2;a>0;a-);/*/* 变量声明 */*/unsigned char irtime;/红外用全局变量bit irpro_ok,irok;sbit PWM_A = P12; /pwm输出unsigned char IRcord4; /处理后的红外码,分别是 客户码,客户码,数据码,数据码反码unsigned char irdata33; /33个高低电平的时间数据/*/* 函数声明 */*/void Ir_work(void);void Irco

42、rdpro(void);void ShowString (unsigned char *ptr);/*/* 定时器0中断服务函数 */*/void tim0_isr (void) interrupt 1 using 1/定时器0中断服务函数 irtime+; /256us /用于计数2个下降沿之间的时间/*/* 外部中断0函数 */*/void ex0_isr (void) interrupt 0 using 0/外部中断0服务函数static unsigned char i; /接收红外信号处理static bit startflag; /是否开始处理标志位if(startflag) if(

43、irtime<63&&irtime>=33)/引导码 TC9012的头码,9ms+4.5msi=0;irdatai=irtime;/存储每个电平的持续时间,用于以后判断是0还是1irtime=0;i+;if(i=33)irok=1;i=0;elseirtime=0;startflag=1;/*/* 定时器0初始化 */*/void TIM0init(void)/定时器0初始化TMOD=0x02;/定时器0工作方式2,TH0是重装值,TL0是初值TH0=0x00; /8位自动重载值TL0=0x00; /初始化值ET0=1; /开中断TR0=1; /*/* 外部中断初始化 */*/void EX0init(void)IT0 = 1; /指定外部中断0下降沿触发,INT0 (P3.2)EX0 = 1; /使能外部

温馨提示

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

评论

0/150

提交评论