基于DS18B20的温控系统冷热调节设计

时间:2010-07-11来源:网络

  3.1主程序模块

  主程序模块采用循环查询直至中断退出,以达到温控系统冷热自动控制的目的。主程序流程如图3所示。

主程序流程

  3.2运算控制模块

  运算控制模块包括数字滤波、PID算法、温度传感器控制3个子程序。数字滤波由限速滤波实现,限速滤波能充分利用每一个采样值,保证了采样的实时性和采样值变化的连续性。限速滤波子程序流程如图4所示。

限速滤波子程序流程

  PID算法由积分分离PID算法实现,采用积分分离的方法,在被控量开始监控时取消积分作用,在温度值接近目标值时才产生积分作用,有效降低系统启、停次数频繁给系统带来的振荡。积分分离PID算法为:

积分分离PID算法

  式中,Y(K)为温度的目标设定值,C(K)为经数字滤波后的温度测量值,△Y为设定的最大允许偏差值。根据此算法思想可用汇编语言编程实现积分分离PID算法。

  DS18B20控制子程序按照DS18B20的通信协议编制,包括DDS18B20初始化,DS18B20读、写控制子程序,分别按照相应的规则说明进行编程实现。

  3.3功能实现模块

  功能实现模块包括温度值设置、温度显示、固态继电器通断控制以及系统运行状态显示等子程序,其中在温度显示子程序中要完成各个位置段码的调用、数码管的选通以及数据总线的稳定(一般采用延时几ms实现)。

  4系统调试

  系统调试主要进行PID参数的整定和温度值的系统误差校正。PID参数及系统其它参数的整定首先采用经验值,再逐个细调,以满足控制精度要求。根据表3的实验数据,利用MATLAB进行一维曲线拟合,校正系统误差,从而得到更准确的测量数据。

一维曲线拟合

  MATLAB拟合过程和结果如图5所示。图5中“O”表示(检测值,标准值),“*”表示(检测值,拟合值),一维曲线拟合方程为:y=0.9948x-0.3996,经数字滤波后的采样值再采用此方程处理便可得到更为精确的测量值。

MATLAB拟合过程和结果

  5结束语

  本文从应用角度出发,给出了温控系统冷热调节详细的硬件和软件设计,充分利用DS18B20单总线测温的准确性和便捷性,并使用限速滤波、积分分离PID算法、MATLAB一维曲线拟合等方法来提高系统的可靠性和测量值的精确性。但信号传输线的抗干扰、键盘按键消抖等方面还不够完善,而且采用MATLAB进行处理的实验数据采样不够充分,未考虑在测量过高或过低温度时的温度漂移情况,因此系统的设计有待进一步的深入与完善。

1 2

关键词: DS18B20 冷热调节 温控系统

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版