国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MSP430和BP神經(jīng)網(wǎng)絡(luò)PID的跑步機(jī)控制系統(tǒng)

2016-12-26 09:46:37宋文龍呂迎春秦建敏田建艷
現(xiàn)代電子技術(shù) 2016年22期
關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò)

宋文龍+呂迎春+秦建敏+田建艷

摘 要: 研發(fā)一種基于MSP430G2553單片機(jī)和基于BP神經(jīng)網(wǎng)絡(luò)PID的電動跑步機(jī)控制系統(tǒng)。按模塊設(shè)計了主要硬件電路。為了提高調(diào)速性能,在電流速度雙閉環(huán)中的速度環(huán)中采用了基于BP神經(jīng)網(wǎng)絡(luò)的PID控制算法。最后給出系統(tǒng)軟件設(shè)計的流程圖。實驗結(jié)果表明,該系統(tǒng)能滿足設(shè)計要求,并具有更好的性能。

關(guān)鍵詞: MSP430G2553; 跑步機(jī); BP神經(jīng)網(wǎng)絡(luò); PWM

中圖分類號: TN926?34; TP273 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2016)22?0150?04

電動跑步機(jī)已成為家庭首選的健身器材,設(shè)計出一款高性能的電動跑步機(jī)控制系統(tǒng)具有重要的現(xiàn)實意義[1]。本文設(shè)計了一種家用電動跑步機(jī)控制系統(tǒng),并給出了主要硬件電路圖和軟件編寫流程圖。為了達(dá)到提高系統(tǒng)性能的目的,調(diào)速采用了電流與速度雙閉環(huán)控制方式,其中電流環(huán)采用PI控制算法,而在速度環(huán)中采用基于BP神經(jīng)網(wǎng)絡(luò)的PID控制算法。

1 系統(tǒng)結(jié)構(gòu)

系統(tǒng)硬件電路框圖如圖1所示,系統(tǒng)以單片機(jī)MSP430G2553為控制器,由按鍵、心率檢測、顯示、直流電機(jī)控制和檢測電路、升降電機(jī)控制和檢測電路以及電源變換模塊組成。

上電后,可通過按鍵實現(xiàn)電機(jī)的啟停、設(shè)置速度和坡度等功能。設(shè)置速度后,將設(shè)定值與實時檢測值進(jìn)行比較;若存在偏差,則采用數(shù)字式雙閉環(huán)PWM方式對直流電機(jī)進(jìn)行調(diào)速。通過軟件編程實現(xiàn)電流環(huán)PI控制以及速度環(huán)的BP神經(jīng)網(wǎng)絡(luò)的PID控制,再利用單片機(jī)產(chǎn)生占空比可調(diào)的PWM信號,通過驅(qū)動芯片MC34151控制MOS管IRF460的通斷,改變加在電機(jī)兩端的電壓,實現(xiàn)對電機(jī)的轉(zhuǎn)速調(diào)節(jié)。設(shè)置坡度后,通過檢測模擬電壓的方法來檢測升降位置,利用與設(shè)定值比較結(jié)果來控制繼電器的通斷,調(diào)節(jié)單相電容運(yùn)轉(zhuǎn)型異步電動機(jī)的正反轉(zhuǎn)。心率的檢測使用TM998模塊,該模塊可以檢測到每個心跳信號,據(jù)此可計算出心率。顯示電路可以顯示速度、路程、心率以及消耗的卡路里等參數(shù)。此外,還有過流過壓檢測電路,保證系統(tǒng)的安全。

2 系統(tǒng)主要硬件電路設(shè)計

2.1 MSP430G2553介紹

MSP430G2553是超低功耗混合信號微控制器,采用16位精簡指令集(RISC)架構(gòu),有16 KB FLASH和512 B RAM,低電源電壓范圍1.8~3.6 V,有2個16位Timer_A,提供了多達(dá)3個8位I/O端口,端口P1和P2都具有中斷功能,一個10 位模數(shù)(A/D)轉(zhuǎn)換器,一個多用途模擬比較器以及采用通用串行通信接口的內(nèi)置通信能力。系統(tǒng)中采用28引腳的TSSOP封裝的型號。

2.2 轉(zhuǎn)速檢測電路

直流電動機(jī)的轉(zhuǎn)速檢測電路原理圖如圖2所示,齒輪信號盤安裝在電動機(jī)的轉(zhuǎn)軸上,HZL201霍爾齒輪傳感器垂直于信號盤安裝。當(dāng)信號盤隨電動機(jī)轉(zhuǎn)軸旋轉(zhuǎn)時,信號盤的每個齒輪經(jīng)過探頭正前方時HZL201傳感器會輸出一個近似方波的脈沖信號。此信號的高電平高介于14 V與15 V之間,低電平接近于0 V。信號經(jīng)8050三極管整形電路后接MSP430G2553單片機(jī)的P1.2腳。當(dāng)HZL201輸出高電平時,三極管導(dǎo)通,P1.2端電壓為0,當(dāng)HZL201輸出低電平時,三極管截止,P1.2端電壓約為3 V。P1.2腳配置為輸入、上升沿觸發(fā)中斷,在單片機(jī)內(nèi)部采用周期法計算得電動機(jī)的轉(zhuǎn)速[2]。

2.3 電流檢測電路

為降低電路復(fù)雜度和節(jié)約成本,電流信號的采集使用采樣電阻來實現(xiàn)電流的采集。將0.01 Ω的精密采樣電阻接在IRF460 S極,把電流信號轉(zhuǎn)換為電壓信號,再通過放大電路把電壓放大至單片機(jī)引腳承受電壓范圍內(nèi)。設(shè)定10 A電流對應(yīng)A/D滿量程,電壓放大倍數(shù)為[30.1]=30。因為運(yùn)放LM358并非軌對軌輸出,所以設(shè)定其放大倍數(shù)為20倍;又考慮到運(yùn)放增益帶寬積的限制,采用兩級同向比例放大電路實現(xiàn),兩級放大倍數(shù)分別為5倍和4倍。電流檢測電路原理圖如圖3所示,其中RC網(wǎng)絡(luò)用于濾除電流信號中的高頻噪聲,二極管用于對調(diào)理電路輸出電壓進(jìn)行限幅。

2.4 驅(qū)動電路

驅(qū)動芯片采用MC34151,它是為數(shù)字電路低電流驅(qū)動高轉(zhuǎn)換速率的大電容負(fù)載而設(shè)計的雙逆變高速驅(qū)動器,具有獨立雙通道1.5 A推挽電路輸出,與CMOS/LSTTL兼容,在高頻下運(yùn)行良好。開關(guān)管使用N溝道MOS管IRF460,其最大工作電壓和電流分別為600 V和21 A,導(dǎo)通電阻為0.27 Ω,開關(guān)速度快、工作頻率高、驅(qū)動電路簡單。

驅(qū)動電路如圖4所示,PWM信號由單片機(jī)MSP430G2553的P1.1引腳輸出,接MC34151的輸入端INA和INB,MC34151的輸出端OUTA接IRF460的G端。當(dāng)PWM信號為高電平時,MC34151輸出高電平,IRF460導(dǎo)通,直流電壓加在電機(jī)兩端,反之關(guān)斷。通過調(diào)節(jié)PWM信號的占空比,就可以調(diào)節(jié)加在直流電動機(jī)兩端的平均電壓,從而改變電動機(jī)的轉(zhuǎn)速。

2.5 坡度調(diào)節(jié)電路

跑臺坡度的調(diào)節(jié)采用單相電容運(yùn)轉(zhuǎn)型異步電動機(jī)驅(qū)動,其額定電壓和額定電流分別為AC 220 V和0.5 A。坡度調(diào)節(jié)電路原理圖如圖5所示。當(dāng)P1.3輸出高電平時,K2閉合,白、黑兩引線間接入交流電,跑臺升高;當(dāng)P3.1輸出高電平時,K3閉合,白、紅引線間接入交流電,跑臺降低;當(dāng)P1.3,P3.1都輸出低電平,K2,K3都斷開,跑臺高度不變。繼電器工作電流為30 mA,單片機(jī)引腳輸出電流難以驅(qū)動,因此選用8050三極管作為驅(qū)動元件。升降位置反饋信號為0~3 V模擬電壓,將此信號送入MSP430G2553單片機(jī)引腳P1.5,并將P1.5配置為A/D功能,即可獲取當(dāng)前升降位置。

2.6 心率檢測電路

TM998是一款手握心跳偵測模組,利用ECG原理,將表面電極置于人體皮膚上來量度從心臟所產(chǎn)生的電位差,據(jù)此產(chǎn)生心跳信號。心率檢測電路原理圖如圖6所示。

TM998的O引腳輸出的是脈沖信號,即心臟每跳動一下產(chǎn)生一個脈沖。脈沖輸入單片機(jī)P1.6引腳,P1.6腳配置為輸入、上升沿觸發(fā)中斷。心率值計算公式為:心率值=60×[1T]。其中,T為兩個脈沖之間的時間間隔。因為心率速率較慢,可以在中斷程序中進(jìn)行中值濾波和滑動平均值濾波處理后,獲得較準(zhǔn)確的測量值[3?4]。該模塊有幾十微秒到幾百微秒的尖波干擾信號,若兩次脈沖間隔時間小于250 ms就可判定有干擾信號出現(xiàn),需要濾除掉。

3 控制算法

雙閉環(huán)調(diào)速系統(tǒng)具有良好的靜態(tài)和動態(tài)性能,啟動時間短,超調(diào)量小,因此系統(tǒng)采用雙閉環(huán)控制。內(nèi)環(huán)為電流環(huán),采用傳統(tǒng)PI控制算法,能有效地克服電壓波動的影響;外環(huán)為速度環(huán),采用BP神經(jīng)網(wǎng)絡(luò)PID控制算法。BP神經(jīng)網(wǎng)絡(luò)具有非線性映射能力、泛化能力和容錯能力,傳統(tǒng)PID的具有魯棒性強(qiáng)和抗干擾能力的優(yōu)點,BP神經(jīng)網(wǎng)絡(luò)PID將二者優(yōu)點結(jié)合了起來,能在保證控制精度的前提下,提高系統(tǒng)響應(yīng)速度和魯棒性[5]。利用BP神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)性,可以更容易地獲得合適的PID參數(shù)。

系統(tǒng)性能主要由外環(huán)決定,同時外環(huán)也能抑制內(nèi)環(huán)擾動的影響,因此將BP神經(jīng)網(wǎng)絡(luò)PID控制器加于速度外環(huán)?;贐P神經(jīng)網(wǎng)絡(luò)的PID控制原理方框圖如圖7所示。

PID控制由比例、積分和微分環(huán)節(jié)組成,系統(tǒng)中采用增量式數(shù)字PID控制算法:

[k=uk-1+KPek-ek-1+KIek+ KD[ek-2ek-1+e(k-2)]] (1)

式中,[KP,KI,KD]為比例、積分、微分系數(shù)。

采用3層BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),其結(jié)構(gòu)如圖8所示[6]。此網(wǎng)絡(luò)的輸出如式(2)所示:

[opk=fi=1qωkigj=1Mωijxpj-θj-θk, i=1,2,…,q, k=1,2,…,L] (2)

式中:[xpj]和[opk]分別為輸入層節(jié)點j和輸出層節(jié)點k在樣本p作用時的輸出; f(·),g(·)分別為輸出層和隱藏層的激活函數(shù),均取Sigmoid函數(shù);M,q和k分別為輸入層、隱含層和輸出層的節(jié)點個數(shù);ωij為輸入層神經(jīng)元j與隱含層神經(jīng)元i之間的連接權(quán)值;θi為隱含層神經(jīng)元i的閾值;ωki為隱含層神經(jīng)元i和輸出層神經(jīng)元k之間的連接權(quán)值;θk為輸出層神經(jīng)元k的閾值。

BP神經(jīng)網(wǎng)絡(luò)的輸入為轉(zhuǎn)速偏差e、偏差變化率Δe以及速度反饋值n,輸出為PID參數(shù)KP,KI和KD。

考慮到MSP430G2553單片機(jī)運(yùn)算速度和存儲空間的限制,在PC機(jī)上采用Matlab軟件進(jìn)行BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)和訓(xùn)練等,即采用離線訓(xùn)練的方式,這樣在MSP430G2553單片機(jī)中只需考慮前向傳播過程。對于訓(xùn)練完畢的BP神經(jīng)網(wǎng)絡(luò),式(2)中的參數(shù)ωij,ωki,θi,θk都是確定值,可以利用這些編寫神經(jīng)網(wǎng)絡(luò)計算程序并嵌入到MSP40G2553中。在程序運(yùn)行過程中,就可以根據(jù)系統(tǒng)運(yùn)行狀態(tài)得到相應(yīng)的PID參數(shù)[7]KP,KI和KD。

4 系統(tǒng)的軟件設(shè)計

系統(tǒng)軟件采用C語言編寫,在IAR Embedded Workbench環(huán)境下進(jìn)行模塊化設(shè)計。整個軟件由主程序、系統(tǒng)子程序和中斷服務(wù)子程序組成。主程序流程圖如圖9所示。

系統(tǒng)初始化后,要求用戶輸入性別、體重等生理參數(shù),然后進(jìn)行按鍵輪詢。按下SELECT鍵,可以選擇自定義程式或預(yù)置程式,若第一次按下START鍵,以自主程式運(yùn)行,即鍛煉者可以根據(jù)需求隨時調(diào)整跑步機(jī)的速度與坡度。此外,在某程式運(yùn)行過程中,也可調(diào)節(jié)速度或坡度的操作。預(yù)置程式是固化在內(nèi)部FLASH的代碼,包括走步程式、跑步程式、減肥程式、心肺鍛煉程式以及智能程式。執(zhí)行預(yù)置程式時,無需人工干預(yù),跑步機(jī)自動運(yùn)行程式對應(yīng)的運(yùn)動方案。選擇自定義程式時,用戶可以根據(jù)自身狀況定制個性化的運(yùn)動方案。

系統(tǒng)有個5子程序。調(diào)速子程序根據(jù)設(shè)定值和采樣值的比較結(jié)果,依據(jù)控制算法調(diào)節(jié)PWM的占空比。調(diào)坡子程序包含坡度采樣功能,通過采樣獲得的實際值和設(shè)定值來控制繼電器的通斷時間。計算子程序通過用戶的體重、當(dāng)前的速度和運(yùn)行時間來計算路程以及消耗的卡路里。顯示子程序刷新顯示。停機(jī)子程序?qū)⑵露群退俣葴p為零。

中斷子程序有4個。速度采樣中斷子程序在每次速度采樣通道產(chǎn)生中斷時調(diào)用,采用周期法計算速度。心率中斷計算子程序在心率檢測通道產(chǎn)生中斷時調(diào)用,完成心率的計算。定時中斷子程序中要包含喂狗功能。過壓過流中斷子程序在過流過壓時調(diào)用。

5 結(jié) 語

本系統(tǒng)很好地利用了MSP430G2553的資源,設(shè)計的硬件電路合理。采用的控制算法將BP神經(jīng)網(wǎng)絡(luò)和傳統(tǒng)PID相結(jié)合,使系統(tǒng)獲得較好的調(diào)速性能,并實現(xiàn)了BP神經(jīng)網(wǎng)絡(luò)PID與MSP430G2553單片機(jī)的結(jié)合。系統(tǒng)滿足設(shè)計目標(biāo),具有很好的穩(wěn)定性和精確性,有很好的實用價值。

參考文獻(xiàn)

[1] 劉洋,周旭,孫怡寧,等.基于步法的跑步機(jī)速度跟蹤控制方法[J].傳感技術(shù)學(xué)報,2015,28(2):217?220.

[2] 徐春劍,吳一輝,武俊峰,等.基于FPGA的高精度霍爾測速方法[J].儀表技術(shù)與傳感器,2009(10):99?101.

[3] ASHEGHAN M M, M?GUEZ J. Stability analysis and robust control of heart beat rate during treadmill exercise [J]. Automatica, 2016, 63: 311?320.

[4] 柴波,邵常哲,黃淼,等.一種可監(jiān)測人體脈搏波及心率的健康鼠標(biāo)[J].現(xiàn)代電子技術(shù),2012,35(5):170?172.

[5] 張怡卓,劉步玉,馬琳.BP?PID控制方法在變量施肥控制系統(tǒng)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2012,35(5):192?194.

[6] 黃劍平.基于BP神經(jīng)網(wǎng)絡(luò)的PID控制研究[J].計算機(jī)仿真,2010,27(7):167?170.

[7] ZHANG Yanhong, ZHAO Dean Z, ZHANG Jiansheng. Research on PID controller based on the BP neural network [C]// Proceedings of 2011 International Conference on Electronic and Mechanical Engineering and Information Technology. [S.l.]: IEEE, 2011: 516?519.

猜你喜歡
BP神經(jīng)網(wǎng)絡(luò)
就bp神經(jīng)網(wǎng)絡(luò)銀行選址模型的相關(guān)研究
基于DEA—GA—BP的建設(shè)工程評標(biāo)方法研究
價值工程(2016年30期)2016-11-24 13:17:31
基于BP神經(jīng)網(wǎng)絡(luò)的旅行社發(fā)展方向研究
商情(2016年39期)2016-11-21 09:30:36
復(fù)雜背景下的手勢識別方法
BP神經(jīng)網(wǎng)絡(luò)在軟件質(zhì)量評價中的應(yīng)用研究 
BP神經(jīng)網(wǎng)絡(luò)算法在數(shù)值預(yù)報產(chǎn)品釋用中的應(yīng)用
科技視界(2016年20期)2016-09-29 14:15:12
黄石市| 宝山区| 彭山县| 开原市| 洛浦县| 台山市| 弋阳县| 昔阳县| 新野县| 奉节县| 西宁市| 上高县| 九龙县| 石景山区| 昌乐县| 横山县| 朔州市| 乌拉特中旗| 西藏| 固阳县| 东丰县| 崇文区| 小金县| 垫江县| 潮安县| 濉溪县| 通化市| 宾阳县| 通辽市| 平乐县| 拜城县| 安图县| 贵溪市| 昌宁县| 天台县| 武汉市| 都匀市| 兴安盟| 枣庄市| 巴林右旗| 东安县|