基于PIC单片机构成的环境温湿度实时测控装置设计
时间:2021-05-06 阅读:760
环境条件中的温湿度指标是许多工作场合的重要参数,不论是仓库管理、图书保存还是工业测量与计量检定,都需要符合操作规定的温湿度环境条件。而温湿度也是最不易保障的指标,针对这一情况,研制可靠且实用的温湿度控制器显得非常重要。本文介绍的温湿度实时控制装置可在0~50℃和20%~98%RH(相对湿度)的范围内任意设定温湿度值,其附加的通信接口可方便地实现与计算机的实时通信,而且便于功能的扩展,可保证温度、湿度满足设计指标。此外,该装置还可自动控制多个设备的多点时间控制电路,因而具有更广泛的应用前景。该装置可实现的功能如下:
●在0~50℃和20%~98%RH间可任意设定温湿度控制点;
●可以实时监测环境温湿度的变化情况,并记录、存储相关数据;
●对环境温湿度的控制可满足设计指标;
●具有多点定时设备控制电路,便于功能扩展;
●设有语音提示功能,可方便地实现仪器操作和工作管理提示;
●配有通信接口,可方便地与计算机进行通信;
●温湿度控制的精度分别为:温度(0~50℃)±0.5℃;湿度(20%~98%RH)±2%~3%RH。
1 硬件设计
该装置的硬件框图如图1所示。它主要由单片机PIC16C73及外部电路构成。PIC16C73是由美国Microchip公司生产的8位单片微机,采用Harvard结构,这种结构可使指令执行和取指操作重叠进行,因而具有很高的执行速度。它只有35条单字节指令,除了跳转指令是2周期指令外,其它指令都是单周期指令。这些特点使它较之于别的8位单片机节省了1/2的程序空间,并具有4?1的速度优势。PIC16C73在芯片内集成了一个8位算术逻辑单元和工作寄存器、4k程序存储器、192个数据寄存器、22个I/O口?、3个定时/计数器及2个捕捉/ 比较/PWM模块和2个串行口,其中A/D转换器具有5路模拟量输入端,同时还具有时钟、复位、看门狗定时器等。这5路模拟量输入通道共同复用一个采样/保持和A/D转换器。PIC16C73外接温湿度采样电路及电器驱动电路,因而可实现对温湿度的控制。该系统硬件主要包括本机地址设定电路、采样电路、键盘显示电路、看门狗电路、电器驱动电路、时间设置及定时驱动电路、RS-232通信等电路。下面以计量实验室温湿度的控制为例,对各主要电路加以介绍。
1.1 温度检测电路
温度检测电路选用Dallas公司生产的一线式数字温度传感器DS1820作为温度检测器件,该器件只有3个引脚(即电源VDD、地线GND、数据线DQ),且不需要外部元件,而是共用一条数据线进行通信,使用一根I/O线通信时,DS1820的电源电压是以寄生方式供电的,因此,只需将其VDD和GND端接地即可。该电路的检测温度范围为-55~+125℃;精度为0.5℃;用9bit数字量来表示温度;每次将温度转换成数字量需200ms。笔者采用三块DS1820来实现对实验室环境温度的检测,之所以用三块,是为了更好地保持温度的恒定。使用时可分别将这三块DS1820放置在房间的不同位置。获得温度信息时,先由PIC16C73的RA2脚发送一个1ms的复位脉冲,以使DS1820复位后将向PIC16C73发送一个回应脉冲,PIC16C73接到回应脉冲后将发送读DS1820序列号的读ROM命令,以分别读取三个DS1820的序列号(每一块DS1820有对应的序列号);然后,PIC16C73再发出定位命令以选择在线的DS1820并进行温度转换。此时PIC16C73的RA1脚应输出一个保持2s以上的高电平信号来使SK214导通,从而提供DS1820在总线供电下进行温度转换时所需的1mA电流。当温度转换完成后,PIC16C73的RA2脚会发送DS1820的存储命令,从而完成温度信息数据的转换和读取。
1.2 湿度检测电路
湿度信号的获取采用电容式湿敏传感器作为湿度检测器件。环境湿度与传感器电容成线性关系,所以可方便地将湿度转换成PIC16C73可以接受的电信号,本例中采用EL7556来实现转换。EL7556由积分电路、基准电路、频率转换电路及频率—电压(F/V)转换电路等组成,积分电路及R1、R2、C1用于产生一定频率的脉冲信号并从5脚送至8脚。调节R2可对该脉冲信号频率进行调整,从而使湿度传感器的线性和灵敏度处于较好状态;基准电路和频率转换电路可将湿度传感器的电容变化转换成频率变化,再经频率—电压转换电路后从9脚输出与频率成线性的电压,然后经C3等滤波后送入PIC16C73的RA0端,再进行A/D转换以将其转换成数字信号。本例中的湿敏传感器为MXS型电容式湿敏传感器,湿度为76%RH时的电容值为500pF,电容相对变化率为+1.7pF/%。当湿度为0%~100%RH时,9脚输出的相应信号频率为0~1000Hz,精度为2%,F/V电路输出的电压为0~5V。调整时,可先设定湿度为5%RH,然后调节R2,使9脚输出100mV电压即可。
1.3 定时及控制驱动电路
定时主要用于提前预热仪器设备和定时语音提醒等,该功能的实现由单片机来完成。时钟频率选用32.768kHz,该频率可使单片机工作在最小功耗状态并可简化分频、定时程序的编写。可选用看门狗电路来作为定时基准,看门狗每18ms复位一次可确保时钟的准确及语音电路的播放操作。
控制驱动电路用于保护仪器。各个电磁阀的导通要有一定的时间间隔,本例中为2分钟。推荐的工作方式为:6:00电磁阀1导通,接通稳压电源;6?02以后每间隔2分钟接通一个相应设备(应先启动感性及大功率设备)。这样,当8:00上班后即可保证有些需要预热1~2小时的仪器设备进入最佳工作状态,从而提高工作效率,保证计量检定的质量。电器驱动电路控制的设备主要包括空调机、风机、吸湿机、加湿机等,可分别采用过零型固态继电器来控制工作。为了便于扩展该装置的功能,系统应留有足够的扩展空间。因此,设计时可用PIC16C73的RA3口作控制口,另外可外扩两片PCF8574以作备用。该系统最多可控制16个设备以满足不同需要。继电器采用交流固态继电器,其内部采用光电隔离方式,可有效地避免电磁干扰。当单片机检测到温湿度信号超过设定值时,将从RA3口发出控制信号,并通过光耦产生大于5mA的触发电流使固态继电器启动相应的电器工作,从而实现对相应设备的控制。设计时应注意各个电器不要同时启动以免冲击电网,这部分工作可由软件延时完成。固态继电器可选择国产的H220D15。
1.4 语音电路
语音电路用于完成多种语音提示。可选用中国台湾Winband公司生产的语音处理芯片W513000。该器件除了支持按键直接控制话筒和喇叭的随录随放功能和快速搜索放音模式外,还具有完善的CPU微处理器控制模式,并可用单片机控制它的所有功能。其主要提供的语音信息为:
(1)加湿器、吸湿器水箱的水满和缺水报警。这部分语音信号的触发由安装在水槽内的导电电极片完成;
(2)中午休息和下班信息的提示;
(3)预约工作的提示,如可提示预先设置的工作计划安排等信息。
语音的录制等操作可由键盘和PIC16C73完成。
1.5 通信和键盘显示电路
为了更好地实现与上位计算机之间的通信和系统功能的扩展,该装置设有RS-232接口电路,通信速率可由用户在1200/2400/4800/9600比特等4种中通过键盘按需选择。
该系统的键盘设有16个按键:0~9为10个数字键;A为设定功能选择键,B为设定完成确定键,C为显示选择键,D~F键则用于完成语音处理和通信等功能。对于温湿度的显示,则可采用4位LED动态分时完成。
2 软件设计
该系统软件可采用模块化设计方法,用汇编语言来实现。包括主程序、中断服务程序、温湿度检测程序、语音处理程序、定时驱动程序、显示子程序等。主程序以循环方式工作,主要完成中断初始化、键盘扫描、温湿度检测、语音处理及显示子程序的循环调用等功能。
2.1 主程序设计
主程序是控制和管理的核心,主要完成在系统上电后进行定时器和中断处理操作的初始化。初始化主要完成对温湿度的设定和检查除定时器T0外的所有中断禁止,同时断开各电器的电源。初始化完成后,系统将开始正常运行,并进行温湿度检测、键盘扫描及定时处理等操作,其软件流程如图2所示。
2.2 温湿度处理子程序
温度传感器选用DS1820,其软件的编写相对简单,DS1820输入单片机的信号为9位数字信号,它不需要进行转换。这里应注意的是,软件控制单片机向DS1820发送的复位脉冲一定要大于1ms,否则软件将无法正常运行。这主要与DS1820的写时间有关,在用软件进行写0之后和写1之前,必须有800μs的低脉冲,写1后再写1也是如此,否则将出现数据写错误。
由于PIC16C73内含A/D转换器,因此,参考电压可由软件设置为器件的正电源电压,同时由RA0引脚接入的模拟电压可经A/D转换成数字信号。系统中的A/D模块有3个寄存器分别为:A/D转换结果寄存器(ADRES)、A/D控制寄存器0(ADCON0)和A/D控制寄存器1(ADCON1)。其中A/D控制寄存器0用于控制A/D模块的工作,寄存器的上电复位值是00H,未用位在执行读操作时为0,不能执行写操作,其它位均可读写。A/D控制寄存器1则只用了0~2位,这3位是A/D转换口配置位,通过这些位可将模拟口配置成不同的工作方式,包括模拟量输入输出、数字量输入输出以及参考电压。
以RA0通道为例,其A/D转换程序如下:
BSF STATUS,RP0 ;选择页面1
CLRF ADCON1 ;配置A/D输入
BSF PIE1,ADIE ;使能A/D中断
BCF STATUS,RP0 ;选择页面0
MOVLW 0XC1 ;时钟、A/D接通
MOVWF ADCON0 ;
BCF PIR1,ADIF ;清除A/D中断标志
BCF INTCON,PEIE ;使能外围功能
BCF INTCON,GIE ;使能所有中断
3 结束语
本装置对需要温湿度实时控制的工作场合是非常必要的,并且具有较大的应用价值。由于采用了一线数字温度传感器DS1820来实现多点温度采样,所以可实现多点温度采样的集中控制。配置的RS-232接口可使多个这样的装置方便地与上位机(计算机)互联,以实现温湿度的测控。该装置现已成功地应用于程控机房中,效果较好。