何賞賞,吳劍鋒*,趙新剛,王 琦
(1.東南大學(xué)儀器科學(xué)與工程學(xué)院,南京 210096;2.機(jī)器人學(xué)國家重點(diǎn)實(shí)驗(yàn)室(中國科學(xué)院沈陽自動化研究所),沈陽 110016)
帶光敏[1]、溫敏[2-3]、壓敏[4]、濕敏[5]等功能的阻性傳感器陣列(RSA),具有空間分辨率高、穩(wěn)定性高、成本低、易實(shí)現(xiàn)等優(yōu)點(diǎn),其已被廣泛應(yīng)用于觸覺傳感[6]、電子皮膚[7]、人體健康監(jiān)護(hù)[8]、機(jī)器人[9]、可穿戴設(shè)備[10]等領(lǐng)域。共用行列線方式使得大量阻性傳感器可以集成在一個(gè)RSA中,優(yōu)化了其陣列結(jié)構(gòu)并減少了其測試連線數(shù)目。
RSA的性能依賴于其自身的制備技術(shù),包括傳感器的設(shè)計(jì)、所采用的材料和實(shí)現(xiàn)工藝。王璐珩[5]設(shè)計(jì)了一種新型濕敏傳感器,其采用的差分結(jié)構(gòu)提高了濕度檢測的靈敏度,同時(shí)也減小了滯后誤差;黃英等[11]利用柔性基底材料、力敏材料和溫敏材料設(shè)計(jì)了柔性三維力、溫度傳感陣列,能夠準(zhǔn)確實(shí)現(xiàn)三維力與溫度的檢測;張正勇等人[12]則利用MEMS技術(shù)實(shí)現(xiàn)了觸覺傳感器陣列的柔性化,可實(shí)現(xiàn)90°以上的彎曲變形。
此外,RSA的性能也與其測試方法性能緊密關(guān)聯(lián)。采用共用行列線方式的陣列結(jié)構(gòu)雖然能夠降低傳感單元的互連復(fù)雜度,但同時(shí)也帶來了串?dāng)_誤差和讀取速率問題。常用的RSA測試方法如二極管插入法[9]和晶體管插入法[7]可減小串?dāng)_誤差,讀出速率快,但其電路復(fù)雜度較高且插入的器件引入了額外誤差;電壓反饋法[13]和零電勢法[14]測量精度較高、電阻值量程大,但其讀取速率較慢;此外還有RMA(Resistance Matrix Approach)[10]、關(guān)聯(lián)矩陣法[8]等。RSA測試方法的性能好壞可以從測量精度、讀出速率、電路復(fù)雜度、電阻值量程、適用的陣列規(guī)模、功耗成本等方面進(jìn)行評估。
RSA測試方法的性能分析可通過理論分析、電路仿真軟件分析、實(shí)物分析3種方式[15]實(shí)現(xiàn)。其中,理論分析適用于RSA測試方法設(shè)計(jì)的初始階段,通過數(shù)學(xué)建模來快速分析出影響測試方法性能的因素,但其分析結(jié)果并不直觀;實(shí)物分析能夠更加系統(tǒng)地獲取測試方法的性能,結(jié)果真實(shí)可靠,但會消耗較多的電子元器件而增加硬件成本;電路仿真軟件分析兼具電路理論分析和實(shí)物仿真分析的優(yōu)點(diǎn),一方面能夠獲取較為可信的結(jié)果,另一方面也能降低電子元器件成本,因此具有一定的可取性。針對電壓反饋法[13]、零電勢法[14]等測試方法,由于其采集的數(shù)據(jù)可直接反映傳感器單元的阻值,因此通過電路仿真軟件分析即可評估其基本性能;但對于一些測試方法,如RMA[10]、關(guān)聯(lián)矩陣法[8]等,其需要先采集多組數(shù)據(jù)而后聯(lián)合求解才能得到傳感單元的阻值,純粹的電路仿真軟件分析則需要大量的額外手動數(shù)據(jù)計(jì)算而存在明顯的局限性。
LabVIEW具有優(yōu)良的圖形化界面開發(fā)與控制功能,MATLAB具有強(qiáng)大的數(shù)據(jù)處理功能,Multisim具有高效的電路設(shè)計(jì)及電路仿真功能,且相互間的混合編程[16-17]往往能夠利用各自的優(yōu)勢。因此,為了快速評估RSA測試方法的性能,本文設(shè)計(jì)了由LabVIEW、MATLAB和Multisim 3個(gè)軟件聯(lián)合編程實(shí)現(xiàn)的多軟件聯(lián)合仿真系統(tǒng)。本文的框架如下:首先,在介紹聯(lián)合仿真系統(tǒng)的整體框架設(shè)計(jì)的基礎(chǔ)上,結(jié)合聯(lián)合仿真系統(tǒng)界面對聯(lián)合仿真系統(tǒng)功能進(jìn)行詳細(xì)描述。其次,介紹了RSA的兩種典型測試方法RMA和IRMA(Improved RMA)。而后基于該聯(lián)合仿真系統(tǒng)和4×4的阻性陣列實(shí)物系統(tǒng)設(shè)計(jì)仿真實(shí)驗(yàn)和實(shí)物驗(yàn)證實(shí)驗(yàn)。最后,對比仿真結(jié)果和實(shí)物系統(tǒng)結(jié)果進(jìn)而對RMA和IRMA的性能進(jìn)行評估。
基于LabVIEW、MATLAB、Multisim這3種軟件,本文設(shè)計(jì)了一個(gè)針對RSA測試方法的多軟件聯(lián)合仿真系統(tǒng),以實(shí)現(xiàn)對RSA測試方法基本性能的快速評估,其設(shè)計(jì)框圖如圖1所示。
圖1 聯(lián)合仿真系統(tǒng)設(shè)計(jì)框圖
LabVIEW作為控制中心,與MATLAB和Multisim均為雙向交互關(guān)系。與Multisim的交互主要利用LabVIEW的LabVIEW Multisim Connectivity Toolkit附加工具包,交互內(nèi)容包括對RSA測試電路的加載或刷新、元器件參數(shù)的修改、驅(qū)動仿真以及測試點(diǎn)數(shù)據(jù)的采集。LabVIEW驅(qū)動Multisim中的RSA電路開始運(yùn)行后,每個(gè)測試點(diǎn)的數(shù)據(jù)由LabVIEW采集并以二維數(shù)據(jù)(時(shí)間+浮點(diǎn)型數(shù)據(jù))形式保存至本地excel文件中。與MATLAB的交互主要利用MATLAB script節(jié)點(diǎn)實(shí)現(xiàn),LabVIEW使用ActiveX技術(shù)執(zhí)行該節(jié)點(diǎn),進(jìn)而啟動一個(gè)MATLAB進(jìn)程,因此LabVIEW可以很方便執(zhí)行在節(jié)點(diǎn)中寫入的MATLAB命令。LabVIEW將從本地讀取excel文件傳給MATLAB處理計(jì)算,計(jì)算結(jié)果為陣列中傳感器單元的電阻值,LabVIEW獲取該結(jié)果并以txt文件形式保存至本地。
聯(lián)合仿真系統(tǒng)的LabVIEW界面如圖2所示,主要包括電路加載顯示、仿真參數(shù)設(shè)置和仿真控制及狀態(tài)顯示等區(qū)域。其中,電路加載顯示區(qū)域主要實(shí)現(xiàn)LabVIEW與Multisim的連接、電路文件的選擇、電路圖的加載或刷新顯示,電路輸入端口、輸出端口和元器件列表的枚舉;仿真參數(shù)設(shè)置區(qū)域?qū)崿F(xiàn)元器件的顯示與修改、輸出電平路徑、輸出文件路徑、ADC采樣精度設(shè)置等功能;仿真控制及狀態(tài)顯示區(qū)域則實(shí)現(xiàn)仿真的控制,并顯示當(dāng)前采樣端口。仿真時(shí),界面顯示仿真正在運(yùn)行,且顯示當(dāng)前正在采集的通道口,當(dāng)所有通道口都采集完畢,經(jīng)計(jì)算后仿真自動結(jié)束。
圖2 聯(lián)合仿真系統(tǒng)界面設(shè)計(jì)
圖3 聯(lián)合仿真系統(tǒng)的運(yùn)行流程
聯(lián)合仿真系統(tǒng)的運(yùn)行流程如圖3所示。首先,LabVIEW與Multisim進(jìn)行連接,連接成功后選擇正確的電路文件打開。打開成功后,系統(tǒng)界面將顯示相應(yīng)的RSA測試電路圖,并在右上側(cè)列表中枚舉了電路中所有的輸入端口、輸出端口以及元器件列表。其次,設(shè)置數(shù)據(jù)處理時(shí)的等效ADC精度等參數(shù)以及RSA測試電路的輸入電平文件路徑和仿真結(jié)果的輸出文件路徑,當(dāng)對元器件參數(shù)進(jìn)行修改時(shí),則電路圖也會刷新。根據(jù)使用者設(shè)定的參數(shù),LabVIEW將驅(qū)動Multisim中的測試電路進(jìn)行仿真,同時(shí)采集測試點(diǎn)數(shù)據(jù)并保存至本地。采集的數(shù)據(jù)將由LabVIEW傳入MATLAB中進(jìn)行處理與計(jì)算,相應(yīng)的計(jì)算結(jié)果則返回至LabVIEW,并由其保存至輸出文件。一輪仿真結(jié)束后,可重新設(shè)置參數(shù)進(jìn)行下一輪的仿真,否則結(jié)束仿真。
該聯(lián)合仿真系統(tǒng)主要用于RSA測試方法的基本性能,如測試方法的適用電阻值量程、測量精度、相鄰元素(與待測阻性傳感器單元同行、同列、非同行非同列的單元)等參數(shù)。根據(jù)需要評估的性能,設(shè)計(jì)實(shí)驗(yàn)并確定自變量和因變量及其相應(yīng)的取值,仿真時(shí)通過設(shè)置相應(yīng)元器件的值,聯(lián)合仿真系統(tǒng)會將每次仿真后的電阻值結(jié)果以txt文件形式保存至本地,進(jìn)而可以根據(jù)電阻值結(jié)果對相應(yīng)影響因素進(jìn)行分析。
RMA是一種通過建立電阻矩陣方程來求解陣列中傳感單元阻值的測試方法,其優(yōu)點(diǎn)在于僅需要引入少量標(biāo)準(zhǔn)電阻即可消除串?dāng)_誤差帶來的影響,其設(shè)計(jì)簡單、復(fù)雜度低、易于實(shí)現(xiàn)。
圖4 測試方法原理圖
如圖4所示,RMA測試方法主要包括m×n的RSA、n個(gè)已知阻值的參考電阻(Rj,j=1,2,…n)、(m+1)個(gè)輸入端口(pi,i=0,1,…m)以及n個(gè)與列線相連的ADC通道。其中,輸入端口的電平為0(GND)或1(VCC),連接在輸入端口與陣列間的(m+1)個(gè)電阻r代表電路激勵信號的輸出內(nèi)阻,RMA測試方法將內(nèi)阻r忽略為0,但實(shí)際系統(tǒng)中往往通過微控制器的IO端口來驅(qū)動陣列。
作者對STC12C5A56S2微控制器IO端口進(jìn)行了測試,如圖5為其IO端口輸出高電平和低電平時(shí)的U-I特性曲線,可得到其出高等效輸出電阻和出低等效輸出電阻分別約為65 Ω和20 Ω;作者還對STM32F103RBT6微控制器IO端口內(nèi)阻的特性進(jìn)行了測試,得到其出高時(shí)的等效輸出電阻、出低時(shí)的等效輸出電阻均約為20 Ω。由此可見微控制器的輸出電阻r不為0,從而導(dǎo)致RSA行線上的實(shí)際電壓并不等于理想的輸入端電壓,最終影響RMA的讀取精度。
圖5 STC12C5A56S2微控制器IO端口的U-I特性曲線
為了消除微控制器IO端口輸出內(nèi)阻的影響,作者提出了一種改進(jìn)的RMA(IRMA),如圖4所示。在IRMA中,在內(nèi)阻r存在的基礎(chǔ)上在行線端額外增設(shè)m個(gè)ADC采樣通道,并將參考電阻行的輸入端口直接與VCC相連,故相應(yīng)RSA測試電路共有m個(gè)輸入端口以及(m+n)個(gè)輸出端口。
針對IRMA測試方法,當(dāng)掃描某行傳感單元時(shí),該行的電平設(shè)為0(GND),其余行的電平設(shè)為1(VCC),并同時(shí)記錄(m+n)個(gè)ADC通道的電壓值。掃描第1行時(shí),輸入電平可用e1=(0,1,…,1)T表示,掃描第i行時(shí),輸入電平可用ei=(1,…,0,…,1)T表示,其中i=1,2,…m。
根據(jù)掃描后采集的數(shù)據(jù),可得到陣列中任意一列m個(gè)傳感單元的電阻值Rij(i=1,2,…m)的表達(dá)式如式(1)所示。
(1)
式中:j表示列號(j=1,2,…n),Rj、Aj、bj分別如式(2)~式(4)所示,Vrij表示掃描第j行時(shí)第i行的行電壓,Vcij表示掃描第j行時(shí)第i列的列電壓,bj向量中的Rj表示第j列參考電阻的電阻值,其中(i=1,2,…,m,j=1,2,…,n)。
(2)
(3)
(4)
對比可知:RMA和IRMA的共同點(diǎn)在于它們都需要利用一次完整掃描的數(shù)據(jù)來列舉方程并求解,這意味著掃描過程中采集的數(shù)據(jù)并不能直接代表阻性陣列中傳感單元的電阻值。在對其性能進(jìn)行評估時(shí),需要先采集多組數(shù)據(jù)而后聯(lián)合計(jì)算得到RSA中各個(gè)傳感單元的阻值,但常規(guī)的仿真需要手動進(jìn)行大量數(shù)據(jù)記錄與復(fù)雜計(jì)算,這將大大增加RSA測試方法仿真的人力消耗。因此,本文利用設(shè)計(jì)的多軟件聯(lián)合仿真系統(tǒng)對這兩種測試方法的性能進(jìn)行評估。
上節(jié)以RSA典型測試方法電阻矩陣法RMA[10]為例,在分析其局限性后進(jìn)一步提出了改進(jìn)的RMA(IRMA)。本節(jié)利用該聯(lián)合仿真系統(tǒng)和相應(yīng)搭建的實(shí)物系統(tǒng),對兩種測試方法的基本性能進(jìn)行評估,一方面對聯(lián)合仿真系統(tǒng)準(zhǔn)確性的進(jìn)行驗(yàn)證,另一方面對RMA和IRMA的基本性能進(jìn)行比較分析。
首先,需要在Multisim中分別搭建對應(yīng)RMA和IRMA的測試電路,以下每個(gè)實(shí)驗(yàn)部分均會介紹相應(yīng)阻性陣列的設(shè)計(jì),相應(yīng)的電平輸入方式和采集通道在上節(jié)中均已介紹。Multisim測試電路采用直流電源作為電路輸入,需要采集數(shù)據(jù)的通道處放置測試電極作為輸出。由此聯(lián)合仿真系統(tǒng)可以加載相應(yīng)的Multisim測試電路,獲取電路中的輸入輸出和元器件編號,最終驅(qū)動電路進(jìn)行仿真并將當(dāng)前陣列中所有單元的電阻值以txt文件保存至本地,進(jìn)而進(jìn)行誤差分析。同時(shí),本文搭建了相應(yīng)測試方法的4×4阻性陣列實(shí)物系統(tǒng),與聯(lián)合仿真系統(tǒng)的結(jié)果進(jìn)行比較。
聯(lián)合仿真系統(tǒng)實(shí)驗(yàn)和實(shí)物實(shí)驗(yàn)中,阻性陣列設(shè)計(jì)如下:陣列規(guī)模為4×4,第1行至第4行的電阻阻值分別為2 kΩ、3.9 kΩ、8.2 kΩ、20 kΩ,參考電阻為4.7 kΩ。聯(lián)合仿真系統(tǒng)實(shí)驗(yàn)中采用5 V直流電平來驅(qū)動電路,數(shù)據(jù)采集的等效ADC精度為12位,根據(jù)其IO端口U-I曲線,輸出內(nèi)阻設(shè)定為30 Ω。實(shí)物系統(tǒng)中利用STC12C5A56S2單片機(jī)來驅(qū)動陣列并采集數(shù)據(jù),其內(nèi)嵌有8通道10位高速ADC。
在Multisim測試電路中,設(shè)定當(dāng)前待測單元的阻值處于2 kΩ~20 kΩ之間,每個(gè)IO端口的輸出內(nèi)阻均相同且為r,仿真時(shí)r的取值范圍為1 Ω~100 Ω。
對聯(lián)合仿真系統(tǒng)的輸出結(jié)果進(jìn)行誤差分析后得到輸出內(nèi)阻影響的仿真實(shí)驗(yàn)結(jié)果如圖6所示。隨著微控制器IO端口輸出內(nèi)阻r的增大,IRMA的測量誤差較小且整體保持平穩(wěn),RMA的測量誤差較大且波動劇烈。可見,r取值較大對RMA測量誤差的影響大,而這將限制RMA的適用阻值量程,而r取值較大對IRMA測量誤差的影響可忽略,這表明IRMA較RMA具有更好的測量精度以及更大的阻值量程。
圖6 IO端口輸出內(nèi)阻對RMA和IRMA測量精度的影響
為分析對比RMA和IRMA的適用阻值量程,本實(shí)驗(yàn)以阻性陣列中位于第3行、第2列的電阻R32為當(dāng)前待測單元,其阻值變化范圍分別為0.1 kΩ~128 kΩ(仿真)、0.1 kΩ~99 kΩ(實(shí)物),仿真實(shí)驗(yàn)與實(shí)物實(shí)驗(yàn)得到的當(dāng)前待測單元的測量誤差結(jié)果如圖7所示。
圖7 IRMA和RMA阻值量程的仿真與實(shí)測結(jié)果
如圖7所示,曲線表明IRMA的仿真結(jié)果與實(shí)測結(jié)果在整個(gè)量程范圍內(nèi)一致,而RMA的實(shí)物實(shí)驗(yàn)得到的誤差略大于仿真結(jié)果,但整體誤差趨勢相同。其中,IRMA在0.1 kΩ~128 kΩ范圍內(nèi)的測量誤差幾乎保持穩(wěn)定,而RMA的測量誤差隨著待測電阻的增大有著明顯的變化,逐步從正向減小再往反向增大,只在一定的阻值量程范圍內(nèi)具有可接受的誤差。因此,IRMA較RMA具有更大的阻值量程,表明微控制器IO端口輸出內(nèi)阻的確對RMA的測量精度產(chǎn)生不可忽略的影響,進(jìn)而體現(xiàn)出IRMA相較于RMA的優(yōu)越性。
圖8 RMA和IRMA相鄰元素影響的仿真與實(shí)物結(jié)果
RSA中的行相鄰單元、列相鄰單元以及非相鄰單元等三類非當(dāng)前被測單元都會影響當(dāng)前待測單元的阻值測量精度。本實(shí)驗(yàn)中,以陣列中位于第3行第2列的電阻R32為當(dāng)前待測單元,R32的行相鄰單元R33、列相鄰單元R22、非相鄰單元R21在0.1 kΩ~128 kΩ(仿真)、0.1 kΩ~99 kΩ(實(shí)物)范圍內(nèi)變化。
如圖8(a)、圖8(b)、圖8(c)所示,同行電阻影響的仿真與實(shí)測結(jié)果近乎一致,同列電阻和非同行非同列電阻的仿真與實(shí)測結(jié)果具有相同的誤差趨勢以及相近的誤差范圍??梢?聯(lián)合仿真系統(tǒng)的仿真結(jié)果能夠有效給出相鄰元素對RMA和IRMA測試精度的影響規(guī)律。
從圖8(a)可知,同行電阻的變化對RMA待測電阻的測量誤差有顯著影響,而IRMA待測電阻的測量誤差均保持在±1%范圍內(nèi);從圖8(b)、圖8(c)可知,同列電阻和非同行非同列電阻的變化對RMA和IRMA測量誤差的影響均不大,IRMA的測量誤差一般在-0.5%~0.75%范圍內(nèi)波動,而RMA的測量誤差則在-1.5%~-1%范圍內(nèi)波動,但RMA較IRMA的整體誤差偏大。
本文實(shí)現(xiàn)的多軟件聯(lián)合仿真系統(tǒng)對RSA測試方法進(jìn)行仿真時(shí),一次仿真結(jié)束,在參數(shù)設(shè)置區(qū)域修改某個(gè)參數(shù)的值后即可進(jìn)行再一次仿真。在本文實(shí)驗(yàn)中需要變化的參數(shù)及其變化值的個(gè)數(shù)有限,但在所需設(shè)置參數(shù)較多且其變化值個(gè)數(shù)增多的情況下,仿真的速率就會受到影響。為了實(shí)現(xiàn)更加自動化的仿真,可對該聯(lián)合仿真系統(tǒng)進(jìn)行進(jìn)一步優(yōu)化,將一次仿真實(shí)驗(yàn)中自變量變化的參數(shù)值輸入,并記錄在文件中,由聯(lián)合仿真系統(tǒng)讀入本次實(shí)驗(yàn)的所有變化值,一次性完成仿真,進(jìn)而提高仿真效率。
本文的實(shí)驗(yàn)以4×4阻性陣列為例,對RMA和IRMA的性能進(jìn)行評估,但隨著阻性陣列規(guī)模的增大,仿真的運(yùn)行時(shí)間也會受到影響。規(guī)模的增大導(dǎo)致RMA和IRMA所需采樣的電極數(shù)增加,從而增加了仿真時(shí)間,且對IRMA的影響尤其嚴(yán)重。同樣,這也會影響其他測試方法的仿真。這將是接下來的工作中要解決的問題。
另外,RSA測試方法的性能不僅僅包括本文實(shí)驗(yàn)中評估的性能,為了實(shí)現(xiàn)更全面的評估,作者將針對RSA測試方法的適用規(guī)模、抗空間干擾能力等進(jìn)行分析,進(jìn)而完善聯(lián)合仿真系統(tǒng)的功能。
為了評估RSA測試方法的性能,本文設(shè)計(jì)了由LabVIEW、MATLAB和Multisim 3個(gè)軟件混合編程實(shí)現(xiàn)的聯(lián)合仿真系統(tǒng)。為了驗(yàn)證聯(lián)合仿真系統(tǒng)的準(zhǔn)確性,首先,以RSA典型測試方法RMA為例,在分析其局限性后進(jìn)一步提出了IRMA,其次,利用聯(lián)合仿真系統(tǒng)和搭建的4×4阻性陣列實(shí)物系統(tǒng),分別對基于RMA和IRMA的阻性陣列測試電路的性能進(jìn)行評估以及驗(yàn)證;結(jié)果表明,聯(lián)合仿真系統(tǒng)得出的結(jié)果與實(shí)物系統(tǒng)的結(jié)果具有較好的一致性,同時(shí)也驗(yàn)證了IRMA較RMA具有更高的測量精度以及更大的阻值量程。因此,該聯(lián)合仿真系統(tǒng)能夠?qū)?RSA測試方法的基本性能進(jìn)行有效地評估,尤其適用于需要先采集多組數(shù)據(jù)而后聯(lián)合計(jì)算得到各個(gè)傳感單元阻值的RSA測試方法。