方 略,袁德宇,何洪軍,高 旭
(中國電子科技集團公司第二十一研究所,上海 200233)
下肢外骨骼機器人的功能是在人體背負(fù)重物的情況下減輕人體的負(fù)重感。足底壓力傳感器的信息為機器人的步相判斷提供依據(jù),控制算法根據(jù)步相信息發(fā)送相應(yīng)的控制命令。因此,實時、準(zhǔn)確地采集足底壓力傳感器信息,對于下肢外骨骼的控制尤為重要[1-2]。為此,本文設(shè)計了一款下肢外骨骼機器人足底壓力感知系統(tǒng)。基于壓阻式壓力薄膜傳感器特性,設(shè)計了分壓電路;基于TMS320F2812芯片,設(shè)計了模擬/數(shù)字(analog/digital,A/D)采樣電路和RS-232串行接口電路;基于LabVIEW14.0,編寫了上位機界面。A/D轉(zhuǎn)化后的數(shù)據(jù)通過RS-232串行接口電路與上位機軟件通信實現(xiàn)足底壓力信息的實時監(jiān)測[3]。
系統(tǒng)總體框架如圖1所示。下肢外骨骼機器人足底壓力感知系統(tǒng)主要由壓力傳感器及其外圍電路、TMS320F2812控制模塊、RS-232串口通信模塊、基于LabVIEW的上位機軟件模塊4個部分組成。
圖1 系統(tǒng)總體框架圖
TI官方推出的TMS320F2812芯片是一款定點32位的數(shù)字信號處理(digital signal process,DSP)芯片。該芯片內(nèi)部集成有豐富的外設(shè)資源。下肢助力外骨骼機器人足底壓力感知系統(tǒng)設(shè)計中,主要應(yīng)用12位精度的A/D轉(zhuǎn)換模塊和RS-232串行接口模塊。信號采集模塊感應(yīng)到壓力薄膜傳感器敏感區(qū)的壓力變化。壓力變化轉(zhuǎn)化為薄膜壓力傳感器電阻變化。薄膜壓力傳感器串聯(lián)分壓電阻,基于分壓電阻得到分壓電阻的電壓量。該電壓量對應(yīng)某一個具體的壓力值。模擬電壓量輸入到TMS320F2812內(nèi)置的12位A/D轉(zhuǎn)換電路進行模數(shù)轉(zhuǎn)換,計算得到傳感器的當(dāng)前時刻壓力值。壓力值和對應(yīng)的模擬電壓信號通過RS-232串行接口電路與上位機軟件模塊進行實時通信。上位機軟件實時監(jiān)測傳感器的壓力值和電壓值信息。
薄膜壓力傳感器的主要特性是:當(dāng)其敏感區(qū)感受到壓力時,薄膜壓力傳感器電阻發(fā)生變化。薄膜壓力傳感器串聯(lián)分壓電阻,基于分壓電阻得到分壓電阻的電壓量。該電壓量即對應(yīng)某一個具體的壓力值。因此,在使用薄膜壓力傳感器進行足底實際壓力值大小測量時,需要設(shè)計相應(yīng)的外圍電路對薄膜壓力傳感器進行標(biāo)定,得到壓力值和輸出電壓值的一個函數(shù)曲線關(guān)系。薄膜壓力傳感器的標(biāo)定會在后面試驗中詳細(xì)描述。薄膜壓力傳感器外圍電路原理如圖2所示。
圖2 薄膜壓力傳感器外圍電路原理圖
圖2中:R1為薄膜壓力傳感器;R2為分壓電阻,通過電壓跟隨器得到分壓電阻的電壓值,再通過低通濾波將模擬量輸入TMS320F2812的A/D采樣端[4]。
控制模塊選擇的是TMS320F2812芯片,內(nèi)部集成有16路12位精度的A/D轉(zhuǎn)換模塊和2個RS-232 串行接口等豐富的外設(shè)資源,性能穩(wěn)定,滿足應(yīng)用需求。TMS320F2812芯片模擬電壓輸入值介于0~3.0 V之間,傳感器輸出模擬信號經(jīng)穩(wěn)壓二極管NUP4201MR6限定幅值,在0~3.0 V范圍內(nèi)輸入A/D采樣端口[5]。模擬信號采集電路如圖3所示。
圖3 模擬信號采集電路
對TMS320F2812內(nèi)部的A/D轉(zhuǎn)換模塊的采集方式、序列發(fā)生器的工作模式、時鐘分頻和采集通道數(shù)等參數(shù)進行相應(yīng)設(shè)置后,實現(xiàn)模數(shù)轉(zhuǎn)換。TMS320F2812采集到的足底壓力所對應(yīng)的模擬電壓值和模數(shù)轉(zhuǎn)換后結(jié)果寄存器中的數(shù)字量換算關(guān)系如式(1)所示[6-7]。
(1)
式中:Dresult為結(jié)果寄存器中的數(shù)字量;UInput為輸入模擬電壓值;DLO為參考電平,實際使用時,通常與AGND連在一起,此時DLO的值為0。
RS-232串口通信接口電路模塊實現(xiàn)了上位機與控制模塊之間的數(shù)據(jù)通信。利用TMS320F2812芯片的SCIA,基于MAX3232芯片設(shè)計了RS-232串口通信接口電路[8-9],如圖4所示。
圖4 RS-232串口通信接口電路
DSP2812的SCIA模塊是8位的異步串行通信接口,能夠?qū)崿F(xiàn)半雙工、全雙工通信,及64 kbit/s通信傳輸速率。SCIA模塊的收發(fā)可以通過查詢和中斷的方式實現(xiàn)。本文采用查詢的方式實現(xiàn)足底壓力的數(shù)據(jù)發(fā)送。
設(shè)置SCIA模塊的波特率為9 600 bit/s,數(shù)據(jù)格式為8位數(shù)據(jù)位、1位停止位和無奇偶校驗位。SCIA模塊的串口發(fā)送程序如下:
while(1)
{
while(SciaRegs.SCICTL2.bit.TXEMPTY==0){}
SciaRegs.SCITXBUF=((A/DcRegs.RESULT0>>8)&0x00FF);
SciaRegs.SCITXBUF=(A/DcRegs.RESULT0&0x00FF);
......
}
LabVIEW的功能模板包含串行通信常用的功能模塊,在LabVIEW中用VISA模塊實現(xiàn)數(shù)據(jù)的收發(fā)工作。VISA庫中的常用串口通信函數(shù)主要有VISA配置串口、VISA讀取和VISA關(guān)閉[10]等。
通過VISA配置串口和讀取程序框圖將模塊采集板采集到的電壓數(shù)據(jù)信號傳送至計算機。
模數(shù)轉(zhuǎn)換器(analog to digital converter,ADC)結(jié)果寄存器中存放的模擬電壓數(shù)字信號的值為12位,而發(fā)送過程中SCIA模塊發(fā)送數(shù)據(jù)寄存器和發(fā)送移位寄存器都是8位的寄存器,所以在發(fā)送過程中依次發(fā)送結(jié)果寄存器中的高8位和低8位數(shù)據(jù)。上位機接收到高、低8位數(shù)據(jù)后進行重組計算,得到實際的電壓采樣值,從而實現(xiàn)足底壓力數(shù)據(jù)的讀取和顯示。串口數(shù)據(jù)讀取程序框圖如圖5所示。
圖5 串口數(shù)據(jù)讀取程序框圖
試驗中用到的柔性壓力傳感器由杭州宇博科技有限科技公司生產(chǎn),型號為REF604DW07GD。該傳感器的量程為10 kg?;谠搨鞲衅?,設(shè)計了如圖2所示的外圍電路。
標(biāo)定過程的實現(xiàn)如下:通過壓力機向薄膜壓力傳感器敏感區(qū)施加10 N、20 N、30 N、40 N、50 N、60 N、70 N、80 N、90 N和100 N的壓力值;通過設(shè)計的硬件電路采集板分別采集各個壓力下傳感器外圍電路的輸出電壓,得到10組輸入壓力值和輸出電壓值之間的數(shù)據(jù)關(guān)系,如表1所示。
表1 10組輸入壓力值和輸出電壓值之間的數(shù)據(jù)關(guān)系
根據(jù)以上10組數(shù)據(jù),在MATLAB中通過最小二乘法擬合得到薄膜壓力傳感器所受壓力。薄膜壓力傳感器所受壓力和輸出電壓之間的函數(shù)關(guān)系曲線如圖6所示。
圖6 薄膜壓力傳感器所受壓力和輸出電壓之間的函數(shù)關(guān)系曲線圖
該曲線函數(shù)如式(2)所示。
Y= 1 494X3-7 467X2+12 430X-6 871
(2)
式中:X為電壓值,V;Y為壓力值,N。
得到該函數(shù)關(guān)系后,將該函數(shù)關(guān)系寫入數(shù)據(jù)采集板。數(shù)據(jù)采集板通過采集電壓信號得到薄膜壓力傳感器所受壓力的大小。
通過采集一路腳底壓力薄膜傳感器的模擬電壓信號,計算得到實時的壓力值,將采集到的模擬電壓信號和壓力值實時顯示在上位機界面上。本文選擇的是DSP2812的SCIA模塊與計算機進行通信,在DSP程序中設(shè)置波特率為9 600 bit/s,數(shù)據(jù)格式為8個數(shù)據(jù)位、1個停止位和無奇偶校驗位。計算機與DSP2812進行通信,LabVIEW配置串口為COM3,波特率、數(shù)據(jù)格式都與DSP2812的SCIA模塊保持一致。接收電壓信號程序框圖如圖7所示。
圖7 接收電壓信號程序框圖
DSP2812的SCIA模塊將采集到的模擬電壓數(shù)字量傳輸給計算機,并且在上位機界面中的緩沖區(qū)實時顯示。LabVIEW前面板功能實時顯示足底壓力傳感器電壓動態(tài)響應(yīng)波形圖和壓力傳感器實時壓力值的大小。前面板采集電壓實時波形如圖8所示。圖8中顯示的是某一段時間內(nèi)腳底壓力傳感器在受力情況下輸出電壓動態(tài)響應(yīng)曲線圖。從界面顯示的電壓波形可以看到,在時間軸為“742”時刻所采集到的電壓值為1.82 V。將該電壓值代入式(2),可計算得到此時電壓對應(yīng)的壓力值為24.589 8 N。從上位機界面的壓力值顯示框中可以讀到當(dāng)前時刻腳底壓力傳感器的壓力值為24.492 9 N,誤差精度為0.096 9%,由此證明該設(shè)計能夠滿足足底壓力實際測量的需求。
圖8 前面板采集電壓實時波形圖
基于下肢外骨骼機器人控制的實時采集和監(jiān)測足底壓力信號的需求,在數(shù)據(jù)采集硬件電路和上位機監(jiān)測軟件的基礎(chǔ)上設(shè)計了一款下肢外骨骼機器人足底壓力感知系統(tǒng)。試驗表明,下肢外骨骼機器人足底壓力感知系統(tǒng)能夠準(zhǔn)確地采集到足底壓力的實時信息,并且能夠通過上位機軟件對采集到的數(shù)據(jù)進行實時顯示。該感知系統(tǒng)作為下肢外骨骼機器人的重要組成部分,對下肢外骨骼機器人的后續(xù)控制策略具有重要意義。