• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 醫療電子 > 設計應用 > STM32的醫療康復機器人手臂控制系統

    STM32的醫療康復機器人手臂控制系統

    作者: 時間:2018-08-13 來源:網絡 收藏

    摘要:醫療康復機器人是近年出現的一種新型機器人,主要功能是幫助患者完成各種運動功能恢復訓練。為此提出通過微控制器控制無刷直流電機來控制機器手臂的運轉,并通過建立模型,運用XPC_Target和控制板進行通信,以此得到電機在調速過程中合適的參數,使機器手臂在運轉的過程中更加平滑。實際的臨床試驗操作證明,該系統能夠較好地完成手臂的醫療康復訓練。

    本文引用地址:http://www.czjhyjcfj.com/article/201808/386548.htm

    隨著我國逐漸步入老年社會,對各類康復設備的需求日益增大,對性價比高的醫療康復設備控制系統的需求尤為迫切。基于DSP芯片的成本相對較高、設計復雜、研發周期長,芯片的尺寸會導致印刷電路板的體積變大。

    本文基于微控制器設計的控制系統,具有杰出的功耗控制和電機控制的高級定時器,能產生3對可配置并互補輸出的PWM信號。通過在上建立雙閉環算法模型,得到合適的PID參數來改變PWM波的占空比,進而精確地實現電機的調速,保證了機器人手臂運行軌跡平滑,運行速度穩定。由于無刷直流電機具有體積小、性能穩定等優點,其機器手臂尺寸能夠更加符合人體運動學設計理念。

    1 總體方案設計

    可以模擬日常生活中手臂的一些動作,通過創造虛擬工作環境實現對手臂各個關節的運動訓練、肌肉的鍛煉,以及神經功能的恢復訓練。以微控制器為控制核心,機器手臂控制總體設計方案如圖1所示。

    通過運用柵極驅動芯片,對STM32輸出的6路PWM信號進行特殊處理,滿足H橋中IRF3808高功率MOS管工作的需求。

    STM32微控制器通過不斷地檢測無刷直流電機中霍爾信號來改變換相時序,以此來控制電機的運轉。當電機在堵轉的時候會產生大電流,通過ADC對其電流值進行采樣,當其值超過閥值的時候可以停止電機工作,此時會自動進入自我保護狀態,關斷輸出信號,保證手臂運行的安全。

    2 硬件電路設計

    2.1 柵極驅動

    柵極驅動芯片采用的是美國國際整流器公司的芯片,它具有高電壓、高速度,并有3個獨立的高、低側功率MOSFET驅動輸出通道。其輸入和輸出信號時序如圖2所示。其具有過電流保護、欠壓鎖定功能,并能及時關斷6路輸出。在出現異常狀態時,逆變電路處于關斷狀態,這樣可以保護電機不被燒壞,且具有自我保護功能。

    6路輸出信號中的3路具有電平轉換功能,因而它既能驅動橋式電路中低壓側的功率器件,又能驅動高壓側的功率元件。如圖3所示,將STM32輸出驅動H橋的3對互補PWM信號提高至能夠驅動MOSFET開關電壓電平。

    1片IR2130可取代3片IR2110,且僅需要一個輸入級電源,就能夠自動產生成上、下側驅動所必需的死區,時間為2.5μs,并得到更好的控制性能。

    2.2 H橋功率電路

    高功率場效應管可以輸出高電壓。逆變電路主要由6個大功率場效應管IRF3808組成,如圖4所示。每個場效應管都并聯了反接的快速恢復二極管,具有保護和續流的作用。對于24 V電壓的電機,場效應管的VDS至少需要40 V電壓,而漏極電流必須足夠高,以應對電機啟動電流。由于軟件中實現的軟加速機制(小幅提升至所需速度),啟動電流可以進一步降低。

    2. 3 電流檢測電路

    運用一個0.01 Ω的電流檢測電阻或者是一段蛇形地線,經過電機和MOSFET的電流全都從它那里經過并流向地。如圖5所示,經過電機的總電流經過這個小阻值的電阻而流向地,這個電流檢測電阻的阻值很小,但如果電流夠大的時候,會在其兩端產生一個小的電壓,經過RC形成的一階低通濾波電路可以濾去一些偶爾產生的瞬時高頻分量。其截止頻率可以由RC的具體值算出。最后可以把其接入STM32的ADC通道進行電流采集。

    2.4 電機轉矩

    對電機來說,機器人手臂在運轉時是處于負載狀態下運行,所以要有足夠的轉矩以保證手臂運行正常。跟速度控制一樣,轉矩也由通過定子線圈的電流大小決定。最大轉矩、定子和轉子磁場之間的角度,應保持在90°。梯形換相如圖6所示,控制分辨率為60°,定子和轉子磁場間的角度在-30?!?30。的范圍內,這會產生轉矩脈動。

    電流檢測過程中的RC低通濾波器可以濾除流入電機的高頻瞬時脈沖,并改善電機轉矩特性。在改變運轉方向的時候,為了得到比較大的轉矩選擇直接改變運轉方向,不會選用運行一停止一反向運行的方式來進行機器人手臂方向的改變。這樣可防止機器人手臂在轉向時候出現抖動現象,也防止了再次啟動的時候啟動電流過大,容易出現堵轉現象,對硬件電路和電機都會造成損害。

    3 軟件設計

    3.1 μC/OS—II操作系統

    為了讓軟件架構更加穩定清晰,運用一個可固化、可裁剪的、占先式多任務實時操作系統μC/OS—II。它是基于優先級調度的搶占式的實時內核,并在這個內核之上提供最基本的系統服務,如信號量、郵箱、消息隊列、內存管理、中斷管理等。

    在μC/OS-II嵌入式操作系統上,對無刷直流電機中霍爾信號的捕捉中斷、上位機通信中斷、ADC采集中斷、PID速度調節中斷的優先級進行分配,并且通過創建醫療康復手臂運轉方向、啟動、停止、上位機通信、PID調節等任務使軟件運行上更加模塊化。任務與任務之間通過郵箱、消息隊列等傳遞信息,并且可以相互掛起和啟動相應任務,使任務之間能夠協調的工作、軟件架構更清晰。

    3.2 電機速度測量和六步換相

    無刷直流電機的實際轉速可通過測量霍爾傳感器信號得到。在電機轉動過程中,通過120°分布在電機中的3個霍爾傳感器可以得到如圖7所示的3路周期信號。

    電機每轉一圈,每個霍爾傳感器產生2個周期的方波信號,且其周期與電機轉速成反比。其結構比在外圍添加編碼器更加方便靈活。

    STM32微控制器的定時器具有檢測霍爾信號的端口,通過定時器對檢測到的3路霍爾信號進行異或處理,當其能捕捉到上升沿時觸發一次中斷請求,在中斷中記錄產生此次中斷需要的時間,并進行定時器清零??刂屏鞒滩僮魅鐖D8所示,通過幾次中斷時間求取平均值,把得到的時間平均值轉化成電機運行的速度值。通過檢測到的3個翟爾傳感器的高低電平值來進行電機6步換相時序,能夠使無刷直流電機按時序要求進行運轉。

    3.3 電機PID算法

    由于人體手臂和機器手臂結構都有重量,在電機運行的時候將受到其影響,導致電機運行速度不斷變化,不利于機器手臂的穩定運行,因此需要把測量到的速度值和設定的速度值進行雙閉環PID運算,使電機運轉速度一直保持設定的速度值。如圖9所示,電機的PID算法是運用改變相電壓脈寬調制(PWM)波的占空比來實現,通過增大或減小占空比,每個換相步驟會有部分電流流過定子線圈,這會影響定子磁場和磁通密度,從而改變轉子和定子的之間的力。

    通過得到無刷直流電機速度的設定值(上位機設置)和實際檢測到的電機轉速值之間的差值,使其經過速度PID控制環和電流PID控制環進行PID調節來改變STM32輸出驅動電機運轉信號的PWM波的占空比,機器手臂能夠平滑和穩定地運行。

    4 PID模型設計

    運用MathWorks公司開發的基于RTW體系框架的實時目標系統XPC_Target建模,其提供了一種低廉成本、性能較高的可便捷實時應用的系統。采用宿主機+目標機的技術實現途徑,即“雙機”模式。宿主機和目標機可以是不同類型的計算機,兩者之間通過以太網實現通信。其實現模型如圖10所示。

    根據工作原理,其實現分為如下步驟:

    (1)用U盤創建DOS目標啟動盤

    啟動盤有FDD、HDD和ZIP三種模式,在制作的過程中根據目標機支持的模式選擇。通過選用XPC_Target的嵌入式選項來制作目標啟動盤。通過U盤來調用和啟動XPC_Target的實時內核,可以使每次系統啟動后自動運行目標應用程序。

    (2)模型建立

    在宿主機的Simulink上通過添加各個驅動模塊建立電機調速過程中電流環、速度環的PID模型和下位機的串口通信模塊,然后用RTW代碼生成器和C編譯器來生成可執行代碼,在目標機上進行實時運行。

    (3)信號采集過程

    通過XPC_Target實時內核將目標應用程序的信號數據存儲在目標機的RAM中,并且在目標機的顯示界面上對信號進行監視、記錄、跟蹤,并且繪制出圖像。當下位機通過串口發送速度測量值給目標機上運行的通過Simulink中建立的PID模型生成的可執行代碼時,通過可執行代碼程序進行速度調節,把其調節后的數據通過目標機發送給下位機,從而改變驅動電機運轉信號的PWM波占空比。當其速度測量值能夠穩定到速度設定值的時候,Simulink中設置的 PID參數就是所需要的速度調節的PID參數值。否則,需要改變Simulink中建立的PID參數模型。

    結語

    本文提出了基于STM32微控制器的的控制系統。目前,本系統的樣機已經進行了臨床試驗,并得到很好的試驗效果。試驗中的機器人手臂有 3個自由度,能實現肩關節、肘關節等的訓練。通過使用IR2130柵極驅動芯片,板子尺寸、系統穩定性和設計靈活性都得到改善。在Simulink上設計 PID參數模型,通過STM32微控制器驅動板驅動無刷直流電機,在末端帶動訓練者的手臂分別在水平面和垂直平面的固定軌跡訓練,并且把采集的運行軌跡、速度圖像,以及預先設置的手臂運行軌跡和速度圖像進行對比和觀察,機器手臂運行平滑,PID參數穩定,進一步增強了系統的穩定性和靈活性。

    • STM32單片機中文官網
    • STM32單片機官方開發工具
    • STM32單片機參考設計


    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 桦南县| 习水县| 府谷县| 二手房| 绥芬河市| 鄯善县| 疏附县| 巴中市| 通城县| 手机| 九江市| 新和县| 河池市| 广水市| 灵川县| 金门县| 灵台县| 常山县| 乐至县| 沛县| 威远县| 华亭县| 寻乌县| 修文县| 从江县| 屏山县| 永兴县| 博爱县| 南汇区| 多伦县| 盐城市| 陕西省| 五大连池市| 许昌市| 克拉玛依市| 博乐市| 宁南县| 荃湾区| 武定县| 区。| 兴宁市|