陳才,張弘,羅蓉,王秋
(1.四川大學(xué)電子信息學(xué)院,成都 610065;2.四川大學(xué)華西第二醫(yī)院,成都 610041)
由于車(chē)禍、劇烈運(yùn)動(dòng)、腦卒中等導(dǎo)致的踝關(guān)節(jié)受損、馬蹄足疾病,可以通過(guò)手術(shù)的方式進(jìn)行恢復(fù),而手術(shù)后的訓(xùn)練康復(fù)則尤為重要,好的康復(fù)器械和方法可以讓病人得到更好的康復(fù)效果。
實(shí)踐證明,可穿戴踝足矯形器在醫(yī)學(xué)領(lǐng)域中扮演越來(lái)越重要的作用,可以為特定的病人進(jìn)行特別的設(shè)計(jì),并制定合理的訓(xùn)練康復(fù)方案,提高治療效率,減輕康復(fù)醫(yī)師的勞動(dòng)量。本設(shè)計(jì)以STM32單片機(jī)為主控制器,使用MPU6050六軸傳感器實(shí)時(shí)地采集穿戴者的步態(tài)角度[1],通過(guò)比例閥控制矯形器的氣動(dòng)人工肌肉伸展和收縮,實(shí)現(xiàn)矯形器的跖屈背屈運(yùn)動(dòng)。
踝足矯形器系統(tǒng)設(shè)計(jì)包括硬件和軟件兩部分。硬件整體方案框架圖如圖1所示,由單片機(jī)最小系統(tǒng)、MPU6050傳感器、藍(lán)牙模塊、上位機(jī)、電壓放大模塊、比例閥和氣動(dòng)人工肌肉構(gòu)成。軟件系統(tǒng)以STM32為控制核心,通過(guò)MPU6050六軸傳感器采集穿戴者實(shí)時(shí)的踝關(guān)節(jié)角度,輸出控制信號(hào)控制比例閥,達(dá)到矯形器實(shí)現(xiàn)跖屈背屈的目的。
程序前面部分完成采集正常人在行走時(shí)踝關(guān)節(jié)的角度數(shù)據(jù),并利用藍(lán)牙模塊發(fā)送至上位機(jī)存儲(chǔ),用于后面的分析比較。后期采集病人步態(tài)數(shù)據(jù),設(shè)計(jì)程序算法,比對(duì)踝足功能正常者與異常者行走角度的數(shù)據(jù)差異,尋找合適的角度閾值和對(duì)應(yīng)的電壓值,實(shí)現(xiàn)對(duì)氣動(dòng)人工肌肉的收縮伸展控制,產(chǎn)生踝關(guān)節(jié)跖屈背屈所需的力。
圖1 硬件系統(tǒng)方案框圖
(1)單片機(jī)最小系統(tǒng)
STM32單片機(jī)具有低功耗、低成本、高性能的特點(diǎn),有專(zhuān)門(mén)為嵌入式應(yīng)用而設(shè)計(jì)的ARM Cortex-M3內(nèi)核[2]。STM32具有基于庫(kù)函數(shù)開(kāi)發(fā)的特點(diǎn),使得代碼編寫(xiě)周期縮短,大大提高了系統(tǒng)開(kāi)發(fā)的效率,本設(shè)計(jì)選用的是“增強(qiáng)型”系列的STM32F103單片機(jī),其72MHz的時(shí)鐘頻率、可以滿(mǎn)足系統(tǒng)設(shè)計(jì)的要求。
(2)MPU6050傳感器
MPU6050傳感器模塊集成了三軸陀螺儀傳感器和三軸加速度傳感器,并有一個(gè)可擴(kuò)展的數(shù)字處理器(DMP),可將其測(cè)量的模擬量轉(zhuǎn)化為數(shù)字量,MPU6050傳感器模塊可控制測(cè)量范圍,提取不同速度的運(yùn)動(dòng)參數(shù)[3]。通過(guò)得到的加速度和角速度能計(jì)算出歐拉角[4]。且STM32可通過(guò)IIC總線(xiàn)獲取傳感器的數(shù)據(jù)值,誤差小,精度高。
(3)藍(lán)牙模塊
HC-05藍(lán)牙模塊尺寸小、功耗低、性?xún)r(jià)比高、操作簡(jiǎn)單,可將穿戴者的踝關(guān)節(jié)角度數(shù)據(jù)通過(guò)無(wú)線(xiàn)的方式發(fā)送到上位機(jī),進(jìn)行觀察和分析。
(4)比例閥和氣動(dòng)人工肌肉
因?yàn)闅鈩?dòng)人工肌肉具有功率重量比高、柔韌性好、重量輕等優(yōu)點(diǎn),非常適合應(yīng)用于醫(yī)療領(lǐng)域。比例閥連接氣動(dòng)人工肌肉,通過(guò)0~10V電壓控制閥口的開(kāi)度,從而控制進(jìn)入氣動(dòng)人工肌肉的氣體流量,使其軸向壓縮、徑向膨脹,為跖屈提供一個(gè)非線(xiàn)性的拉力,可以彌補(bǔ)病人缺失或減少的肌腱力量,達(dá)到改善步行的目的。本設(shè)計(jì)選用比例閥為德國(guó)FESTO公司的電子氣動(dòng)元件,易于實(shí)現(xiàn),方便實(shí)用。根據(jù)人體蹬地時(shí)的地面作用力的估算,所選氣動(dòng)人工肌肉的尺寸為橡膠管半徑20mm,長(zhǎng)度200mm,最大收縮長(zhǎng)度為50mm。
(5)電壓放大模塊
由于STM32單片機(jī)輸出的電壓范圍是0~3.3V,控制比例閥使氣動(dòng)人工肌肉產(chǎn)生的力不滿(mǎn)足穿戴者行走時(shí)需要的最大力,所以要在STM32單片機(jī)的D/A端口外接一個(gè)可以將電壓放大3倍的電路模塊。
ST公司的LM324芯片具有寬的單電源或雙電源工作電壓范圍,單電源3V~30V,雙電源±1.5V~±15V;消耗限流小,輸入失調(diào)電壓低,LM324引腳分布如圖2所示。在該芯片外部連接外圍電路可實(shí)現(xiàn)將電壓放大3倍的功能,電路設(shè)計(jì)原理如圖3所示。
如圖3所示,調(diào)節(jié)滑動(dòng)變阻器改變其電阻值,從而調(diào)節(jié)輸出放大倍數(shù)。直流電源輸出幅值為3.3V的電壓,將該電壓輸入到該模塊的輸入端,通過(guò)示波器測(cè)量輸出的電壓幅值為10.0V,電壓被放大3倍。
軟件設(shè)計(jì)主要是基于MPU6050的控制,其流程圖如4所示。系統(tǒng)上電后,主程序?qū)λ型獠坑布M(jìn)行初始化,然后啟動(dòng)MPU6050傳感器驅(qū)動(dòng)程序,通過(guò)IIC總線(xiàn)獲取MPU6050傳感器的角速度和加速度,利用四元數(shù)算法得到運(yùn)動(dòng)物體的歐拉角,將實(shí)時(shí)的角度與設(shè)定角度閾值對(duì)比,使單片機(jī)D/A輸出合適的電壓給比例閥,同時(shí)將角度數(shù)據(jù)經(jīng)藍(lán)牙模塊發(fā)送到上位機(jī),并在上位機(jī)上顯示角度變化曲線(xiàn)。
圖2 LM324引腳分布和放大電壓電路圖
圖3 電壓放大模塊設(shè)計(jì)原理圖
圖4 程序流程圖
(1)計(jì)算歐拉角的程序
將通過(guò)IIC總線(xiàn)從MPU6050傳感器獲得的加速度和角速度數(shù)據(jù)存入數(shù)組,q0,q1,q2,q3為計(jì)算歐拉角過(guò)程中用到的變量,q30為一常量,利用四元素算法得到歐拉角的三個(gè)角分量滾轉(zhuǎn)角(Roll)、俯仰角(Pitch)、偏航角(Yaw),關(guān)鍵代碼如下所示。
#define q30 1073741824.0f
short gyro[3],accel[3],sensors;//陀螺儀存放數(shù)組,加速度存放數(shù)組,返回狀態(tài)量
unsigned char more;
long quat[4];//四元數(shù)存放數(shù)組
float Yaw=0.00,Roll,Pitch;//歐拉角
float q0=1.0f,q1=0.0f,q2=0.0f,q3=0.0f;//計(jì)算姿態(tài)過(guò)程用到的變量
q0=quat[0]/q30;
q1=quat[1]/q30;
q2=quat[2]/q30;
q3=quat[3]/q30;
Pitch=asin(-2*q1*q3+2*q0*q2)*57.3;//計(jì)算俯仰角
Roll=atan2(2*q2*q3+2*q0*q1,-2*q1*q1-2*q2*q2+1)*57.3;//計(jì)算滾轉(zhuǎn)角
Yaw=atan2(2*(q1*q2+q0*q3),q0*q0+q1*q1-q2*q2-q3*q3)*57.3;//計(jì)算偏航角
(2)IIC設(shè)置代碼
IIC協(xié)議廣泛的使用于系統(tǒng)內(nèi)多個(gè)集成電路間的通信。它使用雙向串行數(shù)據(jù)線(xiàn)(SDA)和串行時(shí)鐘線(xiàn)(SCL)直接獲取設(shè)備的數(shù)據(jù)。本文中的IIC配置代碼如下所示。
利用MPU6050傳感器測(cè)試踝足功能正常的被試者行走時(shí)的踝關(guān)節(jié)角度,然后再讓該被試者穿戴所設(shè)計(jì)的踝足矯形器行走,同時(shí)測(cè)試其踝關(guān)節(jié)角度。因?yàn)橄轮\(yùn)動(dòng)的主要形式在矢狀面內(nèi),其他面的運(yùn)動(dòng)只是讓人的運(yùn)動(dòng)更靈活[5]。俯仰角表征踝關(guān)節(jié)在矢狀面上的旋轉(zhuǎn)角度,所以只需將被試者未穿戴和穿戴矯形器時(shí)的俯仰角進(jìn)行比較,如圖5所示,穿戴矯形器和未穿戴矯形器時(shí)的踝關(guān)節(jié)俯仰角變化曲線(xiàn)吻合較好。那么對(duì)于肌無(wú)力或肌力下降的踝足病人,可以參考踝足功能正常的被試者的踝關(guān)節(jié)角度變化規(guī)律,設(shè)定適合特定病人的控制參數(shù)實(shí)現(xiàn)輔助其完成訓(xùn)練康復(fù),逐漸恢復(fù)至正常的踝足功能。
圖5 未穿戴和穿戴矯形器的俯仰角比較
隨著可穿戴傳感器廣泛應(yīng)用于康復(fù)領(lǐng)域,可穿戴外骨骼康復(fù)機(jī)器人的研發(fā)和應(yīng)用引起了研究者們的關(guān)注。本文以STM32單片機(jī)為核心,利用MPU6050六軸傳感器、比例閥和電壓放大模塊實(shí)現(xiàn)了對(duì)主動(dòng)型踝足矯形器的控制,該裝置能輔助肌無(wú)力或肌力下降的踝足病人進(jìn)行訓(xùn)練康復(fù),提高病人的康復(fù)效果。
參考文獻(xiàn):
[1]陳華珍.一種老年智能手環(huán)設(shè)計(jì)[J].現(xiàn)代計(jì)算機(jī),2017:3-4.
[2]占華林.基于MPU6050六軸傳感器平衡小車(chē)的設(shè)計(jì)[J].電子測(cè)試,2017:10-11.
[3]曹麗平.基于多傳感器的人體運(yùn)動(dòng)識(shí)別算法與應(yīng)用研究[D].重慶郵電大學(xué)工程碩士學(xué)位論文,2013:51-52.
[4]Graciela E.IoT Fall Detection System for the Elderly UsingIntel Galileo Development Boards Generation I[J].IEEE,2016:3-5.
[5]唐懋.基于Arduino兼容的Stem32單片機(jī)的四旋翼飛行器設(shè)計(jì)[D].廈門(mén)大學(xué)工程碩士學(xué)位論文,2014:14-15.