版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 學士學位論文</b></p><p> 基于MCU的通用控制器設(shè)計</p><p> 院 系:</p><p> 學 號:</p><p> 專業(yè)名稱:</p><p> 學生姓名:</p><p> 指導老師:</p>
2、;<p> 起訖日期:</p><p> 設(shè)計地點:</p><p> 基于MCU的通用控制器設(shè)計</p><p> 摘要:電機控制器的發(fā)展朝著集成化和通用化的方向發(fā)展著。目前,電機控制專用集成電路芯片技術(shù)已經(jīng)比較成熟,電機控制專用集成電路芯片的種類也十分齊全,但在通用性上還顯得不足。而且,電機控制專用集成電路品種規(guī)格繁多,產(chǎn)品資料和應(yīng)用資料豐富,
3、但是又很分散,需要花時間收集整理、分析消化,研究電機的通用控制器很有必要。</p><p> 本次設(shè)計先用MATLAB對PID控制器進行仿真,計算,包括參數(shù)整定,加深對控制器和離散算法的認識,再進一步探索雙閉環(huán)反饋的控制器算法。然后在基于STM32的電機控制電路中進行檢驗,以便進一步優(yōu)化算法。</p><p> 這次設(shè)計的通用控制器其通用性主要體現(xiàn)在兩個方面:一是PID控制器結(jié)構(gòu)的通用
4、性即可以選擇單閉環(huán),雙環(huán),甚至三環(huán)控制,對不需要的控制只需要將該參數(shù)設(shè)置為0;二是PID參數(shù)的通用性,即可以很方便的對PID參數(shù)進行調(diào)整,以適應(yīng)實際的需求。</p><p> 就目前的研究結(jié)果來看,理論研究基本完成,亦根據(jù)實際情況擬合出了電機轉(zhuǎn)速與占空比之間的函數(shù)關(guān)系,將這種關(guān)系應(yīng)用在簡單的單閉環(huán)控制中取得了很好的效果,在不使用這種關(guān)系,亦對PID參數(shù)進行了整定,還需要進一步檢驗PID算法對實際電機控制的效果,
5、提高其通用性。</p><p> 關(guān)鍵詞;STM32;通用控制器;PID;MATLAB仿真</p><p> Design of MCU Based Universal Controller </p><p> Abstract: The motor controller is becoming more and more integrated and uni
6、versal . At present, the technology of motor control ASIC chip is relatively mature, the types are also very complete, but it lacks universality partly. Moreover, there are varieties specifications, product information a
7、nd application data but very scattered, it takes lots of time to collect and analyze them.So the study of the universal motor controller is necessary. In the design , firstly the MATLAB is used to emul</p><
8、;p><b> 目錄</b></p><p><b> 1、緒論2</b></p><p><b> 1.1 引言2</b></p><p> 1.2研究現(xiàn)狀與發(fā)展趨勢2</p><p> 1.3 本課題的研究目的和主要研究內(nèi)容3</p>
9、<p> 2、直流電機調(diào)速控制系統(tǒng)分析及MATLAB仿真4</p><p> 2.1 原理分析4</p><p> 2.1.1 直流電機基本調(diào)速方法與PWM4</p><p> 2.1.2 直流電機調(diào)速系統(tǒng)5</p><p> 2.2 MATLAB仿真6</p><p> 2.2.1電機
10、控制系統(tǒng)數(shù)學模型的推導6</p><p> 2.2.2 Simulink仿真7</p><p> 2.3系統(tǒng)離散化16</p><p> 2.4狀態(tài)空間法與串行算法模擬并行的探索18</p><p> 2.4.1狀態(tài)空間法的啟示18</p><p> 2.4.2算法的探索19</p>
11、<p> 3、實踐設(shè)計篇21</p><p> 3.1整體方案設(shè)計21</p><p> 3.2硬件部分22</p><p> 3.2.1 STM32開發(fā)板22</p><p> 3.2.2電機驅(qū)動電路22</p><p> 3.2.3正交編碼器測轉(zhuǎn)速23</p>&l
12、t;p> 3.2.4穩(wěn)壓電源電路24</p><p> 3.3軟件模塊25</p><p> 3.3.1PWM生成子程序25</p><p> 3.3.2串口模塊—速度給定與速度顯示26</p><p> 3.3.3速度測定與方向判斷子程序27</p><p> 3.3.4 PID算法模塊
13、27</p><p> 4、實踐檢驗篇29</p><p> 4.1 實物連接圖29</p><p> 4.2用MATLAB曲線擬合方法確定占空比與空載電機轉(zhuǎn)速的關(guān)系29</p><p> 4.3簡單閉環(huán)控制試驗32</p><p> 4.4 PID算法試驗33</p><p&g
14、t; 4.5第二次PID算法試驗34</p><p> 5、總結(jié)與改進37</p><p><b> 5.1總結(jié)37</b></p><p> 5.2改進的一些思路37</p><p><b> 致謝39</b></p><p><b> 參考
15、文獻40</b></p><p> 基于MCU的通用控制器設(shè)計</p><p><b> 1、緒論</b></p><p><b> 1.1 引言</b></p><p> 運動控制系統(tǒng)是以機械運動的驅(qū)動設(shè)備——電動機為控制對象,以控制器為核心,以電力電子功率變換裝置為執(zhí)行機構(gòu)
16、,在自動控制理論指導下組成的電力傳動自動控制系統(tǒng),這類系統(tǒng)控制電機的轉(zhuǎn)矩,轉(zhuǎn)速和轉(zhuǎn)角,將電能轉(zhuǎn)換為機械能,實現(xiàn)運動機械的控制。</p><p> 縱觀運動控制系統(tǒng)的發(fā)展歷程,交,直流兩大電氣傳動并存于各個工業(yè)領(lǐng)域,雖然各個時期科學技術(shù)的發(fā)展使他們所處的地位,所起的作用不同,但他們始終是隨著工業(yè)的發(fā)展,特別是電力電子和微電子技術(shù)的發(fā)展,在相互競爭,相互促進中,不斷完善并發(fā)生著變化。由于歷史上最早出現(xiàn)的是直流電動機
17、,所以19世紀80年代以前,直流電氣傳動是唯一的電氣傳動方式。直到19世紀末,出現(xiàn)了交流電動機,這才使得交流電氣傳動在工業(yè)中逐步得到廣泛應(yīng)用。</p><p> 隨著生產(chǎn)技術(shù)的發(fā)展,對電氣傳動在啟制動,正反轉(zhuǎn)以及調(diào)速精度,調(diào)速范圍,靜態(tài)特性,動態(tài)響應(yīng)等方面提出了更高的要求,這就要求大量使用調(diào)速系統(tǒng),由于直流電動機的調(diào)速性能和轉(zhuǎn)矩控制性能好,從20世紀30年代起,就開始使用直流調(diào)速系統(tǒng)。它的發(fā)展過程是這樣的,由最
18、早的旋轉(zhuǎn)交流機組控制發(fā)展為放大機,磁放大機控制;再進一步,用靜止的晶閘管變流裝置和模擬控制器實現(xiàn)直流調(diào)速;再后來,用可控整流和大功率晶體管組成的PWM控制電路實現(xiàn)數(shù)字化的直流調(diào)速,使系統(tǒng)的快速性,可靠性,經(jīng)濟性不斷提高。調(diào)速性能的不斷提高,使直流調(diào)速系統(tǒng)的應(yīng)用非常廣泛,然而由于直流電動機具有電刷和換向器,制造工藝復(fù)雜且成本高,維護麻煩,使用環(huán)境受到限制等缺點,并且很難向高轉(zhuǎn)速,高電壓,大容量發(fā)展,逐漸顯示出直流調(diào)速的弱點。</p&
19、gt;<p> 普遍應(yīng)用于恒速運行場合的交流電動機,可以彌補直流電動機的不足。于是人們又開始了新一輪交流調(diào)速的研究。僅對占傳動總量三分之一強的風機,水泵設(shè)備而言,如果改恒速為調(diào)速的話,就可以節(jié)電30%左右。近三四十年來,隨著電力電子技術(shù),微電子技術(shù),現(xiàn)代控制理論的發(fā)展,為交流調(diào)速產(chǎn)品的開發(fā)創(chuàng)造了有利條件,并實現(xiàn)了產(chǎn)品的系列化。從調(diào)速性能看,完全可與直流調(diào)速系統(tǒng)媲美[]。</p><p> 現(xiàn)代電
20、動機自動控制的真正的發(fā)展是以電力電子器件的發(fā)展和應(yīng)用為基礎(chǔ)的。而微處理器的應(yīng)用使電氣傳動控制技術(shù)再次發(fā)生了巨大地變革,使用微處理器實現(xiàn)數(shù)字化控制不僅可以簡化控制硬件,而且可以加入人工智能對系統(tǒng)運行狀態(tài)進行診斷,這對電氣傳動控制系統(tǒng)的發(fā)展產(chǎn)生了深遠影響[]。</p><p> 1.2研究現(xiàn)狀與發(fā)展趨勢</p><p> 微處理器誕生于上個世紀七十年代,隨著集成電路大規(guī)模及超大規(guī)模集成電路
21、制造工藝的迅速發(fā)展,微處理器的性價比越來越高。此外,由于電力電子技術(shù)的發(fā)展,制作工藝的提升,使得大功率電子器件的性能迅速提高。為微處理器普遍用于控制電機提供了可能,利用微處理器控制電機完成各種新穎的、高性能的控制策略,使電機的各種潛在能力得到充分的發(fā)揮,使電機的性能更符合工業(yè)生產(chǎn)使用要求,還促進了電機生產(chǎn)商研發(fā)出各種如步進電機、無刷直流電機、開關(guān)磁阻電動機等便于控制且實用的新型電機,使電機的發(fā)展出現(xiàn)了新的變化。</p>&
22、lt;p> 對于簡單的微處理器控制電機,只需利用用微處理器控制繼電器、電子開關(guān)元器件,使電路開通或關(guān)斷就可實現(xiàn)對電機的控制?,F(xiàn)在帶微處理器的可編程控制器,已經(jīng)在各種的機床設(shè)備和各種的生產(chǎn)流水線中普遍得到應(yīng)用,通過對可編程控制器進行編程就可以實現(xiàn)對電機的規(guī)律化控制。對于復(fù)雜的微處理器控制電機,則要利用微處理器控制電機的電壓、電流、轉(zhuǎn)矩、轉(zhuǎn)速、轉(zhuǎn)角等,使電機按給定的指令準確工作。通過微處理器控制,可使電機的性能有很大的提高。目前相比
23、直流電機和交流電機他們各有所長,如直流電機調(diào)速性能好,但帶有機械換向器,有機械磨損及換向火花等問題;交流電機,不論是異步電機還是同步電機,結(jié)構(gòu)都比直流電機簡單,工作也比直流電機可靠,但在頻率恒定的電網(wǎng)上運行時,它們的速度不能方便而經(jīng)濟地調(diào)節(jié)。高性能的微處理器如DSP (Digital Signal Processor)即數(shù)字信號處理器)的出現(xiàn),為采用新的控制理論和控制策略提供了良好的物質(zhì)基礎(chǔ),使電機傳動的自動化程度大為提高。在先進的
24、數(shù)控機床等數(shù)控位置伺服系統(tǒng),已經(jīng)采用了如DSP等的高速微處理器,其執(zhí)行速度可達數(shù)百萬兆以上每秒,且具有適合的矩陣運算。</p><p> 采用微處理器控制,使整個調(diào)速系統(tǒng)的數(shù)字化程度,智能化程度有很大改觀;采用微處理器控制,使調(diào)速系統(tǒng)在結(jié)構(gòu)上簡單化,可靠性提高,操作維護變得簡捷,電機穩(wěn)態(tài)運行時轉(zhuǎn)速精度等方面達到較高水平。由于微處理器具有較佳的性價比,所以微處理器在工業(yè)過程及設(shè)備控制中得到日益廣泛的應(yīng)用。<
25、/p><p> 當前基于單片機設(shè)計的控制器門類繁多,且多為實用性和針對性很強的控制器,有基于改進模糊控制等算法的中央空調(diào)的控制器[],有復(fù)雜的基于AVR單片機針對機床自動變速箱的通用控制器[],也有簡單的僅僅依靠按鍵與數(shù)碼管顯示的51單片機控制器[]。</p><p> 1.3 本課題的研究目的和主要研究內(nèi)容</p><p> 電機控制器的發(fā)展朝著集成化和通用化的
26、方向發(fā)展著。目前,電機控制專用集成電路芯片技術(shù)已經(jīng)比較成熟,電機控制專用集成電路芯片的種類也十分齊全,但在通用性上還顯得不足。而且,電機控制專用集成電路品種規(guī)格繁多,產(chǎn)品資料和應(yīng)用資料豐富,但是又很分散,需要花時間收集整理、分析消化。</p><p> 本課題著力于研究電機控制器的通用化開發(fā)。利用MCU編寫在一定領(lǐng)域具有通用功能的控制器程序,借鑒MATLAB的信號流圖,研究通過下載設(shè)定的參數(shù),在MCU程序的解釋
27、下,實現(xiàn)其控制功能的通用性。本設(shè)計的通用性主要展現(xiàn)在兩個方面:一是PID控制器結(jié)構(gòu)的通用性即可以根據(jù)反饋的情況選擇單閉環(huán),雙環(huán),甚至三環(huán)控制;二是參數(shù)的通用性,即可以很方便的對PID參數(shù)進行調(diào)整,以適應(yīng)實際的需求。</p><p> 由于采用近幾年最最主流的STM32微處理器,應(yīng)用新控制理論和方法,使實現(xiàn)實時控制成為可能,并且增加了系統(tǒng)功能和柔性。具有控制靈活,智能化水平高,參數(shù)易修改等優(yōu)點,從而達到很高的控制
28、精度和良好的穩(wěn)定性。</p><p> 2、直流電機調(diào)速控制系統(tǒng)分析及MATLAB仿真</p><p><b> 2.1 原理分析</b></p><p> 2.1.1 直流電機基本調(diào)速方法與PWM</p><p> 直流電動機分為有換向器和無換向器兩大類。直流電動機調(diào)速系統(tǒng)最早采用恒定直流電壓給直流電動機供電,
29、通過改變電樞回路中的電阻來實現(xiàn)調(diào)速。這種方法簡單易行,設(shè)備制造方便,價格低廉;但缺點是效率低,機械特性軟,不能得到較寬和平滑的調(diào)速性能。該法只適用在一些小功率且調(diào)速范圍要求不大的場合。30年代末期,發(fā)電機-電動機系統(tǒng)的出現(xiàn)才使調(diào)速性能優(yōu)異的直流電動機得到廣泛應(yīng)用。這種控制方法可獲得較寬的范圍,較小的轉(zhuǎn)速變化率和調(diào)速性能。但此方法的主要缺點是系統(tǒng)重量大,占地多,效率低及維修困難。近年來,隨著電力電子的迅速發(fā)展,有晶閘管變流器供電的直流電動
30、機調(diào)速系統(tǒng)以取代了發(fā)電機-電動機調(diào)速系統(tǒng),它的調(diào)速性能遠遠超過了發(fā)電機-電動機調(diào)速系統(tǒng)。特別是大規(guī)模集成電路技術(shù)以及計算機的飛速發(fā)展,使直流電動機調(diào)速系統(tǒng)的精度,動態(tài)性能,可靠性有了更大的提高。電力電子技術(shù)中的IGBT等大功率器件的發(fā)展取代晶閘管,出現(xiàn)了性能更好的直流調(diào)速系統(tǒng)。</p><p> 直流電動機的轉(zhuǎn)速n和其他參量的關(guān)系可表示為</p><p><b> (2.1)
31、</b></p><p> 式中:為電樞供電電壓(V),為電樞電流(A),為勵磁磁通(Wb),為電樞回路總阻,為電勢系數(shù)</p><p> 由(2.1)式可見,直流電動機調(diào)速方案可有以下三種。</p><p> 1.電樞串電阻調(diào)速:由于電阻耗能大,機械特性軟,調(diào)速范圍窄,不能實現(xiàn)無級平滑調(diào)速,只用于一些要求不高的場合。</p><
32、;p> 2.弱磁調(diào)速:弱磁調(diào)速雖然能實現(xiàn)平滑調(diào)速,但其調(diào)速范圍太小,特性較軟,因而只是在額定轉(zhuǎn)速以上作小范圍升速時才采用。</p><p> 3.調(diào)壓調(diào)速:調(diào)壓調(diào)速可實現(xiàn)額定轉(zhuǎn)速以下大范圍平滑調(diào)速,并且在整個調(diào)速范圍內(nèi)機械特性硬度不變。這種方法在直流電力拖動系統(tǒng)中被廣泛采用[] []。</p><p> 對直流電機電樞電壓的控制和驅(qū)動中,對半導體功率器件的使用上又可分為兩種方式
33、:線性放大驅(qū)動方式和開關(guān)驅(qū)動方式。絕大多數(shù)情況下采用開關(guān)驅(qū)動方式。這種方式使半導體功率器件工作在開關(guān)狀態(tài),通過脈寬調(diào)制PWM 來控制電動機的電樞電壓,實現(xiàn)調(diào)速。</p><p> 圖2-1 PWM 調(diào)速控制和電壓波形圖</p><p> 圖2-1 是利用開關(guān)管對直流電動機進行PWM 調(diào)速控制的原理圖和輸入輸出電壓波形圖。</p><p> 電動機的電樞繞組兩端
34、的電壓平均值為</p><p><b> ?。?.2)</b></p><p> 式中:為占空比,,它表示了在一個周期T內(nèi),開關(guān)管道通的時間與周期的比值,的取值范圍為:</p><p> 由公式(2.2)可知,當電源電壓 不變的情況下,電樞電壓的平均值取決于平均值 取決于占空比 的大小,改變 值就可以改變端電壓的平均值,達到調(diào)速的目的,這就
35、是PWM調(diào)速原理。</p><p> 在PWM 調(diào)速時,占空比是一個重要參數(shù)。以下3 種方法都可以改變占空比的值。</p><p> ?。?)定寬調(diào)頻法:保持不變,只改變,使周期與頻率也隨之改變。</p><p> (2)調(diào)寬調(diào)頻法:保持 不變,只改變,使周期與頻率也隨之改變。</p><p> ?。?)定頻調(diào)寬法:使周期保持不變,同時改
36、變,。</p><p> 前兩種方法在調(diào)速時,改變了控制脈沖的周期,當控制脈沖的頻率與系統(tǒng)的固有頻率接近時,將會產(chǎn)生震蕩,因此很少用。目前主要用定頻調(diào)寬法[]。</p><p> 2.1.2 直流電機調(diào)速系統(tǒng)</p><p> 本次試驗選用的是小功率的直流電機,根據(jù)本次設(shè)計的要求,僅對與本實驗相關(guān)部分的理論進行闡述。</p><p>&
37、lt;b> 1.開環(huán)系統(tǒng)</b></p><p> 直接發(fā)出指令,產(chǎn)生信號,改變直流電機電樞端電壓,達到調(diào)節(jié)電機速度的目的。優(yōu)點是結(jié)構(gòu)簡單,缺點是不能同時滿足調(diào)速范圍和靜差率的要求,機械特性軟,調(diào)速范圍窄。應(yīng)用于靜差率要求不高的無級調(diào)速場合。</p><p> 2.轉(zhuǎn)速負反饋的單閉環(huán)調(diào)速系統(tǒng)</p><p> 轉(zhuǎn)速反饋電壓與轉(zhuǎn)速指令電壓相比
38、較形成偏差電壓,偏差電壓作為輸入信號,后與開環(huán)電路相同。該方法的優(yōu)點是:與開環(huán)系統(tǒng)相比,機械特性較硬、靜差率較小、一定靜差率的調(diào)速范圍提高了;缺點是起動和堵轉(zhuǎn)電流過大,對電機換向不利。改進提高措施:加偏差調(diào)節(jié)器或限流措施。目前,有三種改進措施:增加電流截止負反饋環(huán)節(jié)電壓負反饋代替轉(zhuǎn)速負反饋的單閉環(huán)直流調(diào)速系統(tǒng)、以電壓負反饋加電流補償控制代替轉(zhuǎn)速負反饋。</p><p> 3.轉(zhuǎn)速、電流雙閉環(huán)調(diào)速系統(tǒng)</p
39、><p> 直流電機雙閉環(huán)(電流環(huán)、轉(zhuǎn)速環(huán))調(diào)速系統(tǒng)是一種當前應(yīng)用廣泛,經(jīng)濟,適用的電力傳動系統(tǒng)。它具有動態(tài)響應(yīng)快、抗干擾能力強優(yōu)點。我們知道反饋閉環(huán)控制系統(tǒng)具有良好的抗擾性能,它對于被反饋環(huán)的前向通道上的一切擾動作用都能有效的加以抑制。采用轉(zhuǎn)速負反饋和PI調(diào)節(jié)器的單閉環(huán)調(diào)速系統(tǒng)可以在保證系統(tǒng)穩(wěn)定的條件下實現(xiàn)轉(zhuǎn)速無靜差。但如果對系統(tǒng)的動態(tài)性能要求較高,例如要求起制動、突加負載動態(tài)速降小等等,單閉環(huán)系統(tǒng)就難以滿足要求
40、。這主要是因為在單閉環(huán)系統(tǒng)中不能完全按照需要來控制動態(tài)過程的電流或轉(zhuǎn)矩。在單閉環(huán)系統(tǒng)中,只有電流截至負反饋環(huán)節(jié)是專門用來控制電流的。但它只是在超過臨界電流值以后,強烈的負反饋作用限制電流得沖擊,并不能很理想的控制電流的動態(tài)波形。</p><p> 在實際工作中,我們希望在電機最大電流受限的條件下,充分利用電機的允許過載能力,最好是在過度過程中始終保持電流(轉(zhuǎn)矩)為允許最大值,使電力拖動系統(tǒng)盡可能用最大的加速度起
41、動,到達穩(wěn)定轉(zhuǎn)速后,又讓電流立即降下來,使轉(zhuǎn)矩馬上與負載相平衡,從而轉(zhuǎn)入穩(wěn)態(tài)運行。這時,啟動電流成方波形,而轉(zhuǎn)速是線性增長的。這是在最大電流(轉(zhuǎn)矩)首相的條件下調(diào)速系統(tǒng)所能得到的最快的起動過程。實際上,由于主電路電感的作用,電流不能突跳,為了實現(xiàn)在允許條件下最快啟動,關(guān)鍵是要獲得一段使電流保持為最大值得恒流過程,按照反饋控制規(guī)律,電流負反饋就能得到近似的恒流過程。問題是希望在啟動過程中只有電流負反饋,而不能讓它和轉(zhuǎn)速負反饋同時加到一個調(diào)
42、節(jié)器的輸入端,到達穩(wěn)態(tài)轉(zhuǎn)速后,又希望只要轉(zhuǎn)速負反饋,不在電流負反饋發(fā)揮主作用,因此我們采用雙閉環(huán)調(diào)速系統(tǒng)。這樣就能做到既存在轉(zhuǎn)速和電流兩種負反饋作用又能使它們作用不同的階段。在設(shè)計過程中,為了實現(xiàn)轉(zhuǎn)速和電流兩種負反饋分別起作用,需要設(shè)置兩個調(diào)節(jié)器,分別調(diào)節(jié)轉(zhuǎn)速和電流,二者之間實行串級連接,即把轉(zhuǎn)速調(diào)節(jié)器的輸出當作電流調(diào)節(jié)器的輸入,再用電流調(diào)節(jié)器的輸出去控制晶閘管整流器的觸發(fā)裝置從閉環(huán)結(jié)構(gòu)上看</p><p>&l
43、t;b> 4.三環(huán)調(diào)速系統(tǒng)</b></p><p> 在雙閉環(huán)調(diào)速系統(tǒng)的基礎(chǔ)上,在電流環(huán)內(nèi)再加電流變化率內(nèi)環(huán)或電壓內(nèi)環(huán)構(gòu)成兩種三環(huán)調(diào)速系統(tǒng)。增加了電流變化率內(nèi)環(huán),提高了電流環(huán)的響應(yīng)速度,使起動過程的轉(zhuǎn)速和電流更接近理想波形,進一步改善了電機的起動性能[]。</p><p> 其他調(diào)速系統(tǒng)諸如:有環(huán)流可逆調(diào)速系統(tǒng)、無環(huán)流可逆調(diào)速系統(tǒng)。</p><p
44、> 2.2 MATLAB仿真</p><p> 2.2.1電機控制系統(tǒng)數(shù)學模型的推導</p><p><b> 對直流電機,有</b></p><p> 電樞電壓平衡方程: (2.3)</p><p> 轉(zhuǎn)矩平衡方程為:
45、 (2.4)</p><p> 式中:電樞電壓(V),電樞反電勢(V),電樞電流(A),電樞電感(H),電樞電阻(),每極磁通(Wb),轉(zhuǎn)子轉(zhuǎn)速(r/min),直流電機電勢常數(shù),轉(zhuǎn)矩常數(shù),P為電機極對數(shù),N為電樞總導體數(shù),為并聯(lián)支路數(shù),T電磁轉(zhuǎn)矩,負載轉(zhuǎn)矩,J轉(zhuǎn)速慣量。</p><p> 對2.3,2.4式采用拉氏變換得</p>&
46、lt;p> 電樞電流與電樞電壓之間傳遞函數(shù)是 (2.5)</p><p> 轉(zhuǎn)子轉(zhuǎn)速n與動態(tài)轉(zhuǎn)矩之間的傳遞函數(shù)為 (2.6)</p><p> 考慮到,的輔助關(guān)系,并引入機電常數(shù),可求得精確模型的傳遞函數(shù):</p><p> 圖2-2 電機控制系統(tǒng)的數(shù)學模型</p><p
47、> 2.2.2 Simulink仿真</p><p> ?。?)PID控制器的理論探索</p><p> 1)PID控制器結(jié)構(gòu)如下圖2-3</p><p> 圖2-3 PID控制器,為積分環(huán)節(jié),為積分環(huán)節(jié),為微分環(huán)節(jié)</p><p> 2) 以一個單閉環(huán)的控制系統(tǒng)為例,分析PID控制器各參數(shù)在系統(tǒng)中的作用。</p>
48、<p> 圖2-4 單閉環(huán)控制系統(tǒng)</p><p><b> 其中</b></p><p> 在MATLAB中編寫M文件(見附錄),觀察PID各環(huán)節(jié)參數(shù)變化時,系統(tǒng)階躍響應(yīng)的變化,根據(jù)圖2-5,2-6,2-7分析得:圖2-5 取不同值時系統(tǒng)的階躍響應(yīng)</p><p> 比例調(diào)節(jié)作用:增大可增大系統(tǒng)的響應(yīng)速度,減小穩(wěn)態(tài)誤差,
49、提高控制精度。但隨著增大系統(tǒng)穩(wěn)定性下降,嚴重時造成系統(tǒng)的穩(wěn)定性破壞。</p><p> 圖2-6 取不同值時的階躍響應(yīng)</p><p> 積分調(diào)節(jié)作用:對穩(wěn)態(tài)起控制作用,改善系統(tǒng)的穩(wěn)態(tài)特性,提高系統(tǒng)的穩(wěn)態(tài)控制精度,但積分過強穩(wěn)定性隨著下降,嚴重時造成系統(tǒng)不穩(wěn)定,一般和比例項配合使用。</p><p> 圖2-7取不同值時的階躍響應(yīng)</p>&l
50、t;p> 微分調(diào)節(jié)作用:對動態(tài)控制作用,可以加快動態(tài)響應(yīng),上升快,超調(diào)小,具有預(yù)調(diào)節(jié)的作用,一般與比例項組合使用。</p><p> 3)用PID控制器校正系統(tǒng)</p><p> 利用教材[]上的一組電機參數(shù)和速度負反饋參數(shù),建立了如下的電機模型:</p><p> 圖2-8 電機開環(huán)系統(tǒng)</p><p><b>
51、傳遞函數(shù)為</b></p><p> 對其進行性能分析,階躍響應(yīng)見圖2-9</p><p> 圖2-9 開環(huán)系統(tǒng)階躍響應(yīng)</p><p> 開環(huán)系統(tǒng)階躍響應(yīng)的性能指標為:</p><p> ans = RiseTime: 0.1290</p><p> SettlingTime: 0.2300
52、</p><p> SettlingMin: 206.0857</p><p> SettlingMax: 228.4047</p><p> Overshoot: 0</p><p> Undershoot: 0</p><p> Peak: 228.4047</p><p> P
53、eakTime: 0.3925</p><p> 由以上數(shù)據(jù)可知,單純的電機系統(tǒng)響應(yīng)速度太慢,動態(tài)性能不佳,且不具有抗干擾性。</p><p> 針對這一系統(tǒng),我們將進行PID的參數(shù)設(shè)計和優(yōu)化改進,對上述系統(tǒng)引入速度負反饋環(huán)節(jié)和PID調(diào)節(jié)器。</p><p> 圖2-10 單閉環(huán)電機控制系統(tǒng)模型</p><p> 時系統(tǒng)的開環(huán)傳遞函數(shù)
54、為:</p><p> PID參數(shù)整定法[][]有很多種,工程上最常用的有臨界比例度法、衰減曲線法和經(jīng)驗湊試法?,F(xiàn)以臨界比例度法為例進行參數(shù)整定。</p><p> 這是目前使用較多的一種方法。它是先通過試驗得到臨界比例度和臨界周期 ,然后根據(jù)經(jīng)驗公式求出控制器各參數(shù)值。具體做法如下:</p><p> 1.被控系統(tǒng)穩(wěn)定后,把控制器的積分時間放到最大,微分時間
55、放到零(相當于切除了積分和微分作用,只使用比例作用) 。</p><p> 2. 給定一個階躍信號,觀察由此而引起的測量值振蕩。</p><p> 3. 針對其開環(huán)系統(tǒng)作根軌跡圖,根據(jù)MATLAB的圖像顯示,可預(yù)測臨界比例度K的大致范圍。</p><p> 圖2-11 系統(tǒng)根軌跡圖</p><p> 圖2-12 根軌跡圖與虛軸交點&
56、lt;/p><p> 4. 根據(jù)已確定的K值,代入閉環(huán)系統(tǒng),進行微調(diào),從大到小逐步把控制器的比例度減小,看測量值振蕩的變化是發(fā)散的還是衰減的,如是衰減的則應(yīng)把比例度繼續(xù)減小;如是發(fā)散的則應(yīng)把比例度放大使系統(tǒng)產(chǎn)生等幅震蕩,如下圖,此時的比例系數(shù)叫臨界比例度=1/18.354271。振蕩周期為 </p><p> 圖2-13 臨界震蕩時PID參數(shù)設(shè)置界面</p><p&g
57、t; 圖2-14 系統(tǒng)臨界震蕩圖</p><p> 5. 參考參數(shù)整定表2-1,得到參數(shù),,</p><p> 表2-1 臨界比例度法參數(shù)整定表</p><p> 由表2-1可計算得,對PID控制器</p><p> 6. 通過上述步驟得到的四個參數(shù),還要到系統(tǒng)中實際運行,檢驗控制效果,必要時進行反復(fù)調(diào)整,直至獲得滿意的控制效果。&
58、lt;/p><p> 臨界比例度整定法又稱為“閉環(huán)振蕩法”,它的特點是:不需要求得控制對象的特性,而直接在閉合的控制系統(tǒng)中進行整定,適用于一般的控制系統(tǒng),但對于臨界比例度很小的系統(tǒng)不適用.</p><p> 我將上述結(jié)果代入閉環(huán)系統(tǒng),其階躍響應(yīng)見圖2-17,為不穩(wěn)定系統(tǒng),還需進行二次整定。</p><p> 圖2-15 第一次整定PID參數(shù)設(shè)置界面</p&g
59、t;<p><b> .</b></p><p> 圖2-16 第一次整定后系統(tǒng)的階躍響應(yīng)</p><p> 7.PID參數(shù)二次整定</p><p> 二次整定時,其原理與試湊法類似,只是有了前面的基礎(chǔ)從而在一定程度上避免了試湊參數(shù)時的盲目性, 具有有很強的針對性。二次整定得到的PID參數(shù)數(shù)值為</p>&l
60、t;p> 圖2-17 二次整定得到的PID參數(shù)</p><p> 在該參數(shù)下系統(tǒng)的階躍響應(yīng)為</p><p> 圖2-18 二次整定后系統(tǒng)的階躍響應(yīng)</p><p> 二次整定后系統(tǒng)階躍響應(yīng)的性能指標</p><p> ans =RiseTime: 0.0591</p><p> SettlingTi
61、me: 12.4573</p><p> SettlingMin: 64.6782</p><p> SettlingMax: 105.1588</p><p> Overshoot: 23.8771</p><p> Undershoot: 0</p><p> Peak: 105.1588</p&g
62、t;<p> PeakTime: 0.0915</p><p> 進行前后對比,可知,引入PID閉環(huán)控制后,系統(tǒng)的階躍響應(yīng)雖出現(xiàn)了一定量的超調(diào),但系統(tǒng)的動態(tài)性能可以得到很大改善,響應(yīng)速度更快,具有了抗干擾性,PID控制器對系統(tǒng)的校正效果是很明顯的。</p><p><b> 2.3系統(tǒng)離散化</b></p><p> 控制
63、系統(tǒng)設(shè)計的核心工作是控制器的設(shè)計。在連續(xù)控制系統(tǒng)中,控制器的設(shè)計使用模擬器件實現(xiàn);在計算機控制系統(tǒng)中,控制器的設(shè)計用軟件編程實現(xiàn)。無論是連續(xù)控制系統(tǒng)還是計算機控制系統(tǒng),都需要借助于數(shù)學工具。在連續(xù)系統(tǒng),時域設(shè)計用到微分方程,頻域設(shè)計用到傳遞函數(shù)。在計算機控制系統(tǒng),時域設(shè)計涉及差分方程,頻域設(shè)計涉及脈沖傳遞函數(shù)。我們習慣于用連續(xù)系統(tǒng)成熟的理論解決計算機控制系統(tǒng)的某些分析和設(shè)計問題,控制器的設(shè)計同樣如此。通常先設(shè)計連續(xù)控制器,再將描述連續(xù)控
64、制器的數(shù)學模型時域的微分方程或頻域的傳遞函數(shù)轉(zhuǎn)化為時域的差分方程或頻域的脈沖傳遞函數(shù),即數(shù)字控制器的數(shù)學模型。數(shù)字控制器的設(shè)計大體上分成兩大類:經(jīng)典法設(shè)計和狀態(tài)空間法。經(jīng)典法設(shè)計可分兩種方法:離散化法和直接法。離散化法是設(shè)計連續(xù)控制系統(tǒng)的控制器,然后通過某種離散化方法轉(zhuǎn)化成數(shù)字控制器,這種方法僅能逼近連續(xù)系統(tǒng)的性能,不會由于連續(xù)系統(tǒng)的性能,但對熟悉連續(xù)系統(tǒng)的設(shè)計者不失為一種較好的方法。</p><p> 本次設(shè)
65、計中的單閉環(huán)PID控制器的離散化算法[]采用的是向后差分法,方法如下</p><p> 圖2-19 PID控制器離散化圖</p><p> 理想模擬PID控制器輸出方程如式(2.7)所示</p><p><b> ?。?.7)</b></p><p> 為比例系數(shù),與比例帶互為倒數(shù)關(guān)系,即,為積分時間,為微分時間
66、,為PID控制器的輸出控制量,為PID控制器輸入的系統(tǒng)偏差量。</p><p> 對上式作拉氏變換,得式(2.8)</p><p><b> ?。?.8)</b></p><p> 由向后差分法,,近似得即,T為采樣周期對離散化得式(2.9)</p><p><b> ?。?.9)</b><
67、;/p><p> 為積分系數(shù),為微分系數(shù)。</p><p> 將式(2.9)化為差分方程得式(2.10)</p><p><b> ?。?.10)</b></p><p> 由于式(2.10)中包含過去全部的偏差量,而且累加運算編程不方便,計算量太大,需要將其改為遞推算法,對式(2.10)兩邊同時取一階向后差分得式(2
68、.11)</p><p><b> ?。?.11)</b></p><p><b> 即 </b></p><p><b> ?。?.12)</b></p><p> 式(2.11)叫做數(shù)字PID增量式算法,式(2.12)叫做數(shù)字PID位置式算法,兩者形式不同,本質(zhì)相同,但
69、是,采用增量式算法,系統(tǒng)工作會更安全。一旦計算機出現(xiàn)故障,使控制信號為零時,執(zhí)行機構(gòu)的位置仍能保持前一步的位置,因而對系統(tǒng)安全不會有大的影響。</p><p> 對某個控制系統(tǒng)而,無外乎是由一個或多個比例,積分,微分環(huán)節(jié)構(gòu)成,通過對上述單個PID離散化的認識,我們可以很輕易的對更復(fù)雜的控制系統(tǒng)進行離散化,在此不作一一推導。</p><p> 2.4狀態(tài)空間法與串行算法模擬并行的探索&l
70、t;/p><p> 2.4.1狀態(tài)空間法的啟示</p><p> 經(jīng)典控制理論,適用于單輸入—單輸出(SISO)系統(tǒng),而現(xiàn)代控制理論建立了狀態(tài)的概念,以狀態(tài)方程為基礎(chǔ),以線性矩陣理論為數(shù)學工具,以計算機技術(shù)為依托,不僅適用于線性定常系統(tǒng),而且適用于線性時變和非線性系統(tǒng)的分析,綜合。</p><p> 經(jīng)典控制理論研究系統(tǒng)輸入-輸出之間的關(guān)系停留在系統(tǒng)的外部特征,因
71、而從綜合的角度看,它屬于試湊形式,即根據(jù)相關(guān)理論確定相關(guān)參量,再驗證是否符合指標要求,若不符合再重新修改參數(shù)并驗證,直至得到滿意結(jié)果。而現(xiàn)代控制理論用狀態(tài)揭示了系統(tǒng)的內(nèi)部狀況,研究輸入-狀態(tài)-輸出的因果關(guān)系,這就從內(nèi)部,從本質(zhì)上掌握了系統(tǒng)的關(guān)系,從而可以根據(jù)設(shè)計要求和目標函數(shù)(性能指標)求得最有控制規(guī)律。</p><p> 圖2-20 狀態(tài)空間法簡圖</p><p> 對一個離散化的系
72、統(tǒng)而言,其狀態(tài)空間表示式[]一般形式為</p><p><b> ?。?.13)</b></p><p> 為動態(tài)系統(tǒng)的狀態(tài)向量,為動態(tài)系統(tǒng)的輸出向量,為輸入向量,A為狀態(tài)轉(zhuǎn)移矩陣,B為控制矩陣,C為測量矩陣,D為直傳矩陣,若系統(tǒng)輸出滯后于輸入,則D矩陣為零。</p><p> 對狀態(tài)空間法認識的不斷深入,我越發(fā)了解到這種系統(tǒng)表示方式的好處
73、,它能確定某一時刻下,系統(tǒng)任一位置的值,而不是像以往只能知道整個系統(tǒng)的輸入與輸出,這種方法,讓整個系統(tǒng)變得更加的公開和透明,雖說系統(tǒng)的狀態(tài)空間模型可由MATLAB直接運算得到,但那是建立在控制對象各參數(shù)已知的前提下,如果控制對象為一未知系統(tǒng),PID控制器的各參數(shù)亦不能確定,我們又該如何建立這種狀態(tài)空間模型呢?黑箱系統(tǒng)是我們在實踐中往往會遇到的類型!為此,不得不進一步加以思考。</p><p> 2.4.2算法的
74、探索</p><p> 以一個雙閉環(huán)PID控制,對象未知的控制系統(tǒng)為例,進行模擬算法的探索。</p><p> 圖2-21 雙閉環(huán)系統(tǒng)簡圖</p><p> 對這一系統(tǒng)進行簡單分析,首先它是一個三個輸入,一個輸出的控制對象未知的系統(tǒng),在三個輸入中,u0為輸入的期望值,u1,u2分別為反饋值,e1表示在節(jié)點1處的偏差,e2表示在節(jié)點2的偏差,x為PID1的輸出值
75、,y為PID2的輸出值。</p><p> 這樣一來,整個系統(tǒng)的輸入輸出量,中間量都被表示出來,下一步,是如何求這些量。如圖所示,將其視為離散系統(tǒng),PID采用位置式算法,可知如下關(guān)系</p><p><b> ?。?.14)</b></p><p> 根據(jù)上述關(guān)系式,在給定了輸入和PID參數(shù)的情況下,我們可以得到每一時刻系統(tǒng)的輸入輸出甚至是
76、中間量。</p><p> 但是,在實際環(huán)境中,系統(tǒng)不可能是同步運行,每一個環(huán)節(jié)輸入與輸出都是有時差的,這就需要我們用串行的算法來模擬系統(tǒng)的并行運行。</p><p> 我們對方程組作修改,結(jié)果如下,k時刻有</p><p><b> ?。?.15)</b></p><p> 用C語言編程,程序見附錄,PID參數(shù),
77、增益值均用宏定義,方便修改,u0,u1,u2均設(shè)置按時序賦1至8的整數(shù)值。</p><p> 程序運行的結(jié)果見圖2-24.</p><p> 圖2-22 程序運行結(jié)果</p><p> 對模擬算法的探索至此結(jié)束,以上僅能說明其可行性,至于這種模擬的準確度等等方面還有待進一步深入探討。</p><p><b> 3、實踐設(shè)計篇
78、</b></p><p><b> 3.1整體方案設(shè)計</b></p><p> 本次設(shè)計實踐的系統(tǒng)為具有轉(zhuǎn)速反饋的單閉環(huán)調(diào)速系統(tǒng),用固定在電機上的正交編碼器產(chǎn)生脈沖信號,信號線將脈沖信號送入STM32單片機中,單片機以編碼器模式計數(shù),并通過單片機一系列的計算,獲得電機的轉(zhuǎn)速。這個速度與設(shè)定的速度進行比較,得出差值,對這個差值進行PID運算,改變單片機
79、輸出PWM的占空比值,通過H橋驅(qū)動電路,調(diào)節(jié)電機轉(zhuǎn)速。</p><p> 圖3-1 方案設(shè)計簡圖</p><p> 圖3-2 電路連接示意圖</p><p><b> 3.2硬件部分</b></p><p> 硬件設(shè)計部分主要包括了STM32開發(fā)板,L298N驅(qū)動電路,正交編碼器測速,穩(wěn)壓電源電路</p&g
80、t;<p> 3.2.1 STM32開發(fā)板</p><p> 本次設(shè)計選用的是ALIENTEK MiniSTM32開發(fā)板,它的MCU是STM32F103RBT6,STM32作為基于ARM Cortex-M3的單片機,無疑具有高性能,低功耗等優(yōu)點。該芯片還擁有20K SRAM、128K FLASH、3個普通的16位定時器、一個16位的高級定時器、2個SPI、2個IIC、3個串口、1個USB、1個C
81、AN、2個12位的ADC、51個通用IO口。當然與本次設(shè)計相關(guān)的主要是那四個定時器,USB轉(zhuǎn)串口部分,以及I/O口[]。</p><p> 在本次設(shè)計中,一共用到了三個通用定時器,3個I/O口,以及單片機自帶的輸出電源。</p><p> TIM2是用來產(chǎn)生PWM信號,為PWM模式1,信號的通道是CH2,由原理圖可知,PA1即為PWM輸出口,接L298N的ENA。</p>
82、<p> TIM3設(shè)為編碼器模式,是TL1,TL2,X4模式,故需要兩個輸入口,PA6,PA7分別接編碼器的A,B相。</p><p> TIM4設(shè)為計數(shù)器模式,向上計數(shù),由于使用時系統(tǒng)時鐘的計數(shù)脈沖,因而成了定時器,可根據(jù)其溢出中斷來進行M法測轉(zhuǎn)速,不需要使用I/O口。</p><p> 3.2.2電機驅(qū)動電路</p><p> 圖3-3 L
83、298N接線原理圖</p><p> 圖3-4 L298N具有使能控制和方向邏輯的H橋電路</p><p> 根據(jù)L298N的H橋電路,電機的運轉(zhuǎn)就只需要用三個信號控制:兩個方向信號和一個使能信號。如果IN1信號為0,IN2信號為1,并且使能信號ENA是1,那么三極管Q1和Q4導通,電流從OUT1至OUT2流經(jīng)電機;如果IN1信號變?yōu)?,而IN2信號變?yōu)?,那么Q2和Q3將導通,電流則
84、反向流過電機,從而達到控制正反轉(zhuǎn)的目的。由此分析出L298N輸入輸出的關(guān)系,見表3-1.</p><p> 表3-1 L298N輸入輸出關(guān)系表</p><p> 表中:H 高電平,L低電平,X未知</p><p> 3.2.3正交編碼器測轉(zhuǎn)速</p><p> 本次設(shè)計用的是霍爾效應(yīng)正交編碼器,單相輸出16CPR,它直接與電動機主軸
85、連接,當電動機轉(zhuǎn)動時,帶動碼盤旋轉(zhuǎn),輸出一系列的脈沖信號。編碼器在碼盤上均勻刻著一定數(shù)量的光柵,當電動機旋轉(zhuǎn)時,碼盤隨之一起轉(zhuǎn)動,可通過光柵的作用,持續(xù)不斷地開放或封閉光通路,輸出端便得到了頻率與轉(zhuǎn)速成正比的方波序列,從而計算轉(zhuǎn)速[]。</p><p> 為了獲得轉(zhuǎn)速的方向,可增加一對發(fā)光與接收裝置,使兩對發(fā)光與接收裝置錯開光柵節(jié)距的1/4,使得兩組脈沖序列A和B的相位相差為90度,正轉(zhuǎn)時A相超前B相,反轉(zhuǎn)時B
86、相超前A相。A,B相90度的相位差,不但可以用來判斷正反轉(zhuǎn)的轉(zhuǎn)速,也可以在檢測A,B相上下沿時獲得四倍頻,這就大大提高了檢測精度。有些光電編碼器除了A,B相外還有一個Z 相,Z 相為每轉(zhuǎn)一個脈沖,用于基準點定位。</p><p> 增量式編碼器的優(yōu)點是原理構(gòu)造簡單,機械平均壽命可在幾萬小時以上,抗干擾能力強,可靠性高,適合于長距離傳輸。其缺點是無法輸出軸轉(zhuǎn)動的絕對位置信息。</p><p&g
87、t; 圖3-5 順時針運動時正交編碼器的輸出波形</p><p> 順時針運動時,A相超前B相90度,逆時針時,B相超前A相90度,據(jù)此,根據(jù)A,B相波形可得電機轉(zhuǎn)動的方向信息,判定表見下表3-2。</p><p><b> 表3-2轉(zhuǎn)向判定表</b></p><p> 本設(shè)計用的是M法測量轉(zhuǎn)速,每隔時間Ts檢測一次到目前為止轉(zhuǎn)過的圈
88、數(shù)N與當前寄存器TIM3->CNT計數(shù)值count(可用它來求當前電機的角度),則電機轉(zhuǎn)速為</p><p><b> (3.1)</b></p><p> ,T時間后轉(zhuǎn)過的圈數(shù);,T時間前轉(zhuǎn)過的圈數(shù),,T時間后計數(shù)器計數(shù)值,T時間前計數(shù)器計數(shù)值</p><p> 至于判斷正反向,由于STM32的編碼器模式可在寄存器中讀取當前計數(shù)模
89、式,并自動根據(jù)正、反方向自動加減計數(shù),故軟件不需要利用A,B相輸出波形的高低電平做正反轉(zhuǎn)判斷。</p><p> 3.2.4穩(wěn)壓電源電路</p><p> L298N部分電源,編碼器的電源均來自STM32開發(fā)板的輸出電源,電機的電源來自與改裝的變壓器。</p><p><b> 3.3軟件模塊</b></p><p&g
90、t; 軟件具有1個循環(huán)主程序,四個功能模塊序分別為:串口模塊—速度給定與速度顯示,速度測定與方向判定模塊,PID算法模塊,PWM輸出模塊。</p><p> 圖3-6 主程序流程簡圖</p><p> 3.3.1PWM生成子程序</p><p> 圖3-7 PWM程序流程圖</p><p> 由于STM32的高級或是通用定時器均有P
91、WM模式,能直接生成PWM,我們只需要對相關(guān)的寄存器進行操作即可得到想要的PWM。還有一點需要注意,STM32的功耗是很低的,之所以低功耗是因為在一般狀態(tài)下,STM32的外設(shè)是關(guān)閉的,所以在編程時,不管是I/O口還是其他部分,都必須首先進行時鐘使能。</p><p> 定時器TIM2生成PWM的初始化函數(shù) PWM_Init(u16 arr,u16 psc),其中參數(shù)psc的作用是使得計數(shù)器的時鐘頻率 為分頻器時
92、鐘輸入,本次設(shè)計中為72Mhz。參數(shù)arr的作用是獲得PWM的頻率初始化后,決定PWM占空比的寄存器則是16位的捕獲/比較寄存器,可對其直接賦值,得到的占空比為 []。</p><p> 3.3.2串口模塊—速度給定與速度顯示</p><p> 圖3-8 速度給定流程圖</p><p> 本次設(shè)計采用的是串口通信,可以通過串口助手來輸入速度與顯示速度,在串口
93、初始化后,在通過判斷寄存器USART1->SR第5位是否為1,可知數(shù)據(jù)是否就緒,若為1,將通過串口輸入的字符會儲存在我們定義的向量code1[],字符的長度則用len讀取,再調(diào)用函數(shù)code1_dutycycle(u16 dutycycle,u16 code1[],u8 len),將code[t]中ASCII碼的數(shù)字字符轉(zhuǎn)化為十進制數(shù)字,記為輸入轉(zhuǎn)速。</p><p> 至于速度顯示則相對簡單,直接調(diào)用P
94、rintf(),就可在串口顯示當前的速度,但要注意的是,Printf()在輸出時需要占用大量的時間,需要在后面加上delay_ms()延時函數(shù),一個Printf()需要100ms才能保證顯示的準確性,若用LCD則無此顧忌,這是一個需要進一步改進的地方。</p><p> 3.3.3速度測定與方向判斷子程序</p><p> 圖3-9 速度測定與方向判斷子流程圖</p>&
95、lt;p> 首先是編碼器模式初始化函數(shù)SetTIM3EncoderMode,不作預(yù)分頻,即寄存器TIM3->PSC=0,將寄存器TIM3->ARR設(shè)置為光電編碼器每圈脈沖數(shù),由于是A,B相同時輸入的4X模式,故每圈脈沖數(shù)為64,TIM3->ARR=64-1=63。這樣設(shè)定后,編碼器每轉(zhuǎn)一圈,TIM3都將產(chǎn)生一次中斷,在中斷服務(wù)函數(shù)中,設(shè)置根據(jù)寄存器TIM3->CR1方向位第4位DIR,來設(shè)置電機正反向標志
96、位flag,分別對正反向圈數(shù)計數(shù)的變量增減。</p><p> 定時器TIM4設(shè)置為向上計數(shù)模式,通過設(shè)置TIM4->PSC=7199,則計數(shù)頻率</p><p> 再設(shè)置TIM4->ARR=10000,可知TIM4計數(shù)到10000則溢出,即每1s產(chǎn)生一次中斷,在TIM4的中斷服務(wù)函數(shù)中,根據(jù)電機正反轉(zhuǎn)標志位,由公式(3.1)求得轉(zhuǎn)速。</p><p&g
97、t; 3.3.4 PID算法模塊</p><p> 本次設(shè)計僅有轉(zhuǎn)速反饋,是單閉環(huán)控制,程序中加入了位置式式PID算法。</p><p> 而對應(yīng)的PIDcontrol函數(shù)中的算法是</p><p><b> ,,</b></p><p> 這次設(shè)計的PID算法,輸入是電機的轉(zhuǎn)速,輸出卻是占空比值,那么如能找到
98、占空比與電機轉(zhuǎn)數(shù)的函數(shù)關(guān)系,將能極大地方便我們整定PID的參數(shù),所以我在PID算法中,預(yù)先根據(jù)實測值擬合出來的占空比與轉(zhuǎn)速的函數(shù)關(guān)系,將轉(zhuǎn)速轉(zhuǎn)換為了占空比,然后進行PID運算從而直接得到占空比,但這種方法有很大的局限性。</p><p> 因此,在不使用轉(zhuǎn)速與占空比關(guān)系的情況下,我還整定另外一種情況的PID參數(shù):輸入為速度,輸出為PWM值,即TIM2->CCR2的值。</p><p&g
99、t; 圖3-10 PID算法流程圖</p><p><b> 4、實踐檢驗篇</b></p><p><b> 4.1 實物連接圖</b></p><p> 圖4-1 電機控制實物圖</p><p> 4.2用MATLAB曲線擬合方法確定占空比與空載電機轉(zhuǎn)速的關(guān)系</p>
100、<p> 編寫一個串口直接輸入占空比的函數(shù),檢測不同占空比下的轉(zhuǎn)速值,得到表4.1數(shù)據(jù),在MATLAB繪得圖4-2 </p><p> 表4.1 不同占空比下測得的電機轉(zhuǎn)速</p><p> 圖4-2 表4.1數(shù)據(jù)在MATLAB繪制的X-Y坐標圖</p><p> 用MATLAB的CFTOOL工具箱進行擬合[]分別采用線性擬合與多項式擬合<
101、;/p><p><b> 1.線性擬合</b></p><p> 圖4-3 線性擬合曲線</p><p> Linear model Poly1:</p><p> f(x) = p1*x + p2</p><p> Coefficients (with 95% confidence bou
102、nds):</p><p> p1 = 0.004798 (0.00444, 0.005155)</p><p> p2 = 53.89 (51.84, 55.95)</p><p> Goodness of fit:</p><p> SSE: 17.05</p><p> R-square: 0.99
103、17</p><p> Adjusted R-square: 0.9907</p><p> RMSE: 1.46</p><p> 其中:SSE:誤差平方和;R-Square:復(fù)相關(guān)系數(shù)或復(fù)測定系數(shù);Adjusted R-Square:調(diào)整自由度復(fù)相關(guān)系數(shù);Root mearn squared error(RMSE):均方根誤差</p><
104、;p><b> 2.三次多項式擬合</b></p><p> 圖4-4 多項式擬合曲線</p><p> Linear model Poly3:</p><p> f(x) = p1*x^3 + p2*x^2 + p3*x + p4</p><p> Coefficients (with 95% conf
105、idence bounds):</p><p> p1 = 5.533e-011 (2.463e-011, 8.603e-011)</p><p> p2 = -9.886e-007 (-1.475e-006, -5.026e-007)</p><p> p3 = 0.009779 (0.007587, 0.01197)</p><p
106、> p4 = 48.01 (45.44, 50.58)</p><p> Goodness of fit:</p><p><b> SSE: 2.31</b></p><p> R-square: 0.9989</p><p> Adjusted R-square: 0.9983</p>
107、<p> RMSE: 0.6205</p><p> 對比兩次擬合的擬合度可知,三次多項式的擬合曲線更加逼近于真實的數(shù)據(jù),但顯然,對于本次設(shè)計,只需要用線性擬合的函數(shù)就可以得到較好的擬合度,所以占空比與轉(zhuǎn)速的函數(shù)關(guān)系設(shè)定為</p><p><b> ?。?.1)</b></p><p> 4.3簡單閉環(huán)控制試驗</p&g
108、t;<p> 利用之前得到的占空比與轉(zhuǎn)速的關(guān)系,設(shè)計不含PID算法的簡單閉環(huán)控制,進行試驗。</p><p> 簡單閉環(huán)控制的設(shè)計思想:利用串口直接輸入轉(zhuǎn)速,利用公式(4.1),將其轉(zhuǎn)化為占空比值,將該占空比值轉(zhuǎn)換為PWM信號傳給電機,不斷檢測電機轉(zhuǎn)速,若電機轉(zhuǎn)速低于給定速度,則占空比加1,若電機轉(zhuǎn)速大于給定速度,則占空比減1。</p><p> 第一步:通過串口給定電
109、機轉(zhuǎn)速3000,串口立刻給出由擬合函數(shù)計算出來的占空比68,接著進一步進行調(diào)節(jié)。</p><p> 圖4-5 輸入轉(zhuǎn)速時串口助手的顯示圖</p><p> 第二步:10s后,電機基本穩(wěn)定下來,這時的轉(zhuǎn)速如下圖</p><p> 圖4-6 穩(wěn)定時串口助手的顯示圖</p><p> 不難計算出控制的穩(wěn)態(tài)誤差為,誤差較大。</p>
110、;<p> 當然若想進一步得到更高精度的控制,可以從兩個方面著手:1.優(yōu)化程序,提高程序的運行速度;2 定時器TIM4測轉(zhuǎn)速的時間可以進一步減少,比如說0.5s測一次轉(zhuǎn)速,這樣一來速度的實時性就能進一步提高;3 還可以修改每次占空比增減的步長,比如說占空比每次增減1,變?yōu)槊看卧鰷p0.5,是的控制更精確,但是這樣一來意味著每次達到穩(wěn)態(tài)的時間會增加。</p><p> 4.4 PID算法試驗<
111、/p><p> 借用公式(4.1),將每次得到的速度信號轉(zhuǎn)換為占空比信號,再進行PID控制,這樣可大大降低PID參數(shù)整定的難度。</p><p> 這次PID參數(shù)整定用的是試湊法,因為控制電機不允許出現(xiàn)震蕩的,前面理論部分的臨界比例度法就不能用了,直接采用湊試法。</p><p> 在進行過一番PID參數(shù)試驗后,在進行多組試驗后,我發(fā)現(xiàn)PI控制就可以對電機進行很好
112、地控制,加入微分環(huán)節(jié)KD反而容易引起震蕩,在KP=1.8,KD=0的前提下,對不同值的KI,設(shè)定同樣的期望轉(zhuǎn)速3000R/min時,系統(tǒng)的響應(yīng)曲線見圖4-6。</p><p> 圖4-7 不同KI值對應(yīng)的速度曲線</p><p> 由上圖分析可得,較理想的PID參數(shù)是KP=1.8,KI=0.6,因為它不僅超調(diào)量小,調(diào)整時間小,穩(wěn)態(tài)誤差也小。</p><p>
113、但是當預(yù)期轉(zhuǎn)速設(shè)置為3500R/min是,在3000R/min下較理想的PID參數(shù)KP=1.8,KI=0.6,KD=0的系統(tǒng)響應(yīng)超調(diào)量過大,系統(tǒng)近乎不穩(wěn)定,在又一番調(diào)試后我發(fā)現(xiàn)KP=1.8,KI=0.4,KD=0能滿足要求,不過超調(diào)量也很大大,約為40%,但系統(tǒng)能穩(wěn)定下來,這說明,對同一個控制對象-電機,不同的期望轉(zhuǎn)速所需要的PID參數(shù)也是不同的,這要求PID控制器使用更為先進的算法,比如說模糊控制和自適應(yīng)整定等等[]。</p&g
114、t;<p> 4.5第二次PID算法試驗</p><p> 前面雖然借助了占空比與轉(zhuǎn)速的關(guān)系導致PID參數(shù)整定難度大大降低,但當電機受載或者說受載變化時,這一絕對的公式就失去了意義,甚至反過來影響控制的精度,因而,要想電機的控制具有通用性,就不能用到這樣的公式。但這公式的價值不容否認,在其適用條件下,PID參數(shù)整定是很方便的。在不借助這個公式的情況下時,我進行了多番試湊,得到了一組較好的PID參
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通控制器設(shè)計畢業(yè)設(shè)計論文
- 路燈控制器的設(shè)計 畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計(論文)-crt字符控制器設(shè)計
- 畢業(yè)設(shè)計論文--基于fpga的微波爐控制器設(shè)計
- 大棚溫濕控制器畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計論文--基于fpga的微波爐控制器設(shè)計
- 畢業(yè)設(shè)計論文--智能溫度控制器
- 自動窗簾控制器畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計---基于matlab的pid控制器設(shè)計
- plc負荷分配控制器的設(shè)計畢業(yè)設(shè)計論文
- 基于matlab的pid控制器畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---汽車控制器的設(shè)計
- 畢業(yè)設(shè)計----水位控制器設(shè)計
- 畢業(yè)設(shè)計--基于labview的pid控制器的設(shè)計
- 畢業(yè)設(shè)計--基于fpga的彩色點陣控制器設(shè)計
- 溫度控制器畢業(yè)設(shè)計
- abs控制器畢業(yè)設(shè)計
- pid控制器畢業(yè)設(shè)計
- 溫度控制器畢業(yè)設(shè)計
- 基于雙mcu的數(shù)字示波器畢業(yè)設(shè)計論文
評論
0/150
提交評論