手动复位时将其按下,使之接通,RST获得高电平,而且人按动按钮的时间肯定是超过两个机器周期的,于是单片机复位。 3.1.2 液晶显示模块
测量到的温湿度值将显示到液晶屏LCD1602上,它可以显示2行,每行16个字符。LCD1602共有三个存储器,它们是CGROM、CGRAM和DDRAM。CGROM用来保存LCD1602内部固化的一些字符的字模,比如英文的26个字母的大小写;CGRAM用来保存用户自己取的字模,比如,如果要显示汉字,就必须自己去汉字字模,在这里我们都用英语字母,故不用CGRAM;DDRAM用来存储要显示的字符的字模,它和屏幕上的位置是对应的,第一行为00H到0FH,第二行为40H到4FH。在这里需要注意的是,在向LCD1602写入显示数据存储器地址时,根据控制指令的格式,最高位D7为1,所以写入的数据为,第一行80H到8FH,第二行C0H到CFH。
它与单片机的接口电路如下图所示:
图3.3 LCD1602与单片机的接口电路
3.1.3 温湿度传感器模块
温湿度传感器选用瑞士Sensirion公司生产的SHT10。SHT1X系列共有三个型号:SHT10、SHT11、SHT15,他们都是SMD贴片封装的,他们依次性能越来越好,其中SHT10属于经济型的温湿度传感器。三者的温湿度性能如下图所示。
第 8 页
图3.4 SHT1X系列各型号传感器的湿度、温度最大误差
从曲线中可以看出,无论是湿度还是温度,SHT10的误差都是最大的,SHT15误差最小,但是它们的价格也相差很大,SHT10多为二三十元一个,而SHT15价格上百。因此,从满足大棚温湿度监测的要求来看,SHT10已经足够,故选用SHT10。
SHT10与单片机的接口电路如下所示:
图3.5 SHT10与单片机的接口电路
SHT10采用类似于I2C的两线制串行总线,一根是时钟线,一根是数据线。数据线要通过一个上拉电阻接到VCC,目的是避免信号冲突,使单片机的引脚只提供低电平,要得到高电平则使该引脚悬空,由上拉电阻提供高电平。 3.1.4 报警电路的设计
当大棚内的温湿度超过上下限时,除了需要启动温湿度调节器之外,还需要进行报警,这里用到的是蜂鸣器。蜂鸣器为一种采用一体化结构的电子器件, 采用了直流电压来供电,广泛的应用到了计算机、报警器、复印机、电子玩具、电话机、汽车电子设备、定时器等电子产品之中用作发声器。
第 9 页
蜂鸣器分为有源蜂鸣器和无源蜂鸣器。有源蜂鸣器由于内部集成了振荡源,所以使用直流电压就可以驱动它鸣叫;无源蜂鸣器内部没有振荡源,因此一般使用2K~5K方波来驱动。本设计中使用的是有源蜂鸣器,在它两端加载5V的直流电压就可以使之鸣叫。
报警电路设计如下图:
图3.6 报警电路图
蜂鸣器工作电流一般为10mA,而单片机的I/O口只能承受几毫安的电流,因此需要加三极管进行驱动。如上图所示,单片机的I/O口中的P1.6接PNP型三极管的基极,当P1.6为低电平时,三极管导通,5V的电压加载到蜂鸣器两端,于是蜂鸣器鸣叫;当P1.6高电平时,三极管截至,蜂鸣器不鸣叫。 3.1.5 输出电路设计
当温湿度超出限定值后,单片机将输出控制信号,启动加热、制冷、加湿、除湿设备。弱电控制强电,首先要用到继电器来控制这些大功率的设备,而且为了进一步加强弱电和强电的电气隔离,减少强电设备对单片机控制系统的干扰,需要在前一级加光耦进行隔离。光耦的驱动能力有限,一般电流只能达到30mA左右,不足以驱动继电器,因此再加一个三极管放大电流。
原理如图3.7所示:
页 第 10
图3.7 控制电路
输出电路有四组,每一组由一个光耦、一个三极管、一个继电器组成。这四组输出电路分别控制加湿、除湿、加热、制冷的设备。
光耦选用TLP521-4,它是Toshiba公司生产的四路光耦,由单片机直接驱动。51单片机P0口所能承受的灌电流最大,可以达到26mA。输出系统中的继电器最多同时有两个工作,控制温度的一个,控制湿度的一个。如果设置光耦的发光二极管的电流为10mA,那么两个发光二极管同时导通时单片机的灌电流为20mA,小于26mA,符合要求。所以把P0口的引脚接到光耦TLP521-4输入测的发光二极管阴极。
继电器选用5V的,驱动继电器需要大约100mA的电流,也就是说驱动继电器的三极管的集电极电流为Ic=100mA。三极管选用直流放大系数为100的9013,根据Ic=βIb,可计算得三极管基极电流Ib=1mA,而Vbe=0.7V,又由于光耦中的光电三极管的集电极、发射极饱和压降Vces=0.3V,所以基极的限流电阻上的压降为(5-Vces-Vbe)=4V,4V/0.001A=4KΩ,由于没有标称值为4KΩ的电阻,所以选择4.7KΩ的。
还应该注意到的一点是,光耦有一个参数叫电流传输比(CTR),CTR=Io/IF,及输出端电流的最大值比上输入端的电流,体现了光耦输出电流的能力。如果输入端的电流为20mA,电流传输比为50%的话,那么输入端电流Io最大只能为10mA。在这里,TLP521-4的电流传输比为50%,输出端我们刚才算出的电流Io=Ib=1mA,所以输入端电流IF最小为2mA,由于电流很小时光耦处于死区,因此要选大点,这里选择IF=10mA。于是,光耦输入端阳极上的限流电阻为R=(5V-0.7V)/0.01A=430Ω,这里选择标称值为470Ω的电阻。
第 11 页
此外,这里用的继电器是普通的电磁继电器。通过对电磁继电器和固态继电器进行比较,虽然固态继电器具有无触电、动作速度快、使用寿命长等特点,但是本设计中的继电器只在温湿度超过限定值时才动作,动作频率低,而且固态继电器的价格比电磁继电器高得多,所以综合考虑选择电磁继电器SRD一05VDC一SL-C。 3.1.6 电源的设计
图3.8 电源电路
电源电路是整个系统中非常重要的一部分,本设计中主要用到直流5V电源。要得到5V的直流电源,要经过降压、整流、滤波、稳压四个环节。
由于最后的稳压环节,LM7805要得到5V的直流输出,输入与输出要有一定的压差,根据LM7805的数据手册,需要有10V的输入,因此在降压环节把220V的电压降为10V。
然后用桥式整流电路把交流电整流为直流电,此时的直流电只是方向不变,但仍按正弦方式变化,是脉动的直流电。
因此需要滤波电路将纹波滤掉。C8和C2都用来滤波,但是作用是不一样的。C8是大电容,用电解电容,它的作用是低频滤波,通过充电放电,从而削峰填谷,使电压的脉动成分减少,电压基本保持稳定。而C2是小电容,所以对于高频信号容抗很小,相当于短路,从而滤掉高频信号。
需要注意的是,470uF的大电容可以滤低频,为什么不能滤高频,还要单独加一个
页 第 12