郭志陽,陳學(xué)英
(電子科技大學(xué) 電子工程學(xué)院,成都 610054)
?
STM32的醫(yī)療康復(fù)機(jī)器人手臂控制系統(tǒng)
郭志陽,陳學(xué)英
(電子科技大學(xué) 電子工程學(xué)院,成都 610054)
摘要:醫(yī)療康復(fù)機(jī)器人是近年出現(xiàn)的一種新型機(jī)器人,主要功能是幫助患者完成各種運(yùn)動功能恢復(fù)訓(xùn)練。為此提出通過STM32微控制器控制無刷直流電機(jī)來控制機(jī)器手臂的運(yùn)轉(zhuǎn),并通過Simulink建立PID模型,運(yùn)用XPCTarget和控制板進(jìn)行通信,以此得到電機(jī)在調(diào)速過程中合適的PID參數(shù),使機(jī)器手臂在運(yùn)轉(zhuǎn)的過程中更加平滑。實(shí)際的臨床試驗(yàn)操作證明,該系統(tǒng)能夠較好地完成手臂的醫(yī)療康復(fù)訓(xùn)練。
關(guān)鍵詞:醫(yī)療康復(fù)機(jī)器人手臂;STM32;PID;Simulink;IR2130
引言
隨著我國逐漸步入老年社會,對各類康復(fù)設(shè)備的需求日益增大,對性價比高的醫(yī)療康復(fù)設(shè)備控制系統(tǒng)的需求尤為迫切?;贒SP芯片的成本相對較高、設(shè)計復(fù)雜、研發(fā)周期長,芯片的尺寸會導(dǎo)致印刷電路板的體積變大。
本文基于STM32微控制器設(shè)計的醫(yī)療康復(fù)機(jī)器人手臂控制系統(tǒng),具有杰出的功耗控制和電機(jī)控制的高級定時器,能產(chǎn)生3對可配置并互補(bǔ)輸出的PWM信號。通過在Simulink上建立雙閉環(huán)PID算法模型,得到合適的PID參數(shù)來改變PWM波的占空比,進(jìn)而精確地實(shí)現(xiàn)電機(jī)的調(diào)速,保證了機(jī)器人手臂運(yùn)行軌跡平滑,運(yùn)行速度穩(wěn)定。由于無刷直流電機(jī)[1]具有體積小、性能穩(wěn)定等優(yōu)點(diǎn),其機(jī)器手臂尺寸能夠更加符合人體運(yùn)動學(xué)設(shè)計理念[4]。
1總體方案設(shè)計
醫(yī)療康復(fù)機(jī)器人手臂可以模擬日常生活中手臂的一些動作,通過創(chuàng)造虛擬工作環(huán)境實(shí)現(xiàn)對手臂各個關(guān)節(jié)的運(yùn)動訓(xùn)練、肌肉的鍛煉,以及神經(jīng)功能的恢復(fù)訓(xùn)練。以STM32微控制器為控制核心,機(jī)器手臂控制總體設(shè)計方案如圖1所示。
圖1 機(jī)器手臂控制總體方案設(shè)計
通過運(yùn)用IR2130柵極驅(qū)動芯片,對STM32輸出的6路PWM信號進(jìn)行特殊處理,滿足H橋中IRF3808高功率MOS管工作的需求。
STM32微控制器通過不斷地檢測無刷直流電機(jī)中霍爾信號來改變換相時序,以此來控制電機(jī)的運(yùn)轉(zhuǎn)。當(dāng)電機(jī)在堵轉(zhuǎn)的時候會產(chǎn)生大電流,通過ADC對其電流值進(jìn)行采樣,當(dāng)其值超過閥值的時候可以停止電機(jī)工作,此時IR2130會自動進(jìn)入自我保護(hù)狀態(tài),關(guān)斷輸出信號,保證手臂運(yùn)行的安全。
2硬件電路設(shè)計
2.1柵極驅(qū)動
柵極驅(qū)動芯片采用的是美國國際整流器公司的IR2130芯片,它具有高電壓、高速度,并有3個獨(dú)立的高、低側(cè)功率MOSFET驅(qū)動輸出通道。其輸入和輸出信號時序如圖2所示。其具有過電流保護(hù)、欠壓鎖定功能,并能及時關(guān)斷6路輸出。在出現(xiàn)異常狀態(tài)時,逆變電路處于關(guān)斷狀態(tài),這樣可以保護(hù)電機(jī)不被燒壞,且具有自我保護(hù)功能。
圖2 IR2130輸入輸出時序圖
6路輸出信號中的3路具有電平轉(zhuǎn)換功能,因而它既能驅(qū)動橋式電路中低壓側(cè)的功率器件,又能驅(qū)動高壓側(cè)的功率元件。如圖3所示,將STM32輸出驅(qū)動H橋的3對互補(bǔ)PWM信號提高至能夠驅(qū)動MOSFET開關(guān)電壓電平。
圖3 IR2130輸出的六路波形圖
1片IR2130可取代3片IR2110,且僅需要一個輸入級電源,就能夠自動產(chǎn)生成上、下側(cè)驅(qū)動所必需的死區(qū),時間為2.5 μs,并得到更好的控制性能。
2.2H橋功率電路
高功率場效應(yīng)管可以輸出高電壓。逆變電路主要由6個大功率場效應(yīng)管IRF3808組成,如圖4所示。每個場效應(yīng)管都并聯(lián)了反接的快速恢復(fù)二極管,具有保護(hù)和續(xù)流的作用。對于24 V電壓的電機(jī),場效應(yīng)管的VDS至少需要40 V電壓,而漏極電流必須足夠高,以應(yīng)對電機(jī)啟動電流。由于軟件中實(shí)現(xiàn)的軟加速機(jī)制(小幅提升至所需速度),啟動電流可以進(jìn)一步降低。
圖4 H橋電路圖
2.3電流檢測電路
圖5 電流檢測電路圖
運(yùn)用一個0.01 Ω的電流檢測電阻或者是一段蛇形地線,經(jīng)過電機(jī)和MOSFET的電流全都從它那里經(jīng)過并流向地。如圖5所示,經(jīng)過電機(jī)的總電流經(jīng)過這個小阻值的電阻而流向地,這個電流檢測電阻的阻值很小,但如果電流夠大的時候,會在其兩端產(chǎn)生一個小的電壓,經(jīng)過RC形成的一階低通濾波電路可以濾去一些偶爾產(chǎn)生的瞬時高頻分量。其截止頻率可以由RC的具體值算出。最后可以把其接入STM32的ADC通道進(jìn)行電流采集。
2.4電機(jī)轉(zhuǎn)矩
對電機(jī)來說,機(jī)器人手臂在運(yùn)轉(zhuǎn)時是處于負(fù)載狀態(tài)下運(yùn)行,所以要有足夠的轉(zhuǎn)矩以保證手臂運(yùn)行正常。跟速度控制一樣,轉(zhuǎn)矩[6]也由通過定子線圈的電流大小決定。最大轉(zhuǎn)矩、定子和轉(zhuǎn)子磁場之間的角度,應(yīng)保持在90°。梯形換相如圖6所示,控制分辨率為60°,定子和轉(zhuǎn)子磁場間的角度在-30°~+30°的范圍內(nèi),這會產(chǎn)生轉(zhuǎn)矩脈動。
圖6 直流無刷電機(jī)梯形換相波形圖
電流檢測過程中的RC低通濾波器可以濾除流入電機(jī)的高頻瞬時脈沖,并改善電機(jī)轉(zhuǎn)矩特性。在改變運(yùn)轉(zhuǎn)方向的時候,為了得到比較大的轉(zhuǎn)矩選擇直接改變運(yùn)轉(zhuǎn)方向,不會選用運(yùn)行-停止-反向運(yùn)行的方式來進(jìn)行機(jī)器人手臂方向的改變。這樣可防止機(jī)器人手臂在轉(zhuǎn)向時候出現(xiàn)抖動現(xiàn)象,也防止了再次啟動的時候啟動電流過大,容易出現(xiàn)堵轉(zhuǎn)現(xiàn)象,對硬件電路和電機(jī)都會造成損害。
3軟件設(shè)計
3.1μC/OS-II操作系統(tǒng)
為了讓軟件架構(gòu)更加穩(wěn)定清晰,運(yùn)用一個可固化、可裁剪的、占先式多任務(wù)實(shí)時操作系統(tǒng)μC/OS-II。它是基于優(yōu)先級調(diào)度的搶占式的實(shí)時內(nèi)核,并在這個內(nèi)核之上提供最基本的系統(tǒng)服務(wù),如信號量、郵箱、消息隊(duì)列、內(nèi)存管理、中斷管理等。
在μC/OS-II嵌入式操作系統(tǒng)上,對無刷直流電機(jī)中霍爾信號的捕捉中斷、上位機(jī)通信中斷、ADC采集中斷、PID速度調(diào)節(jié)中斷的優(yōu)先級進(jìn)行分配,并且通過創(chuàng)建醫(yī)療康復(fù)手臂運(yùn)轉(zhuǎn)方向、啟動、停止、上位機(jī)通信、PID調(diào)節(jié)等任務(wù)使軟件運(yùn)行上更加模塊化。任務(wù)與任務(wù)之間通過郵箱、消息隊(duì)列等傳遞信息,并且可以相互掛起和啟動相應(yīng)任務(wù),使任務(wù)之間能夠協(xié)調(diào)的工作、軟件架構(gòu)更清晰。
3.2電機(jī)速度測量和六步換相
無刷直流電機(jī)的實(shí)際轉(zhuǎn)速可通過測量霍爾傳感器信號得到。在電機(jī)轉(zhuǎn)動過程中,通過120°分布在電機(jī)中的3個霍爾傳感器可以得到如圖7所示的3路周期信號。
圖7 3路霍爾信號波形圖
電機(jī)每轉(zhuǎn)一圈,每個霍爾傳感器產(chǎn)生2個周期的方波信號,且其周期與電機(jī)轉(zhuǎn)速成反比。其結(jié)構(gòu)比在外圍添加編碼器更加方便靈活。
STM32微控制器的定時器具有檢測霍爾信號的端口,通過定時器對檢測到的3路霍爾信號進(jìn)行異或處理,當(dāng)其能捕捉到上升沿時觸發(fā)一次中斷請求,在中斷中記錄產(chǎn)生此次中斷需要的時間,并進(jìn)行定時器清零。控制流程操作如圖8所示,通過幾次中斷時間求取平均值,把得到的時間平均值轉(zhuǎn)化成電機(jī)運(yùn)行的速度值。通過檢測到的3個霍爾傳感器的高低電平值來進(jìn)行電機(jī)6步換相時序,能夠使無刷直流電機(jī)按時序要求進(jìn)行運(yùn)轉(zhuǎn)。
圖8 速度檢測流程圖
3.3電機(jī)PID算法
由于人體手臂和機(jī)器手臂結(jié)構(gòu)都有重量,在電機(jī)運(yùn)行的時候?qū)⑹艿狡溆绊?,?dǎo)致電機(jī)運(yùn)行速度不斷變化,不利于機(jī)器手臂的穩(wěn)定運(yùn)行,因此需要把測量到的速度值和設(shè)定的速度值進(jìn)行雙閉環(huán)PID[7]運(yùn)算,使電機(jī)運(yùn)轉(zhuǎn)速度一直保持設(shè)定的速度值。如圖9所示,電機(jī)的PID算法是運(yùn)用改變相電壓脈寬調(diào)制(PWM)波的占空比來實(shí)現(xiàn),通過增大或減小占空比,每個換相步驟會有部分電流流過定子線圈,這會影響定子磁場和磁通密度,從而改變轉(zhuǎn)子和定子的之間的力。
圖9 PID調(diào)速流程圖
通過得到無刷直流電機(jī)速度的設(shè)定值(上位機(jī)設(shè)置)和實(shí)際檢測到的電機(jī)轉(zhuǎn)速值之間的差值,使其經(jīng)過速度PID控制環(huán)和電流PID控制環(huán)進(jìn)行PID調(diào)節(jié)來改變STM32輸出驅(qū)動電機(jī)運(yùn)轉(zhuǎn)信號的PWM波的占空比,機(jī)器手臂能夠平滑和穩(wěn)定地運(yùn)行。
4PID模型設(shè)計
運(yùn)用MathWorks公司開發(fā)的基于RTW體系框架的實(shí)時目標(biāo)系統(tǒng)XPC_Target建模,其提供了一種低廉成本、性能較高的可便捷實(shí)時應(yīng)用的系統(tǒng)。采用宿主機(jī)+目標(biāo)機(jī)的技術(shù)實(shí)現(xiàn)途徑,即“雙機(jī)”模式。宿主機(jī)和目標(biāo)機(jī)可以是不同類型的計算機(jī),兩者之間通過以太網(wǎng)實(shí)現(xiàn)通信。其實(shí)現(xiàn)模型如圖10所示。
圖10 宿主機(jī)+目標(biāo)機(jī)模型
根據(jù)工作原理,其實(shí)現(xiàn)分為如下步驟:
(1) 用U盤創(chuàng)建DOS目標(biāo)啟動盤
啟動盤有FDD、HDD和ZIP三種模式,在制作的過程中根據(jù)目標(biāo)機(jī)支持的模式選擇。通過選用XPC_Target的嵌入式選項(xiàng)來制作目標(biāo)啟動盤。通過U盤來調(diào)用和啟動XPC_Target的實(shí)時內(nèi)核,可以使每次系統(tǒng)啟動后自動運(yùn)行目標(biāo)應(yīng)用程序。
(2) Simulink模型建立
在宿主機(jī)的Simulink上通過添加各個驅(qū)動模塊建立電機(jī)調(diào)速過程中電流環(huán)、速度環(huán)的PID模型和下位機(jī)的串口通信模塊,然后用RTW代碼生成器和C編譯器來生成可執(zhí)行代碼,在目標(biāo)機(jī)上進(jìn)行實(shí)時運(yùn)行。
(3) 信號采集過程
通過XPC_Target實(shí)時內(nèi)核將目標(biāo)應(yīng)用程序的信號數(shù)據(jù)存儲在目標(biāo)機(jī)的RAM中,并且在目標(biāo)機(jī)的顯示界面上對信號進(jìn)行監(jiān)視、記錄、跟蹤,并且繪制出圖像。當(dāng)下位機(jī)通過串口發(fā)送速度測量值給目標(biāo)機(jī)上運(yùn)行的通過Simulink中建立的PID模型生成的可執(zhí)行代碼時,通過可執(zhí)行代碼程序進(jìn)行速度調(diào)節(jié),把其調(diào)節(jié)后的數(shù)據(jù)通過目標(biāo)機(jī)發(fā)送給下位機(jī),從而改變驅(qū)動電機(jī)運(yùn)轉(zhuǎn)信號的PWM波占空比。當(dāng)其速度測量值能夠穩(wěn)定到速度設(shè)定值的時候,
Simulink中設(shè)置的PID參數(shù)就是所需要的速度調(diào)節(jié)的PID參數(shù)值。否則,需要改變Simulink中建立的PID參數(shù)模型。
結(jié)語
參考文獻(xiàn)
[1] 張琛.直流無刷電動機(jī)原理及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2004∶20-21.
[2] 王永.“反電勢法”無刷直流電機(jī)控制系統(tǒng)研究[D].南京:東南大學(xué),2004.
[3] 杜志江,孫傳杰,陳艷寧.康復(fù)機(jī)器人研究現(xiàn)狀[J].中國康復(fù)醫(yī)學(xué)雜志,2003,18(5):291-292.
[4] 百化同,李俊寶.機(jī)械與結(jié)構(gòu)振動——理論與應(yīng)用[M].北京:中國宇航出版社,2005.
[5] 李韌.基于DSP無位置傳感器無刷直流電機(jī)控制系統(tǒng)的研究[D].阜新:遼寧工程技術(shù)大學(xué),2007:31-32.
[6] 謝楊梅.無刷直流電動機(jī)(BLDCM)轉(zhuǎn)矩脈動抑制的電流跟蹤型PWM控制[J].安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報,2007,6(1):85-87.
[7] 彭韜,魚振民.無刷直流電動機(jī)單神經(jīng)元自適應(yīng)PID控制及改進(jìn)[J].微電機(jī),2005,38(1):45-47.
郭志陽(碩士研究生),主要研究方向?yàn)榍度胧较到y(tǒng)和SoC設(shè)計;陳學(xué)英(高級工程師),主要研究方向?yàn)榧呻娐分行盘柾暾苑治龊颓度胧较到y(tǒng)。
(責(zé)任編輯:楊迪娜收修改稿日期:2015-06-15)
ARM與微軟Azure結(jié)盟
ARM宣布mbed Enabled Freescale FRDM-K64F開發(fā)板通過微軟認(rèn)證,有助于開發(fā)可安全搜集和傳輸資料至微軟Azure公有云平臺的物聯(lián)網(wǎng)(IoT)產(chǎn)品。這是率先通過Microsoft Azure物聯(lián)網(wǎng)認(rèn)證(Microsoft Azure Certified for IoT)測試和驗(yàn)證的ARM mbed開發(fā)板,將支持微軟Azure 物聯(lián)網(wǎng)套件(Microsoft Azure IoT Suite)。Microsoft Azure是一個開放、靈活和可靠的云平臺,廣獲財富五百強(qiáng)企業(yè)采用。
使用基于ARM Cortex-M4核的FRDM-K64F開發(fā)板的開發(fā)者即可獲得發(fā)布在Github網(wǎng)站上的Microsoft Azure IoT Suite軟件開發(fā)工具包(SDK)。這些庫(libraries)已通過開發(fā)板測試,可用于mbed developer website網(wǎng)站上開放的mbed應(yīng)用程序,使其與微軟Azure 物聯(lián)網(wǎng)套件直接相連。
Arm Control System of Medical Rehabilitation Robot Based on STM32
Guo Zhiyang,Chen Xueying
(College of Electronic Engineering,University of Electronic Science and Technology,Chengdu 610054,China)
Abstract:The medical rehabilitation robot is a new type of robot in recent years,which helps the patients to complete some motor function recovery training.In the paper,the STM32 microcontroller is used to control the brushless DC motor for controlling the operation of the machine arm.The PID model is established by Simulink,XPCTarget and the control panel are used for communication,so the suitable parameters in the speed control process can be gotten.Then the robotic arm can run more smoothly.The clinical trials prove that the system can complete the medical rehabilitation training on the arm.
Key words:medical rehabilitation robot arm;STM32;PID;Simulink;IR2130
中圖分類號:TP332
文獻(xiàn)標(biāo)識碼:A