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


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

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

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

4線(xiàn)電阻式觸摸屏是如何工作的

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

多點(diǎn)觸控是觸摸屏嗎_多點(diǎn)觸控功能
觸摸屏靜電保護(hù)方案

電數(shù)碼通訊行業(yè):觸摸屏氣密性檢測(cè)儀行業(yè)解決方案-岳信儀器

評(píng)論