• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于BP神經(jīng)網(wǎng)絡(luò)的BLDCM換相控制系統(tǒng)設(shè)計(jì)

      2017-09-09 10:26:07石科帥忻尚芝張宇慧沈海鷹
      軟件導(dǎo)刊 2017年8期
      關(guān)鍵詞:無(wú)刷直流電機(jī)BP神經(jīng)網(wǎng)絡(luò)

      石科帥+忻尚芝+張宇慧+沈海鷹

      摘 要:直流無(wú)刷電機(jī)是一個(gè)多變量、強(qiáng)耦合的非線性系統(tǒng),針對(duì)直流無(wú)刷電機(jī)換相時(shí)抖動(dòng)比較明顯、速度調(diào)節(jié)時(shí)的準(zhǔn)確性也存在誤差等缺點(diǎn),通過(guò)無(wú)線傳輸模塊實(shí)現(xiàn)了Matlab與stm32之間的通訊,建立了基于Matlab與stm32的電機(jī)遠(yuǎn)程控制系統(tǒng),實(shí)現(xiàn)了上位機(jī)對(duì)電機(jī)的遠(yuǎn)程控制。與此同時(shí),還采用對(duì)直流無(wú)刷電機(jī)換相時(shí)間采樣與樣本訓(xùn)練分離的策略,解決了stm32的運(yùn)算能力差的問(wèn)題,并利用Matlab的強(qiáng)大運(yùn)算能力,實(shí)現(xiàn)了BP神經(jīng)網(wǎng)絡(luò)在BLDCM換相控制系統(tǒng)中的應(yīng)用。實(shí)驗(yàn)表明,基于BP神經(jīng)網(wǎng)絡(luò)的BLDCM換相控制系統(tǒng)有利于提高電機(jī)的控制精度及動(dòng)態(tài)性能。該系統(tǒng)將在智能化的控制領(lǐng)域擁有更廣闊的空間。

      關(guān)鍵詞:無(wú)刷直流電機(jī);Matlab;stm32;BP神經(jīng)網(wǎng)絡(luò)

      DOIDOI:10.11907/rjdk.171343

      中圖分類(lèi)號(hào):TP319

      文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào)文章編號(hào):1672-7800(2017)008-0079-04

      0 引言

      直流無(wú)刷電機(jī)(Brusldess DC Motor,BLDCM)具有低速大轉(zhuǎn)矩、速度范圍寬、運(yùn)行效率高、過(guò)載能力強(qiáng)、體積小、重量輕、功率大、無(wú)機(jī)械換向器控制系統(tǒng)等優(yōu)點(diǎn),廣泛應(yīng)用于電力機(jī)車(chē)、電動(dòng)自行車(chē)、城軌車(chē)輛、冰箱、空調(diào)等領(lǐng)域。但是由于電機(jī)內(nèi)部或外界的非線性干擾,直流無(wú)刷電機(jī)換相時(shí)抖動(dòng)比較明顯,速度調(diào)節(jié)時(shí)的準(zhǔn)確性也存在誤差, 大大地限制了其在精度較高的伺服系統(tǒng)中的應(yīng)用[1]。

      BP神經(jīng)網(wǎng)絡(luò)具有非線性映射逼近、分布式信息優(yōu)化處理、自適應(yīng)學(xué)習(xí)等能力,能夠很好地解決在不明確運(yùn)行環(huán)境的情況下,特別是比較復(fù)雜并且控制變量不能呈現(xiàn)線性變化的問(wèn)題[2],從而使得控制部分魯棒性能增強(qiáng),擁有適應(yīng)較高需求的動(dòng)靜態(tài)能力[3]。本文提出基于stm32和Matlab的BP神經(jīng)網(wǎng)絡(luò)控制理論,并將其應(yīng)用于無(wú)刷直流電機(jī)的換相時(shí)間控制部分,以此增強(qiáng)電機(jī)運(yùn)行的穩(wěn)定性、平滑性,從而達(dá)到準(zhǔn)確性更高、抗干擾信號(hào)能力強(qiáng)的穩(wěn)定準(zhǔn)確的控制系統(tǒng)效果。

      1 總體設(shè)計(jì)

      本設(shè)計(jì)主要流程分為3個(gè)部分:①基于stm32的換項(xiàng)到過(guò)零點(diǎn)間隔時(shí)間的數(shù)據(jù)采樣;②stm32與上位機(jī)(Matlab環(huán)境下)間的數(shù)據(jù)通信;③在設(shè)計(jì)環(huán)節(jié)中,借助于采樣數(shù)據(jù)進(jìn)行BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練,獲取BP神經(jīng)網(wǎng)絡(luò)權(quán)值,建立換項(xiàng)到過(guò)零點(diǎn)間隔與換項(xiàng)時(shí)刻的非線性映射,以此避免遭受、負(fù)載變化等外界因素對(duì)換項(xiàng)時(shí)刻的影響,提高檢測(cè)精度;在執(zhí)行環(huán)節(jié),利用建立的BP神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)電機(jī)的平穩(wěn)換向,提高電機(jī)運(yùn)行的穩(wěn)定性。系統(tǒng)的設(shè)計(jì)框架如圖1所示,包括數(shù)據(jù)采集模塊(stm32)、無(wú)線傳輸模塊(WSN-1101)和數(shù)據(jù)處理模塊(Matlab平臺(tái))[4]。

      2 基于stm32的數(shù)據(jù)采集原理及實(shí)現(xiàn)

      2.1 換相時(shí)間采集原理

      一種比較簡(jiǎn)單的做法是近似認(rèn)為轉(zhuǎn)子轉(zhuǎn)速在0~60°的小范圍區(qū)間內(nèi)基本是恒定的:從AB相開(kāi)始通電到檢測(cè)出C相過(guò)零的前半段時(shí)間,基本等于后半段的時(shí)間[5]。所以只要記錄從換相開(kāi)始到過(guò)零點(diǎn)間的時(shí)間T1,然后從當(dāng)前時(shí)刻開(kāi)始再等待相同的時(shí)間,就可以換相了。以此類(lèi)推可以得出:從AC導(dǎo)通到檢測(cè)到B相過(guò)零點(diǎn)后時(shí)間間隔T2進(jìn)行換相,BC導(dǎo)通到檢測(cè)到A相過(guò)零點(diǎn)后時(shí)間間隔T3進(jìn)行換相,BA導(dǎo)通到檢測(cè)到C相過(guò)零點(diǎn)后時(shí)間間隔T4進(jìn)行換相,CA導(dǎo)通到檢測(cè)到B相過(guò)零點(diǎn)后時(shí)間間隔T5進(jìn)行換相,CB導(dǎo)通到檢測(cè)到C相過(guò)零點(diǎn)后時(shí)間間隔T6進(jìn)行換相。即T(i)=Z(i)-P(i),其中:1≤i≤6,T(i)為檢測(cè)到過(guò)零點(diǎn)后到換相的延時(shí)時(shí)間,Z(i)為第i次反電動(dòng)勢(shì)過(guò)零點(diǎn)時(shí)刻,P(i)為第i次換相開(kāi)始時(shí)的時(shí)刻。圖2為6種通電情形下各繞組感生電動(dòng)勢(shì)和換相時(shí)間[6-7]。

      2.2 樣本更新與換相時(shí)間采集

      為了獲得從換項(xiàng)開(kāi)始到過(guò)零點(diǎn)的時(shí)間間隔與換項(xiàng)時(shí)刻的非線性映射,需要大量的樣本數(shù)據(jù)對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。為此需要按照如下步驟進(jìn)行采樣:①上位機(jī)通過(guò)串口給stm32發(fā)送已知速度指令;②進(jìn)入換相狀態(tài)時(shí)清空時(shí)間計(jì)數(shù)值Time1并進(jìn)行向上計(jì)數(shù),當(dāng)檢測(cè)到過(guò)零點(diǎn)時(shí)Time1停止向上計(jì)數(shù)并把當(dāng)前值存儲(chǔ)到對(duì)應(yīng)的ai[n]數(shù)組中;③Time1進(jìn)行向下計(jì)數(shù)直到遞減到零,并進(jìn)行換相;④循環(huán)第二步便可得到6組一維組換相時(shí)間數(shù)組,由此便可得到6個(gè)換相時(shí)間Ti:Ti=(∑j≤n-1j=0ai[j])÷n(1≤i≤6),由式(1)和式(2)可獲得當(dāng)前速度下的真實(shí)換相時(shí)間d=5/(n*p);⑤當(dāng)完成步驟④的工作時(shí),上位機(jī)通過(guò)串口給stm32發(fā)送新的速度指令,同時(shí)接收并記錄由stm32反饋過(guò)來(lái)的6個(gè)換相時(shí)間Ti;⑥重復(fù)步驟②,便可獲取多組實(shí)驗(yàn)樣本和對(duì)應(yīng)的期望值。n=60*f /p(1)

      f=30/(360*d)=1/(12*d)(2)

      其中:n代表轉(zhuǎn)速,f代表定子旋轉(zhuǎn)磁場(chǎng)的頻率,d換相時(shí)間的期望值。

      圖3為整體控制流程。

      3 stm32與上位機(jī)間數(shù)據(jù)通信

      3.1 通訊模塊硬件設(shè)計(jì)

      數(shù)據(jù)采樣模塊和樣本訓(xùn)練模塊的分離是本設(shè)計(jì)的一大亮點(diǎn),這樣既減輕了stm32的運(yùn)算和存儲(chǔ)負(fù)擔(dān),也縮短了樣本訓(xùn)練時(shí)間。遠(yuǎn)程控制與Matlab對(duì)樣本的獲取都建立在數(shù)據(jù)通訊的基礎(chǔ)上。針對(duì)無(wú)線通訊,本設(shè)計(jì)采用了一套獨(dú)立的數(shù)據(jù)收發(fā)單元,該單元基于stm32和Matlab建立,無(wú)線模塊選用WSN-1101。WSN-1101無(wú)線數(shù)傳模塊是一款高穩(wěn)定性、高性價(jià)比、低功耗的無(wú)線微功率透明數(shù)據(jù)收發(fā)模塊。

      圖4為無(wú)線通訊與設(shè)備間的連接框架,主要分為兩部分:①stm32串口的發(fā)送和接收直接與WSN-1101的接收和發(fā)送相連接;②上位機(jī)(Matlab)通過(guò)PL2303與WSN-1101建立連接。PL2303是Prolific公司生產(chǎn)的一種高度集成的RS232-USB接口轉(zhuǎn)換器,可提供一個(gè)RS232全雙工異步串行通信裝置與USB功能接口。該器件作為USB/RS232雙向轉(zhuǎn)換器,一方面從上位機(jī)接收USB數(shù)據(jù)并將其轉(zhuǎn)換為RS232信息流格式發(fā)送給WSN-1101;另一方面從RS232外設(shè)接收數(shù)據(jù)轉(zhuǎn)換為USB數(shù)據(jù)格式傳送回上位機(jī)。endprint

      為了能實(shí)現(xiàn)上位機(jī)與stm32間的通訊,還需要把兩個(gè)無(wú)線模塊設(shè)置成相同的波特率、通信頻道和地址。當(dāng)圖4右邊的設(shè)備向無(wú)線模塊2發(fā)送串口數(shù)據(jù)時(shí),無(wú)線模塊2的RXD端口收到串口數(shù)據(jù)后,自動(dòng)將數(shù)據(jù)以無(wú)線電波的方式發(fā)送到空中。無(wú)線模塊1能自動(dòng)接收到由模塊2發(fā)送過(guò)來(lái)的數(shù)據(jù),并由TXD還原最右邊設(shè)備發(fā)送的串口數(shù)據(jù)。同理,從左到右也是一樣的。

      3.2 通訊模塊程序設(shè)計(jì)

      3.2.1 stm32串口中斷服務(wù)函數(shù):速度接收與樣本發(fā)送

      keil中的部分程序如下所示:void USART3_IRQHandler(void){int rec_data, i;if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET) //判斷是否產(chǎn)生接受中斷 {USART_ClearITPendingBit(USART3,USART_IT_RXNE); //清除接收中斷 rec_data = USART_ReceiveData(USART3);//讀取接收到的數(shù)據(jù)speed = rec_data; //stm32獲得速度指令PutChar(T1);//發(fā)送上次速度指令檢測(cè)得到的六組換相時(shí)間PutChar(T2); PutChar(T3);PutChar(T4);PutChar(T5);PutChar(T6); }}

      3.2.2 Matlab和stm32之間通訊的建立:速度發(fā)送與樣本接收

      Matlab中程序如下所示[3]:Obj=serial('com3','baudrate',115200,'parity','none','databits',8,'stopbits',1);%初始化串口fopen(Obj);%連接obj和外設(shè)fwrite(Obj,'xxx','uchar');%向串口中寫(xiě)入第i次速度指令值xxxfread(Obj,6,'uint8');%在串口obj讀取上一次發(fā)送指令的6組換相時(shí)間fclose(Obj)%關(guān)閉串口設(shè)備對(duì)象objdelete(Obj)%從內(nèi)存中刪除串口對(duì)象objclear Obj%從Matlab工作區(qū)中清除串行接口對(duì)象obj由上面程序可以獲得當(dāng)速度改變時(shí)所對(duì)應(yīng)的6組換相時(shí)間T1-T6,每次改變速度所對(duì)應(yīng)的期望換相時(shí)間d可通過(guò)計(jì)算得到。寫(xiě)入Matlab中的速度變化范圍是500~1 000,變化梯度為1,這樣便可得到500個(gè)訓(xùn)練樣本。最后把獲得的樣本制作成Excel表格的形式,這樣方便下一步對(duì)樣本進(jìn)行BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。

      4 BP神經(jīng)網(wǎng)絡(luò)運(yùn)用

      4.1 基本原理

      BP神經(jīng)網(wǎng)絡(luò)處理信息的基本原理是:輸入信號(hào)Ti(n)(1≤i≤6,n代表樣本的標(biāo)號(hào)),通過(guò)中間節(jié)點(diǎn)作用于輸出節(jié)點(diǎn),經(jīng)過(guò)非線形變換,產(chǎn)生輸出信號(hào)yi(n),網(wǎng)絡(luò)訓(xùn)練的每個(gè)樣本包括輸入向量和期望輸出量d(n)、網(wǎng)絡(luò)輸出值yi(n)與期望輸出值d(n)之間的偏差,通過(guò)調(diào)整輸入節(jié)點(diǎn)與輸出節(jié)點(diǎn)的聯(lián)接強(qiáng)度取值Wij以及閾值,使誤差沿梯度方向下降,經(jīng)過(guò)反復(fù)學(xué)習(xí)訓(xùn)練,確定與最小誤差相對(duì)應(yīng)的網(wǎng)絡(luò)參數(shù)(權(quán)值和閾值),停止訓(xùn)練。此時(shí)經(jīng)過(guò)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)即能對(duì)類(lèi)似樣本的輸入信息,自行處理輸出誤差最小的經(jīng)過(guò)非線性轉(zhuǎn)換的信息。

      圖5是根據(jù)神經(jīng)網(wǎng)絡(luò)的基本原理建立的六輸入六輸出的神經(jīng)網(wǎng)絡(luò)信號(hào)流圖。

      4.2 訓(xùn)練方式選取

      網(wǎng)絡(luò)訓(xùn)練方式分為串行訓(xùn)練和集中訓(xùn)練。串行訓(xùn)練是指從訓(xùn)練樣本集中每輸入一個(gè)樣本模式和期望輸出,進(jìn)行一次BP神經(jīng)網(wǎng)絡(luò)的突觸權(quán)值更新;而集中訓(xùn)練突觸權(quán)值的更新要在組成一個(gè)回合的所有樣本向量都訓(xùn)練后才進(jìn)行。從在線運(yùn)行的觀點(diǎn)來(lái)看,訓(xùn)練的串行方式比集中方式好,因?yàn)閷?duì)每個(gè)突觸權(quán)值來(lái)說(shuō),需要更少的局部存儲(chǔ)。此外,樣本向量以隨機(jī)方式呈現(xiàn)給網(wǎng)絡(luò),利用每輸入一樣本向量就更新突觸權(quán)值的方法使得在權(quán)值空間的搜索具有隨機(jī)性,這使得反向傳播算法陷入極小局部的可能性降低。因此在網(wǎng)絡(luò)訓(xùn)練中選取串行訓(xùn)練的方式。

      反向傳播算法的學(xué)習(xí)步驟如下:

      (1)初始化。設(shè)置所有突觸權(quán)值和閾值為最小的隨機(jī)數(shù)。在沒(méi)有先驗(yàn)知識(shí)可用的情況下,可以選擇均值等于0的均勻分布來(lái)設(shè)置,該分布的方差的選擇,應(yīng)該使神經(jīng)元誘導(dǎo)局部域的標(biāo)準(zhǔn)偏差位于sigmoid激活函數(shù)的線性部分與飽和部分的過(guò)渡處。

      (2)提供輸入訓(xùn)練樣本集{T(n),d(n)}Nn=1。給出順序賦值輸入向量T(1),T(2),T(3)…,T(n)和期望輸出響應(yīng)d(n)。其中T(n)=T1(n),T2(n),T3(n),T4(n),T5(n),T6(n)。

      (3)對(duì)訓(xùn)練樣本n,計(jì)算各隱含層和輸出層的神經(jīng)元輸出,參見(jiàn)式(5)和式(6)。

      (4)對(duì)訓(xùn)練樣本n,計(jì)算誤差函數(shù)和代價(jià)函數(shù)參見(jiàn)式(3)和式(4)。

      (5)調(diào)整輸出層和隱含層的突觸權(quán)值,參見(jiàn)式(7)。

      (6)令n=n+1,返回步驟(3),直到滿足停止準(zhǔn)則。

      ej(n)=d(n)-yj(n) (3)

      ε(n)=12∑6j=1e2j(n)(4)

      υj(n)=∑6i=0ωji(n)Ti(n)(5)

      yj(n)=f(υj(n))(6)

      權(quán)值校正Δωji(n)=學(xué)習(xí)率參數(shù)η·局部梯度δj(n)·神經(jīng)元j輸入信號(hào)Ti(n)

      δj=f(vj)[1-f(vj)][dk-f(vj)](7)

      由以上訓(xùn)練可以得出輸入層與輸出層之間的權(quán)值wij(1≤i≤6,1≤j≤6),其中:i為輸入層神經(jīng)元的標(biāo)號(hào),j為輸出層神經(jīng)元的標(biāo)號(hào)。最后把訓(xùn)練好的權(quán)值發(fā)送給stm32,此時(shí)可以利用stm32軟件檢測(cè)的換向時(shí)間和權(quán)值,便可得到期望值d誤差較小的換相時(shí)間在yj,從而使電機(jī)換相平穩(wěn)、運(yùn)行速度精準(zhǔn)。

      5 結(jié)語(yǔ)

      本文建立了基于stm32和Matlab的電機(jī)控制系統(tǒng)、BP神經(jīng)網(wǎng)絡(luò)采樣系統(tǒng)和BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練系統(tǒng)。該設(shè)計(jì)方案具有智能化遠(yuǎn)程控制和操作簡(jiǎn)單的優(yōu)點(diǎn),利用BP神經(jīng)網(wǎng)絡(luò)優(yōu)秀的學(xué)習(xí)能力,能夠適應(yīng)直流無(wú)刷電機(jī)這個(gè)多變量、強(qiáng)耦合、非線性復(fù)雜系統(tǒng),引入BP神經(jīng)網(wǎng)絡(luò)控制,使系統(tǒng)對(duì)換相時(shí)間的控制具有更好的魯棒性。本文提出的BP神經(jīng)網(wǎng)絡(luò)在換相系統(tǒng)中的應(yīng)用,有利于提高電機(jī)控制精度及動(dòng)態(tài)性能。本控制系統(tǒng)的設(shè)計(jì)理念可移植到眾多控制領(lǐng)域當(dāng)中,因此,這種基于stm32和Matlab的BP神經(jīng)網(wǎng)絡(luò)控制系統(tǒng)在智能化控制領(lǐng)域?qū)?huì)擁有廣闊的應(yīng)用前景。

      參考文獻(xiàn):

      [1] 張琛.直流無(wú)刷電動(dòng)機(jī)原理及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2006.

      [2] 馮純伯,劉延年.神經(jīng)網(wǎng)絡(luò)控制的現(xiàn)狀及問(wèn)題[J].控制理論與應(yīng)用,1994,11(1):103-106.

      [3] 范磊,張運(yùn)陶,程正軍.基于Matlab的改進(jìn)BP 神經(jīng)網(wǎng)絡(luò)及其應(yīng)用[J].西華師范大學(xué)學(xué)報(bào):自然科學(xué)版,2005,26(1):70-73.

      [4] 張立材基于Matlab環(huán)境的串行數(shù)據(jù)通信[J].微計(jì)算機(jī)信息,2004,20(3):100-101

      [5] KIM Y ,KOOK Y ,KO Y.A new technique of reducing to rqueripples for BDCM drives[J].IEEE Trans on Industrial Electronics.1997,44(5):735-739.

      [6] SOMANATHAM R,PRASAD P V N,RAJKUMAR A D.Modeling and simulation of sensor less control of PM BLDC motor using zero crossing back EMF detection[C].IEEE International Symposium on Power Electronics,Electric Drives,Automation and Motion,2006:984-989.endprint

      猜你喜歡
      無(wú)刷直流電機(jī)BP神經(jīng)網(wǎng)絡(luò)
      基于無(wú)刷直流電機(jī)的濾波器設(shè)計(jì)與實(shí)現(xiàn)
      基于BP神經(jīng)網(wǎng)絡(luò)的旅行社發(fā)展方向研究
      商情(2016年39期)2016-11-21 09:30:36
      復(fù)雜背景下的手勢(shì)識(shí)別方法
      BP神經(jīng)網(wǎng)絡(luò)在軟件質(zhì)量評(píng)價(jià)中的應(yīng)用研究 
      BP神經(jīng)網(wǎng)絡(luò)算法在數(shù)值預(yù)報(bào)產(chǎn)品釋用中的應(yīng)用
      科技視界(2016年20期)2016-09-29 14:15:12
      基于模糊神經(jīng)網(wǎng)絡(luò)的無(wú)刷直流電機(jī)控制系統(tǒng)
      基于雙單片機(jī)的無(wú)刷直流電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì)
      無(wú)刷直流電機(jī)控制系統(tǒng)的Proteus仿真
      科技視界(2015年27期)2015-10-08 11:38:06
      翁源县| 沙湾县| 延边| 安宁市| 霍邱县| 托克逊县| 吉林市| 淮南市| 林周县| 富阳市| 建德市| 山东省| 景德镇市| 肥东县| 望城县| 钟山县| 威海市| 恩施市| 乐安县| 金华市| 化州市| 唐海县| 新营市| 界首市| 东丰县| 昆山市| 卢氏县| 皋兰县| 黔西县| 陵水| 沛县| 大英县| 蒙山县| 会理县| 明水县| 特克斯县| 临猗县| 普兰县| 阿克| 蒙城县| 三门峡市|