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

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

Maxtouch觸摸屏:多場景觸控解決方案

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

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

觸摸屏與傳統(tǒng)顯示器比較
多點(diǎn)觸控是觸摸屏嗎_多點(diǎn)觸控功能
電數(shù)碼通訊行業(yè):觸摸屏氣密性檢測儀行業(yè)解決方案-岳信儀器

LCD屏和觸摸屏的PCB設(shè)計(jì)

啟明智顯Model3A芯片方案7寸高清觸摸屏:開箱、設(shè)置與實(shí)操全攻略指南

觸摸屏和plc的程序怎么編寫
人機(jī)界面觸摸屏如何觸摸校正屏幕
觸摸屏與plc通訊不上的原因
如何快速實(shí)施可靠的觸摸屏

評論