玄兆燕,洪健俊,趙 欣
(1.華北理工大學 機械工程學院,河北 唐山 063210;2.唐山市拓又達科技有限公司,河北 唐山 063020)
下肢康復機器人是典型的機電一體化系統,旨在促進患者受損感覺、運動和認知技能的恢復,具有人機交互功能[1]。而控制系統作為下肢康復機器人的核心部分,主要任務是控制下肢康復機器人運動機構和運動速度以及檢測訓練時的運動狀態,其性能的好壞將直接影響患者進行康復訓練時的質量[2]。近年來隨著嵌入式技術的飛速發展,嵌入式系統從單單用微控制器作為主控,應用于儀器儀表、監控等領域轉向將微控制器、傳感技術、算法等先進技術相結合,應用于機器人和飛行器等領域。將嵌入式技術應用到康復機器人控制系統中不但可以降低控制系統的成本,也提高了控制系統的實時性與穩定性[3]。
本文以STM32F4微控制器以及電阻式觸摸屏為硬件基礎,把嵌入式實時操作系統UCOS-III和emWin圖形庫依次移植到微控制器中,然后設計開發康復機器人的人機交互界面,顯示終端為3.5寸的電阻式觸摸屏,用于下肢康復機器人在訓練過程中的數據實時顯示[4]。
控制系統以STM32F407微控制器為核心,其控制系統的硬件結構主要由電源模塊、數據存儲模塊、執行模塊、驅動模塊、傳感器及數據采集模塊、通信模塊、人機交互模塊組成[5]。控制系統的硬件結構框圖如圖1所示。

圖1 控制系統硬件結構框圖
選用STM32F407微控制器系列中的STM32F407ZGT6作為核心控制器,主要基于該控制器的可變靜態存儲器控制器(FSMC)的處理速度,其刷屏速度可以達到3 300像素/秒,最高工作主頻可達168 MHz,而且具有1 MB FLASH、192 kB的片內SRAM、1個可變靜態存儲器控制器,并具有多個通信接口、中斷源、定時器以及豐富的外設,帶有DSP和FPU指令集,便于項目的開發[6]。
TFTLCD接口電路由觸摸屏控制芯片XPT2046以及WK53052液晶屏構成,液晶屏大小為3.5寸,分辨率為320×480,LCD接口直接連在STM32F4微控制器的FSMC總線上,目的是提高LCD的刷屏速率。
TFTLCD接口電路如圖2所示。

圖2 TFTLCD接口電路
CAN(控制器局域網)是ISO國際標準化的串行通信協議,本系統使用的STM32F4微控制器集成了兩個CAN控制器,但CAN總線電平不可以直接與STM32相連,需要使用TJA1050芯片作CAN電平轉換。CAN總線接口電路如圖3所示,R51為終端匹配120 Ω電阻,來做阻抗匹配,同時將濾波電容并聯在CAN總線終端與GND之間進行濾波,目的是提高CAN控制器在進行通訊時的穩定性[7]。

圖3 CAN總線接口電路
控制系統的軟件編程環境為MDK5.18,程序設計流程為:①將UCOS-III嵌入式實時操作系統移植到STM32F4微控制器中;②移植emWin到微控制器中;③模塊化外設底層驅動以及其余各個任務。
系統軟件框架如圖4所示。軟件系統分為系統任務、數據采集與存儲任務、CAN通訊任務、人機交互任務和電機控制任務。軟件通過時間片輪詢調度算法以及任務優先級來完成任務的調度。各個任務間相互獨立,但可以由信號量和消息隊列來將各個任務聯系起來[8]。

圖4 系統軟件框架
在下肢康復機器人訓練過程時,需要在各個模塊之間進行數據通信與協調控制,因此通過CAN總線進行各個任務的通訊。CAN總線驅動程序主要包括CAN總線初始化、發送任務、接收任務以及中斷服務程序[9]。初始化主要是設置裝載標識符、波特率以及屏蔽碼。CAN總線數據發送與接收流程如圖5所示。

圖5 CAN總線數據收、發流程
人機交互任務流程如圖6所示。通過emWin自帶的窗口管理軟件GUIBuilder設計人機交互界面的框架,然后導出C文件添加到MDK的目標工程中,進一步編程整個界面要實現的操作和控件之間的通信,通過點陣字庫軟件制作中文字體并復制到SD卡中,在工程中添加FATFS文件系統管理文件夾,將SD卡的字庫通過微控制器的SPI接口更新到外部FLASH中,將界面設計時的部分英文改成中文,最后編譯工程,并下載到微控制器中。

圖6 人機交互任務流程
電機控制任務以位置環為外環、速度環為內環的雙閉環控制策略來控制電機。主要通過傳感器采集運動狀態,反饋給控制器,控制器分析反饋的數據并計算出輸出量,然后將輸出量傳送到電機驅動器中,可以控制電機帶動下肢外骨骼進行相應的下肢訓練。霍爾傳感器與增量式編碼器已集成在直流無刷伺服電機中,用于實時檢測電機速度和位置信息。采用雙閉環控制策略可以提高控制系統的抗干擾能力和動態響應能力。電機控制任務流程如圖7所示。

圖7 電機控制任務流程
圖8為系統程序流程,首先初始化系統硬件和UCOS-III操作系統內核,然后調用系統配置文件,設置系統任務,接著進行emWin圖形界面初始化,執行相應的任務。在UCOS-III操作系統中采用根據設置優先級的大小來進行搶占式任務管理,在設計程序時給每一個任務賦予一定的優先級和分配一定的堆棧,本系統設置的優先級從高到低為:CAN總線通信,電機控制任務,人機交互任務,數據采集存儲任務。

圖8 系統程序流程 圖9 人機交互界面 圖10 速度模式測試界面
根據如圖6所示的流程完成了人機交互程序的設計,人機交互界面如圖9所示。其中“開始”、“結束”、“數據存儲”、“通訊”按鈕依次實現控制系統的運行、結束、數據采集以及通訊功能,位置模式與速度模式為單選按鈕。以速度模式進行相關的測試,界面如圖10所示,在速度模式中通過移動滑條來改變訓練時的速度大小,測試界面實時地顯示速度和壓力信息。根據測試,設計的下肢康復人機交互界面可以實現目標功能。
本文設計了一種基于STM3F4微控制器的下肢康復機器人嵌入式控制系統,并對相應的硬件和軟件進行了詳細的設計說明,最后進行了測試,通過UCOS-III實時操作系統對任務進行調度與管理,采用emWin圖形庫進行界面設計來提高軟件開發效率,在訓練過程中,設計的人機交互界面友好、穩定,實時性好。