999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種肌力訓練設備的動力控制系統設計與實現

2021-11-30 08:43:40林鑫李玉榕陳建國
中國醫療設備 2021年11期

林鑫,李玉榕,陳建國

1. 福州大學 電氣工程與自動化學院,福建 福州 350108;2. 福建省醫療器械和醫藥技術重點實驗室,福建 福州 350108

引言

肌力是反映人體運動功能的重要指標,一些肌肉骨骼系統受損的患者通常會導致肌力減弱,進而影響肢體的運動功能[1]。針對這種情況,適當地做一些肌力訓練,可以促進患者運動功能的康復[2]。有相關研究將肌力訓練應用于疾病的治療中,也取得了良好的治療效果[3-5]。訓練的模式有等長、等速、等張以及被動模式。等長模式是通過設備使得受試者關節能夠固定在指定位置。等速模式是通過設備使得受試者關節保持恒定的速度運動。等張模式是由設備輸出一個恒定的阻力矩進行訓練。被動模式是由設備帶動受試者關節以設定的速度運動[6]。

早期的肌力訓練設備由于缺乏動力控制系統,不僅訓練的效率低下,而且只能依靠經驗來制定訓練計劃?,F在的肌力訓練設備大部分都引入控制系統,但是設備的功能也存在差異。比如法國BodyGreen公司開發的實用型等速訓練機只能實現單一的等速訓練模式,不帶有計算機系統。美國Biodex公司設計的多關節等速力量測試及訓練系統可以進行多關節多模式的訓練,所配備的計算機系統功能也很完善,但是上位機顯示的數據比較繁瑣,不方便觀察。廣州一康公司生產的肌力訓練設備雖然可以實現多種模式的訓練,但是等長模式下,無法選擇角度。綜合來看,國外設計的肌力訓練設備還是比較穩定、可靠,大部分的研究也都是基于國外的產品,比如Biodex 、Isomed[7-8]。

本文利用伺服電機作為執行機構,以STM32作為控制器, 并加入伺服驅動器,利用驅動器的轉速模式以及位置模式,實現電機的轉速閉環和位置閉環控制。還加入角度傳感器和扭矩傳感器,用于采集訓練過程中的角度、力矩數據。同時,基于JAVA語言設計了對應的上位機軟件用于訓練參數的設置以及數據的顯示。

1 硬件設計

1.1 動力控制系統結構

本文設計的動力控制系統組成部分有計算機、控制器STM32、伺服驅動器ASDA-B2、伺服電機、扭矩傳感器、角度傳感器。信號連接如圖1所示,以控制器STM32為核心,上位機、角度傳感器、扭矩傳感器以及伺服驅動器都連接到控制器上。其中,上位機連接到控制器的串口1,角度傳感器連接到控制器的SPI接口,扭矩傳感器連接到控制器的CAN接口,伺服驅動器連接到控制器的串口2。

圖1 動力控制系統信號連接圖

為了便于操作,搭建了一個平臺用來放置伺服電機、傳感器等硬件,機械結構如圖2所示。由伺服電機、傳感器等硬件所組成的動力頭是肌力訓練控制系統的執行部位,主要是利用伺服電機來帶動主傳動軸轉動。伺服電機到主傳動軸的動力傳遞是采用同步帶輪以及渦輪蝸桿實現的,然后在主傳動軸的輸出軸上安裝訓練支架就可以實現對應關節的訓練。扭矩傳感器通過螺絲與主傳動軸固定連接,并將扭矩傳感器的底座固定在渦輪中,當主傳動軸與扭矩傳感器底座之間產生相對運動,扭矩傳感器的彈性軸會產生形變,粘貼在彈性軸上的應變電橋的阻值也就會發生變化,再將應變電橋電阻的變化轉變為電信號的變化并通過放大器放大,然后經過CAN控制芯片輸出數字信號,控制器通過CAN通信就可以讀取扭矩的數字信號,實現扭矩的測量。角度傳感器固定在距離主傳動軸后方約2 mm處,且芯片正對主傳動軸軸心,并將磁鋼放置在主傳動軸上,當主傳動軸轉動時,會導致磁鋼的磁場發生變化,角度傳感器首先檢測磁鋼的磁場,然后利用集成芯片將磁場的變化轉變成數字信號輸出,控制器就可以利用SPI或者IIC通信讀取角度的數字信號,實現角度的測量[9]。動力控制系統實物如圖3所示。

圖2 動力頭機械結構圖

圖3 動力控制系統實物圖

1.2 串口通信

要實現控制器和上位機、控制器和伺服驅動器之間的數據傳輸,首先需要配置通信的相關協議。本文選擇串口通信,利用串口1實現控制器和上位機的通信,利用串口2實現控制器和伺服驅動器的通信。首先根據用到的串口號,開啟對應的時鐘信號,然后將引腳設置為串口功能,并設置引腳的工作模式、串口波特率、數據位數和停止位等。接著對串口中斷進行配置,包括中斷優先級、相關的串口中斷服務函數等。最后使能對應的串口號,就完成串口的基礎配置。

來自上位機的數據就是通過串口中斷服務函數接收,通過讀取串口狀態寄存器USART_SR的值來判斷是否有串口中斷發生,當值為1時,表示上位機有數據到來,然后就進入串口中斷服務函數中,將本次接收到的字符數據轉化為整形數保存在定義的整形數組buf中。然后先判斷第一個元素的值確定接收到的數據是控制指令還是訓練參數。比如為1,表示接收到的是訓練參數,就先將模式標志位Mode_Flag置1,并依次讀取數組的元素,將速度、力矩等訓練參數保存在定義的變量中。比如為7,表示這是啟動指令,將啟動標志位Start_Flag置1。

1.3 伺服控制系統原理

伺服電機與控制器、伺服驅動器組成一個伺服系統,控制框圖如圖4所示,有位置環、速度環以及電流環。位置環可以使伺服系統準確的定位,速度環可以使電機的轉速保持設定值,電流環可以使電機電樞繞組電流準確地跟蹤電流指令[10-11]。伺服驅動器的三種工作模式:位置模式、轉速模式以及扭矩模式分別對應伺服系統的位置環、速度環以及電流環控制,因此可以通過給伺服驅動器發送指令選擇工作模式實現對電機的閉環控制。本文選用伺服驅動器的轉速模式來實現等長訓練模式、等速訓練模式和等張訓練模式,選擇伺服驅動器的位置模式實現被動訓練模式。伺服驅動器ASDA-B2可支持Modbus協議,這個協議有兩種工作模式:ASCII模式和RTU模式。兩種模式的數據格式不一樣,ASCII模式傳送一個字節的數據要轉化為2個ASCII碼,比RTU數據量多,但是對數據格式的表達更加直觀、清楚[12-14]。因此,本文選擇了ASCII模式進行通信。

圖4 伺服系統控制框圖

根據伺服驅動器ASDA-B2在ASCII模式下的ModBus協議的數據格式,定義了長度為27位的字符數組Send[27],結構如表1所示。STM32發送給伺服驅動器的指令,實際上就是按照約定的數據格式對字符數組Send寫入數據。當伺服驅動器識別該數據后,就會控制電機執行相應的指令。

表1 字符數組Send結構

1.4 傳感器數據采集

角度傳感器AS5048A支持SPI或者IIC通信,本文將角度傳感器連接到STM32的SPI接口。SPI 接口一般使用 4 條線通信:MISO 主設備數據輸入,從設備數據輸出。MOSI 主設備數據輸出,從設備數據輸入。SCLK 時鐘信號,由主設備產生。CS 從設備片選信號,由主設備控制。根據AS5048A的數據手冊,對AS5048A的控制需要在下降沿讀數據,在上升沿寫數據,而且每發送一次指令后片選信號需要拉高一次。通過改變片選信號的電平,再發送角度對應的寄存器地址,就可以讀取角度對應的數字信號,再將這個信號通過公式(1)換算成角度,XA是角度傳感器輸出的14位數字信號。

扭矩傳感器的信號輸出端連接到一個CAN控制器,CAN的數據接收由FIFO來完成,CAN 接收到的有效數據都被存儲在3 級郵箱深度的 FIFO 中。FIFO 完全由硬件管理,從而節省了 CPU 的處理負荷。STM32通過查詢FIFO是否為空來判斷有沒有力矩數據傳輸過來,如果為空,就表示FIFO中沒有數據。如果不為空扭矩傳感器會返回兩個字節的數據,分別定義了兩個整形變量A、B用來保存高字節、低字節的數據,并利用公式(2)計算出力矩。

1.5 訓練模式控制算法

訓練模式的控制算法在主函數中完成,通過對上位機、傳感器的數據解析處理實現四種訓練模式。主函數首先進行串口、SPI等協議配置的初始化,然后進入一個While()循環,利用Switch語句判斷模式標志位Mode_Flag的值,然后進入對應的分支結構執行對應的功能。

如果Mode_Flag的值為4,就進入等長訓練模式的分支,程序流程如圖5所示。首先設置驅動器的工作模式為轉速模式,然后將轉速設置為0,并啟動電機開始訓練。訓練的過程中一直循環讀取角度、扭矩傳感器的值,并發送到上位機顯示。當上位機發送了停止指令,即停止電機。

圖5 等長訓練模式程序流程圖

如果Mode_Flag的值為3,就進入等張訓練模式的分支,程序流程如圖6所示。首先設置驅動器的工作模式為轉速模式,再讀取角度、扭矩傳感器的值,并發送到上位機顯示。并將檢測到的力矩與上位機設定的阻力矩作比較,如果比設定的阻力矩大,就給伺服電機轉速,兩者之間的差值越大,給定的轉速值就越大,最后啟動電機開始訓練。如果到達限定的位置,就設定轉速為0,再判斷是否接收到停止指令,如果是,就停止電機,否則就讀取下一時刻的角度、力矩。

圖6 等張訓練模式程序流程圖

如果Mode_Flag的值為2,就進入等速訓練模式的分支結構,程序流程如圖7所示。首先設置驅動器的工作模式為轉速模式,并將上位機設定的轉速值寫入驅動器,然后檢測關節的用力情況。如果力矩不為0,就啟動電機開始訓練。當到達限定的位置時,就設定轉速為0,然后讀取下一時刻的角度、力矩,直到接收到停止指令時,就停止電機。

圖7 等速訓練模式程序流程圖

如果Mode_Flag的值為1,就進入被動訓練模式的分支結構,程序流程如圖8所示。首先設置伺服驅動器的工作模式為位置模式,利用STM32的定時器生成脈沖來控制伺服電機的轉動。其中,輸入的脈沖個數確定轉動的角度,脈沖頻率確定轉動的速度。上位機設定好活動范圍以及訓練速度后,先將其轉化為脈沖個數以及脈沖頻率,然后再發送脈沖給伺服驅動器。當到達上位機設定的次數后,就關閉定時器。

圖8 被動訓練模式程序流程圖

2 軟件設計

上位機軟件的整體設計采用JAVA的Swing組件,即用于開發JAVA圖形界面的工具包,包含了構建圖形界面的各種組件如窗口、標簽、文本框等[15]。Swing工具包主要包含兩種元素:組件和容器。界面的設計過程首先是創建一個容器,然后在容器里面放置組件如按鈕、文本框等,再通過合理的布局就組成了一個圖形界面。

設計的上位機程序結構如圖9所示,src文件夾用于存放設計的JAVA文件。其中,Chart.java是曲線繪制程序,SerialPortManager.java是串口通信程序,SetFrame.java是設置界面設計程序,MainFrame.java是訓練界面設計程序。Referenced libraries 中包含了用到的jar包,jar包就是官方把一些常用的驅動類、方法等壓縮成一個文件包,通過調用這個jar包就可以實現對應的功能,比如串口通信程序的設計就是基于RXTXcomm.jar,曲線的框架繪制則是基于jfreechart.jar。

圖9 上位機程序結構

2.1 設置界面設計

上位機設置界面如圖10所示,界面設計時,首先調用窗體類JFrame創建一個窗體,然后再調用按鍵類JButton、文本框類JTextArea,生成按鍵與文本框,并調用標簽類JLabel添加對應的標簽用于說明文本框的內容。

圖10 上位機設置界面

為實現和STM32的數據傳輸,首先在這個界面的初始化中約定好波特率、數據的位數以及停止位數,再調用相關的串口類函數實現和STM32的通信。然后利用監聽函數將用戶所填寫的訓練信息保存在定義的字符數組Set中,字符數組Set結構如表2所示。第一個字節表示訓練模式,比如模式選擇中的四個按鍵分別對應四種模式,每個模式對應一個值,當點擊按鍵時,會將按鍵對應的值保存在Set[0]中。接著讀取速度、力矩等內容并依次保存,最后將字符數組Set通過串口發送到STM32。

表2 字符數組Set結構

2.2 訓練界面設計

上位機訓練界面如圖11所示,界面的設計與設置界面類似,同樣是創建窗體,然后放置按鍵、文本框等組件。與設置界面不同的是多調用了面板容器類JPanel,將生成的面板嵌套在窗體中,用于曲線的繪制。曲線的繪制是利用JAVA的Graphics2D類,這是一種用于繪制幾何圖形的類,可以畫直線、矩形、圓等基本圖形。首先創建串口的監聽類函數用于接收控制器發送的角度、力矩數據,并保存在定義的整形數組Ang、Tor里面。然后繪制坐標軸以及刻度線,再將數組中的數據畫在坐標軸里面,并通過刷新面板實現數據的動態顯示。

圖11 上位機訓練界面

3 測試結果

本文以肘關節為例對四種訓練模式進行了測試,在上位機設置界面中選擇訓練的模式、設定活動的范圍、輸入訓練的速度、力矩等參數,然后進入上位機訓練界面,點擊“開始”按鍵進行訓練,點擊“停止”按鍵結束訓練。

3.1 等長訓練模式測試

選擇了三個位置進行測試,角度值分別為50°、100°以及150°。其中角度值為100°時的力矩、位置與時間的關系曲線如圖12所示,從圖12中可以看出當力矩值為0時,對應的角度值沒有發生變化。當力矩值不為0時,對應的角度值也沒有發生變化,表明肘關節的位置不隨肘關節的用力情況而發生變化,可以保持在設定的位置靜止不動,符合等長訓練模式的需求。

圖12 角度值為100°時的力矩、位置曲線

3.2 等速訓練模式測試

選擇了三個訓練速度進行測試,分別設定為12°/s、18°/s以及30°/s,肘關節支架速度的最大誤差如表3所示??梢钥闯?,肘關節支架速度的最大誤差為0.4~1.2°/s,在合理的波動范圍內[16]。造成速度波動的原因在于速度校正和負載波動之間存在時間差,而交流伺服系統的響應時間較快,影響系統響應的主要原因還是在于機械連接裝置的傳遞時間。伺服電機所帶傳動機構的響應速度根據所采用材料的剛性差異而不同,如果剛性較低其響應速度也就比較慢,就會導致一定的速度波動。

表3 等速訓練模式下肘關節支架速度最大誤差(°/s)

其中訓練速度為30°/s時的力矩、位置與時間的曲線關系如圖13所示,從圖中可以看出當力矩值為0時,角度值會保持不變,說明肘關節沒有用力的時候,肘關節的位置不會發生變化。當肘關節順時針用力時,角度值會線性減小,說明此時肘關節保持設定的速度順時針轉動。當肘關節逆時針用力時,角度值會線性增大,說明此時肘關節保持設定的速度逆時針轉動。當肘關節到達限定的位置時,即使繼續往前用力,但是角度值會保持不變,說明此時停止在限定的位置,只有往相反方向用力才可以轉動。測試情況符合等速訓練模式的需求。

圖13 訓練速度為30°/s時的力矩、位置曲線

3.3 等張訓練模式測試

選擇了三個阻力級別進行測試,分別設定為5、8、10 N.m。其中阻力矩為10 N.m時的力矩、位置與時間的曲線關系如圖14所示,從圖中可以看出當肘關節用力情況小于設定的阻力矩時,角度值是保持不變的,說明肘關節的位置沒有發生變化。當肘關節用力情況大于設定的阻力矩時,角度值會發生變化,而且力矩值越大,角度值變化越大,說明肘關節轉動的速度隨著肘關節用力地增加而變大。當肘關節到達限定的位置時,即使肘關節的用力情況大于設定的阻力矩,但是角度值仍然保持不變,說明此時停止在限定的位置,只有往相反方向用力才可以轉動。測試情況符合等張訓練模式的需求。

圖14 阻力矩為10 N·m時的力矩、位置曲線

3.4 被動訓練模式測試

被動訓練模式是由設備帶動受試者關節運動,因此訓練時在上位機設定好訓練的速度以及活動范圍,并設定訓練的次數為3次,然后點擊開始。選擇了三個訓練速度進行測試,分別設定為30°/s、42°/s以及60°/s,肘關節支架速度的最大誤差如表4所示??梢钥闯?,肘關節支架速度的最大誤差在0.9°/s到2.0°/s之間,在合理的波動范圍內[17]。被動訓練模式由于采用的是伺服驅動器的位置模式,運算量大,驅動器對控制信號的響應會相對慢一點。影響速度穩定的主要原因在于伺服電機與機械傳動結構不匹配,機械響應速度不夠及時,導致速度校正存在延時。

表4 被動訓練模式下肘關節支架速度最大誤差(°/s)

其中訓練速度為30°/s時的力矩、位置與時間的曲線關系如圖15所示,從圖中可以看出,角度值先線性減小,接著又線性增大回到初始的角度,然后重復這個過程3次。說明肘關節在設定的活動范圍內保持設定的速度做了3次訓練,測試情況符合被動訓練模式的需求。

圖15 訓練速度為30°/s時的力矩、位置曲線

4 討論與總結

在硬件上,本文采用伺服電機作為執行機構,具備過載能力強、轉動慣量低等優點。并且電機的控制方案相對簡單,而等速設備采用電磁摩擦制動器作為執行機構,由于電磁制動器是高度非線性的電磁器件,導致控制方案比較復雜[18]。本研究選用的控制器STM32具備高性能、低成本、低功耗的特點,芯片的外設接口較多,可以和多種傳感器對接。機械連接上,部分設備采用聯軸器直接連接,需要配備對應的諧波減速器,成本比較高。本文采用同步帶輪以及渦輪蝸桿實現伺服電機到輸出軸的動力傳遞,提高輸出扭矩的同時達到減速的目的。

在軟件上,本文基于JAVA語言設計了對應的上位機操作界面。JAVA語言作為解釋型語言,可以實現跨平臺運行,具有較好的移植性。程序包也比較豐富,通過調用jar包,可以提高程序的開發效率。后期還可以引入數據庫,通過JDBC接口函數實現和數據庫的連接,方便管理用戶數據[19]。有的肌力訓練設備缺乏上位機軟件,只通過人機交互界面進行操作,數據的存儲量有限,而且傳輸數據不便捷[20]。

目前,用于肌力訓練的設備主要依靠進口國外的產品,這些設備不僅價格昂貴,而且資料有限,所以自主設計肌力訓練設備就顯得尤為重要。本文利用JAVA上位機以及STM32控制伺服驅動器,進而控制伺服電機,能夠實現等長、等速、等張以及被動訓練模式,通過更換不同的支架可以實現多關節的訓練,所設計的動力控制系統滿足應用需求。下一步工作將在醫院進行臨床試用,對硬件、算法、上位機軟件進行優化,如硬件上可以增加控制芯片專門處理傳感器的信號,提高數據傳輸的實時性,上位機軟件引入數據庫管理功能。

主站蜘蛛池模板: 在线毛片免费| 美女无遮挡被啪啪到高潮免费| 国产精品永久在线| 亚洲日韩久久综合中文字幕| 无码内射在线| 日本草草视频在线观看| 91在线播放国产| 中文字幕人成人乱码亚洲电影| 国产在线视频福利资源站| 国产一区二区三区在线观看免费| 久久青青草原亚洲av无码| 91精品亚洲| 国产人人干| 久久久久中文字幕精品视频| 欧美在线三级| 91国内视频在线观看| 久久夜色撩人精品国产| 亚洲AⅤ无码日韩AV无码网站| 2020国产在线视精品在| 国产一区二区三区免费| 亚洲中文字幕手机在线第一页| 色综合国产| 亚洲黄网视频| 91免费观看视频| a级毛片视频免费观看| 国产欧美视频综合二区| 欧美成人区| 成人福利在线看| 精品欧美一区二区三区久久久| 国产成人精品免费av| 蜜臀av性久久久久蜜臀aⅴ麻豆| 91精品最新国内在线播放| 尤物成AV人片在线观看| 欧美在线伊人| 大香伊人久久| 精品一区二区久久久久网站| 58av国产精品| 国产拍揄自揄精品视频网站| 亚洲中文无码h在线观看| 在线观看精品国产入口| 亚洲欧美日韩另类在线一| 久久精品无码一区二区国产区| 国产高清在线观看| 亚洲精品成人片在线观看| 国产美女91视频| 国产成人毛片| 日韩av手机在线| 91成人在线观看| 国产成人精品亚洲日本对白优播| 亚洲人成在线免费观看| 91娇喘视频| 亚洲天堂.com| 久久精品人人做人人综合试看| 美女国内精品自产拍在线播放 | 欧美性爱精品一区二区三区| 国产福利免费视频| 亚洲Av激情网五月天| 国产91av在线| 四虎影院国产| 91探花在线观看国产最新| 欧美专区在线观看| 91无码人妻精品一区| 亚洲人成网站在线播放2019| 在线无码九区| 亚洲精品777| 婷婷五月在线视频| av无码一区二区三区在线| 色久综合在线| 国产成人成人一区二区| 国产精品美女免费视频大全| 国精品91人妻无码一区二区三区| 特级精品毛片免费观看| 中文无码日韩精品| 91破解版在线亚洲| 精品无码一区二区三区在线视频| 国内99精品激情视频精品| 青青草原国产免费av观看| 台湾AV国片精品女同性| 日本高清成本人视频一区| 天堂成人av| 日本不卡免费高清视频| 免费毛片网站在线观看|