方 略,袁德宇,何洪軍,高 旭
(中國(guó)電子科技集團(tuán)公司第二十一研究所,上海 200233)
下肢外骨骼機(jī)器人的功能是在人體背負(fù)重物的情況下減輕人體的負(fù)重感。足底壓力傳感器的信息為機(jī)器人的步相判斷提供依據(jù),控制算法根據(jù)步相信息發(fā)送相應(yīng)的控制命令。因此,實(shí)時(shí)、準(zhǔn)確地采集足底壓力傳感器信息,對(duì)于下肢外骨骼的控制尤為重要[1-2]。為此,本文設(shè)計(jì)了一款下肢外骨骼機(jī)器人足底壓力感知系統(tǒng)。基于壓阻式壓力薄膜傳感器特性,設(shè)計(jì)了分壓電路;基于TMS320F2812芯片,設(shè)計(jì)了模擬/數(shù)字(analog/digital,A/D)采樣電路和RS-232串行接口電路;基于LabVIEW14.0,編寫了上位機(jī)界面。A/D轉(zhuǎn)化后的數(shù)據(jù)通過RS-232串行接口電路與上位機(jī)軟件通信實(shí)現(xiàn)足底壓力信息的實(shí)時(shí)監(jiān)測(cè)[3]。
系統(tǒng)總體框架如圖1所示。下肢外骨骼機(jī)器人足底壓力感知系統(tǒng)主要由壓力傳感器及其外圍電路、TMS320F2812控制模塊、RS-232串口通信模塊、基于LabVIEW的上位機(jī)軟件模塊4個(gè)部分組成。

圖1 系統(tǒng)總體框架圖
TI官方推出的TMS320F2812芯片是一款定點(diǎn)32位的數(shù)字信號(hào)處理(digital signal process,DSP)芯片。該芯片內(nèi)部集成有豐富的外設(shè)資源。下肢助力外骨骼機(jī)器人足底壓力感知系統(tǒng)設(shè)計(jì)中,主要應(yīng)用12位精度的A/D轉(zhuǎn)換模塊和RS-232串行接口模塊。信號(hào)采集模塊感應(yīng)到壓力薄膜傳感器敏感區(qū)的壓力變化。壓力變化轉(zhuǎn)化為薄膜壓力傳感器電阻變化。薄膜壓力傳感器串聯(lián)分壓電阻,基于分壓電阻得到分壓電阻的電壓量。該電壓量對(duì)應(yīng)某一個(gè)具體的壓力值。模擬電壓量輸入到TMS320F2812內(nèi)置的12位A/D轉(zhuǎn)換電路進(jìn)行模數(shù)轉(zhuǎn)換,計(jì)算得到傳感器的當(dāng)前時(shí)刻壓力值。壓力值和對(duì)應(yīng)的模擬電壓信號(hào)通過RS-232串行接口電路與上位機(jī)軟件模塊進(jìn)行實(shí)時(shí)通信。上位機(jī)軟件實(shí)時(shí)監(jiān)測(cè)傳感器的壓力值和電壓值信息。
薄膜壓力傳感器的主要特性是:當(dāng)其敏感區(qū)感受到壓力時(shí),薄膜壓力傳感器電阻發(fā)生變化。薄膜壓力傳感器串聯(lián)分壓電阻,基于分壓電阻得到分壓電阻的電壓量。該電壓量即對(duì)應(yīng)某一個(gè)具體的壓力值。因此,在使用薄膜壓力傳感器進(jìn)行足底實(shí)際壓力值大小測(cè)量時(shí),需要設(shè)計(jì)相應(yīng)的外圍電路對(duì)薄膜壓力傳感器進(jìn)行標(biāo)定,得到壓力值和輸出電壓值的一個(gè)函數(shù)曲線關(guān)系。薄膜壓力傳感器的標(biāo)定會(huì)在后面試驗(yàn)中詳細(xì)描述。薄膜壓力傳感器外圍電路原理如圖2所示。

圖2 薄膜壓力傳感器外圍電路原理圖
圖2中:R1為薄膜壓力傳感器;R2為分壓電阻,通過電壓跟隨器得到分壓電阻的電壓值,再通過低通濾波將模擬量輸入TMS320F2812的A/D采樣端[4]。
控制模塊選擇的是TMS320F2812芯片,內(nèi)部集成有16路12位精度的A/D轉(zhuǎn)換模塊和2個(gè)RS-232 串行接口等豐富的外設(shè)資源,性能穩(wěn)定,滿足應(yīng)用需求。TMS320F2812芯片模擬電壓輸入值介于0~3.0 V之間,傳感器輸出模擬信號(hào)經(jīng)穩(wěn)壓二極管NUP4201MR6限定幅值,在0~3.0 V范圍內(nèi)輸入A/D采樣端口[5]。模擬信號(hào)采集電路如圖3所示。

圖3 模擬信號(hào)采集電路
對(duì)TMS320F2812內(nèi)部的A/D轉(zhuǎn)換模塊的采集方式、序列發(fā)生器的工作模式、時(shí)鐘分頻和采集通道數(shù)等參數(shù)進(jìn)行相應(yīng)設(shè)置后,實(shí)現(xiàn)模數(shù)轉(zhuǎn)換。TMS320F2812采集到的足底壓力所對(duì)應(yīng)的模擬電壓值和模數(shù)轉(zhuǎn)換后結(jié)果寄存器中的數(shù)字量換算關(guān)系如式(1)所示[6-7]。
(1)
式中:Dresult為結(jié)果寄存器中的數(shù)字量;UInput為輸入模擬電壓值;DLO為參考電平,實(shí)際使用時(shí),通常與AGND連在一起,此時(shí)DLO的值為0。
RS-232串口通信接口電路模塊實(shí)現(xiàn)了上位機(jī)與控制模塊之間的數(shù)據(jù)通信。利用TMS320F2812芯片的SCIA,基于MAX3232芯片設(shè)計(jì)了RS-232串口通信接口電路[8-9],如圖4所示。

圖4 RS-232串口通信接口電路
DSP2812的SCIA模塊是8位的異步串行通信接口,能夠?qū)崿F(xiàn)半雙工、全雙工通信,及64 kbit/s通信傳輸速率。SCIA模塊的收發(fā)可以通過查詢和中斷的方式實(shí)現(xiàn)。本文采用查詢的方式實(shí)現(xiàn)足底壓力的數(shù)據(jù)發(fā)送。
設(shè)置SCIA模塊的波特率為9 600 bit/s,數(shù)據(jù)格式為8位數(shù)據(jù)位、1位停止位和無奇偶校驗(yàn)位。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模塊實(shí)現(xiàn)數(shù)據(jù)的收發(fā)工作。VISA庫中的常用串口通信函數(shù)主要有VISA配置串口、VISA讀取和VISA關(guān)閉[10]等。
通過VISA配置串口和讀取程序框圖將模塊采集板采集到的電壓數(shù)據(jù)信號(hào)傳送至計(jì)算機(jī)。
模數(shù)轉(zhuǎn)換器(analog to digital converter,ADC)結(jié)果寄存器中存放的模擬電壓數(shù)字信號(hào)的值為12位,而發(fā)送過程中SCIA模塊發(fā)送數(shù)據(jù)寄存器和發(fā)送移位寄存器都是8位的寄存器,所以在發(fā)送過程中依次發(fā)送結(jié)果寄存器中的高8位和低8位數(shù)據(jù)。上位機(jī)接收到高、低8位數(shù)據(jù)后進(jìn)行重組計(jì)算,得到實(shí)際的電壓采樣值,從而實(shí)現(xiàn)足底壓力數(shù)據(jù)的讀取和顯示。串口數(shù)據(jù)讀取程序框圖如圖5所示。

圖5 串口數(shù)據(jù)讀取程序框圖
試驗(yàn)中用到的柔性壓力傳感器由杭州宇博科技有限科技公司生產(chǎn),型號(hào)為REF604DW07GD。該傳感器的量程為10 kg。基于該傳感器,設(shè)計(jì)了如圖2所示的外圍電路。
標(biāo)定過程的實(shí)現(xiàn)如下:通過壓力機(jī)向薄膜壓力傳感器敏感區(qū)施加10 N、20 N、30 N、40 N、50 N、60 N、70 N、80 N、90 N和100 N的壓力值;通過設(shè)計(jì)的硬件電路采集板分別采集各個(gè)壓力下傳感器外圍電路的輸出電壓,得到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ù)采集板通過采集電壓信號(hào)得到薄膜壓力傳感器所受壓力的大小。
通過采集一路腳底壓力薄膜傳感器的模擬電壓信號(hào),計(jì)算得到實(shí)時(shí)的壓力值,將采集到的模擬電壓信號(hào)和壓力值實(shí)時(shí)顯示在上位機(jī)界面上。本文選擇的是DSP2812的SCIA模塊與計(jì)算機(jī)進(jìn)行通信,在DSP程序中設(shè)置波特率為9 600 bit/s,數(shù)據(jù)格式為8個(gè)數(shù)據(jù)位、1個(gè)停止位和無奇偶校驗(yàn)位。計(jì)算機(jī)與DSP2812進(jìn)行通信,LabVIEW配置串口為COM3,波特率、數(shù)據(jù)格式都與DSP2812的SCIA模塊保持一致。接收電壓信號(hào)程序框圖如圖7所示。

圖7 接收電壓信號(hào)程序框圖
DSP2812的SCIA模塊將采集到的模擬電壓數(shù)字量傳輸給計(jì)算機(jī),并且在上位機(jī)界面中的緩沖區(qū)實(shí)時(shí)顯示。LabVIEW前面板功能實(shí)時(shí)顯示足底壓力傳感器電壓動(dòng)態(tài)響應(yīng)波形圖和壓力傳感器實(shí)時(shí)壓力值的大小。前面板采集電壓實(shí)時(shí)波形如圖8所示。圖8中顯示的是某一段時(shí)間內(nèi)腳底壓力傳感器在受力情況下輸出電壓動(dòng)態(tài)響應(yīng)曲線圖。從界面顯示的電壓波形可以看到,在時(shí)間軸為“742”時(shí)刻所采集到的電壓值為1.82 V。將該電壓值代入式(2),可計(jì)算得到此時(shí)電壓對(duì)應(yīng)的壓力值為24.589 8 N。從上位機(jī)界面的壓力值顯示框中可以讀到當(dāng)前時(shí)刻腳底壓力傳感器的壓力值為24.492 9 N,誤差精度為0.096 9%,由此證明該設(shè)計(jì)能夠滿足足底壓力實(shí)際測(cè)量的需求。

圖8 前面板采集電壓實(shí)時(shí)波形圖
基于下肢外骨骼機(jī)器人控制的實(shí)時(shí)采集和監(jiān)測(cè)足底壓力信號(hào)的需求,在數(shù)據(jù)采集硬件電路和上位機(jī)監(jiān)測(cè)軟件的基礎(chǔ)上設(shè)計(jì)了一款下肢外骨骼機(jī)器人足底壓力感知系統(tǒng)。試驗(yàn)表明,下肢外骨骼機(jī)器人足底壓力感知系統(tǒng)能夠準(zhǔn)確地采集到足底壓力的實(shí)時(shí)信息,并且能夠通過上位機(jī)軟件對(duì)采集到的數(shù)據(jù)進(jìn)行實(shí)時(shí)顯示。該感知系統(tǒng)作為下肢外骨骼機(jī)器人的重要組成部分,對(duì)下肢外骨骼機(jī)器人的后續(xù)控制策略具有重要意義。