式中,V0为电压初始值;V为电压实测值;T为实测温度;T0为温度初始值;K为温度补偿系数。
3.1 温度补偿系数的选择
V一T曲线控制温度补偿的核心在于温度补偿系数K的选择,根据式(1)得到:
在测色系统中,把调零后第一次测量标准白板时获得的电压值和温度值作为式(2)中的电压和温度的初始值。连续测量标准白板,能够获取不同温度时3路模拟信号的电压值,随着温度的升高,硅光电池产生的电压漂移会反应在这些电压值中。结合实测数据计算电压值随温度线性变化的曲线斜率,所得的曲线斜率即为温度补偿系数K。将温度补偿系数K引入到电压补偿中,对于每次测量所得的电压值,都可以结合实测的温度对电压测量值进行补偿,得到实际的电压值。如式(3)所示:
式中,Vt为实际的电压值;V为电压测量值;T为温度实测值;T0为温度初始值;K为温度补偿系数。
3.2 硬件实现
WSC—Y型测色色差计选用STC89C58RD+新一代超强抗干扰/高速/低功耗单片机作为主处理器完成主要的测控任务。单片机单总线上挂接的DSl8820采用外接VDD供电方式(而未用寄生供电),系统中CPU采用22 MHz晶振,DQ端为P1.1。系统主要部分硬件电路如图4所示。
3.3 软件实现
DSl8820简单的硬件接口是以相对复杂的接口编程为代价的。由于DSl8820通过单总线与单片机进行通信,所以DSl8820与单片机的接口协议是通过严格的时序来实现的。单片机控制DSl8820完成温度转换必须经过3个步骤:初始化、ROM操作指令、存储器操作指令。必须先启动DSl8820开始转换,再读出温度转换值。另外,DSl8820在实际应用中应注意从测温结束到将温度值转换成数字量需要一定的转换时间,所以在读取温度结束后需要延时1 s后,再对数据进行处理,这是必须要保证的,否则将导致转换错误,输出错误的温度值。基于DSl8820的通信协议编写温度传感器控制程序,对DSl8820的操作的程序流程图如图5所示。