数字喷绘机墨水温压曲线的压缩存储方案
2012-11-24顾彬彬张秋风
刘 晋,顾彬彬,张秋风
(辽宁师范大学 计算机与信息技术学院,辽宁 大连 116081)
在大型喷绘机的设计与开发过程中,往往需要对参数数据进行传输和存储控制,但随着人们对喷绘产品的质量及速度的要求越来越高,参数数据量也随之变得越来越大,而存储空间往往是有限的,这就需要设计人员尽可能地实现参数数据的压缩存储,进而化解日益增长的参数数据量与有限存储空间之间的矛盾。为了实现这一目标,本文结合所采用喷绘机系统软硬件的自身特点,选择用基于最小二乘直线拟合的优化方法来压缩参数数据。在保证了数据处理的实时性的前提下又大大提高了数据存储的效率,节省了大量的MCU存储空间,进而降低了系统开发和生产的成本。
1 参数压缩的必要性
为了提高喷绘产品的视觉效果,开发商和设计者都希望能保证喷头喷孔所喷出的墨滴大小是一致的,根据压电喷头的工作原理,要保证这一点,机器需要在相同温度下提供稳定的驱动电压来对压电晶体进行控制,然而由于空气温度是不断变化的,墨水的温度也会随之变化,进而墨水的浓度也随之变化,此时如果仍然提供同样的驱动电压,墨滴的大小就可能会产生差异。为了解决这个问题,墨水的生产厂家为每一种墨水都提供了一个经测试过的温度与喷头所需驱动电压对应关系的参数表,这组参数需要提前存储在喷头的控制系统中用来对驱动电压进行动态的调制。
因为喷绘行业是没有地域限制的,机器可能销往世界各个地区,所以这组参数的温度跨度也比较大。一般情况下温度精度需要保证在0.1℃范围内甚至更高,而且全彩色喷绘机还需对每一种颜色的墨水参数分别进行存储和传输,所以需要存储的数据量很大。此外,由于数字喷绘机的寿命相对来说比较长,而喷头还需要经常更换清洗,支持墨水的批次和种类也经常更新换代,所以需加载的参数随之经常变化。一般的喷绘机系统对这些数据的处理都是通过总线接口在执行喷绘任务前动态加载这些数据,并把这些数据分配到每个喷头的控制单元中,而存储这些数据一般都是使用单片机内部提供的EEPROM或者一些可擦写存储设备,通常单片机自带的存储器的容量都很小,而独立的可擦写存储设备成本却比较高。
目前市场上现有的喷绘机在这个问题的处理上都没有很好的解决办法,对于单颜色或者支持颜色较少的喷绘机中一般选择存储容量较大的单片机或者在其外围存储单元中直接存储参数表,而支持颜色较多精度较高的机器一般要在喷头墨腔上绑定相应的加热器,用于温度较低的情况下对墨水进行加热从而减少相关参数的数据存储量,但两者无疑都提高了机器的生产成本,而且生产前还需要花费较长的时间来进行喷头和墨水数据的配置。所以,如果喷绘机主控系统能够根据一种算法来对这组数据进行压缩处理,不但能节省机器的成本,而且可以减少加载到喷头的参数数据量,进而提高机器的整体工作效率。
2 经典最小二乘直线拟合
在科学研究与工程计算时,常常需要对一组测量数据 (Xi,Yi)(i=1,2,3,… ,n)寻 找 X 与 Y 的 函 数 对 应 关系,通常很难找到精确的对应关系表达式 y=f(x),则就需要根据给定观察点的数值,利用最小二乘曲线拟合法去构造一个近似的函数解析式。该解析式虽然不能确保通过所有的样本点,但是可以很好地逼近,在保证精度要求的情况下,充分反映了已知数据之间内在的数量关系。所以,这种方法在生产实践和科学实验中具有广泛的应用前景。
在所有的曲线拟合当中最基本最常用的是直线拟合。设x与y之间的函数关系由直线方程Y=Ax+B给出。式中A代表斜率,B代表截距。进一步分析可知,点(X0,Y0)与(X1,Y1)可以确定一条直线 Y=Ax+B,那么给出X0、X1利用该条直线便可以计算出Y0、Y1。而存储时只需存储A、B、X0、X1 4个参数就可以,这与直接存储X0、X1、Y0、Y1是等价的。但是如果采用最小二乘法将2个以上的点拟合成误差允许的直线就可以达到节省存储空间的目的,拟合的样点越多节省的空间就越多。
针对墨水厂家给出的T-V曲线参数表,即一组温度与对应驱动电压的离散点,利用最小二乘直线拟合法对其进行分段并直线逼近得出墨水温度与驱动电压在定义域范围内对应的关系函数就可以很好地解决大量数据处理时面临的问题。
3 优化压缩算法
数字喷绘机的运行环境一般是室内,而室内的温度变化和湿度变化都是比较缓慢的,这就使得墨水的温度变化也比较缓慢,所以喷头控制板不需要以很快的频率对墨腔内墨水的温度进行采样,一般情况下以秒为单位即可,因此对喷头控制驱动程序的实时性要求不高。但数据存储空间是有限的,导致驱动程序对算法的空间复杂度要求较高,所以算法应在保证驱动程序实时性的前提下,尽可能地压缩数据所需的存储空间。
3.1 算法分析
驱动程序得到的温度采样值实际上是通过喷头内置的温度传感器取得的A/D转换后的值,是一组二进制数,输出的电压是通过PWM脉宽调制对高压进行斩波,驱动程序需要调整的实际上是脉宽调制的占空比,通常也是一组二进制数,所以根据设计的不同,有时驱动程序存储的是温度传感器的A/D值与输出脉宽调制占空比值之间的对应关系,而不是温度与电压之间的关系。考虑到应用的灵活性,因为传感器得到的A/D值与实际温度是线性关系,输出的占空比与驱动电压也是线性关系,所以这里只讨论如何压缩温度与电压值之间的参数对应关系,这与墨水厂商给定的参数是一致的。
图1为压电喷头在容积电压恒定时的T-V特性。水平轴表示检测热敏电阻(THM1-PZT)的温度值,纵轴则是所需提供的驱动电压值(VDD)。
通过对墨水温度与驱动电压之间对应关系的参数分析可知,T-V曲线是变化幅度比较缓慢的指数型曲线。根据这一特性,本设计可以采用直线拟合的方法对该曲线进行分段线性化。首先选取设计需要考虑的温度范围,其次在精度能够保证的情况下将温度值与驱动电压值的对应关系进行动态地定义域划分,其喷绘机主控制单元的程序算法流程如图2所示。
从所选取温度参考范围内的第一组温度电压对应的参数开始,取出3组参数进行最小二乘法直线拟合,由于两点就可以唯一地确定一条直线,所以3个点以上就会存在误差。根据实际应用的需求,本设计驱动电压的误差指标是0.1 V,所以在拟合结束以后需要将所涉及的3个点的温度值代入拟合成的直线中验证对应的电压值,如果得出的电压值与实际参数表给出的采样值是一致的或者误差不超过0.1 V,则就说明拟合出来的直线可以使用。但设计希望的是能将更多的采样点由一条直线来进行拟合逼近,所以在3个点满足精度要求的前提下算法会加入一个后续的新样点进行再一次的拟合,直到根据拟合出来的直线所计算出的驱动电压值超出了设计要求为止;将符合精度要求且逼近最多采样点的直线的斜率、截距以及相应的温度值范围参数保存下来并开始下一次的计算。最后,所有采样点都能被拟合出来的若干条直线所包含,这种情况下控制软件只需知道所有直线的斜率、截距参数和相应的定义域就能还原出所有采样点的数据。
3.2 算法实现
举例说明如下:表1为一款进口水性墨水所给出的T-V曲线原始参数片段,进行初步化简后如表2所示。表 2表示表格中温度(Tn,T(n+1)]开闭区间内所对应的电压为 V(n+1),在这里T对应自变量 X,V对应函数值Y,n从1~17。对表2中的数据进行优化算法处理后可得到斜率A及截距B的值,将其代入验证程序中得到的验证结果如图3所示。
表1 墨水T-V曲线参数片段
表2 简化后的参数表
计算后的结果Y=-0.572 5x+9.305 7可以使任意一个温度在区间(11.6,14.4]内的值代入之后实现结果精确到0.1时得到的结果与表1中的电压值保持一致。同时,喷头控制单元只需保存 A=-0.572 5、B=9.305 7,定义域区间参数11.6、14.4 4个参数,而在进行数据还原的时候只需进行一次乘法运算和一次加法运算即可。所以在保证精度符合要求的情况下应该将尽可能多的点拟合成一条直线,对整个T-V曲线动态划分成尽可能少的若干条单调的直线,那么每条直线只需存储对应的斜率值和常数项以及定义域参数而无需存储数据量庞大的T-V曲线参数表。
4 实验结果分析
该方法在保证精度的前提下达到了节省大量存储空间的目标。并且已经在喷绘机MCU主控制单元以及喷头控制单元上得到实现。表3是对图1所反映的进口水性墨水T-V曲线原始参数的拟合压缩统计结果。
表3 优化结果统计
通过图1可以看出,当温度比较低时曲线的变化率比较快,需要拟合较多的直线,而随着温度的升高,曲线的变化率会越来越缓慢,拟合的效果就会更好。在实际研发过程中,根据设计要求的不同,喷头工作的温度范围也不同,温度范围越大,需要压缩处理的参数就越多,提高了软件处理的复杂度;温度范围过小,则需要另外添加外围硬件温控设备来调节墨水的温度,提高了机器的生产成本。设计过程中可以根据实际情况灵活地选择和处理。
该方法能够充分显示在数字喷绘机压电喷头由于室内温度变化缓慢所导致的传感器实时性要求不高的情况下的适用性。但对于实时性要求很高的喷绘系统而言它具有一定的局限性。所以在设计压缩存储方案时要综合考虑以上两个因素选择最适合的数据压缩算法。
[1]周峰江.压电式喷头的基本原理和应用 [J].印染,2003,29(4):259-283.
[2]吕庆莉.计算机控制系统的温压控制策略[J].微电子学与计算机,2008,25(2):172-175.
[3]赵建洋.一种分段动态数据压缩算法[J].振动与冲击,2007,26(9):112-114.
[4]皱乐强.最小二乘法原理及其简单应用[J].科技信息,2010,23(2):282-283.
[5]杜水友,章皓,郑永军,等.最小二乘法拟合压力传感器二次曲线及精度分析 [J].中国计量学院学报,2005,16(3):185-187.