馮 菁,馬勝前,王科寧,范滿紅
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.