3、系统软件的设计
彩色像片洗印机控制系统的软件流程如图2所示。主程序采用顺序循环结构,当系统初始化完成后,主程序依次按判断键盘的工作状态,检测与控制显影、定影与漂洗药液的温度,显示显影药液的温度,测试是否有故障发生等步骤循环工作;当有键被按下或有故障发生时,则转入相应的处理模块,执行完毕后,仍返回主程序循环工作。
3.1 温度检测模块
温度检测模块通过读取DS1820内温度数字信息来确定当前药液的温度值。为了确保检测温度的可靠性和精度,在该模块中对单只温度传感的检测值采用了限幅滤波和算术平均值滤波两种方法,根据系统的实际情况,限幅滤波相邻两次采样值的允许最大偏差ΔT=0.3℃,则有:
│T(k)-T(k-1)│≤0.3℃ 时, T(k)=T(k) 取本次采样值
│T(k)-T(k-1)│》0.3℃ 时, T(k)=T(k-1) 取上次采样值
算术平均值滤波的采样次数N=5,则有:
T(k)=[T(k)+T(k+1)+ T(k+2)+ T(k+3)+ T(k+4)]÷5
通过选择适当的采样周期,不仅有效地抑止了系统的干扰,而且提高了DS1820的分辨率,实测系统的最高分辩率达到了±0.02℃。
3.2 温度控制模块
本系统中,各药槽中的药液约为2500ml,加热器为AC 220V 180W的一般电阻式加热棒,被控对象为纯滞后的控制对象,通过采用分段控制策略,控制精度达到了38.5±0.2℃,取得了理想的控制效果。其控制策略如下:
当系统检测的温度值为T≤22℃时,为初始加温阶段,程序控制加热器通电加温,直到系统检测的温度值达到22℃时为止。