基于89C51单片机的智能湿度控制系统_第1页
基于89C51单片机的智能湿度控制系统_第2页
基于89C51单片机的智能湿度控制系统_第3页
基于89C51单片机的智能湿度控制系统_第4页
基于89C51单片机的智能湿度控制系统_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、一、 电路名称与概述电路名称:基于89c51单片机的智能湿度控制系统电路概述:在现代农业大棚种植或是室内畜牧业、气象、环保、国防、科研、航天以及现代生活的各个方面,经常需要对环境湿度进行测量及控制。本设计就在此基础上,设计一种基于89c51单片机控制的智能湿度控制系统。此系统采用了精密的检测电路(包刮精密对称方波发生器、对数放大及半波整流、温度补偿及温度自动校正及滤波电路等几部分电路组成),能够自动、准确检测环境空气的相对湿度,并将检测数据通过a/d转换后,送到处理器(at89c51)中,然后通过软件的编程,将当前环境的相对湿度值转换为十进制数字后,再通过数码管来显示;而且,通过软件编程,再加

2、上相应的控制电路(光电耦合及继电器等部分电路组成),设计出可以自动的调节当前环境的相对湿度:当空气湿度过高时,控制系统自动启动抽风机,减少室内空气中的水蒸气,以达到降低空气湿度的目的;当室内空气湿度过低时,控制系统自动启动蒸汽机,增加空气的水蒸气,以达到增加湿度的目的,使空气湿度保持在理想的状态;键盘设置及调整湿度的初始值,另外在设计个过程当中,考虑了处理器抗干扰,加入了单片机监视电路。二、系统组成与框图系统控制结构组成湿度检测电路。用于检测空气的湿度9。微控制器。采用atmel公司的89c51单片机,作为主控制器。电源温压电路。用于对输入的200v交流电压进行变压、整流。键盘输入电路。用于设

3、定初始值等。led显示电路。用于显示湿度10。功率驱动电路(湿度调节电路)at89c51电源电压的设计按键输入电路led显示电路功率驱动电路吹风机功率驱动电路蒸汽机湿度检测电路湿度传感器系统框图三、系统的设计原理该湿度控制系统由湿度检测电路、cpu 监控电路、显示电路、 a/d 转换电路、排风与加热控制电路和微处理器等组成,其中微处理器at89c51 是整个系统的控制核心,它的原理电路如下图所示。工作原理如下:湿度检测电路将当前环境湿度信号通过a/d转换后,送到处理器at89c51中,然后处理器通过软件的运行,将当前湿度信号通过led显示出来(显示相对湿度值),并且处理器通过程序的运行,判断当

4、前湿度值是否在预先设定的范围之内13。假设不是,系统就会自动进行湿度的调节:当湿度检测电路检测到当前环境湿度高于设定值的上限的时候,微处理器将使p2.6输出低电平,起动减湿控制电路使吹风机开始工作,开始排风散热降温;当湿度检测电路检测到当前环境湿度低于湿度设定下限时,p2.7输出输出低电平,使蒸汽机控制电路工作,开始加热增加湿度。湿度测量的名词术语湿度:湿度是表示空气中水蒸气的含量。湿度又分为绝对湿度和相对湿度两种。绝对湿度:绝对湿度亦称水蒸气密度,它表示水蒸气的质量与总容积的比值,有公式 (2.1)式中,dv代表绝对湿度,它表示每立方米干燥空气与水蒸气的混合物中所含水分的克数;p为水蒸气的压

5、强(单位是pa);ab为干燥空气的温度值(单位是)需要指出,国内也有人将空气中所含水蒸气的压强理解为绝对湿度,这与国外关于绝对湿度的定义不相符。相对湿度:相对湿度表示在相同湿度下大气中水蒸气的实际压强与饱和水蒸气的压强之比,通常用百分数来表示。相对湿度的英文缩写为(relative humidity),有公式: (2.2)式中,p1(t)代表温度为时的水蒸气压强,p2(t)表示在温度下的饱和压强。显然,相对湿度是压强和温度的函数。露点:在水蒸气冷却过程中最初发生结露的温度。若气温低于露点,水蒸气开始凝结。湿度比:它表示水蒸气的质量与干燥空气的质量比。大气压强:在单位面积上大气的压力。通常将海平

6、面高度的大气压强称为个标准大气压,p0=101.325pa。大气压强随高度的增加而降低。设、两点的高度差h2-h1=h,这两点的大气压强分别为p1,p2。有公式 (2.3) 当距海面高度为1000m、2000m、4000m、8000m时,大气压强就依次降成 0.88p00.78p0、16p00.37p0。水蒸气压强:当空气和水蒸气的混合物与水(或冰)保持平衡时,就处于饱和状态,相对湿度达到100%,此时水蒸气对水(或冰)的饱和压强就称做水蒸气压强。其计算公式比较复杂,并且计算水和冰的饱和压强的公式也不同。四、系统的单元结构设计4.1 电源电路的设计稳压电源一般由变压器、整流器和稳压器三大部分组

7、成,变压器把市电交流电压变为所需要的低压交流电。整流器把交流电变为直流电。经滤波后,稳压器再把不稳定的直流电压变为稳定的直流电压输出。我设计的稳压电源是以78xx和79xx系列稳压器为基础的,这类电源能够产生5v,15v。它是先将来自交流电的电压通过变压器(即将220v转换为20v),然后通过78xx和79xx稳压器,达到设计要求。基于我要得到正负电源同时使用和电路电源要求,我选用正负三种集成稳压器(7805、7812、7815、7905、7912、7915),按图所示设计: 在图中a端输出+15v,b端输出+12v,c端输出+5v,d端输出-15v,e端输出-12v、f端输出-5v,这6种电

8、源可以供我们后来设计器件的备用电源,如:湿度检测电路、单片机电源、a/d转换icl7135、继电器的电源等。c1、c2是用以抵消其较长接线的电感效应,防止产生自激震荡,界限不长时可以不用,c1、c2一般在(0.11)f,输出端的电容c3、c4用来改善暂态响应,使瞬时增减负载电流时不致引起输出电压有较大的波动,削弱电路的高频噪声,c3、c4可用10f。4.2 相对湿度电路的设计相对湿度检测电路框图如图所示: 精密对称方波发生器湿敏电阻对数放大器兼半波整流温度校正及滤波器输出放大器(a/d)转换 +12v +15v温度补偿电路(恒温器)断点补偿电路稳压电源相对湿度检测电路结构图相对湿度检测电路的工

9、作原理,相对湿度检测电路如图所示:包刮一只pcrc55型湿敏电阻和7片集成电路块。其中,ic1(ic1aic1b)采用以结型场效应管(jeft)为输出级的四运放lf347。 ic2为三端可调式集成恒流源lm334。ic3(ic3aic3b)为宽带jfet输入的双运放lf353。 ic4为6.95v精密基准电压lm329。ic5为低压音频放大器lm389。ic6为+12v输出的三端集成稳压器7812。ic7为1.2基准电压源lm385。除了ic5选用+12v的电源,其余芯片均用+15v电源供电。vd1vd7均采用1n4148型高速开关二极管。vt1vt3采用npn型晶体管,下面分析各单元电路的工

10、作原理。 4.2.3 精密对称方波发生器 精密对称方波发生器由运放ic1a(1/4lf347)、三端可调电流源ic2(lm334)和二极管桥路(vd1vd4)组成。利用二极管桥路和电阻r2、r3构成的正反馈电路使ic1a产生震荡。该方波发生器具有对称输出、限流和稳幅的特性。r1为设定电阻(rset),取r1=15时,可将lm334的输出电流限定在5ma左右。利用二极管桥路的正、反向钳位作用,能把输出方波电压uo1的幅度限制在8v。用示波器观察对称方波发生器的震荡波形如图所示,震荡频率为100hz。图中的uc1代表c1上的电压。由图可见,随着震荡电容c1不断进行充、放电,在uo1端便形成了以零伏

11、为对称轴的方波信号,其直流分量为零。r2、r3组成分压器,用于设定ic1的阈值电压(亦称门限电压),进而控制ic1a的翻转状态。利用lm334的正温度系数(+0.33%/)去补偿热敏电阻的负温度系数(-0.36%/),实际温度系数仅为-0.33%/,它与传感器的1%精度指标相比可以完全忽略不计。lm334的安装位置应尽可能靠近湿敏电阻。需要指出的的是,lm334既可以够成恒流源,还可作为电压灵敏度为227v/k的温度传感器使用,在这里只用其恒流特性,从而大大提高方波幅度的稳定性。 对称方波发生器输出的uo1信号通过缓冲器(ic1b)驱动湿敏电阻,再接至对数放大器ic1c的反相输入端a。a点亦称

12、为求和点或虚地点,该点的电位可视为0v。设湿敏电阻r上的电流irh,很容易求出 4.2.4 对数放大器及相对湿度校正电路对数放大器由晶体管vt1和运放ic1c构成。将vt1的基极接地,集电极接a点(虚地)时,相当于把集电极与基极短接,vt1就等效于硅二极管。vt1的发射极电压(ube)与集电极电流(ic)呈对数关系,其表达式为 (3.2)式中k为波尔兹曼常数,k=8.63*10-5qv/k,q为电子电量(q=1.6021910-19c),t为热力学温度(k),is为晶体管反向饱和电流。根据这一特性可设计成对数放大器,用来补偿湿敏电阻的的指数曲线,使之近似于线性关系。利用电路实现线性化的原理如下

13、:湿敏电阻的电阻值于相对湿度的关系式可近似表示为 r=ae-rh (3.3)式中的a为一变量,rh代表相对湿度(单位是%),令vt1发射极输出电压为uo2,显然,uo2=ube。考虑ic=irh,然后将式(3.1)和式(3.3)一并代入式(3.2)中,化简后得到(3.4)不难看出,uo2与相对湿度成正比,这就实现了对湿敏电阻的线性化。 在方波信号的正半周,uo1=+8v,使vd5截止,uo1途径湿敏电阻、求和点a,接vt1的集电极,再利用电路中的vt1对irh求对数。因ic1c作为反向放大器使用,故uo2输出的是负向方波信号。在负半周时,uo1=8v,使vd5导通,对数放大器不工作,因此,对数

14、放大器兼有半波整流作用。uo2送至ic1d的反相输入端。由ic1d和电位器rp1、rp2组成的相对湿度校正电路。其中,rp1用以校正40%rh的刻度,rp2则用来校正100%rh的刻度。校正后的信号通过滤波电容(c3)得到直流信号,再经过输出放大器ic3a(1/2lf352)放大,获得0+10v的输出电压。4.2.5 断点放大器所谓“断点”(break point)就是指40%rh这一点。pcrc55型湿敏电阻在rh40%时的非线性失真最为显著,针对这种情况可通过断点放大器再做一次局部线性化处理。断点放大器(ic3b)就并联在输出放大器(ic3a)的两端。当rh40%时,利用ic3b可以改变i

15、c3a的增益,使相对湿度曲线在040%的范围内更接近于线性。设ic3ad 同相输入端电压为u1(这也是ic3b的反相输入端电压),ic3b的同相输入端电压为u2。根据所示电路不难算出u2=+0.37v,该电压即为ic3b的参考电压。当rh40%时,因u1u2,ic3b输出为低电平,故vt4和vd6均截止,断点放大器不工作,对(40%100%)相对湿度的线性化任务全部由对数放大器来完成。仅当rh=40%时,u10.36u2,ic3b输出变成高电平,使vt4、vd6导通,断点放大器才开始工作,可使040%相对湿度范围内的输出电压与相对湿度仍然保持线性关系。电路中r13和vd6的作用的防止在断点附近

16、产生抖动现象。4.2.6 温度补偿电路当环境温度发生变化时,vt1的直流工作点也会改变,这必将影响对数放大器的输出特性。因此,必须对vt1采取一定的温度补偿措施。温度补偿电路实际上是由ic4ic6和vt2、vt3等组成的小型恒温槽式控制器,并且需将vt2、vt3与vt1紧贴在一起。将vt2的集电极短接,利用其发射极作为温度传感器使用。ic5是温控电路。vt3作为加热器,给vt1提供一个+50(典型值)的工作温度,使之不受外界环境温度变化的影响。ic6(7812)给ic5提供+12v的稳压电源。ic5的参考电压u3=+0.63v,该电压所对应的vt1管壳温度恰好为+50。一旦vt1温度偏离+50

17、,vt2就通过放大器来改变vt3的基极电流,调节vt3的发热量,使vt1始终工作在+50恒温状态,从而消除环境温度变化对vt1工作点的影响。vdz为3伏稳压管。4.2.7 相对湿度检测电路的调试及校正(1) 将vt3置于+50的环境中并将vt3的基极接地。(2) 给电路通电后,用数字万用表测量vt2的基极电压u3,适当调节r19的电阻值使ic3的反相输入端电压也接近于u3。(3) 将vt3的基极与地脱开后,该电路即具有+50的恒温特性。相对湿度的校正方法(1) 在输出端u0与地之间接一块满量程电压为20v的4(1/2)为dvm。(2) 用一只35k的电阻代替湿敏电阻,调节电位器rp1使仪表读数

18、为100%rh。(3) 用一只8m的电阻代替湿敏电阻,调节电位器rp2使仪表读数为40%rh。(4) 重复第(2)(3)两步,直到调节rp1和rp2时互步影响读数。(5) 用一只60m的电阻来代替湿敏电阻,适当调节断点放大器r12的电阻(其标称值为40k),使仪表读数为24%rh。该仪表经过测试及校正后,即壳测量相对湿度。旦需要说明两点:第一,在更换湿敏电阻时,应重新校正仪表;第二,图4.2.3所给出的曲线是在室温(ta=+25)下测相互来的,当湿敏电阻的实际工作温度为t时,还应根据厂家给出的pcrc55的温度特性对rh读数值进行修正,计算出实际相对湿度值。4.3 处理器模块与转换模块的设计i

19、cl7135是目前市场上广泛流行的单片集成4位半双积分a/d转换器。引脚排列图如下图 icl7135引脚排列图 单片机与icl7135接口(如系统设计原理图,):icl7135的a/d转换结果是动态分时轮流输出的bcd码,因此它与89c51只能通过并行i/o接口或扩展i/o接口与其相连。这里采用并行i/o接口连接,为了节省i/o接口的开销,使用了74ls157四2选1的选择器,使万位输出及其它的三个标志信号(过量程、欠量程、极性输出)与bcd码数据输出的b8、b4、b2、b1公用89c51的p2.0p2.3四条i/o接口线。其分时传送通过d5控制74ls157的选择端sel实现。sel输入低电

20、平时选择1a3a输出,输出电平选择1b3b输出。因为万位只能输出0或1,是半个位,所以正好和or(过量程)、ur(欠量程)和pol(正负极性)三位构成四位数据输出,供89c51读取,这样就可以使用7135的“万”位选通位信号d5作为74ls157的选择端控制信号22。at89c51 单片机作为控制仪的核心部分主要完成以下功能:根据采集到的湿度信号,通过led显示湿度值;当室内空气湿度过高时,控制系统自动启动抽风机,减少室内空气中的水蒸气,以达到降低空气湿度的目的;当室内空气湿度过低时,控制系统自动启动蒸汽机,增加空气的水蒸气,以达到增加湿度的目的,使空气湿度保持在理想的状态。为了提高系统工作的

21、可靠性,测控仪增加了微处理器工作的监控电路,如系统设计原理图中左边的中部所示,在这里采用 max813l 实现,以防程序跑飞使系统失控。如果在1.65s内微处理器 at89c51 不给 maxsl3l 的“看门狗”输入端 wdi 触发信号,说明程序已跑飞或程序已进入了死循环,max813l 将发出复位信号,使系统复位重新运行。4.4湿度的调节模块设计当环境的湿度超出我们预先设定的湿度范围时,通过湿度检测电路以及a/d转换,把相应的信号送入主处理器at89c2051中,通过软件的判断,确定当前的湿度值是否在合适的范围,如果不是,就自动的发出信号,启动湿度调节,例如当相应环境湿度大于预先设定的湿度

22、值时,通过单片机发出信号,经功率驱动放大电路,启动抽风机的工作,减少空气中水蒸气的含量,以达到降低空气湿度的目的;当环境相应湿度小于预先给定的湿度值时,仍然的通过单片机发出信号,经功率放大电路,启动加湿器的工作(其实也就是一个蒸汽机相关的机械),增加空气中的水蒸气,以达到增加空气中湿度的目的。 如图为湿度控制硬件结构图,图中采用了两只光电耦合器件、两个继电器、和两只发光二极管。其中光电耦合器件是将处理器(单片机)输出的信号转换为继电器的输入信号,而继电器又与吹风机和蒸汽机的电源线相连,这样,处理器输出的信号就可以通过光电耦合电路和继电器电路来控制机械(吹风机或蒸汽机)的动作。湿度调节原理实现:

23、现以吹风机为例,来说明湿度的自动调节过程。首先,我们可以人为的设定合适的湿度值,例如可以根据温湿度之间的联系,在知道当天温度的情况下设置合适的湿度值,然后湿度检测电路将所检测到的当前湿度信号通过a/d转换送到控制器(at89c51),在控制器里面,通过软件的编程,将所检测到的湿度信号与预先设定的湿度值相比较,当检测到的湿度值大于预先设定的湿度值时,仍然是经过软件的处理,从处理器的端口p2.6(开始运行时,p2.6人为设定为高电平)输出低电平信号(见硬件结构图),这样,与p2.6相连光电隔离器件就开始工作,带动继电器的吸合,而继电器的长闭开关又控制着吹风机的电源开关,这样,继电器工作之后,吹风机

24、就开始工作。在吹风机工作的同时,湿度检测电路仍然是不断的将湿度信号送到单片机处理器中,处理器也不断的进行比较,(当然这期间,p2.6一直为低电平),如果当前湿度仍然大于预先设定的湿度值,p2.6继续为低电平,吹风机继续工作,只有当检测到的当前湿度信号不大于预先设定的湿度值时,p2.6返回为高电平输出,随之,吹风机也停止工作。这一过程就实现了降低湿度的自动调节。当然,增加湿度的调节过程与此相似,在次不做介绍。这样就实现了空气湿度的自动调节。在本设计中,湿度的的调节除了自动调节外,还可以手动调节,以满足不同用户的要求(或者说在湿度自动调节失灵的情况下,可以进行人为调节,使湿度仍然保持在理想状态)。

25、例如,当你按下s3键时,吹风机就会立即工作,而不管湿度检测信号,并且在此过程中,湿度检测电路还是不断的将湿度信号送入处理器中,并将当前湿度值通过数码管显示出来,但此时湿度检测信号不会影响吹风机的工作,直到用户觉得满意的时候,再按下s3键,吹风机就会停止工作。同理,人为加湿操作与此工程相似。4.5 显示模块设计在单片机应用系统中led显示器有动态和静态两种显示方式。 数码管原理图4.6 按键模块的设计本系统由于只有4个按键,而且单片机的接口又足够,所以采用独立式键盘,每一个按键与单片机的一个输入端口相连。我们可以从系统设计原理图看到,四个按键s1、s2、s3、s4分别与单片机端口p3.0、p3.

26、1、p2.4、p2.5相连。其中,s1键控制湿度预设值的加1,s2键也是设定湿度的预设值,只是按一下s2键,预设值就相应的减1,s3键是人为的控制吹风机的开关,s4键是人为的控制蒸汽机的开关。软件去抖动的方法: t0t1t2t3t4按键延时示意图 当cpu检测到有按键按下后通过软件延时(5ms-20ms)一段时间后再进行扫描,如果延时后检测到仍然有键按下,这时才读取键值并存入寄存器,从而达到了去抖动的效果。五、软件的设计及实现 main初始化开中断设置查询键盘是否压下调用显示程序中断服务程序读取a/d转换结果保存数据现场保护现场恢复返回(1)主程序流程图(2)a/d转换子程序流图显示子程序断点

27、保护写缓冲单元及循环次数循环结束弹出堆栈还回送显示字位是否按键处理子程序s1键s2键s4键s3键判断键预设湿度加1预设湿度减1人为启动吹风机人为启动加湿机返回(4)按键子程序流图(3)显示子程序流程图 程序设计:主程序设计: org 0000h ljmp main org 000bh ljmp tima org 0100main: mov sp ,#40h ;给堆栈赋初值 mov 20h,#00h ;给位存储单元清零mov 71h,#20h ;相对湿度初始最小值 mov 72h,#80h ;相对湿度初始最大值 mov 73h,#00h ;当前相对湿度存储单元清零 mov tmod,#01h ;

28、 mov tl0,#0behmov th0,#63hsetb ea setb et0setb tr0 调节子程序:lop: jnb p3.0,s1 ;减小初始相对湿度最低值 jnb p3.1,s2 ;增加初始相对湿度最大值 jnb p2.4,s3 ;人为减小湿度 jnb p2.5,s4 ;人为增加湿度 lcall dis0 sjmp lop s1: setb 01h lcall dis1 jnb p3.0,s1 inc 71h mov a,71h da a mov 71h,a sjmp lop s2: setb 02h lcall dis2jnb p3.1,s2 inc 72h mov a,72h da a mov 72h,a sjmp lop s3: lcall dis0 jnb p2.4,s3 setb p2.6 sjmp lop s4: lacall dis0 jnb p2.5,s4 setb p2.7 mov a,74h da a mov 74h,a sjmp lop 中断子程序(a/d转换):tima: push psw push acc mov tl0,0beh mov th0,63h mov a,p2 anl a,#0fh mov 73h,a pop acc pop psw reti 显

温馨提示

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

评论

0/150

提交评论