智能电风扇毕业论文Word下载.docx
《智能电风扇毕业论文Word下载.docx》由会员分享,可在线阅读,更多相关《智能电风扇毕业论文Word下载.docx(26页珍藏版)》请在冰豆网上搜索。
如图2.1.1所示:
图2.1.1自动调温电风扇部结构图
2.1.2、外部结构
由外壳、风扇叶、开关、电源线、网罩、转页组成。
如图2.1.2所示:
图2.1.2外部结构
2.2、电风扇控制流程图
如图2.2所示:
图2.2电风扇控制流程图
2.3、主要元器件的工作原理简介
2.3.1、AT89C51单片机简介
AT89C51单片机引脚图
如图2.3.1所示:
图2.3.1AT89C51接线图
管脚定义:
Vss:
接地。
Vcc:
电源,提供掉电、空闲、正常工作电压。
P0.0-0.7:
P0I/O口-P0口是开漏双向口,可以写为1使其状态为悬浮用作高阻输入。
P0也可以在访问外部程序存储器时作地址的低字节,在访问外部数据存储器时作数据总线,此时通过部强上拉输出1。
P1.0-1.7:
P1I/O口-P1口是带部上拉的双向I/O口,向P1口写入1时,P1口被部上拉为高电平,可用作输入口。
当作为输入脚时,被外部拉低的P1口会因为部上拉而输出电流。
P1口第2功能:
T2(P1.0)定时/计数器2的外部计数输入/时钟输出。
T2EX(P1.1)定时/计数器2重装载/捕捉/方向控制。
P2.0-2.7:
P2I/O口-P2口是带部上拉的双向I/O口,向P2口写入1时,P2口被部上拉为高电平,可用作输入口。
当作为输入脚时,被外部拉低的P2口会因为部上拉而输出电流。
在访问外部程序存储器和外部数据时分别作为地址高位字节和16位地址(MOVXDPTR),此时通过部强上拉传送1。
当使用8位寻址方式(MOVRi)访问外部数据存储器时,P2口发送P2特殊功能寄存器的容。
RST:
复位当晶振在运行中,只要复位管脚出现2个机器周期高电平即可复位,部有扩散电阻连接到Vss仅需要外接一个电容到Vcc,即可实现上电复位。
PSEN:
程序存储使能当执行外部程序存储器代码时,PSEN每个机器周期被激活两次,在访问外部数据存储器时PSEN无效,访问部程序存储器时PSEN无效。
XTAL1:
晶体1反相振荡放大器输入和部时钟发生电路输入。
XTAL2:
晶体2反相振荡放大器输出。
2.3.2、直流电机的结构
直流电动机具有良好的起动、制动性能,宜于在大围平滑调速,在许多需要调速或快速正反向的电力拖动领域中得到了广泛的应用。
从控制的角度来看,直流调速还是交流拖动系统的基础。
随着单片机技术的日新月异,使得许多控制功能及算法可以采用软件技术来完成,为直流电动机的控制提供了更大的灵活性,并使系统能达到更高的性能。
采用单片机构成控制系统,可以节约大量的人力资源和降低系统成本,从而有效的提高工作效率。
直流电动机的转速与施加于电动机两端的电压大小有关。
电枢电压为Ua,电枢电流为Ia,电枢回路总电阻为Ra,电机常数Ca,励磁磁通量是¢。
根据KVL方程:
电机转速n=(Ua-IaRa)/Ca¢,其中,对于极对数p,匝数为N,电枢支路数为a的电机来说:
电机常数Ca=pN/60a,意味着电机确定后,该值是不变的。
而在Ua-IaRa中,由于Ra仅为绕组电阻,导致IaRa非常小,所以Ua-IaRa约等于Ua。
由此可见我们改变电枢电压时,转速n即可随之改变。
直流电动机如图2.3.2所示:
图2.3.2直流电机原理图
2.3.3、温度传感器的原理
要求对一个非电量(如温度、力矩、重量等)进行自动测量和控制,首先需将这一非电量转换成电量。
完成这一过程的装置称为传感器。
温度传感器的种类较多,常用的有:
(1)热电偶:
—用两种不同材料的导体组成一个闭合回路。
如果两端结点的温度不同,则在两者之间产生电动势E,而在回路中有一定大小的电流。
这个电动势或电流与两种导体的性质和结点温度有关。
利用这种热电效应组成的温度传感器,称为热电偶。
热电偶具有测量围大等优点,但灵敏度较低。
(2)半导体热敏电阻:
由于非线性而影响其精度,不适宜在精度较高的温度控制系统中作传感器。
(3)铂电阻温度传感器:
测量围大,精度较高,但成本高,适合在较大系统中使用。
(4)集成温度电流传感器:
如美国AnalogDevices公司生产的AD590,它的测温围为-50oC~+150oC,满刻度围误差为±
0.3oC,工作电压围4~30V,电流温度灵敏度为1μA/K,线性度良好,性能稳定,抗干扰能力强,其管脚排列如图2.3.3.1所示
图2.3.3.1AD590管脚排列图
AD590是美国ANALOGDEVICES公司的单片集成两端感温电流源。
如图2.3.3.2所示:
图2.3.3.2AD590实物图
主要特性:
(1)流过器件的电流(μA)等于器件所处环境的热力学温度(开尔文)度数:
Ir/T=1
(1) 式中,Ir—流过器件(AD590)的电流,单位为μA;
T—热力学温度,单位为K;
(2)AD590的测温围为-55℃~+150℃;
(3)AD590的电源电压围为4~30V,可以承受44V正向电压和20V反向电压,因而器件即使反接也不会被损坏;
(4)输出电阻为710mΩ;
(5)精度高,AD590在-55℃~+-150℃围,非线性误差仅为±
0.3℃。
AD590的应用:
AD590测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度的具体电路,广泛应用于不同的温度控制场合由于AD590精度高、价格低、不需辅助电源、线性好,常用于测温和热电偶的冷端补偿。
AD590不能直接置于水中,需加防水但不隔热装置。
图2.3.3.3AD590电路图
2.3.4、数字控制器的原理
多路温度巡回检测控制电路,可通过多路选择器CC4051实现,它使一个8选1多路选择器。
如要实现4路循环检测,只需将CC4051的译码输入端最高为C端(9脚)接地。
参考电路如图2.3.4所示。
图中555定时器组成多谐振荡器产生脉冲,其输出频率f
1.44/(R
+R
+2R
)C,调节电位器R
可改变巡回显示的时间长短。
为了使温度值显示稳定,输出脉冲周期应不小于4s。
CC4013组成一个二位二进制计数器,一方面计数器的输出作为8选1数据选择器的地址线输入,另一方面经译码、显示给出显示的是第几路。
当按下开关S时,计数器脉冲被封锁,计数器状态不变,可实现定点显示。
如图2.3.4所示:
图2.3.4温度检测数字控制电路
2.3.5、A/D转换器与数字显示电路原理
采用ICL7107A/D转换器。
ICL7107A/D转换器的性能与管脚参见前面A/D转换器实验容。
图2.3.5所示电路可作为温度显示电路。
ICL7107显示的满量程与基准电压的关系位VM=2V
。
若将V
选择为100mv,则可组成满量程为200mv的电压测量电路。
只要把小数点定在十位即可直接读出测量结果。
由于ICL7107没有专门的小数点驱动电路,使用时将其阳极数码管的公共阳极接+5V,小数点接GND时点亮,接5V或悬空时熄灭。
如图2.3.5所示
图2.3.5A/D转换与显示电路
在图2.3.5中R
、C
为振荡电阻和振荡电容。
R
和R
构成基准电压分压器,调整R
可改变基准电压,使V
=100mv,R
采用精密电位器。
为模拟信号输入端高频滤波电路。
C
分别为基准电容和自动调零电容。
为积分电阻和积分电容。
为了提高测量温度的精度,电路输入为满量程2V的电压信号,因此,输入另加一分压网络扩大量程。
2.3.6、直流稳压器电路原理
此电路采用的三端稳压集成电路LM317。
LM317的输出电流是1.5A,输出电压可在1.5-37V之间连续可调。
输出电压由控制脚决定,最高输出电压由电源电压决定。
它的1脚是控制端。
2脚是输出端。
3脚是电源端。
引脚非常少易于控制,并且输出电压稳定带负载能力强。
它配合前级的推动电路从而实现电压的数控调节。
LM317在工作时流过的电流是非常大的,所以一定要加足够大的散热片。
以便较快的散去工作时的热量避免因高温而损坏LM317稳压集成电路。
此设计的LM317是不能用一般的三端稳压器代替的。
因为一般的三端稳压器是不带控制脚他只有接地脚。
三端稳压器如图2.3.6所示:
图2.3.6三端稳压元件图
3、自动调温电风扇控制系统设计
3.1、电源转换部分
转换电路如图3.1.1所示:
图3.1电源转换电路
3.2、AT89C51部分
复位在振荡器工作时将RST脚保持至少两个机器周期高电平12时钟模式为24个振荡器周期6,时钟模式为12振荡器周期可实现复位为了保证上电复位的可靠,RST保持高电平的时间至少为振荡器启动时间(通常为几个毫秒)再加上两个机器周期。
复位后,振荡器以12时钟模式运行当已通过并行编程器设置为6时钟模式时除外。
振荡器特性
XTAL1和XTAL2为输入和输出,可分别作为一个反相放大器的输入和输出。
此管脚可配置为使用部振荡器。
要使用外部时钟源驱动器件时,XTAL2可以不连接而由XTAL1驱动。
外部时钟信号无占空比的要求,因为时钟通过触发器二分频输入到部时钟电路。
定时器0和1的操作
定时和计数功能由特殊功能寄存器TMOD的控制位进行选择。
这两个定时/计数器有4种操作模式,通过TMOD的M1和M0选择。
两个定时/计数器的模式0、1和2都相同模式3不同。
中断
本器件提供6个中断源。
外部中断INT0和INT1可根据寄存器TCON中的IT0和IT1位状态分别设置为电平或者边沿触发。
实际产生的中断标志是TCON中的位IE0和IE1。
当产生外部中断时,如果是边沿触发,进入中断服务程序后由硬件清除中断标志位。
如果中断是电平触发,由外部请求源而不是由片硬件控制请求标志。
定时器0和定时器1中断由TF0和TF1(分别由各自的定时/计数寄存器控制,定时器0工作在模式3时除外)产生。
当产生定时器中断时,进入中断服务程序后由片硬件清除标志位
部结构如图3.1.2所示:
图3.2单片机部结构
3.3、按键部分
按键电路采用的是单片机89C51的15,16,17脚作为按键的输入端子。
它们分别是SW1开关按键、SW2递减按键、SW3递增按键。
当按下开关按键时会给单片机一低电平,从而单片机检测到这个脚电平的变化,会做出下一步的处理,经部分析运算后输出相应的控制数据。
开关按键的是单片机部的T1记数功能,当此脚电平变化一次,部就会记一次数。
递减按键用的是单片机的3.6口。
当此按键按下一次就会使P1口所有的输出端口就会变化。
递增按键用的是3.7口,工作过程同递减按键3.6口。
按键电路如图3.1.3所示:
图3.3按键连接图
3.4、单片机复位部分
复位控制如图3.1.4所示:
图3.4复位连接图
上电后5V电压通过C向R电阻充电,这时在89C51的复位端就会形成一个负的电压脉冲。
这时单片机就认为给它一低的电平信号告诉它要复位了。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
本电路采用的是上电自动复位,不需要手动按动按钮去人工复位。
在复位有效期间,ACE、PSEN也输出高电平,REST输入端返回低电平以后单片机从0地址开始执行程序。
3.5、继电器控制电路部分
继电器有线圈,常开触点,常闭触点。
常开触点在线圈不通电的情况下是断开的,当线圈中有电流经过时,常开触点闭合;
常闭触点在线圈不通电的情况下是闭合的,当线圈中有电流经过时断开。
本设计用到的是继电器的常开触点,即在继电器线圈没有电流经过时是断开的状态,当继电器线圈中有电流经过时闭合导通。
从而实现弱电控制强电,单片机是弱电器件,一般情况下它的工作电压为5V,电风扇工作所需电压为220V,属于强电,强电不能和弱电有任何电器接触,防止强电进入到单片机,继电器起到隔离作用。
由于单片机是一个弱电器件,它的工作电压是5V,驱动电流在mA级以下,而现在要把它用于一些大功率场合,控制电风扇,显然是不行的。
所以,就要有一个环节来衔接,这个环节就是所谓的“功率驱动”,继电器驱动就是一个典型的、简单的功率驱动环节。
继电器驱动就是单片机与其他大功率负载接口,起到控制作用,三极管起到放大作用。
这里继电器由相应的三极管来驱动,当温度高于20℃时,给单片机一个命令,setbP2.7,单片机P2.7引脚输出高电平,三极管导通,继电器线圈得电有电流经过,常开触点闭合,电风扇电路接通,电风扇开始转动。
温度低于20℃时,执行CLRP2.7,单片机P2.7引脚输出低电平,三极管截至,继电器线圈中没有电流经过,常开触点保持原断开状态,电风扇电路断路,电风扇不能转动。
继电器线圈两端反相并联的二极管起到吸收反向电动势的功能,保护相应的驱动三极管。
断电器自动控制电路图如图2所示。
实现自动控制时先把开关S1闭合。
图3.5继电器自动控制电路
3.6、数模转换部分
DAC0832是双列直插式8位D/A转换器。
能完成数字量输入到模拟量(电流)输出的转换。
其主要参数如下:
分辨率为8位,转换时间为1μs,满量程误差为±
1LSB,参考电压为(+10~-10)V,供电电源为(+5~+15)V,逻辑电平输入与TTL兼容。
从图1-1中可见,在DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的允许锁存信号为ILE,第二级锁存器称为DAC寄存器,它的锁存信号也称为通道控制信号/XFER。
如图3.1.5所示:
图3.6DAC0832引脚图
该D/A转换器为20引脚双列直插式封装,各引脚含义如下:
(1)D7~D0——转换数据输入。
(2)CS——片选信号(输入),低电平有效。
(3)ILE——数据锁存允许信号(输入),高电平有效。
(4)WR1——第一信号(输入),低电平有效。
该信号与ILE信号共同控制输入寄存器是数据直通方式还是数据锁存方式:
当ILE=1和XFER=0时,为输入寄存器直通方式;
当ILE=1和WR1=1时,为输入寄存器锁存方式。
(5)WR2——第2写信号(输入),低电平有效.该信号与信号合在一起控制DAC寄存器是数据直通方式还是数据锁存方式:
当WR2=0和XFER=0时,为DAC寄存器直通方式;
当WR2=1和XFER=0时,为DAC寄存器锁存方式。
(6)XFER——数据传送控制信号(输入),低电平有效。
7)Iout2——电流输出“1”。
当数据为全“1”时,输出电流最大;
为全“0”时输出电流最小。
(8)I(out2——电流输出“2”。
DAC转换器的特性之一是:
Iout1+Iout2=常数。
(9)Rfb——反馈电阻端
既运算放大器的反馈电阻端,电阻(15KΩ)已固化在芯片中。
因为DAC0832是电流输出型D/A转换器,为得到电压的转换输出,使用时需在两个电流输出端接运算放大器,Rfb即为运算放大器的反馈电阻。
(10)Vref——基准电压,是外加高精度电压源,与芯片的电阻网络相连接,该电压可正可负,围为-10V~+10V.
(11)DGND——数字地
(12)AGND——模拟地
3.7、缓冲与保护部分
缓冲电路作用是把D/A数模转换集成电路输出的控制电压进行放大后去推动LM317输出所要的电压。
保护电路是由(R10、R11、R12)取样电阻和单片机的25脚组成。
工作原理是:
当单片机检测到负载短路时,25脚的电压会发生变化这时单片机就认为负载短路迫使整机处于待机状态,使输出电压为零从而保护了三端稳压器不至于损坏,并且还避免了负载因短路在扩大故障围。
图3.7单片机和DAC0832直通方式输出连接图
3.8、自动调温电风扇的整体硬件电路
220V市电经变压器将压后变成15V的交流电压,经整流电路后变成正负15V左右的直流电压。
(变压器是采用三抽头的)-15V电压送到缓冲放大集成运放为其提供负的工作电压。
+15V直流电压经五伏稳压后变成稳定的5V电压为单片机和D/A数模转换集成电路提供工作电压。
数模转换器是一个八位的D/A转换器件。
当输入的数据全为0时,其数控电源输出的电压接近0V。
当输入的数据全为1时,其数控电源输出电压最高接近基准电压。
基准电压值由VREF决定。
此电路采用的基准电压是15V。
当接通电源后89C51得到复位电压复位后,部开始执行程序,而输出相应的电压值。
SW1是开关按键,按一下次按键后整机处于待机状态,同时LED显示“OF”。
电源无电压输出,按任意键可以开机。
SW2是输出电压递减调节按键,当按一下SW2时,89C51单片机地16脚(P3.6口)会得到一个变化的脉冲,这个变化的脉冲送到单片机部处理后由P1口的1到8脚输出递减电压的数据,直接送到数模转换集成电路的A1-A8端子(也就是5-12脚),电压递减数据经D/A集成电路转换后,由4脚输出一个控制电压。
这个控制电压直接送到集成运放TL082,经TL082反相放大后,直接推动LM317三端稳压器输出相应的电压值。
从而实现数控电压的无触点调节。
并且由89C51单片机的部输出显示电压的数据电压去推动V1,V2三极管的导通,从而驱动LED数码管显示相应的输出电压值。
SW3按键(电压递增调节)与电压递减调节的工作原理相反。
当刚开机时由于单片机要初始化(复位)这一瞬间单片机输出的数据不受控制,从而会导致LM317输出一个高的电压,会使用电器(负载)损坏。
为了防止这一现象的发生,从而设置了V3(PNP)保护三极管。
当单片机初始化时,各端口的电压为低电平,这时V3导通,继电器得到工作电压,使继电器的触点断开,从而切断了输出电压,保护了用电器不被瞬间输出的高电压损坏。
当复位后,P2.5口恢复了高电平,这时V3截止,继电器得不到工作电压而恢复到常闭状态,这时就输出正常的电压到用电器。
当用电器(负载)短路或过载现象时,会到造成输出电压大幅度下降,此电压经取样电路后的电压也会下降很多,这时P2.4口的电位也随之降低。
程序立即检测到P2.4这一变化。
立即使P2.5口为低电平从而使V3导通,继电器工作切断输出电压。
这时整机也转入待机状态,直至故障排除后才能重新开机,否则整机将一直处于待机状态。
整体电路结构如图3.8所示:
图3.8整体电路结构图
4、软件设计
4.1、主流程序设计
主程序设计流程如图4.1所示:
图4.1主程序流程图
功能介绍:
单片机复位后,进行初始化工作,然后进入按键功能模块,最后完成工作。
初始化中,将DS18B20,部RAM,包括按键,默认为控制状态,温度设定为25℃。
加减按键同时按下进入温度设定状态,然后按加或减按键进行温度设定,然后再次同时按加减键退出。
4.2、总程序
TEMPER_LEQU29H;
用于保存读出温度的低8位
TEMPER_HEQU28H;
用于保存读出温度的高8位
FLAG1EQU38H;
DS18B20标志位
FLAG2EQU01H;
设定状态标志位
ORG0000H
AJMPSTART;
转入主程序
ORG0030H
START:
MOV2FH,#25;
设定高于25度为温度过高
SETBP2.1;
CLRFLAG2
movsp,#60h;
duqu:
LCALLGET_TEMPER;
调用读温度子程序并初始化DS18B20
LCALLDISP;
调用显示当前温度
MOVA,29H;
将现场实际温度传递给A
CJNEA,2FH,LL1;
比较当前的温度与设定的温度是否相等
CLRP2.0;
开启电风扇
SJMPANJIAN
MAIN:
MOVa,2FH;
存储的温度25度
MOVb,#10;
取出十位和个位
divab
ORLA,#00110000B
MOV41H,a;
十位
MOV42H,b;
个位
MOV