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

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

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

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

圖4 RS-232串口通信接口電路
DSP2812的SCIA模塊是8位的異步串行通信接口,能夠實現半雙工、全雙工通信,及64 kbit/s通信傳輸速率。SCIA模塊的收發可以通過查詢和中斷的方式實現。本文采用查詢的方式實現足底壓力的數據發送。
設置SCIA模塊的波特率為9 600 bit/s,數據格式為8位數據位、1位停止位和無奇偶校驗位。SCIA模塊的串口發送程序如下:
while(1)
{
while(SciaRegs.SCICTL2.bit.TXEMPTY==0){}
SciaRegs.SCITXBUF=((A/DcRegs.RESULT0>>8)&0x00FF);
SciaRegs.SCITXBUF=(A/DcRegs.RESULT0&0x00FF);
......
}
LabVIEW的功能模板包含串行通信常用的功能模塊,在LabVIEW中用VISA模塊實現數據的收發工作。VISA庫中的常用串口通信函數主要有VISA配置串口、VISA讀取和VISA關閉[10]等。
通過VISA配置串口和讀取程序框圖將模塊采集板采集到的電壓數據信號傳送至計算機。
模數轉換器(analog to digital converter,ADC)結果寄存器中存放的模擬電壓數字信號的值為12位,而發送過程中SCIA模塊發送數據寄存器和發送移位寄存器都是8位的寄存器,所以在發送過程中依次發送結果寄存器中的高8位和低8位數據。上位機接收到高、低8位數據后進行重組計算,得到實際的電壓采樣值,從而實現足底壓力數據的讀取和顯示。串口數據讀取程序框圖如圖5所示。

圖5 串口數據讀取程序框圖
試驗中用到的柔性壓力傳感器由杭州宇博科技有限科技公司生產,型號為REF604DW07GD。該傳感器的量程為10 kg。基于該傳感器,設計了如圖2所示的外圍電路。
標定過程的實現如下:通過壓力機向薄膜壓力傳感器敏感區施加10 N、20 N、30 N、40 N、50 N、60 N、70 N、80 N、90 N和100 N的壓力值;通過設計的硬件電路采集板分別采集各個壓力下傳感器外圍電路的輸出電壓,得到10組輸入壓力值和輸出電壓值之間的數據關系,如表1所示。

表1 10組輸入壓力值和輸出電壓值之間的數據關系
根據以上10組數據,在MATLAB中通過最小二乘法擬合得到薄膜壓力傳感器所受壓力。薄膜壓力傳感器所受壓力和輸出電壓之間的函數關系曲線如圖6所示。

圖6 薄膜壓力傳感器所受壓力和輸出電壓之間的函數關系曲線圖
該曲線函數如式(2)所示。
Y= 1 494X3-7 467X2+12 430X-6 871
(2)
式中:X為電壓值,V;Y為壓力值,N。
得到該函數關系后,將該函數關系寫入數據采集板。數據采集板通過采集電壓信號得到薄膜壓力傳感器所受壓力的大小。
通過采集一路腳底壓力薄膜傳感器的模擬電壓信號,計算得到實時的壓力值,將采集到的模擬電壓信號和壓力值實時顯示在上位機界面上。本文選擇的是DSP2812的SCIA模塊與計算機進行通信,在DSP程序中設置波特率為9 600 bit/s,數據格式為8個數據位、1個停止位和無奇偶校驗位。計算機與DSP2812進行通信,LabVIEW配置串口為COM3,波特率、數據格式都與DSP2812的SCIA模塊保持一致。接收電壓信號程序框圖如圖7所示。

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

圖8 前面板采集電壓實時波形圖
基于下肢外骨骼機器人控制的實時采集和監測足底壓力信號的需求,在數據采集硬件電路和上位機監測軟件的基礎上設計了一款下肢外骨骼機器人足底壓力感知系統。試驗表明,下肢外骨骼機器人足底壓力感知系統能夠準確地采集到足底壓力的實時信息,并且能夠通過上位機軟件對采集到的數據進行實時顯示。該感知系統作為下肢外骨骼機器人的重要組成部分,對下肢外骨骼機器人的后續控制策略具有重要意義。