冯 菁,马胜前,王科宁,范满红
FENG Jing,MA Sheng-qian,WANG Ke-ning,FAN Man-hong
(西北师范大学 物理与电子工程学院 电子信息工程系,兰州 730070)
触摸屏是一种广泛应用于工业控制领域的人机交互与控制设备,代替了大量继电器、按钮、指示灯等控制元件,大大缩减了控制设备的数量与体积,简化了用户操作,同时也提高了控制可靠性[2]。触摸屏机械安装之后由于LCD屏和触摸传感模块之间产生的机械误差会大大影响响应精度,如果没有合适的校准,会导致按下一个按钮或者图标时,软件无法实现相应操作[3]。文章将详细论述利用“三点法”消除机械安装误差的方法。
当按下触摸屏上某一点时,触摸屏控制器会计算出这点的X和Y坐标。这个过程的精度会受到很多因素的 影响,比如电信号干扰、比例因子和机械误差等。电信号的干扰主要来自显示屏和背光、人为干扰、触摸表面振动、以及由环境和使用者引起的静电泄露和电磁脉冲[5]。比例因子和机械误差是由于触摸屏和显示器本身以及装配所引起的,就是说触摸屏控制器和显示器的分辨率大多数情况下并不匹配,所以需要比例因子是这两个坐标能够对应起来。触摸屏控制器的坐标和LCD显示屏的坐标有如下关系:
X = kX×X’ Y = kY×Y’.
式中:X方向比例因子为:kX= SX/S'X,Y方向比例因子为:kY= SY/S'Y
SX为触摸屏控制器X方向的分辨率,SY为触摸屏控制器Y方向分辨率;
S'X为LCD显示器X方向的分辨率,S'Y为LCD显示器Y方向分辨率;
其中kX和kY是简单线性的,因为显示器和触摸屏控制器的分辨率是规则排布的[4]。但实际情况则根据元件的不同各有差异。如图1所示。
LCD和触摸屏X轴的比例为1,即kX=SX/S'X=1;而Y方向的比例因子kY= SY/S'Y=3.6/4=0.9。所以图1中示意的点P(X',Y')=(2,2.222)并不能通过分辨率来设定比例因子,需要通过校准使得点(2,2)和(2,2.222)相互对应。
图1 分辨率误差[5]
触摸屏和显示器安装误差包括移动误差如图2(a)所示和旋转误差如图2(b)所示。图(a)中标示了LCD和触摸屏在X和Y方向位置的变化量∆X和∆Y。图(b)标示了LCD和触摸屏旋转变化量∆θ。假设点P在触摸屏坐标系中坐标为(X’,Y’),但是在移动误差产生之后P点坐标则变成了(X’+∆X,Y’+∆Y),在旋转误差产生之后P点坐标由(R×cosθ,R×sinθ)变成了(R×cos(θ-∆θ),R×sin(θ-∆θ)),其中R表示点P到原点C的距离。
校正触摸屏其实就是将触摸屏控制器所得到的坐标能够准确的在LCD上显示出点或者图像。校正会得到一组比例因子,可以校正由于移动和偏转引起的误差。
图2 机械安装误差[5]
设点P在显示器上的坐标为(X,Y),而在触摸屏上的坐标为(X’,Y’),为了计算图(a)和图(b)中移动误差和旋转误差所产生的比例因子,X可以表示为:
同理,触摸屏上Y坐标可以表示为:
通过方程1和2可以看出,要计算出αX,αY,βX,βY,∆X和∆Y这些参数,至少需要3个独立的点,如图3所示。假设三个独立的点(X1,Y1),(X2,Y2),(X3,Y3)是在LCD屏上选取的,而另外三点(X'1,Y'1)(X'2,Y'2)(X'3,Y'3)是在触摸屏上选取的,则可以利用方程1和2得到如下矩阵:
本次研究以触摸屏为东芝256K色3.5英寸,分辨率为240×320的TFT真彩液晶屏为例,触摸屏核心开发板包含12bit数据总线,即为4096×4096,则在LCD屏上任意测量3点为(80,160),(180,240),(180,80)。而在校正过程中采集得到触摸屏上对应的这三点坐标为(678,2169),(2807,1327),(2629,3367),则根据以上原理可以得到:
X=0.0615×X'+0.0052×Y'+5.5421,Y=-0.0163 ×X'+0.1868×Y'-9.1269
在许多的应用中通常选取5个点,根据以上方法将点数扩至5点同样可以得到校正因子。
图3 计算点数选择比较
本次研究创新点在于利用图形详述了利用“三点法”消除电阻式触摸屏由于机械安装而引起的触摸响应误差,通过数学推导,再加以实际设计例证计算得到了误差校正系数。
[1]许荣斌,谢莹,朱永红.触摸屏校准常用算法分析[J].工业控制计算机,2006,19(4):77-78.
[2]崔如春,谭海燕.电阻式触摸屏的坐标定位与笔画处理技术[J].仪表技术与传感器,2004,(8):49-50.
[3]胡晨峰.触摸屏控制器ADS7846 在DragonBall 平台上的应用[J].电子器件,2003,26(3):314-316
[4]宋成,孙广富.触摸屏在S3C2410 上的应用实例[J].单片机与嵌入式系统应用,2005,(1):34-37,72.
[5]冯达,吴星明.基于C8051F SPI 接口液晶触摸屏的控制设计[J].微计算机信息,2005,21(7):56-57,135.