采用单片机设计温湿度控制仪
时间:06-10
来源:互联网
点击:
在某些行业中对温湿度的要求较高,特别是在电力系统中,由于温度过高、过低引起的元件失效或由于湿度过高而引起的爬电、闪络事故时有发生。为了避免这些故障,需要在电力设备柜体内安装控温、除湿设备。采用单片机开发的的温湿度控制仪功能齐全、操作简便,特别适用于对温湿度控制要求较高的继电保护柜、仪表箱、计量柜等设备。主要技术指标如下。
温度指示:-30℃~120℃,精度±1℃;
湿度指示:(0~100)%RH,精度±5%RH;
加热器启动条件:温度显示值≤低温加热下限T1_L时,或湿度显示值≥过湿加热整定值上限H_H时;
加热器退出条件:温度显示值≥低温加热上限T1_H与湿度显示值≤过湿加热整定值下限H_L都满足时;
排风扇启动条件:温度显示值≥排风降温整定值上限T2_H时;
排风扇停止条件:温度显示值≤排风降温整定值下限T2_L时;
继电器触点容量:AC220V/10A。
硬件设计
本系统硬件结构如图1所示,整个系统的核心采用与MCS-51完全兼容的GMS97C2051单片机,20脚封装,减少了P0口和P2口,其他配置与性能不变,OTP器件降低了硬件成本。
图1:温湿度控制仪硬件结构图
系统中使用美国IMP公司的单片机系统监控电路IMP813L,以防程序跑飞。如果WDI不处于浮空状态,在1.6秒内GMS97C2051不触发看门狗输入WDI,就说明程序已经紊乱,看门狗输出端将输出低电平到手动复位端,使复位输出端发出复位信号,使GMS97C2051可靠复位。
显示电路采用带有高速串行接口的8位LED控制驱动器PS7219。PS7219是高性能、低价格的多位LED显示驱动器,完全兼容MAX7219,并增添了位闪等功能。其接口采用流行的同步串行外设接口SPI,可与任何一种单片机方便接口,并可同时驱动8位LED。PS7219内部有15×8 RAM功能控制寄存器,可方便寻址、对每位数字可单独控制、刷新,不需重写整个显示器,显示亮度可数字控制,每位都有闪烁使能控制位。PS7219的这些特点,既节省了I/O口,又方便了编程。
A/D转换器采用8位串行控制模数转换器TLC0834。TLC0834是低价格8位逐次逼近型A/D转换器,其多路器可用软件配置为单端或差分输入,也可配置为伪差分输入,基准电压的大小可调,在全8位分辨率下允许任意小的模拟电压编程间隔。
湿敏传感器采用电容式湿敏元件HS1101。HS1101有响应快、线性度高、高可靠性和常时间稳定性、常时间饱和下快速脱湿等优点。IC1-a与R1、R2、C1组成一个多谐振荡器,其振荡频率f=1.44/(R1+2R2)C1,图示参数振荡频率约为50Hz(T=20ms),其振荡脉冲作为可变脉冲发生器提供触发脉冲。图1中右侧的单稳态触发器由IC1-b、R3以及HS1101组成,输出脉宽取决于充电时间常数RC,即t=1.1R3(C2+CX),此输出脉冲经平滑滤波器R4、C3滤波后,经IC3(OP07)直流放大后输入到TLC0834的模拟电压输入端。其中,RP1用来调零,RP2用来调满刻度。
温度传感器采用MF58型热敏电阻,本系统的测量范围为:-30~120℃,对应的电阻值范围为:60.0256~0.2760kΩ。因MF58的阻值变化足以为TLC0834提供0~2.5V的模拟电压,所以LM358接成电压跟随器的形式。TLC0834可由软件配置为差分或单端输入,对于温度采样用差分输入方式,RP3用来调零,RP4用来调满刻度。
本系统中设立3个按键,分别是功能键、加1及减1键,用来设定温湿度的上下限。功能键是多功能键,依照按下的次数执行相应的功能。当功能键第一次被按下,数码管显示调整低温加热下限符号并显示低温加热下限的值,按加1减1使值符合要求后,再按下功能键则数码管显示调整低温加热上限符号并显示低温加热上限的值,按加1减1使值符合要求,这样依次类推,设定完最后一个参数后,再按一次功能键则完成参数整定进入测控状态。
软件编程
控制仪的软件由主程序和T0中断处理程序组成,其中主程序框图如图2所示,T0中断处理程序如图3所示。
系统中,设定定时器T0为工作方式1,定时周期为125ms,8次定时器中断为1秒。为了提高抗干扰性能,采用滑动平均滤波算法,即只采样一次,将这一次采样值和过去的若干次采样值一起求平均,得到的有效采样值即可投入使用。
本系统中采用两个环形队列,每次中断采样一次温湿度的值,分别放入环形队列中,
每存入一个新数据便自动冲去一个旧数据。环形队列的地址为30H~3FH共16个单元,温湿度数据各占8个单元。为了有效防止显示闪烁现象,每秒钟进行一次数据处理(8个数据求和再除以8),处理后的数据换算成温湿度的值送显示缓存并申请显示,同时进行监控处理,符合加热器加热停止条件或排分扇启动停止条件的,要进行相应的处理。
由于系统中有看门狗电路,所以在编程时要特别注意,传统的等待按键释放的方法容易造成看门狗电路输出复位信号。解决方法是,在主程序中,当检测到有键按下后置键按下标志位,在主程序的循环中则反复判断键按下标志位是否被清零,如果被清零则说明键已释放,然后才能进行下一轮的键盘按下判断。在T0中断处理程序中,每次中断均要检测键是否按下。若无键按下,有两种情况,一是系统中无键按下(此时键按下标志为0),处于监控状态;二是键按下释放后的情况(此时键按下标志为1),这时要清键按下标志,以便主程序中进行下一轮的键按下检测。这样既可以保证当键按下后不论按下多长时间只响应一次,又可以保证不使看门狗电路输出复位信号。
温度指示:-30℃~120℃,精度±1℃;
湿度指示:(0~100)%RH,精度±5%RH;
加热器启动条件:温度显示值≤低温加热下限T1_L时,或湿度显示值≥过湿加热整定值上限H_H时;
加热器退出条件:温度显示值≥低温加热上限T1_H与湿度显示值≤过湿加热整定值下限H_L都满足时;
排风扇启动条件:温度显示值≥排风降温整定值上限T2_H时;
排风扇停止条件:温度显示值≤排风降温整定值下限T2_L时;
继电器触点容量:AC220V/10A。
硬件设计
本系统硬件结构如图1所示,整个系统的核心采用与MCS-51完全兼容的GMS97C2051单片机,20脚封装,减少了P0口和P2口,其他配置与性能不变,OTP器件降低了硬件成本。
图1:温湿度控制仪硬件结构图
系统中使用美国IMP公司的单片机系统监控电路IMP813L,以防程序跑飞。如果WDI不处于浮空状态,在1.6秒内GMS97C2051不触发看门狗输入WDI,就说明程序已经紊乱,看门狗输出端将输出低电平到手动复位端,使复位输出端发出复位信号,使GMS97C2051可靠复位。
显示电路采用带有高速串行接口的8位LED控制驱动器PS7219。PS7219是高性能、低价格的多位LED显示驱动器,完全兼容MAX7219,并增添了位闪等功能。其接口采用流行的同步串行外设接口SPI,可与任何一种单片机方便接口,并可同时驱动8位LED。PS7219内部有15×8 RAM功能控制寄存器,可方便寻址、对每位数字可单独控制、刷新,不需重写整个显示器,显示亮度可数字控制,每位都有闪烁使能控制位。PS7219的这些特点,既节省了I/O口,又方便了编程。
A/D转换器采用8位串行控制模数转换器TLC0834。TLC0834是低价格8位逐次逼近型A/D转换器,其多路器可用软件配置为单端或差分输入,也可配置为伪差分输入,基准电压的大小可调,在全8位分辨率下允许任意小的模拟电压编程间隔。
湿敏传感器采用电容式湿敏元件HS1101。HS1101有响应快、线性度高、高可靠性和常时间稳定性、常时间饱和下快速脱湿等优点。IC1-a与R1、R2、C1组成一个多谐振荡器,其振荡频率f=1.44/(R1+2R2)C1,图示参数振荡频率约为50Hz(T=20ms),其振荡脉冲作为可变脉冲发生器提供触发脉冲。图1中右侧的单稳态触发器由IC1-b、R3以及HS1101组成,输出脉宽取决于充电时间常数RC,即t=1.1R3(C2+CX),此输出脉冲经平滑滤波器R4、C3滤波后,经IC3(OP07)直流放大后输入到TLC0834的模拟电压输入端。其中,RP1用来调零,RP2用来调满刻度。
温度传感器采用MF58型热敏电阻,本系统的测量范围为:-30~120℃,对应的电阻值范围为:60.0256~0.2760kΩ。因MF58的阻值变化足以为TLC0834提供0~2.5V的模拟电压,所以LM358接成电压跟随器的形式。TLC0834可由软件配置为差分或单端输入,对于温度采样用差分输入方式,RP3用来调零,RP4用来调满刻度。
本系统中设立3个按键,分别是功能键、加1及减1键,用来设定温湿度的上下限。功能键是多功能键,依照按下的次数执行相应的功能。当功能键第一次被按下,数码管显示调整低温加热下限符号并显示低温加热下限的值,按加1减1使值符合要求后,再按下功能键则数码管显示调整低温加热上限符号并显示低温加热上限的值,按加1减1使值符合要求,这样依次类推,设定完最后一个参数后,再按一次功能键则完成参数整定进入测控状态。
软件编程
控制仪的软件由主程序和T0中断处理程序组成,其中主程序框图如图2所示,T0中断处理程序如图3所示。
系统中,设定定时器T0为工作方式1,定时周期为125ms,8次定时器中断为1秒。为了提高抗干扰性能,采用滑动平均滤波算法,即只采样一次,将这一次采样值和过去的若干次采样值一起求平均,得到的有效采样值即可投入使用。
本系统中采用两个环形队列,每次中断采样一次温湿度的值,分别放入环形队列中,
每存入一个新数据便自动冲去一个旧数据。环形队列的地址为30H~3FH共16个单元,温湿度数据各占8个单元。为了有效防止显示闪烁现象,每秒钟进行一次数据处理(8个数据求和再除以8),处理后的数据换算成温湿度的值送显示缓存并申请显示,同时进行监控处理,符合加热器加热停止条件或排分扇启动停止条件的,要进行相应的处理。
由于系统中有看门狗电路,所以在编程时要特别注意,传统的等待按键释放的方法容易造成看门狗电路输出复位信号。解决方法是,在主程序中,当检测到有键按下后置键按下标志位,在主程序的循环中则反复判断键按下标志位是否被清零,如果被清零则说明键已释放,然后才能进行下一轮的键盘按下判断。在T0中断处理程序中,每次中断均要检测键是否按下。若无键按下,有两种情况,一是系统中无键按下(此时键按下标志为0),处于监控状态;二是键按下释放后的情况(此时键按下标志为1),这时要清键按下标志,以便主程序中进行下一轮的键按下检测。这样既可以保证当键按下后不论按下多长时间只响应一次,又可以保证不使看门狗电路输出复位信号。
单片机 继电器 51单片机 电路 看门狗 LED 显示器 电压 传感器 电容 振荡器 滤波器 温度传感器 电阻 相关文章:
- 单片机智能频率信号装置(11-25)
- 单片机在医学信号检测仪中的应用(02-07)
- 单片机应用编程技巧(02-25)
- DSP与单片机通信的多种方案设计(03-08)
- 单片机与PC机串行通信的实现方法 (02-25)
- 单片机与PC通信的简化接口 (05-11)