注:本文是作者以前發(fā)表在其個人博客,現(xiàn)在發(fā)布到“聚豐開發(fā)”專欄
蘋果公司iPhone的成功將多點觸摸技術(shù)推到了一個前所未有的高度,經(jīng)典的彈鋼琴應(yīng)用程序可以支持超過5點的同時觸摸,雖然這一性能并不見得有太多的實用價值,但絕對帶給了用戶技術(shù)無限領(lǐng)先的震撼感。蘋果公司的iPhone采用電容屏和他們的專利技術(shù)來實現(xiàn)對多點觸摸的支持,價格自然不菲,但一點可以肯定,在支持的點數(shù)和性能穩(wěn)定方面,目前還少有公司能在這方面挑戰(zhàn)蘋果的權(quán)威。
對于消費電子產(chǎn)品來說,流行就是硬道理,在iPhone大行其道的同時,一時間但凡是有觸摸屏的產(chǎn)品,都想讓自己通過多點觸摸等特性與iPhone攀上親戚關(guān)系,尤其是手機、MP4、GPS等產(chǎn)品,仿蘋果的心理更是急切。
蘋果公司的技術(shù)雖然在性能方面無可挑剔,但過高的成本使得這項技術(shù)只適合iPhone之類的奢侈品,對于更多的觸摸屏產(chǎn)品顯然無法承受這一成本。正是這個原因,尋找一種更為便宜的多點觸摸解決方案,成為眾多技術(shù)人員的期望,本文在不增加其它硬件成本的前提下,基于普通四線電阻屏,提出一種低成本解決方案,能夠在一定限制條件下可實現(xiàn)兩點觸摸的識別。
幾種現(xiàn)有的多點觸摸方案
1.硬件采用電容屏,通過軟件實現(xiàn)多點觸摸。優(yōu)點是靈敏度高,性能穩(wěn)定,支持的點數(shù)可滿足絕對大部分應(yīng)用需求;缺點是成本高,而且蘋果有專利保護。
2.硬件采用數(shù)字電阻屏,實際上是用電阻屏的材料做成一個透明鍵盤矩陣,通過行列掃描判斷所按下的點。優(yōu)點是價格便宜,性能可靠,可支持的點數(shù)最多;不足是需要比較多的行列連線接口,不能實現(xiàn)手寫功能。
3.硬件采用模擬電阻屏,在專用芯片中通過軟件計算出多點觸摸。優(yōu)點是既能支持多點觸摸,又保持手寫功能,另外成本增加不多;缺點是支持的點數(shù)最少,方案商在實現(xiàn)細節(jié)上大都語焉不詳,性能和穩(wěn)定性尚待驗證。
4.采用紅外、表面超聲波等方式實現(xiàn)觸摸檢測,實際應(yīng)用比較少,這里不做探討。
低成本多點觸摸方案
毫無疑問,四線模擬電阻屏是觸摸屏中成本最低的一種,如果我們能在這種屏的基礎(chǔ)上找到一種實現(xiàn)多點觸摸的方法,只要控制額外增加的硬件成本,成本上考慮能夠有所突破的可能性最大。
雖然現(xiàn)在有不少MCU帶有觸摸屏接口,因為我們需要識別多點觸摸,所以這類MCU的觸摸屏接口并不適用,實際上方案的要求更簡單,只需要選用MCU能提供4路ADC口使用,另外再用4條雙向IO進行控制。來看一下這種低成本方案的構(gòu)成細節(jié),圖(一)中(d)部分為方案示意圖,并不需要對電阻屏做出過多改動,只是在外圍增加了兩個電阻,這幾乎是可以忽略不計的成本。
圖(一) 低成本電阻觸摸屏原理及方案示意圖
圖(一)中(a)(b)(c)三部分對電阻觸摸屏的原理做了簡單示意,對單點觸摸位置的識別方法這里不做詳述,不清楚的朋友請自行查閱相關(guān)資料進行了解。單點觸摸的識別只需要4條雙向IO就可以實現(xiàn),其中2條需要支持ADC功能,從圖(一)中(d)部分可以看出方案做了一點修改,使用的IO口數(shù)量增加了一倍,另外還有兩個電阻。
為便于分析,我們需要建立一個觸摸屏工作的等效電路模型。因為觸摸屏X和Y方向?qū)τ|摸檢測方法是一樣的,所以我們只建立一個電路模型,圖(二)展示了觸摸屏按下一個點和兩個點的狀態(tài)。
圖(二) 觸摸屏等效電路模型示意圖
圖(二)標號說明:R1、R2為IO口的輸出電阻,只要知道它的存在,不用管具體大?。籖3、R4、R5、R6為4路ADC口的輸入電阻,阻值遠大于其它電阻;R7、R8、R9為觸摸屏的分段等效電阻,阻值總和為幾百歐;R12、R13、R14為觸摸屏另外一層的分段等效電阻,阻值總和為幾百歐;R10、R11為按下觸摸屏?xí)r的接觸電阻,阻值動態(tài)變化;K1、K2表示按下觸摸屏的位置。
R15為限流電阻,因為觸摸屏的電阻通常為幾百歐,普通IO驅(qū)動能力可能不夠,所以用R15對IO輸出進行限流,R15對應(yīng)圖(一)中(d)部分R1和R2。
假定IO1輸出高電平,IO2輸出低電平,V1~V4為4路ADC口測量到的電壓。
觸摸屏沒有按下時,測量ADC1和ADC2得到V1_0和V2_0;觸摸屏按下一點時,假設(shè)此時按下位置為K1,4路ADC測量的電壓為Vn_1;觸摸屏按下兩點時,4路ADC測量的電壓為Vn_2。忽略ADC口輸入電阻的影響,這些電壓會滿足下面的關(guān)系。
V1_0=V1_1,V2_0=V2_1
V3_1=V4_1=(V1_1-V2_1)*(R8+R9)/(R7+R8+R9)
(V1_1-V2_1)≥(V1_2-V2_2)
后一種關(guān)系式因為兩點按下后會讓與R1、R2、R15串聯(lián)的觸摸屏等效電阻變小,從而使得分在觸摸屏兩端的電壓也變小?,F(xiàn)在引入三個新參數(shù)L7、L8、L9,分別表示同標號電阻等效的觸摸屏寬度,三者的總和等于觸摸屏寬。另外還根據(jù)實際引入一個限制條件,當有兩點被按下時,只要程序檢測速度夠快,對于程序來說就不會有同時按下的情況,始終都是依次按下或松開,這一點非常重要。
對于單點位置的檢測不存在任何問題,現(xiàn)在我們來處理兩點的情況,結(jié)合前面引入的限制條件,程序可以檢測到中間有一小段時間是單點按下,也就是程序先檢測到K1按下,經(jīng)過一小段時間才檢測到K2按下。這個中間過程可以準確得到K1位置,如果我們利用前后變化的比例關(guān)系,就可以計算出后面K2按下的位置。
K1單獨按下:
L7=(L7+L8+L9)*(V1_1-V3_1) /(V1_1-V2_1)
K1和K2同時按下(忽略R10和R11的影響):
(V1_2-V3_2)/L7=(V4_2-V2_2)/L9
因為L7+L8+L9為已知條件觸摸屏的寬度L,所以有:
L7=L*(V1_1-V3_1)/(V1_1-V2_1)
L9=(V4_2-V2_2)*L7/(V1_2-V3_2)
L9=L*(V4_2-V2_2)*(V1_1-V3_1)/((V1_1-V2_1)*(V1_2-V3_2))
到這里我們已經(jīng)得到所按兩點的具體位置,只要我們依照此方法對觸摸屏的X和Y軸分別處理,就可以在普通電阻屏上實現(xiàn)兩點觸摸位置的檢測。
方案的其它說明
前面的公式推導(dǎo)過程忽略了接觸電阻R10和R11的影響,這兩個電阻的大小并不固定,主要由使用者按下的力度決定,按的力越大,其阻值越小。當只按下一個點時,所按力度的大小對K1位置的計算影響可以不用考慮,但對于兩點的計算則要考慮其影響,按的力度越小,計算出來的K2位置誤差就越大。這樣在按下的過程中,會存在一個誤差從大變小的過程,不過只要用力足夠,最后還是保證誤差在允許范圍內(nèi)。另外觸摸屏并不是完全線性,這里是簡化為線性關(guān)系。
該方案在兩點按下時最好保持先按下的點位置不變動,這樣可以保證計算結(jié)果更為精準。如果兩點按下后需要移動,雖然通過比例關(guān)系也可以計算出運動軌跡,但誤差會隨之加大,這里也不做過多分析。松開的過程與按下相反,由兩點按下變?yōu)橐稽c按下,最后全松開。如果在精度上適度降低要求,在此方案的基礎(chǔ)還可以利用三角形重心的原理進行第三點的判斷,筆者進行的驗證實驗發(fā)現(xiàn)難點是需要考慮的組合情況偏多,從而導(dǎo)致判斷程序復(fù)雜。
實際應(yīng)用中還需要進行觸摸屏是否按下的檢測,這里不詳述具體的檢測方法,只是要留意為了防止觸摸屏懸空狀態(tài)的影響,可以在兩端接一個比較大的電阻到地,建議用470k或510k的阻值。
使用該方案除了具備普通電阻屏的基本功能,還可以實現(xiàn)對屏幕的拖動,用手指合分動作實現(xiàn)圖像的縮放,對兩個游戲功能鍵的同時控制。從成本上看除了需要另外增加4條IO口外并無其它硬件開銷,主要是通過軟件計算來實現(xiàn)多點檢測。該方案雖然性能上相較電容屏存在明顯差距,但成本上占有絕對優(yōu)勢,對于一些對精度要求不高的應(yīng)用還是具有一定的實用價值。
-
電阻
+關(guān)注
關(guān)注
87文章
5624瀏覽量
175083 -
觸摸屏
+關(guān)注
關(guān)注
42文章
2383瀏覽量
118498
發(fā)布評論請先 登錄
指尖上的科技:電容式與電阻式觸摸屏如何選擇?


Model3A 7寸觸摸屏PLC應(yīng)用解決方案:LVGL拖拽式UI便捷設(shè)計

案例解說PLC、觸摸屏及變頻器綜合應(yīng)用
Maxtouch觸摸屏:多場景觸控解決方案

AMAZINGIC晶焱科技方案應(yīng)用:觸摸屏Touch IC ESD/EOS防護方案及TVS選型

4線電阻式觸摸屏是如何工作的

觸摸屏與傳統(tǒng)顯示器比較
如何使用TI的4線TSC控制8線電阻式觸摸屏

多點觸控是觸摸屏嗎_多點觸控功能
電數(shù)碼通訊行業(yè):觸摸屏氣密性檢測儀行業(yè)解決方案-岳信儀器

電容屏和觸摸屏的區(qū)別
LCD屏和觸摸屏的PCB設(shè)計

評論