周雄健
瑞薩電子(中國)有限公司 北京 100191
3D手勢(shì)識(shí)別在家電、汽車以及工業(yè)設(shè)備上應(yīng)用得越來越廣泛。以家電產(chǎn)品為例,在很多場(chǎng)合下,人們更希望采用非接觸式的控制。例如,在使用吸油煙機(jī)時(shí),通常用戶的手是潮濕或粘有油污的,使用3D手勢(shì)控制可以避免手直接接觸吸油煙機(jī),在一定距離外進(jìn)行控制。同樣,在智能馬桶、智能水龍頭、智能冰箱等智能家居應(yīng)用中,3D手勢(shì)識(shí)別也具有更加便捷、衛(wèi)生、高效等優(yōu)勢(shì)。本文基于瑞薩電子的靜電電容式觸摸檢測(cè)技術(shù),介紹靜電電容式3D手勢(shì)識(shí)別的基本原理以及抗干擾技術(shù)等。
靜電電容式觸摸檢測(cè)通過捕捉人體與電極之間靜電電容(1pF以下)的微弱變化,判斷開關(guān)的ON/OFF狀態(tài)。瑞薩電子開發(fā)的靜電電容式觸摸檢測(cè)方法,利用開關(guān)電容濾波器(SCF)將靜電電容量轉(zhuǎn)換為電流量,對(duì)該信號(hào)進(jìn)行放大和數(shù)字化處理后,不僅可以判定開關(guān)的ON/OFF狀態(tài),還能判斷人體相對(duì)于電極的3D空間坐標(biāo)。根據(jù)人體在3D空間中的坐標(biāo)變化,可以識(shí)別出手勢(shì)類型,從而實(shí)現(xiàn)非接觸式的3D手勢(shì)控制。
靜電電容式3D坐標(biāo)計(jì)算是基于互容式的靜電電容式觸摸檢測(cè),發(fā)生的機(jī)理如圖1所示。互電容方式基本結(jié)構(gòu)包含接收電極、發(fā)送電極及脈沖發(fā)生器。發(fā)送電極輸出脈沖時(shí),和接收電極間產(chǎn)生電磁場(chǎng)耦合(Field Coupling)。此時(shí),如果人體接近,一部分電磁場(chǎng)將耦合到人體,導(dǎo)致電極間的電磁場(chǎng)耦合減少。通過測(cè)量接收電極上電磁場(chǎng)耦合的減少,可以判斷人體的接近。
靜電電容式3D坐標(biāo)計(jì)算使用互容式電極面板來計(jì)算空間坐標(biāo)。電極面板由4個(gè)發(fā)送電極和1個(gè)接收電極組成,如圖2左側(cè)所示;手的3D坐標(biāo)定義如圖2右側(cè)所示。
上、下、左、右4對(duì)電極的電容計(jì)數(shù)值(簡(jiǎn)稱:計(jì)數(shù)值)在沒有任何物體接近的狀態(tài)下,是一個(gè)穩(wěn)定的計(jì)數(shù)值,稱為參考值。當(dāng)手接近或離開電極面板時(shí),電極的計(jì)數(shù)值會(huì)產(chǎn)生變化,如圖3所示。利用計(jì)數(shù)值相對(duì)于參考值的差異程度可以計(jì)算3D坐標(biāo)位置。
如2.1節(jié)所述,利用電極計(jì)數(shù)值和參考值的差異可以計(jì)算X/Y/Z三軸坐標(biāo)。電極計(jì)數(shù)值和參考值的差值為Δcount。由于4個(gè)電極在水平和垂直方向上對(duì)稱分布,如果Z軸位置相同,則4個(gè)電極的Δcount的平均值Δaverage大致相同。手越接近電極面板,Δaverage越大,如圖4左側(cè)所示。Z軸坐標(biāo)和Δaverage是分段近似線性關(guān)系,如圖4右側(cè)所示。事先測(cè)量好不同的特定Z軸坐標(biāo)點(diǎn)下的Δaverage參數(shù)作為基準(zhǔn),根據(jù)Δaverage的值就可以計(jì)算出當(dāng)前的Z軸坐標(biāo)。
圖1 互容式靜電電容的發(fā)生機(jī)理
圖2 互容式電極面板結(jié)構(gòu)
圖3 電極計(jì)數(shù)值變化
圖4 Δaverage和Z軸坐標(biāo)關(guān)系
例如,在(0,0,100)坐標(biāo)點(diǎn)下,Δaverage=500。在(0,0,150)坐標(biāo)點(diǎn)下,Δaverage=250。如果當(dāng)前的Δaverage是325,那么當(dāng)前Z軸坐標(biāo)的計(jì)算方法如下:
z=100+((500-325)/((500-250)/(150-100)))
=100+(175/5)
=135
當(dāng)前Z軸坐標(biāo)確定后,計(jì)算當(dāng)前X坐標(biāo)。相同Z軸坐標(biāo)下,沿X軸方向移動(dòng)手,左電極和右電極的Δcount會(huì)產(chǎn)生很大的差異,這個(gè)差異被定義為Δhorizontal。手沿X軸移動(dòng)時(shí),Δcount和Δhorizontal的變化如圖5所示。手的X軸坐標(biāo)為0時(shí),左電極和右電極的Δcount大致相同,手越接近左電極或右電極,Δcount的差異越大。Δhorizontal在特定的Z軸坐標(biāo)下,是近似線性的,Z軸坐標(biāo)越小,Δhorizontal的斜率越大。
在特定Z軸坐標(biāo)點(diǎn)下的Δhorizontal的斜率為Δx_slope_REF,這是事先測(cè)定的參數(shù)。首先,計(jì)算當(dāng)前Z軸坐標(biāo)下的Δhorizontal的斜率Δx_slope。然后,根據(jù)當(dāng)前的Δx_slope和Δhorizontal計(jì)算X軸坐標(biāo)。Z軸坐標(biāo)和Δx_slope是分段近似線性關(guān)系,如圖6所示。
圖5 手沿X軸移動(dòng)時(shí)的Δcount和Δhorizontal
圖6 Δx_slope和Z軸坐標(biāo)關(guān)系
圖7 軟件流程圖
例如,在Z軸坐標(biāo)為100mm時(shí),Δx_slope=8。在Z軸坐標(biāo)為150mm時(shí),Δx_slope=3。如果,當(dāng)前的Z軸坐標(biāo)為135mm。那么Z軸坐標(biāo)135mm下的Δx_slope計(jì)算如下:
Δx_slope=3+((150-135)*((8-3)/(150-100))=4.5
當(dāng)前的Δhorizontal是180時(shí),X軸坐標(biāo)的計(jì)算方法如下:
x=180/4.5=40
這樣就可以根據(jù)4個(gè)電極計(jì)數(shù)值和參考值的差值Δcount,計(jì)算出Z軸坐標(biāo)為135mm,X軸坐標(biāo)為40mm。因?yàn)?個(gè)電極是左、右、上、下的對(duì)稱分布,因此Y軸坐標(biāo)的計(jì)算過程和X軸坐標(biāo)是相同的。
瑞薩電子提供的靜電電容式觸摸檢測(cè)解決方案,不僅在電容觸摸傳感單元(簡(jiǎn)稱:CTSU)中內(nèi)置了多種噪聲抑制電路,同時(shí)還提供了用于抑制噪聲的軟件濾波器。但即使這樣,因?yàn)?D坐標(biāo)計(jì)算具有高敏感度,極易受到干擾影響,因此仍然需要額外的噪聲環(huán)境判斷和處理。在軟件中,如果判斷出噪聲超出了設(shè)定閾值,那么會(huì)馬上停止3D坐標(biāo)計(jì)算,直到判斷出噪聲在正常范圍內(nèi)后,才會(huì)再次恢復(fù)3D坐標(biāo)計(jì)算。
3D坐標(biāo)計(jì)算軟件的流程圖如圖7所示,其中包含了多個(gè)抗干擾處理措施。
瑞薩電子提供2種3D手勢(shì)識(shí)別參考方案。一種是以RX231為控制MCU的16×16cm尺寸電極參考方案,Z軸的識(shí)別距離為20cm。另一種是以RX130為控制MCU的8×8cm尺寸電極參考方案,Z軸的識(shí)別距離為10cm。X/Y/Z軸最小識(shí)別精度可以達(dá)到1mm。2種3D手勢(shì)識(shí)別參考方案,如圖8所示。瑞薩電子官方網(wǎng)站上提供了完整的原理圖、元器件表和PCB參考尺寸。
瑞薩電子提供了代碼公開的X/Y/Z坐標(biāo)計(jì)算軟件,上、下、左、右、下壓、順時(shí)針旋轉(zhuǎn)和逆時(shí)針旋轉(zhuǎn)等手勢(shì)識(shí)別代碼以軟件庫的形式提供。此外,還提供了上位機(jī)監(jiān)控軟件“3D Monitor”,如圖9所示。
圖8 瑞薩電子3D手勢(shì)識(shí)別Demo
圖9 瑞薩電子3D手勢(shì)識(shí)別上位機(jī)監(jiān)控軟件
利用靜電電容式觸摸檢測(cè)技術(shù),可以實(shí)現(xiàn)非接觸式的3D手勢(shì)識(shí)別。相對(duì)于紅外、超聲波或視頻手勢(shì)識(shí)別,基于靜電電容式觸摸檢測(cè)的3D手勢(shì)識(shí)別具有低成本,不受光線影響,不怕遮擋等優(yōu)勢(shì)。電極面板上可以覆蓋玻璃、亞克力、塑料、木材、石頭等多種非導(dǎo)體材料,具有良好的應(yīng)用前景。