孫祥瑞 婁莉
摘 要:隨著健身人群的增加,安全事故頻頻發(fā)生。本文為了改善這一現(xiàn)狀,基于ARM Cortex-M4內(nèi)核的STM32F407開發(fā)板,針對(duì)傳統(tǒng)力量健身器械設(shè)計(jì)了力量輔助控制系統(tǒng),以提升當(dāng)下力量健身訓(xùn)練的訓(xùn)練效果,減少健身者在身邊無(wú)人時(shí)存在的安全隱患。該系統(tǒng)主要由2部分組成:第一部分是由編碼器來(lái)對(duì)器械運(yùn)動(dòng)狀態(tài)進(jìn)行識(shí)別與檢測(cè);第二部分是伺服電機(jī)驅(qū)動(dòng)器的設(shè)計(jì)與實(shí)現(xiàn)。本嵌入式力量輔助系統(tǒng)實(shí)現(xiàn)了傳統(tǒng)力量健身器械的功能提升,在訓(xùn)練者使用本器械時(shí),能夠提供實(shí)時(shí)的運(yùn)動(dòng)狀態(tài)和進(jìn)度反饋,若檢測(cè)到訓(xùn)練者失力或力竭,則電機(jī)工作產(chǎn)生輔助力量幫助訓(xùn)練者完成訓(xùn)練,提升了訓(xùn)練的高效性和安全性。
關(guān)鍵詞:嵌入式技術(shù);伺服電機(jī);驅(qū)動(dòng)器;STM32文章編號(hào):2095-2163(2019)04-0198-04 中圖分類號(hào):TP273 文獻(xiàn)標(biāo)志碼:A
0 引 言
目前,國(guó)內(nèi)健身房中力量型健身器材普遍存在安全性不高、初學(xué)者用戶體驗(yàn)差、智能化缺乏等問(wèn)題[1]。本文將先進(jìn)的伺服電機(jī)控制技術(shù)應(yīng)用在力量健身器械中[2],降低了初學(xué)者在使用力量器械時(shí)受傷的概率,提高史密斯架的安全性,提升訓(xùn)練者使用史密斯架的訓(xùn)練效果,改變傳統(tǒng)的無(wú)交互式訓(xùn)練[3-5]。引領(lǐng)健身器材向更智能化的方向發(fā)展是目前健身器材行業(yè)需要解決的一個(gè)重要技術(shù)問(wèn)題。
本文設(shè)計(jì)的力量輔助控制系統(tǒng),在訓(xùn)練者使用力量健身器械時(shí),可將自己的相關(guān)訓(xùn)練意圖輸入到系統(tǒng)中,系統(tǒng)會(huì)給出相應(yīng)的推薦訓(xùn)練方案,為用戶提供合適的幫助力量,使其安全、高效地完成每組動(dòng)作。
1 嵌入式力量輔助控制系統(tǒng)硬件
1.1 系統(tǒng)硬件構(gòu)成
整個(gè)力量控制輔助系統(tǒng)采用正點(diǎn)原子的STM32F407為核心控制器, μC/OS II為操作系統(tǒng)的控制方案。這套控制系統(tǒng)硬件主要包括以下幾個(gè)部分:開發(fā)板、伺服電機(jī)、伺服驅(qū)動(dòng)器、編碼器等。工作時(shí),交流電提供給電機(jī)驅(qū)動(dòng)模塊,電機(jī)驅(qū)動(dòng)模塊控制伺服電機(jī)進(jìn)行工作,伺服電機(jī)在工作的同時(shí),其編碼器將電流、速度、位置所檢測(cè)到的信息發(fā)送到開發(fā)板中,開發(fā)板通過(guò)信號(hào)處理將功率進(jìn)行變換使其發(fā)送給電機(jī)驅(qū)動(dòng)模塊,電機(jī)驅(qū)動(dòng)器模塊根據(jù)開發(fā)板發(fā)來(lái)的功率大小控制伺服電機(jī),整個(gè)系統(tǒng)為實(shí)時(shí)閉環(huán)系統(tǒng)。
系統(tǒng)的中心控制包括了CPU核心、晶振、復(fù)位電路等功能模塊。CPU模塊負(fù)責(zé)處理編碼器傳送回的數(shù)據(jù),再根據(jù)程序發(fā)出相應(yīng)的指令。晶振電路則負(fù)責(zé)給系統(tǒng)提供時(shí)鐘信號(hào)。用于異常模式回復(fù)的復(fù)位電路和負(fù)責(zé)系統(tǒng)監(jiān)控工作的看門狗系統(tǒng)。這些系統(tǒng)的組合就是該控制系統(tǒng)的中心控制模塊。系統(tǒng)框圖如圖1所示。
中心控制模塊用于處理各個(gè)引腳所接收到的數(shù)據(jù),經(jīng)過(guò)開發(fā)板中的程序處理后發(fā)出執(zhí)行各個(gè)功能的信號(hào)。信號(hào)的輸入和輸出部分包括杠桿運(yùn)動(dòng)狀態(tài)分析模塊和電機(jī)扭矩控制模塊。其中杠桿運(yùn)動(dòng)狀態(tài)分析模塊是通過(guò)編碼器檢測(cè)到杠桿的運(yùn)行方向、速度以及位置后,并把這些數(shù)據(jù)進(jìn)行模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)化,然后發(fā)送給CPU進(jìn)行分析。電機(jī)扭矩控制模塊則是將CPU分析出來(lái)的杠桿運(yùn)行狀態(tài)按照程序設(shè)計(jì)的比例將控制信號(hào)傳送回私服電機(jī)控制端,進(jìn)而控制電機(jī)的扭矩大小,給用戶一個(gè)合適的輔助力量。
1.2 位置、速度傳感器的選擇
在本系統(tǒng)中,杠桿運(yùn)動(dòng)的位置和速度是分析杠桿運(yùn)動(dòng)狀態(tài)的2個(gè)重要參數(shù),因此有必要選擇一款穩(wěn)定性優(yōu)良、精度高的位置、速度傳感器,而且該系統(tǒng)可能未來(lái)會(huì)使用在各種類型的力量器械上,要考慮到器械操作桿的運(yùn)動(dòng)行程長(zhǎng)短不一,因此需要較強(qiáng)的適應(yīng)性。綜合多方面考慮,選擇2 500 p/r(pulse per circule)(分辨率10 000)的三通道增量式編碼器。由于其是與傳動(dòng)軸直接進(jìn)行連接,所以該傳感器不僅可以滿足操作桿的位置、速度的獲取,并且采樣速度快、精度高、誤差小,可以分辨0.036°的角度差。
1.3 增量型編碼器的相關(guān)設(shè)計(jì)
該三通道增量式編碼器有3個(gè)通道:A、B、Z。A、B相是編碼器內(nèi)部的兩對(duì)光電耦合器,其輸出的兩組脈沖序列相位相差90°。而正轉(zhuǎn)和反轉(zhuǎn)時(shí)兩路脈沖的超前、滯后關(guān)系剛好相反[6-7]。如圖2所示,正轉(zhuǎn)時(shí),B相的脈沖在上升沿時(shí),A相脈沖為高電平;反之,當(dāng)反轉(zhuǎn)時(shí),則A相脈沖為低電平。A、B相用來(lái)采集脈沖個(gè)數(shù)(旋轉(zhuǎn)角度),并且判斷電機(jī)運(yùn)行的正反方向。而第三個(gè)通道Z有一個(gè)透光段,每轉(zhuǎn)動(dòng)一圈,輸出一個(gè)脈沖,該脈沖成為Z相零位脈沖,用作系統(tǒng)清零信號(hào),坐標(biāo)的原點(diǎn),以減少測(cè)量的累積誤差。
1.4 伺服電機(jī)、驅(qū)動(dòng)器的選擇與功能設(shè)計(jì)
驅(qū)動(dòng)器選擇力川LCDA4-075B2,電機(jī)使用750 W的力川07L02-90M02430[8]。
電機(jī)接線設(shè)計(jì)如圖3所示。
由于電機(jī)的力矩需要隨著情況實(shí)時(shí)的改變,而速度和位置是不固定的,主要由用戶的運(yùn)動(dòng)狀態(tài)來(lái)決定,因此在驅(qū)動(dòng)器的硬件設(shè)計(jì)部分主要采用轉(zhuǎn)矩模式的設(shè)計(jì)方式,先將伺服驅(qū)動(dòng)器的CN3上的44針中需要用到的各個(gè)相關(guān)參數(shù)進(jìn)行初始化,然后,通過(guò)上位機(jī)發(fā)出的模擬信號(hào)來(lái)對(duì)電機(jī)進(jìn)行實(shí)時(shí)的控制。伺服驅(qū)動(dòng)器的工作模式為轉(zhuǎn)矩控制,其接線如圖4所示,轉(zhuǎn)矩模式的功能配置見表1。
2 嵌入式力量輔助控制系統(tǒng)軟件
2.1 軟件體系結(jié)構(gòu)
本系統(tǒng)采用面向?qū)ο蟮乃枷雭?lái)設(shè)計(jì)規(guī)劃軟件體系結(jié)構(gòu),將開發(fā)板對(duì)應(yīng)的各個(gè)硬件體系用互不干擾的程序模塊進(jìn)行設(shè)計(jì),這樣設(shè)計(jì)提高了系統(tǒng)的魯棒性,各模塊之間通過(guò)單獨(dú)的編寫和封裝,每個(gè)模塊之間通過(guò)約定好的輸入輸出方式來(lái)進(jìn)行通信。各子模塊通過(guò)芯片中燒寫的程序來(lái)進(jìn)行相互調(diào)用。采用面向?qū)ο蟮姆椒梢宰尯笃诟碌膹?fù)雜度降低,添加新模塊而不會(huì)影響到其它已有的模塊。嵌入式微處理器軟件體系結(jié)構(gòu)如圖5所示。
2.2 軟件模塊的設(shè)計(jì)與實(shí)現(xiàn)
2.2.1 軟件流程設(shè)計(jì)
當(dāng)用戶開始訓(xùn)練時(shí),系統(tǒng)將根據(jù)用戶的個(gè)人信息進(jìn)行系統(tǒng)初始化,并由用戶觸發(fā)開始訓(xùn)練。在訓(xùn)練過(guò)程中,開發(fā)板實(shí)時(shí)監(jiān)測(cè)用戶的訓(xùn)練情況,將訓(xùn)練組、次數(shù)、訓(xùn)練時(shí)間、當(dāng)前狀態(tài)等信息反饋在屏幕中。當(dāng)傳感器檢測(cè)到用戶力竭時(shí),電機(jī)介入工作,幫助用戶完成當(dāng)下動(dòng)作。用戶結(jié)束訓(xùn)練后,系統(tǒng)待機(jī)工作流程如圖6所示。
2.2.2 交互界面
嵌入式系統(tǒng)的圖形用戶界面,需要可靠性強(qiáng)、移植性高、占用資源盡可能少、方便配置等特點(diǎn),最終選擇EMWIN為本系統(tǒng)的圖形設(shè)計(jì)軟件。EMWIN可應(yīng)用于多任務(wù)環(huán)境中,同時(shí)使用實(shí)時(shí)操作系統(tǒng)與EMWIN。本文使用ARM Cortex-M4內(nèi)核的STM32平臺(tái),通過(guò)基于STM32平臺(tái)μC/OS-II上EMWIN的移植,在此基礎(chǔ)上開發(fā)了基于EMWIN的圖形用戶界面,針對(duì)不同的訓(xùn)練者,給出相應(yīng)的訓(xùn)練計(jì)劃,交互界面如圖7所示。
2.2.3 進(jìn)程實(shí)時(shí)監(jiān)控
傳統(tǒng)無(wú)交互式的健身模式下,用戶往往需要自己記錄鍛煉進(jìn)度(組、次數(shù))。為了改變這一現(xiàn)狀,本文添加了對(duì)用戶運(yùn)動(dòng)狀態(tài)的采集,實(shí)時(shí)地將訓(xùn)練者當(dāng)前運(yùn)動(dòng)狀態(tài)展現(xiàn)在屏幕上,這樣使訓(xùn)練者注意力更加集中在當(dāng)下的訓(xùn)練上,不會(huì)分心去計(jì)算記錄當(dāng)前的進(jìn)度位置。
要實(shí)現(xiàn)這一功能,首先要對(duì)用戶的運(yùn)動(dòng)軌跡進(jìn)行監(jiān)控,每檢測(cè)到桿子完成一次完整的行程,當(dāng)前組數(shù)的次數(shù)增加1,當(dāng)檢測(cè)到桿子在起始位置停止運(yùn)動(dòng)后5 s,則當(dāng)前組數(shù)結(jié)束。在每組結(jié)束后緊跟著一個(gè)定時(shí)器,來(lái)記錄休息時(shí)長(zhǎng),組數(shù)增加1。將其錄入在開發(fā)版當(dāng)中的數(shù)據(jù)通過(guò)UART串口發(fā)送到顯示屏上,用戶可以通過(guò)顯示屏來(lái)獲取到自己的實(shí)時(shí)運(yùn)動(dòng)數(shù)據(jù),進(jìn)而達(dá)到提高健身專注度和效率的作用。訓(xùn)練進(jìn)度實(shí)時(shí)狀態(tài)顯示如圖8所示。
2.2.4 力量輔助
在檢測(cè)到用戶處于力竭狀態(tài)時(shí),電機(jī)需要產(chǎn)生合適的力量去幫助訓(xùn)練者完成當(dāng)前動(dòng)作,而訓(xùn)練者需要的力量大小是實(shí)時(shí)變化的。輔助力量的大小主要取決于用戶當(dāng)前速度和應(yīng)有速度的差值,本系統(tǒng)則采用力矩線性增長(zhǎng)的方式來(lái)對(duì)訓(xùn)練者的力量需求和電機(jī)實(shí)際發(fā)力大小作平衡匹配。當(dāng)用戶速度開始低于正常速度,則電機(jī)工作,產(chǎn)生0.05N的力并持續(xù)增長(zhǎng),直到用戶的鍛煉速度恢復(fù)到了正常值。
3 結(jié)束語(yǔ)
本文利用ARM Cortex-M4內(nèi)核的STM32F407開發(fā)板,通過(guò)嵌入式工控技術(shù)設(shè)計(jì)了力量輔助控制系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了力量器械對(duì)運(yùn)行狀態(tài)的識(shí)別,判斷健身者訓(xùn)練過(guò)程中的力量變化,在需要幫助時(shí)提供合適的力量輔助,并且實(shí)時(shí)顯示當(dāng)前健身進(jìn)度,減少健身時(shí)安全隱患,給健身者帶來(lái)了更高效、更安全的健身體驗(yàn)。
參考文獻(xiàn)
[1] 劉洋. 智能化健身器械的研究與應(yīng)用設(shè)計(jì)[D]. 合肥:中國(guó)科學(xué)技術(shù)大學(xué), 2015.
[2]魏松. 基于交流伺服的健身器材負(fù)載控制系統(tǒng)研究[D]. 濟(jì)南:山東建筑大學(xué), 2015.
[3]YANG Wenlei, JANG Tingbiao. Hardware design of digital AC servo system based on DSP2812[C]//2010 International Conference on Intelligent Computing and Integrated Systems. Guilin, China:IEEE, 2010:337-340.
[4]紀(jì)科輝. 低速交流電機(jī)伺服系統(tǒng)的研究與實(shí)現(xiàn)[D]. 杭州:浙江大學(xué), 2013.
[5]LIM J E, CHOI O, NA H S, et al. Design of intelligent fitness guide system in context aware exercise environment[D]//Future Generation Communication and Networking (FGCN 2007).Jeju, South Korea:IEEE,2007:1-4.
[6]REZAEE A. Determining PID controller coefficients for the moving motor of a welder robot using fuzzy logic[J]. Automatic Control and Computer Sciences,2017,51(2):124-132 .
[7]荊建立, 王艷春, 朱永慶. 無(wú)刷直流電機(jī)模糊參數(shù)自適應(yīng)PID控制[J]. 控制工程, 2018, 25(5):915-919.
[8]覃海濤. 交流伺服系統(tǒng)自調(diào)整技術(shù)研究[D]. 武漢:華中科技大學(xué)博士學(xué)位論文,2011.