何赏赏,吴剑锋*,赵新刚,王 琦
(1.东南大学仪器科学与工程学院,南京 210096;2.机器人学国家重点实验室(中国科学院沈阳自动化研究所),沈阳 110016)
带光敏[1]、温敏[2-3]、压敏[4]、湿敏[5]等功能的阻性传感器阵列(RSA),具有空间分辨率高、稳定性高、成本低、易实现等优点,其已被广泛应用于触觉传感[6]、电子皮肤[7]、人体健康监护[8]、机器人[9]、可穿戴设备[10]等领域。共用行列线方式使得大量阻性传感器可以集成在一个RSA中,优化了其阵列结构并减少了其测试连线数目。
RSA的性能依赖于其自身的制备技术,包括传感器的设计、所采用的材料和实现工艺。王璐珩[5]设计了一种新型湿敏传感器,其采用的差分结构提高了湿度检测的灵敏度,同时也减小了滞后误差;黄英等[11]利用柔性基底材料、力敏材料和温敏材料设计了柔性三维力、温度传感阵列,能够准确实现三维力与温度的检测;张正勇等人[12]则利用MEMS技术实现了触觉传感器阵列的柔性化,可实现90°以上的弯曲变形。
此外,RSA的性能也与其测试方法性能紧密关联。采用共用行列线方式的阵列结构虽然能够降低传感单元的互连复杂度,但同时也带来了串扰误差和读取速率问题。常用的RSA测试方法如二极管插入法[9]和晶体管插入法[7]可减小串扰误差,读出速率快,但其电路复杂度较高且插入的器件引入了额外误差;电压反馈法[13]和零电势法[14]测量精度较高、电阻值量程大,但其读取速率较慢;此外还有RMA(Resistance Matrix Approach)[10]、关联矩阵法[8]等。RSA测试方法的性能好坏可以从测量精度、读出速率、电路复杂度、电阻值量程、适用的阵列规模、功耗成本等方面进行评估。
RSA测试方法的性能分析可通过理论分析、电路仿真软件分析、实物分析3种方式[15]实现。其中,理论分析适用于RSA测试方法设计的初始阶段,通过数学建模来快速分析出影响测试方法性能的因素,但其分析结果并不直观;实物分析能够更加系统地获取测试方法的性能,结果真实可靠,但会消耗较多的电子元器件而增加硬件成本;电路仿真软件分析兼具电路理论分析和实物仿真分析的优点,一方面能够获取较为可信的结果,另一方面也能降低电子元器件成本,因此具有一定的可取性。针对电压反馈法[13]、零电势法[14]等测试方法,由于其采集的数据可直接反映传感器单元的阻值,因此通过电路仿真软件分析即可评估其基本性能;但对于一些测试方法,如RMA[10]、关联矩阵法[8]等,其需要先采集多组数据而后联合求解才能得到传感单元的阻值,纯粹的电路仿真软件分析则需要大量的额外手动数据计算而存在明显的局限性。
LabVIEW具有优良的图形化界面开发与控制功能,MATLAB具有强大的数据处理功能,Multisim具有高效的电路设计及电路仿真功能,且相互间的混合编程[16-17]往往能够利用各自的优势。因此,为了快速评估RSA测试方法的性能,本文设计了由LabVIEW、MATLAB和Multisim 3个软件联合编程实现的多软件联合仿真系统。本文的框架如下:首先,在介绍联合仿真系统的整体框架设计的基础上,结合联合仿真系统界面对联合仿真系统功能进行详细描述。其次,介绍了RSA的两种典型测试方法RMA和IRMA(Improved RMA)。而后基于该联合仿真系统和4×4的阻性阵列实物系统设计仿真实验和实物验证实验。最后,对比仿真结果和实物系统结果进而对RMA和IRMA的性能进行评估。
基于LabVIEW、MATLAB、Multisim这3种软件,本文设计了一个针对RSA测试方法的多软件联合仿真系统,以实现对RSA测试方法基本性能的快速评估,其设计框图如图1所示。
图1 联合仿真系统设计框图
LabVIEW作为控制中心,与MATLAB和Multisim均为双向交互关系。与Multisim的交互主要利用LabVIEW的LabVIEW Multisim Connectivity Toolkit附加工具包,交互内容包括对RSA测试电路的加载或刷新、元器件参数的修改、驱动仿真以及测试点数据的采集。LabVIEW驱动Multisim中的RSA电路开始运行后,每个测试点的数据由LabVIEW采集并以二维数据(时间+浮点型数据)形式保存至本地excel文件中。与MATLAB的交互主要利用MATLAB script节点实现,LabVIEW使用ActiveX技术执行该节点,进而启动一个MATLAB进程,因此LabVIEW可以很方便执行在节点中写入的MATLAB命令。LabVIEW将从本地读取excel文件传给MATLAB处理计算,计算结果为阵列中传感器单元的电阻值,LabVIEW获取该结果并以txt文件形式保存至本地。
联合仿真系统的LabVIEW界面如图2所示,主要包括电路加载显示、仿真参数设置和仿真控制及状态显示等区域。其中,电路加载显示区域主要实现LabVIEW与Multisim的连接、电路文件的选择、电路图的加载或刷新显示,电路输入端口、输出端口和元器件列表的枚举;仿真参数设置区域实现元器件的显示与修改、输出电平路径、输出文件路径、ADC采样精度设置等功能;仿真控制及状态显示区域则实现仿真的控制,并显示当前采样端口。仿真时,界面显示仿真正在运行,且显示当前正在采集的通道口,当所有通道口都采集完毕,经计算后仿真自动结束。
图2 联合仿真系统界面设计
图3 联合仿真系统的运行流程
联合仿真系统的运行流程如图3所示。首先,LabVIEW与Multisim进行连接,连接成功后选择正确的电路文件打开。打开成功后,系统界面将显示相应的RSA测试电路图,并在右上侧列表中枚举了电路中所有的输入端口、输出端口以及元器件列表。其次,设置数据处理时的等效ADC精度等参数以及RSA测试电路的输入电平文件路径和仿真结果的输出文件路径,当对元器件参数进行修改时,则电路图也会刷新。根据使用者设定的参数,LabVIEW将驱动Multisim中的测试电路进行仿真,同时采集测试点数据并保存至本地。采集的数据将由LabVIEW传入MATLAB中进行处理与计算,相应的计算结果则返回至LabVIEW,并由其保存至输出文件。一轮仿真结束后,可重新设置参数进行下一轮的仿真,否则结束仿真。
该联合仿真系统主要用于RSA测试方法的基本性能,如测试方法的适用电阻值量程、测量精度、相邻元素(与待测阻性传感器单元同行、同列、非同行非同列的单元)等参数。根据需要评估的性能,设计实验并确定自变量和因变量及其相应的取值,仿真时通过设置相应元器件的值,联合仿真系统会将每次仿真后的电阻值结果以txt文件形式保存至本地,进而可以根据电阻值结果对相应影响因素进行分析。
RMA是一种通过建立电阻矩阵方程来求解阵列中传感单元阻值的测试方法,其优点在于仅需要引入少量标准电阻即可消除串扰误差带来的影响,其设计简单、复杂度低、易于实现。
图4 测试方法原理图
如图4所示,RMA测试方法主要包括m×n的RSA、n个已知阻值的参考电阻(Rj,j=1,2,…n)、(m+1)个输入端口(pi,i=0,1,…m)以及n个与列线相连的ADC通道。其中,输入端口的电平为0(GND)或1(VCC),连接在输入端口与阵列间的(m+1)个电阻r代表电路激励信号的输出内阻,RMA测试方法将内阻r忽略为0,但实际系统中往往通过微控制器的IO端口来驱动阵列。
作者对STC12C5A56S2微控制器IO端口进行了测试,如图5为其IO端口输出高电平和低电平时的U-I特性曲线,可得到其出高等效输出电阻和出低等效输出电阻分别约为65 Ω和20 Ω;作者还对STM32F103RBT6微控制器IO端口内阻的特性进行了测试,得到其出高时的等效输出电阻、出低时的等效输出电阻均约为20 Ω。由此可见微控制器的输出电阻r不为0,从而导致RSA行线上的实际电压并不等于理想的输入端电压,最终影响RMA的读取精度。
图5 STC12C5A56S2微控制器IO端口的U-I特性曲线
为了消除微控制器IO端口输出内阻的影响,作者提出了一种改进的RMA(IRMA),如图4所示。在IRMA中,在内阻r存在的基础上在行线端额外增设m个ADC采样通道,并将参考电阻行的输入端口直接与VCC相连,故相应RSA测试电路共有m个输入端口以及(m+n)个输出端口。
针对IRMA测试方法,当扫描某行传感单元时,该行的电平设为0(GND),其余行的电平设为1(VCC),并同时记录(m+n)个ADC通道的电压值。扫描第1行时,输入电平可用e1=(0,1,…,1)T表示,扫描第i行时,输入电平可用ei=(1,…,0,…,1)T表示,其中i=1,2,…m。
根据扫描后采集的数据,可得到阵列中任意一列m个传感单元的电阻值Rij(i=1,2,…m)的表达式如式(1)所示。
(1)
式中:j表示列号(j=1,2,…n),Rj、Aj、bj分别如式(2)~式(4)所示,Vrij表示扫描第j行时第i行的行电压,Vcij表示扫描第j行时第i列的列电压,bj向量中的Rj表示第j列参考电阻的电阻值,其中(i=1,2,…,m,j=1,2,…,n)。
(2)
(3)
(4)
对比可知:RMA和IRMA的共同点在于它们都需要利用一次完整扫描的数据来列举方程并求解,这意味着扫描过程中采集的数据并不能直接代表阻性阵列中传感单元的电阻值。在对其性能进行评估时,需要先采集多组数据而后联合计算得到RSA中各个传感单元的阻值,但常规的仿真需要手动进行大量数据记录与复杂计算,这将大大增加RSA测试方法仿真的人力消耗。因此,本文利用设计的多软件联合仿真系统对这两种测试方法的性能进行评估。
上节以RSA典型测试方法电阻矩阵法RMA[10]为例,在分析其局限性后进一步提出了改进的RMA(IRMA)。本节利用该联合仿真系统和相应搭建的实物系统,对两种测试方法的基本性能进行评估,一方面对联合仿真系统准确性的进行验证,另一方面对RMA和IRMA的基本性能进行比较分析。
首先,需要在Multisim中分别搭建对应RMA和IRMA的测试电路,以下每个实验部分均会介绍相应阻性阵列的设计,相应的电平输入方式和采集通道在上节中均已介绍。Multisim测试电路采用直流电源作为电路输入,需要采集数据的通道处放置测试电极作为输出。由此联合仿真系统可以加载相应的Multisim测试电路,获取电路中的输入输出和元器件编号,最终驱动电路进行仿真并将当前阵列中所有单元的电阻值以txt文件保存至本地,进而进行误差分析。同时,本文搭建了相应测试方法的4×4阻性阵列实物系统,与联合仿真系统的结果进行比较。
联合仿真系统实验和实物实验中,阻性阵列设计如下:阵列规模为4×4,第1行至第4行的电阻阻值分别为2 kΩ、3.9 kΩ、8.2 kΩ、20 kΩ,参考电阻为4.7 kΩ。联合仿真系统实验中采用5 V直流电平来驱动电路,数据采集的等效ADC精度为12位,根据其IO端口U-I曲线,输出内阻设定为30 Ω。实物系统中利用STC12C5A56S2单片机来驱动阵列并采集数据,其内嵌有8通道10位高速ADC。
在Multisim测试电路中,设定当前待测单元的阻值处于2 kΩ~20 kΩ之间,每个IO端口的输出内阻均相同且为r,仿真时r的取值范围为1 Ω~100 Ω。
对联合仿真系统的输出结果进行误差分析后得到输出内阻影响的仿真实验结果如图6所示。随着微控制器IO端口输出内阻r的增大,IRMA的测量误差较小且整体保持平稳,RMA的测量误差较大且波动剧烈。可见,r取值较大对RMA测量误差的影响大,而这将限制RMA的适用阻值量程,而r取值较大对IRMA测量误差的影响可忽略,这表明IRMA较RMA具有更好的测量精度以及更大的阻值量程。
图6 IO端口输出内阻对RMA和IRMA测量精度的影响
为分析对比RMA和IRMA的适用阻值量程,本实验以阻性阵列中位于第3行、第2列的电阻R32为当前待测单元,其阻值变化范围分别为0.1 kΩ~128 kΩ(仿真)、0.1 kΩ~99 kΩ(实物),仿真实验与实物实验得到的当前待测单元的测量误差结果如图7所示。
图7 IRMA和RMA阻值量程的仿真与实测结果
如图7所示,曲线表明IRMA的仿真结果与实测结果在整个量程范围内一致,而RMA的实物实验得到的误差略大于仿真结果,但整体误差趋势相同。其中,IRMA在0.1 kΩ~128 kΩ范围内的测量误差几乎保持稳定,而RMA的测量误差随着待测电阻的增大有着明显的变化,逐步从正向减小再往反向增大,只在一定的阻值量程范围内具有可接受的误差。因此,IRMA较RMA具有更大的阻值量程,表明微控制器IO端口输出内阻的确对RMA的测量精度产生不可忽略的影响,进而体现出IRMA相较于RMA的优越性。
图8 RMA和IRMA相邻元素影响的仿真与实物结果
RSA中的行相邻单元、列相邻单元以及非相邻单元等三类非当前被测单元都会影响当前待测单元的阻值测量精度。本实验中,以阵列中位于第3行第2列的电阻R32为当前待测单元,R32的行相邻单元R33、列相邻单元R22、非相邻单元R21在0.1 kΩ~128 kΩ(仿真)、0.1 kΩ~99 kΩ(实物)范围内变化。
如图8(a)、图8(b)、图8(c)所示,同行电阻影响的仿真与实测结果近乎一致,同列电阻和非同行非同列电阻的仿真与实测结果具有相同的误差趋势以及相近的误差范围。可见,联合仿真系统的仿真结果能够有效给出相邻元素对RMA和IRMA测试精度的影响规律。
从图8(a)可知,同行电阻的变化对RMA待测电阻的测量误差有显著影响,而IRMA待测电阻的测量误差均保持在±1%范围内;从图8(b)、图8(c)可知,同列电阻和非同行非同列电阻的变化对RMA和IRMA测量误差的影响均不大,IRMA的测量误差一般在-0.5%~0.75%范围内波动,而RMA的测量误差则在-1.5%~-1%范围内波动,但RMA较IRMA的整体误差偏大。
本文实现的多软件联合仿真系统对RSA测试方法进行仿真时,一次仿真结束,在参数设置区域修改某个参数的值后即可进行再一次仿真。在本文实验中需要变化的参数及其变化值的个数有限,但在所需设置参数较多且其变化值个数增多的情况下,仿真的速率就会受到影响。为了实现更加自动化的仿真,可对该联合仿真系统进行进一步优化,将一次仿真实验中自变量变化的参数值输入,并记录在文件中,由联合仿真系统读入本次实验的所有变化值,一次性完成仿真,进而提高仿真效率。
本文的实验以4×4阻性阵列为例,对RMA和IRMA的性能进行评估,但随着阻性阵列规模的增大,仿真的运行时间也会受到影响。规模的增大导致RMA和IRMA所需采样的电极数增加,从而增加了仿真时间,且对IRMA的影响尤其严重。同样,这也会影响其他测试方法的仿真。这将是接下来的工作中要解决的问题。
另外,RSA测试方法的性能不仅仅包括本文实验中评估的性能,为了实现更全面的评估,作者将针对RSA测试方法的适用规模、抗空间干扰能力等进行分析,进而完善联合仿真系统的功能。
为了评估RSA测试方法的性能,本文设计了由LabVIEW、MATLAB和Multisim 3个软件混合编程实现的联合仿真系统。为了验证联合仿真系统的准确性,首先,以RSA典型测试方法RMA为例,在分析其局限性后进一步提出了IRMA,其次,利用联合仿真系统和搭建的4×4阻性阵列实物系统,分别对基于RMA和IRMA的阻性阵列测试电路的性能进行评估以及验证;结果表明,联合仿真系统得出的结果与实物系统的结果具有较好的一致性,同时也验证了IRMA较RMA具有更高的测量精度以及更大的阻值量程。因此,该联合仿真系统能够对 RSA测试方法的基本性能进行有效地评估,尤其适用于需要先采集多组数据而后联合计算得到各个传感单元阻值的RSA测试方法。