蔣龍,施衛(wèi),王浩,俞美鑫
(江蘇理工學(xué)院機(jī)械工程學(xué)院,江蘇常州,213000)
隨著技術(shù)的進(jìn)步在我們?nèi)粘I钪袑?duì)電機(jī)的使用越來越頻繁,無論是汽車領(lǐng)域還是工控領(lǐng)域,以及醫(yī)療器械和航空領(lǐng)域都對(duì)電機(jī)有廣泛的應(yīng)用。而電機(jī)又根據(jù)驅(qū)動(dòng)方式以及結(jié)構(gòu)的不同而分為很多種。其中無刷直流電機(jī)因?yàn)槠浜?jiǎn)單的結(jié)構(gòu)、較高的性價(jià)比、相對(duì)穩(wěn)定的運(yùn)行效果、比較好的效率等優(yōu)勢(shì)逐漸占據(jù)著更大的市場(chǎng)。因此一個(gè)更高效、更穩(wěn)定的無刷直流電機(jī)的控制系統(tǒng)的研究就顯得特別重要。
而本次控制系統(tǒng)的設(shè)計(jì)使用單片機(jī)通過遺傳算法和PID控制的系統(tǒng)優(yōu)化來控制PWM 調(diào)速可以使調(diào)速更加準(zhǔn)確、響應(yīng)速度更快。目前有多種方法可以對(duì)PID 參數(shù)進(jìn)行整定,如間接尋優(yōu)法,梯度法,爬山發(fā)等[1]。如這幾個(gè)對(duì)參數(shù)進(jìn)行優(yōu)化的方法雖然能夠?qū)?shù)進(jìn)行一定程度的改善,但是也有它的短板。比如說系統(tǒng)的最初值一般對(duì)這樣的方法影響比較大,不合適的系統(tǒng)最初值會(huì)引起系統(tǒng)超調(diào)量的過大,很高的超調(diào)量數(shù)值對(duì)參數(shù)優(yōu)化有不好的影響。因此,本文提出一種將PID 參數(shù)使用遺傳算法來優(yōu)化。使用遺傳算法不僅在選擇不合適的最初值的時(shí)候依然可以有很好的參數(shù)優(yōu)化的效果使參數(shù)優(yōu)化更加的可靠,而且遺傳算法沒有特別冗雜的規(guī)則,使它優(yōu)化參數(shù)的速度可以更快。最后通過改進(jìn)的控制器以18N22P 的無刷直流電機(jī)為對(duì)象進(jìn)行實(shí)驗(yàn)并進(jìn)行了仿真分析。
無刷直流電機(jī)的控制是使用電力電子器件代替有刷直流電機(jī)中的換相裝置,電機(jī)轉(zhuǎn)子的位置信息由霍爾傳感器采集,然后將轉(zhuǎn)子的位置信息輸入到系統(tǒng)的主控芯片中,芯片將信號(hào)信息經(jīng)過處理后通過控制功率電子器件的關(guān)斷來控制電機(jī)的換相,而芯片與上位機(jī)的信息的交換是通過CAN總線實(shí)現(xiàn)的,從上位機(jī)得到的設(shè)定轉(zhuǎn)速[2]。然后根據(jù)模塊采集到的電壓和電路的信息由芯片控制輸出管腳的調(diào)制脈沖來通過調(diào)節(jié)電壓來實(shí)現(xiàn)無刷直流電機(jī)的速度的調(diào)節(jié)。以保證無刷直流電機(jī)能夠穩(wěn)定高效的運(yùn)行。
無刷直流電機(jī)想要穩(wěn)定的運(yùn)行必須有合適的硬件和軟件的相互作用,為了提升控制器的魯棒性需要設(shè)計(jì)比較合適的硬件電路,一個(gè)好的軟件設(shè)計(jì)流程能夠保證控制器的性能。本文設(shè)計(jì)以NXP 公司的MC9S12XET256 作為核心控制單元。系統(tǒng)結(jié)構(gòu)如圖1 所示。
圖1 無刷電機(jī)控制系統(tǒng)框圖
工作中的無刷電機(jī)根據(jù)從霍爾傳感器得到的轉(zhuǎn)子位置信息由CPU 按照電機(jī)轉(zhuǎn)動(dòng)的邏輯換相表來根據(jù)轉(zhuǎn)子位置信息進(jìn)而控制電機(jī)轉(zhuǎn)向中的功率放大芯片的哪兩個(gè)引腳輸出相應(yīng)的控制信號(hào)來控制驅(qū)動(dòng)電路中MOS 管的導(dǎo)通或截至。另外,對(duì)電機(jī)轉(zhuǎn)速的測(cè)量也是通過位置檢測(cè)電路所采集的轉(zhuǎn)子位置的信號(hào)通過對(duì)轉(zhuǎn)子位置信號(hào)的變化速率使用MC9S12XET256 芯片內(nèi)的定時(shí)器和計(jì)數(shù)器模塊可換算出電機(jī)的轉(zhuǎn)速。因?yàn)楹笃谛枰尤胨惴ǖ目刂?,所以需要通過0.01 歐姆的采樣電阻來采集電流信號(hào)將其轉(zhuǎn)換成電壓信號(hào)輸入到芯片的A/D 轉(zhuǎn)換模塊中來?yè)Q算成電流大小。本次的設(shè)計(jì)CPU 是依靠CAN 通訊模塊來實(shí)現(xiàn)與上位機(jī)的信息的交換進(jìn)而實(shí)現(xiàn)電機(jī)的調(diào)速和啟停。
主控系統(tǒng)一般是5V 或12V 供電,無法滿足直流電機(jī)的驅(qū)動(dòng)要求,然而需要主控芯片產(chǎn)生的PWM 波來控制電機(jī)的轉(zhuǎn)速,所以需要設(shè)計(jì)驅(qū)動(dòng)電路來實(shí)現(xiàn)低壓對(duì)高壓的控制。本文選用的驅(qū)動(dòng)芯片是IR2130,用于無刷電機(jī)換相的電力電子器件選用的MOS 管是IRF530NS,IR2130 芯片是常用的驅(qū)動(dòng)芯片用于驅(qū)動(dòng)MOS 管剛好合適。
對(duì)電機(jī)速度的調(diào)節(jié)是通過脈寬調(diào)制來改變芯片的控制信號(hào)的脈沖來控制驅(qū)動(dòng)電機(jī)的電壓值來完成的。想要實(shí)現(xiàn)對(duì)信號(hào)的脈寬調(diào)制需要確定時(shí)鐘頻率,然后根據(jù)接收到的設(shè)定的速度確定脈寬調(diào)制模塊的周期以及計(jì)算出相應(yīng)的調(diào)制波的占空比,改變占空比后的調(diào)制波輸出控制電力電子開關(guān)開通和關(guān)閉的時(shí)間來實(shí)現(xiàn)對(duì)電機(jī)中樞電壓的控制??刂瞥绦虺虉D如圖3 所示。
圖3 控制程序流程圖
目前控制系統(tǒng)中對(duì)PID 控制應(yīng)用最為廣泛。PID 控制是通過對(duì)系統(tǒng)函數(shù)加入合適的比例、積分和微分模塊進(jìn)行調(diào)整。PID 控制系統(tǒng)中最核心的部分就是對(duì)PID 參數(shù)的選用,參數(shù)選取的好壞決定了整個(gè)系統(tǒng)是否穩(wěn)定、是否高效。傳統(tǒng)的PID 控制系統(tǒng)對(duì)參數(shù)的選擇通常是根據(jù)大量的實(shí)驗(yàn)以及作業(yè)人員的經(jīng)驗(yàn)來得到的,這種方法不僅耗費(fèi)大量的人力物力而且這樣通常無法得到比較理想的PID 參數(shù)。
遺傳算法的理論基礎(chǔ)是生物界以及自然遺傳,其按照生物進(jìn)化的方式來進(jìn)行目標(biāo)的尋優(yōu)。其能夠?qū)θ诌M(jìn)行概率搜索并且它最明顯的優(yōu)勢(shì)是在大范圍而且特別復(fù)雜的數(shù)據(jù)中能夠更快的找出最優(yōu)解[3]。
遺傳算法是通過仿照生物進(jìn)化的過程類似基因編碼一樣進(jìn)行對(duì)參數(shù)變量進(jìn)行編碼,一般都是采用二進(jìn)制形式的編碼方式。而使用不一樣的方式對(duì)參數(shù)變量進(jìn)行編碼也就形成了不一樣的遺傳算法。
遺傳算法的評(píng)判指標(biāo)是根據(jù)適應(yīng)度函數(shù)的好壞來判斷的,而且它還決定著后續(xù)染色體該如何選擇。依靠對(duì)群體中的一般個(gè)體進(jìn)行交叉和變異來進(jìn)一步實(shí)現(xiàn)群體的優(yōu)化迭代,在運(yùn)算的過程中,種群的一步步的優(yōu)化,一步步的靠近最理想的參數(shù)的組合[4]。
(1)首先需要根據(jù)控制系統(tǒng)的狀態(tài)方程對(duì)參數(shù)的范圍進(jìn)行確定,接著按一定的適配度來編碼參數(shù)使其與二進(jìn)制的字符串一一對(duì)應(yīng),而遺傳算法就是對(duì)長(zhǎng)的編碼串進(jìn)行作用[5]。開環(huán)比例增益KD,電流環(huán)比例增益Ki 以及速度環(huán)比例增益Ks 三個(gè)參數(shù)均為實(shí)數(shù)[6]。編碼方式如下:
其中c 和d 是KD,Ki,Ks 三個(gè)參數(shù)的最小值和最大值,n 為根據(jù)參數(shù)確定的基因長(zhǎng)度,l 是被編碼成二進(jìn)制的參數(shù)。
(2)穩(wěn)定性,準(zhǔn)確性以及快速性作為系統(tǒng)好壞的衡量因素[7]。在普通的參數(shù)優(yōu)化方法中因?yàn)槭瓜到y(tǒng)的動(dòng)態(tài)性質(zhì)達(dá)到較好的效果可能導(dǎo)致過大的控制信號(hào)而產(chǎn)生系統(tǒng)不穩(wěn)定的性質(zhì)。為了使系統(tǒng)不僅動(dòng)態(tài)性質(zhì)較好還要使系統(tǒng)穩(wěn)定性強(qiáng),所以應(yīng)該加入控制量。最優(yōu)指標(biāo)的參數(shù)選區(qū):
(3)在群體中選擇適應(yīng)度較高的個(gè)體用來當(dāng)作父代是通過適應(yīng)度來判定的,這也是適者生存現(xiàn)象的一種體現(xiàn)。輪盤賭之所以被普遍的應(yīng)用主要是因?yàn)槠浞椒ň捅容^簡(jiǎn)單。以適應(yīng)度值作為對(duì)群體中個(gè)體進(jìn)行比較的依據(jù),其概率為:
(4)交叉操作作為遺傳算法的重要一步,就是將其中一部分的編碼進(jìn)行交換之后在重組從而由兩父代個(gè)體重組形成兩個(gè)新的個(gè)體。從而實(shí)現(xiàn)更快的全局搜索。
父代個(gè)體C:110010 ↑0100 →1100101011 新個(gè)體
代個(gè)體D:110010 ↑1011 →1100100100 新個(gè)體
(5)變異就是隨機(jī)的按照一定的概率將群體中的個(gè)體改變其編碼值。遺傳算法里普通情況下取0.001 ~0.1 作為變異發(fā)生的概率[8]。遺傳算法就算依靠變異來加強(qiáng)的隨機(jī)搜索的功能的,而且能夠使群體保持其多樣性。
實(shí)驗(yàn)電機(jī)的參數(shù)如表1 所示。
表1 直流電機(jī)的基本參數(shù)
根據(jù)直流電機(jī)的基本參數(shù)可計(jì)算出電機(jī)的電動(dòng)勢(shì)的系數(shù)是:
電機(jī)的電樞回路的電磁時(shí)間常數(shù)是:
電機(jī)系統(tǒng)的時(shí)間常數(shù)是:
根據(jù)電機(jī)的運(yùn)動(dòng)特性,可以建立應(yīng)該傳遞函數(shù)是:
圖4 電機(jī)控制器與運(yùn)行環(huán)境
通過對(duì)元器件的選型完成對(duì)電機(jī)控制器的開發(fā)以及對(duì)電機(jī)運(yùn)行環(huán)境的搭建。如圖4 所示。
對(duì)電機(jī)的運(yùn)行情況在上位機(jī)使用Hantek6022BE 來進(jìn)行監(jiān)控可得結(jié)果如圖5 所示。
應(yīng)用Matlab/simulink 進(jìn)行仿真來驗(yàn)證遺傳算法和PID在電機(jī)控制系統(tǒng)中的應(yīng)用效果[9]。電機(jī)的仿真模型如圖6所示。
圖5 電機(jī)運(yùn)行狀態(tài)
圖6 電機(jī)仿真模型
運(yùn)行仿真程序可得:
優(yōu)化前的結(jié)果為:系統(tǒng)運(yùn)行的最大超調(diào)量的值是36.893%;
系統(tǒng)運(yùn)行達(dá)到峰值的時(shí)間是0.127s;
系統(tǒng)運(yùn)行到穩(wěn)態(tài)所需的時(shí)間是0.324s;
優(yōu)化后的結(jié)果為:系統(tǒng)運(yùn)行的最大超調(diào)量的值是2.732%;
系統(tǒng)運(yùn)行達(dá)到峰值的時(shí)間是0.115s;
系統(tǒng)運(yùn)行到穩(wěn)態(tài)所需的時(shí)間是0.215s;
仿真結(jié)果圖如圖7 所示。
圖7 優(yōu)化前后系統(tǒng)運(yùn)行曲線
設(shè)計(jì)了基于MC9S12XET256 芯片的電機(jī)控制系統(tǒng),應(yīng)用遺傳算法對(duì)電機(jī)控制系統(tǒng)的PID 參數(shù)進(jìn)行了優(yōu)化,由實(shí)驗(yàn)的結(jié)果來看,電機(jī)的控制系統(tǒng)參數(shù)達(dá)到峰值的時(shí)間以及參數(shù)調(diào)整的時(shí)間明顯變短,而且系統(tǒng)的超調(diào)量大大的減小了。不僅達(dá)到了使系統(tǒng)更快響應(yīng)的目的而且超調(diào)量的大大減小會(huì)使系統(tǒng)更加的穩(wěn)定。因此在PID 控制中使用遺傳算法進(jìn)行參數(shù)的優(yōu)化確實(shí)能夠得到更好的結(jié)果。