版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
-.z學士學位論文基于MCU的通用控制器設計院系:學號:專業(yè)名稱:學生**:指導教師:起訖日期:設計地點:-.z東南大學畢業(yè)〔設計〕論文獨創(chuàng)性聲明本人聲明所呈交的畢業(yè)〔設計〕論文是我個人在導師指導下進展的研究工作及取得的研究成果。盡我所知,除了文中特別加以標注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得東南大學或其它教育機構(gòu)的學位或證書而使用過的材料。與我一同工作的同志對本研究所做的任何奉獻均已在論文中作了明確的說明并表示了謝意。論文作者簽名:日期:年月日東南大學畢業(yè)〔設計〕論文使用授權聲明東南大學有權保存本人所送交畢業(yè)〔設計〕論文的復印件和電子文檔,可以采用影印、縮印或其他復制手段保存論文。本人電子文檔的內(nèi)容和紙質(zhì)論文的內(nèi)容相一致。除在**期內(nèi)的**論文外,允許論文被查閱和借閱,可以公布〔包括登載〕論文的全部或局部內(nèi)容。論文的公布〔包括登載〕授權東南大學教務處辦理。論文作者簽名:導師簽名:日期:年月日日期:年月日-.z基于MCU的通用控制器設計摘要:電機控制器的開展朝著集成化和通用化的方向開展著。目前,電機控制專用集成電路芯片技術已經(jīng)比擬成熟,電機控制專用集成電路芯片的種類也十分齊全,但在通用性上還顯得缺乏。而且,電機控制專用集成電路品種規(guī)格繁多,產(chǎn)品資料和應用資料豐富,但是又很分散,需要花時間收集整理、分析消化,研究電機的通用控制器很有必要。本次設計先用MATLAB對PID控制器進展仿真,計算,包括參數(shù)整定,加深對控制器和離散算法的認識,再進一步探索雙閉環(huán)反應的控制器算法。然后在基于STM32的電機控制電路中進展檢驗,以便進一步優(yōu)化算法。這次設計的通用控制器其通用性主要表達在兩個方面:一是PID控制器構(gòu)造的通用性即可以選擇單閉環(huán),雙環(huán),甚至三環(huán)控制,對不需要的控制只需要將該參數(shù)設置為0;二是PID參數(shù)的通用性,即可以很方便的對PID參數(shù)進展調(diào)整,以適應實際的需求。就目前的研究結(jié)果來看,理論研究根本完成,亦根據(jù)實際情況擬合出了電機轉(zhuǎn)速與占空比之間的函數(shù)關系,將這種關系應用在簡單的單閉環(huán)控制中取得了很好的效果,在不使用這種關系,亦對PID參數(shù)進展了整定,還需要進一步檢驗PID算法對實際電機控制的效果,提高其通用性。關鍵詞;STM32;通用控制器;PID;MATLAB仿真-.z-.zDesignofMCUBasedUniversalControllerAbstract:Themotorcontrollerisbeingmoreandmoreintegratedanduniversal.Atpresent,thetechnologyofmotorcontrolASICchipisrelativelymature,thetypesarealsoveryplete,butitlacksuniversalitypartly.Moreover,therearevarietiesspecifications,productinformationandapplicationdatabutveryscattered,ittakeslotsoftimetocollectandanalyzethem.Sothestudyoftheuniversalmotorcontrollerisnecessary.
Inthedesign,firstlytheMATLABisusedtoemulatethePIDcontroller,includingparametercalculation,toachieveabetterunderstandingonthecontrollerandthediscretealgorithm,andthenanalgorithmofdoubleclosed-loopcontrolsystemise*plored.AndthenacircuitofmotorcontrolbasedontheSTM32istested,inordertofurtheroptimizethealgorithm.
Theuniversalityoftheuniversalcontrollerismainlyreflectedinthetwosides:First,thePIDcontrollerstructureisoptionalamongasingleclosedloopcontrolsystem,adoubleloopcontrolsystem,andeventhreeloopcontrolsystem;SecondistheversatilityofthePIDparameters,canadjustedfortheactualdemandinthefield.
Accordingtothecurrentresults,thetheoreticalstudyispleted,afunctionalrelationshipbetweenmotorspeedanddutycycleisdeterminedbasedontheactualsituation.Therelationshipisappliedinasingleclosed-loopcontrolsystemandachieveagoodeffect.Butfurthere*amineoftheeffectofthePIDalgorithm,italsoneedintheactualmotorcontrol.Keywords:STM32;UniversalController;PID;MATLABSimulation
-.z目錄TOC\o"1-3"\h\u46151、緒論237261.1引言248961.2研究現(xiàn)狀與開展趨勢226641.3本課題的研究目的和主要研究內(nèi)容3315592、直流電機調(diào)速控制系統(tǒng)分析及MATLAB仿真4131732.1原理分析4321872.1.1直流電機根本調(diào)速方法與PWM4196902.1.2直流電機調(diào)速系統(tǒng)55162.2MATLAB仿真6134932.2.1電機控制系統(tǒng)數(shù)學模型的推導6145502.2.2Simulink仿真7249042.3系統(tǒng)離散化16279382.4狀態(tài)空間法與串行算法模擬并行的探索1838272.4.1狀態(tài)空間法的啟示1868042.4.2算法的探索1984203、實踐設計篇21238193.1整體方案設計2169763.2硬件局部22104513.2.1STM32開發(fā)板2217833.2.2電機驅(qū)動電路22311403.2.3正交編碼器測轉(zhuǎn)速23218223.2.4穩(wěn)壓電源電路24222033.3軟件模塊25183893.3.1PWM生成子程序25154893.3.2串口模塊—速度給定與速度顯示26195883.3.3速度測定與方向判斷子程序27165353.3.4PID算法模塊27280194、實踐檢驗篇29110934.1實物連接圖29177324.2用MATLAB曲線擬合方法確定占空比與空載電機轉(zhuǎn)速的關系29230124.3簡單閉環(huán)控制試驗3274624.4PID算法試驗3358044.5第二次PID算法試驗34194995、總結(jié)與改良37168085.1總結(jié)37273095.2改良的一些思路3712508致謝3916777參考文獻40
基于MCU的通用控制器設計1、緒論1.1引言運動控制系統(tǒng)是以機械運動的驅(qū)動設備——電動機為控制對象,以控制器為核心,以電力電子功率變換裝置為執(zhí)行機構(gòu),在自動控制理論指導下組成的電力傳動自動控制系統(tǒng),這類系統(tǒng)控制電機的轉(zhuǎn)矩,轉(zhuǎn)速和轉(zhuǎn)角,將電能轉(zhuǎn)換為機械能,實現(xiàn)運動機械的控制??v觀運動控制系統(tǒng)的開展歷程,交,直流兩大電氣傳動并存于各個工業(yè)領域,雖然各個時期科學技術的開展使他們所處的地位,所起的作用不同,但他們始終是隨著工業(yè)的開展,特別是電力電子和微電子技術的開展,在相互競爭,相互促進中,不斷完善并發(fā)生著變化。由于歷史上最早出現(xiàn)的是直流電動機,所以19世紀80年代以前,直流電氣傳動是唯一的電氣傳動方式。直到19世紀末,出現(xiàn)了交流電動機,這才使得交流電氣傳動在工業(yè)中逐步得到廣泛應用。隨著生產(chǎn)技術的開展,對電氣傳動在啟制動,正反轉(zhuǎn)以及調(diào)速精度,調(diào)速*圍,靜態(tài)特性,動態(tài)響應等方面提出了更高的要求,這就要求大量使用調(diào)速系統(tǒng),由于直流電動機的調(diào)速性能和轉(zhuǎn)矩控制性能好,從20世紀30年代起,就開場使用直流調(diào)速系統(tǒng)。它的開展過程是這樣的,由最早的旋轉(zhuǎn)交流機組控制開展為放大機,磁放大機控制;再進一步,用靜止的晶閘管變流裝置和模擬控制器實現(xiàn)直流調(diào)速;再后來,用可控整流和大功率晶體管組成的PWM控制電路實現(xiàn)數(shù)字化的直流調(diào)速,使系統(tǒng)的快速性,可靠性,經(jīng)濟性不斷提高。調(diào)速性能的不斷提高,使直流調(diào)速系統(tǒng)的應用非常廣泛,然而由于直流電動機具有電刷和換向器,制造工藝復雜且本錢高,維護麻煩,使用環(huán)境受到限制等缺點,并且很難向高轉(zhuǎn)速,高電壓,大容量開展,逐漸顯示出直流調(diào)速的弱點。普遍應用于恒速運行場合的交流電動機,可以彌補直流電動機的缺乏。于是人們又開場了新一輪交流調(diào)速的研究。僅對占傳動總量三分之一強的風機,水泵設備而言,如果改恒速為調(diào)速的話,就可以節(jié)電30%左右。近三四十年來,隨著電力電子技術,微電子技術,現(xiàn)代控制理論的開展,為交流調(diào)速產(chǎn)品的開發(fā)創(chuàng)造了有利條件,并實現(xiàn)了產(chǎn)品的系列化。從調(diào)速性能看,完全可與直流調(diào)速系統(tǒng)媲美[[]周深淵.交直流調(diào)速系統(tǒng)與MATLAB仿真[M].中國電力.2007:1~20][]周深淵.交直流調(diào)速系統(tǒng)與MATLAB仿真[M].中國電力.2007:1~20現(xiàn)代電動機自動控制的真正的開展是以電力電子器件的開展和應用為根底的。而微處理器的應用使電氣傳動控制技術再次發(fā)生了巨大地變革,使用微處理器實現(xiàn)數(shù)字化控制不僅可以簡化控制硬件,而且可以參加人工智能對系統(tǒng)運行狀態(tài)進展診斷,這對電氣傳動控制系統(tǒng)的開展產(chǎn)生了深遠影響[[]李寧,*啟新.電機自動控制系統(tǒng)[M].:機械工業(yè).2003:12~22]。[]李寧,*啟新.電機自動控制系統(tǒng)[M].:機械工業(yè).2003:12~221.2研究現(xiàn)狀與開展趨勢微處理器誕生于上個世紀七十年代,隨著集成電路大規(guī)模及超大規(guī)模集成電路制造工藝的迅速開展,微處理器的性價比越來越高。此外,由于電力電子技術的開展,制作工藝的提升,使得大功率電子器件的性能迅速提高。為微處理器普遍用于控制電機提供了可能,利用微處理器控制電機完成各種新穎的、高性能的控制策略,使電機的各種潛在能力得到充分的發(fā)揮,使電機的性能更符合工業(yè)生產(chǎn)使用要求,還促進了電機生產(chǎn)商研發(fā)出各種如步進電機、無刷直流電機、開關磁阻電動機等便于控制且實用的新型電機,使電機的開展出現(xiàn)了新的變化。對于簡單的微處理器控制電機,只需利用用微處理器控制繼電器、電子開關元器件,使電路開通或關斷就可實現(xiàn)對電機的控制。現(xiàn)在帶微處理器的可編程控制器,已經(jīng)在各種的機床設備和各種的生產(chǎn)流水線中普遍得到應用,通過對可編程控制器進展編程就可以實現(xiàn)對電機的規(guī)律化控制。對于復雜的微處理器控制電機,則要利用微處理器控制電機的電壓、電流、轉(zhuǎn)矩、轉(zhuǎn)速、轉(zhuǎn)角等,使電機按給定的指令準確工作。通過微處理器控制,可使電機的性能有很大的提高。目前相比直流電機和交流電機他們各有所長,如直流電機調(diào)速性能好,但帶有機械換向器,有機械磨損及換向火花等問題;交流電機,不管是異步電機還是同步電機,構(gòu)造都比直流電機簡單,工作也比直流電機可靠,但在頻率恒定的電網(wǎng)上運行時,它們的速度不能方便而經(jīng)濟地調(diào)節(jié)。高性能的微處理器如DSP(DigitalSignalProcessor)即數(shù)字信號處理器)的出現(xiàn),為采用新的控制理論和控制策略提供了良好的物質(zhì)根底,使電機傳動的自動化程度大為提高。在先進的數(shù)控機床等數(shù)控位置伺服系統(tǒng),已經(jīng)采用了如DSP等的高速微處理器,其執(zhí)行速度可達數(shù)百萬兆以上每秒,且具有適合的矩陣運算。采用微處理器控制,使整個調(diào)速系統(tǒng)的數(shù)字化程度,智能化程度有很大改觀;采用微處理器控制,使調(diào)速系統(tǒng)在構(gòu)造上簡單化,可靠性提高,操作維護變得簡捷,電機穩(wěn)態(tài)運行時轉(zhuǎn)速精度等方面到達較高水平。由于微處理器具有較佳的性價比,所以微處理器在工業(yè)過程及設備控制中得到日益廣泛的應用。當前基于單片機設計的控制器門類繁多,且多為實用性和針對性很強的控制器,有基于改良模糊控制等算法的中央空調(diào)的控制器[[]YingjunGuo,YingbaoZhao,ZengliLu,JianguangLiu.TheDesignofImprovedFuzzyControllerBasedonMCUforCentralAirConditioner[J].08Proceedingsofthe2008InternationalSymposiumonIntelligentInformationTechnologyApplicationWorkshops.2008:197~200],有復雜的基于AVR單片機針對機床自動變速箱的通用控制器[[]羅玉濤,羅良然,李曉波,黃志勇,孟亞輝.基于AVR單片機的自動變速箱通用控制器設計[J].計算機測量與控制,2011,(03):606~608[]YingjunGuo,YingbaoZhao,ZengliLu,JianguangLiu.TheDesignofImprovedFuzzyControllerBasedonMCUforCentralAirConditioner[J].08Proceedingsofthe2008InternationalSymposiumonIntelligentInformationTechnologyApplicationWorkshops.2008:197~200[]羅玉濤,羅良然,李曉波,黃志勇,孟亞輝.基于AVR單片機的自動變速箱通用控制器設計[J].計算機測量與控制,2011,(03):606~608[]林開生.基于51系列單片機的通用控制器的設計及其應用[J].**職業(yè)技術學院學報,2008(04):34~371.3本課題的研究目的和主要研究內(nèi)容電機控制器的開展朝著集成化和通用化的方向開展著。目前,電機控制專用集成電路芯片技術已經(jīng)比擬成熟,電機控制專用集成電路芯片的種類也十分齊全,但在通用性上還顯得缺乏。而且,電機控制專用集成電路品種規(guī)格繁多,產(chǎn)品資料和應用資料豐富,但是又很分散,需要花時間收集整理、分析消化。本課題著力于研究電機控制器的通用化開發(fā)。利用MCU編寫在一定領域具有通用功能的控制器程序,借鑒MATLAB的信號流圖,研究通過下載設定的參數(shù),在MCU程序的解釋下,實現(xiàn)其控制功能的通用性。本設計的通用性主要展現(xiàn)在兩個方面:一是PID控制器構(gòu)造的通用性即可以根據(jù)反應的情況選擇單閉環(huán),雙環(huán),甚至三環(huán)控制;二是參數(shù)的通用性,即可以很方便的對PID參數(shù)進展調(diào)整,以適應實際的需求。由于采用近幾年最最主流的STM32微處理器,應用新控制理論和方法,使實現(xiàn)實時控制成為可能,并且增加了系統(tǒng)功能和柔性。具有控制靈活,智能化水平高,參數(shù)易修改等優(yōu)點,從而到達很高的控制精度和良好的穩(wěn)定性。-.z2、直流電機調(diào)速控制系統(tǒng)分析及MATLAB仿真2.1原理分析2.1.1直流電機根本調(diào)速方法與PWM直流電動機分為有換向器和無換向器兩大類。直流電動機調(diào)速系統(tǒng)最早采用恒定直流電壓給直流電動機供電,通過改變電樞回路中的電阻來實現(xiàn)調(diào)速。這種方法簡單易行,設備制造方便,價格低廉;但缺點是效率低,機械特性軟,不能得到較寬和平滑的調(diào)速性能。該法只適用在一些小功率且調(diào)速*圍要求不大的場合。30年代末期,發(fā)電機-電動機系統(tǒng)的出現(xiàn)才使調(diào)速性能優(yōu)異的直流電動機得到廣泛應用。這種控制方法可獲得較寬的*圍,較小的轉(zhuǎn)速變化率和調(diào)速性能。但此方法的主要缺點是系統(tǒng)重量大,占地多,效率低及維修困難。近年來,隨著電力電子的迅速開展,有晶閘管變流器供電的直流電動機調(diào)速系統(tǒng)以取代了發(fā)電機-電動機調(diào)速系統(tǒng),它的調(diào)速性能遠遠超過了發(fā)電機-電動機調(diào)速系統(tǒng)。特別是大規(guī)模集成電路技術以及計算機的飛速開展,使直流電動機調(diào)速系統(tǒng)的精度,動態(tài)性能,可靠性有了更大的提高。電力電子技術中的IGBT等大功率器件的開展取代晶閘管,出現(xiàn)了性能更好的直流調(diào)速系統(tǒng)。直流電動機的轉(zhuǎn)速n和其他參量的關系可表示為〔2.1〕式中:為電樞供電電壓〔V〕,為電樞電流〔A〕,為勵磁磁通〔Wb〕,為電樞回路總阻,為電勢系數(shù)由〔2.1〕式可見,直流電動機調(diào)速方案可有以下三種。1.電樞串電阻調(diào)速:由于電阻耗能大,機械特性軟,調(diào)速*圍窄,不能實現(xiàn)無級平滑調(diào)速,只用于一些要求不高的場合。2.弱磁調(diào)速:弱磁調(diào)速雖然能實現(xiàn)平滑調(diào)速,但其調(diào)速*圍太小,特性較軟,因而只是在額定轉(zhuǎn)速以上作小*圍升速時才采用。3.調(diào)壓調(diào)速:調(diào)壓調(diào)速可實現(xiàn)額定轉(zhuǎn)速以下大*圍平滑調(diào)速,并且在整個調(diào)速*圍內(nèi)機械特性硬度不變。這種方法在直流電力拖動系統(tǒng)中被廣泛采用[[]周順榮.電機學[M].:科學.2007:42~44][[][]周順榮.電機學[M].:科學.2007:42~44[]陳世元.電機學[M]:中國電力.2004:35~37對直流電機電樞電壓的控制和驅(qū)動中,對半導體功率器件的使用上又可分為兩種方式:線性放大驅(qū)動方式和開關驅(qū)動方式。絕大多數(shù)情況下采用開關驅(qū)動方式。這種方式使半導體功率器件工作在開關狀態(tài),通過脈寬調(diào)制PWM來控制電動機的電樞電壓,實現(xiàn)調(diào)速。圖2-1PWM調(diào)速控制和電壓波形圖圖2-1是利用開關管對直流電動機進展PWM調(diào)速控制的原理圖和輸入輸出電壓波形圖。電動機的電樞繞組兩端的電壓平均值為〔2.2〕式中:為占空比,,它表示了在一個周期T內(nèi),開關管道通的時間與周期的比值,的取值*圍為:由公式〔2.2〕可知,當電源電壓不變的情況下,電樞電壓的平均值取決于平均值取決于占空比的大小,改變值就可以改變端電壓的平均值,到達調(diào)速的目的,這就是PWM調(diào)速原理。在PWM調(diào)速時,占空比是一個重要參數(shù)。以下3種方法都可以改變占空比的值?!?〕定寬調(diào)頻法:保持不變,只改變,使周期與頻率也隨之改變?!?〕調(diào)寬調(diào)頻法:保持不變,只改變,使周期與頻率也隨之改變?!?〕定頻調(diào)寬法:使周期保持不變,同時改變,。前兩種方法在調(diào)速時,改變了控制脈沖的周期,當控制脈沖的頻率與系統(tǒng)的固有頻率接近時,將會產(chǎn)生震蕩,因此很少用。目前主要用定頻調(diào)寬法[[][]王曉明.電動機的單片機控制[M].:航空航天大學.2007:52~562.1.2直流電機調(diào)速系統(tǒng)本次試驗選用的是小功率的直流電機,根據(jù)本次設計的要求,僅對與本實驗相關局部的理論進展闡述。1.開環(huán)系統(tǒng)直接發(fā)出指令,產(chǎn)生信號,改變直流電機電樞端電壓,到達調(diào)節(jié)電機速度的目的。優(yōu)點是構(gòu)造簡單,缺點是不能同時滿足調(diào)速*圍和靜差率的要求,機械特性軟,調(diào)速*圍窄。應用于靜差率要求不高的無級調(diào)速場合。2.轉(zhuǎn)速負反應的單閉環(huán)調(diào)速系統(tǒng)轉(zhuǎn)速反應電壓與轉(zhuǎn)速指令電壓相比擬形成偏差電壓,偏差電壓作為輸入信號,后與開環(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)速負反應。3.轉(zhuǎn)速、電流雙閉環(huán)調(diào)速系統(tǒng)直流電機雙閉環(huán)〔電流環(huán)、轉(zhuǎn)速環(huán)〕調(diào)速系統(tǒng)是一種當前應用廣泛,經(jīng)濟,適用的電力傳動系統(tǒng)。它具有動態(tài)響應快、抗干擾能力強優(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)就難以滿足要求。這主要是因為在單閉環(huán)系統(tǒng)中不能完全按照需要來控制動態(tài)過程的電流或轉(zhuǎn)矩。在單閉環(huán)系統(tǒng)中,只有電流截至負反應環(huán)節(jié)是專門用來控制電流的。但它只是在超過臨界電流值以后,強烈的負反應作用限制電流得沖擊,并不能很理想的控制電流的動態(tài)波形。在實際工作中,我們希望在電機最大電流受限的條件下,充分利用電機的允許過載能力,最好是在過度過程中始終保持電流〔轉(zhuǎn)矩〕為允許最大值,使電力拖動系統(tǒng)盡可能用最大的加速度起動,到達穩(wěn)定轉(zhuǎn)速后,又讓電流立即降下來,使轉(zhuǎn)矩馬上與負載相平衡,從而轉(zhuǎn)入穩(wěn)態(tài)運行。這時,啟動電流成方波形,而轉(zhuǎn)速是線性增長的。這是在最大電流〔轉(zhuǎn)矩〕首相的條件下調(diào)速系統(tǒng)所能得到的最快的起動過程。實際上,由于主電路電感的作用,電流不能突跳,為了實現(xiàn)在允許條件下最快啟動,關鍵是要獲得一段使電流保持為最大值得恒流過程,按照反應控制規(guī)律,電流負反應就能得到近似的恒流過程。問題是希望在啟動過程中只有電流負反應,而不能讓它和轉(zhuǎn)速負反應同時加到一個調(diào)節(jié)器的輸入端,到達穩(wěn)態(tài)轉(zhuǎn)速后,又希望只要轉(zhuǎn)速負反應,不在電流負反應發(fā)揮主作用,因此我們采用雙閉環(huán)調(diào)速系統(tǒng)。這樣就能做到既存在轉(zhuǎn)速和電流兩種負反應作用又能使它們作用不同的階段。在設計過程中,為了實現(xiàn)轉(zhuǎn)速和電流兩種負反應分別起作用,需要設置兩個調(diào)節(jié)器,分別調(diào)節(jié)轉(zhuǎn)速和電流,二者之間實行串級連接,即把轉(zhuǎn)速調(diào)節(jié)器的輸出當作電流調(diào)節(jié)器的輸入,再用電流調(diào)節(jié)器的輸出去控制晶閘管整流器的觸發(fā)裝置從閉環(huán)構(gòu)造上看,電流調(diào)節(jié)環(huán)在里面,叫內(nèi)環(huán);轉(zhuǎn)速環(huán)在外面,叫外環(huán)。這樣就形成了轉(zhuǎn)速、電流雙閉環(huán)調(diào)速系統(tǒng)。4.三環(huán)調(diào)速系統(tǒng)在雙閉環(huán)調(diào)速系統(tǒng)的根底上,在電流環(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)的響應速度,使起動過程的轉(zhuǎn)速和電流更接近理想波形,進一步改善了電機的起動性能[[][]*粵.電機與控制系統(tǒng)[M].**:東南大學.1999:56~100其他調(diào)速系統(tǒng)諸如:有環(huán)流可逆調(diào)速系統(tǒng)、無環(huán)流可逆調(diào)速系統(tǒng)。2.2MATLAB仿真2.2.1電機控制系統(tǒng)數(shù)學模型的推導對直流電機,有電樞電壓平衡方程:〔2.3〕轉(zhuǎn)矩平衡方程為:〔2.4〕式中:電樞電壓〔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)速慣量。對2.3,2.4式采用拉氏變換得電樞電流與電樞電壓之間傳遞函數(shù)是〔2.5〕轉(zhuǎn)子轉(zhuǎn)速n與動態(tài)轉(zhuǎn)矩之間的傳遞函數(shù)為〔2.6〕考慮到,的輔助關系,并引入機電常數(shù),可求得準確模型的傳遞函數(shù):圖2-2電機控制系統(tǒng)的數(shù)學模型2.2.2Simulink仿真〔1〕PID控制器的理論探索1〕PID控制器構(gòu)造如下列圖2-3圖2-3PID控制器,為積分環(huán)節(jié),為積分環(huán)節(jié),為微分環(huán)節(jié)2〕以一個單閉環(huán)的控制系統(tǒng)為例,分析PID控制器各參數(shù)在系統(tǒng)中的作用。圖2-4單閉環(huán)控制系統(tǒng)其中在MATLAB中編寫M文件〔見附錄〕,觀察PID各環(huán)節(jié)參數(shù)變化時,系統(tǒng)階躍響應的變化,根據(jù)圖2-5,2-6,2-7分析得:圖2-5取不同值時系統(tǒng)的階躍響應比例調(diào)節(jié)作用:增大可增大系統(tǒng)的響應速度,減小穩(wěn)態(tài)誤差,提高控制精度。但隨著增大系統(tǒng)穩(wěn)定性下降,嚴重時造成系統(tǒng)的穩(wěn)定性破壞。圖2-6取不同值時的階躍響應積分調(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)定,一般和比例項配合使用。圖2-7取不同值時的階躍響應微分調(diào)節(jié)作用:對動態(tài)控制作用,可以加快動態(tài)響應,上升快,超調(diào)小,具有預調(diào)節(jié)的作用,一般與比例項組合使用。3〕用PID控制器校正系統(tǒng)利用教材[[][]黃忠霖,周向明.控制系統(tǒng)Matlab計算及仿真實訓[M].:國防工業(yè).2006:300~311圖2-8電機開環(huán)系統(tǒng)傳遞函數(shù)為對其進展性能分析,階躍響應見圖2-9圖2-9開環(huán)系統(tǒng)階躍響應開環(huán)系統(tǒng)階躍響應的性能指標為:ans=RiseTime:0.1290SettlingTime:0.2300SettlingMin:206.0857SettlingMa*:228.4047Overshoot:0Undershoot:0Peak:228.4047PeakTime:0.3925由以上數(shù)據(jù)可知,單純的電機系統(tǒng)響應速度太慢,動態(tài)性能不佳,且不具有抗干擾性。針對這一系統(tǒng),我們將進展PID的參數(shù)設計和優(yōu)化改良,對上述系統(tǒng)引入速度負反應環(huán)節(jié)和PID調(diào)節(jié)器。圖2-10單閉環(huán)電機控制系統(tǒng)模型時系統(tǒng)的開環(huán)傳遞函數(shù)為:PID參數(shù)整定法[[]戴雅馨.淺析PID參數(shù)整定方法[J].純堿工業(yè).2009(06[]戴雅馨.淺析PID參數(shù)整定方法[J].純堿工業(yè).2009(06).15~17[]何國榮,紀娜.基于臨界比例度法的PID控制器參數(shù)整定方法研究[J].楊凌職業(yè)技術學院學報Vol..7No.2.2008(6):11~14這是目前使用較多的一種方法。它是先通過試驗得到臨界比例度和臨界周期,然后根據(jù)經(jīng)歷公式求出控制器各參數(shù)值。具體做法如下:1.被控系統(tǒng)穩(wěn)定后,把控制器的積分時間放到最大,微分時間放到零(相當于切除了積分和微分作用,只使用比例作用)。2.給定一個階躍信號,觀察由此而引起的測量值振蕩。3.針對其開環(huán)系統(tǒng)作根軌跡圖,根據(jù)MATLAB的圖像顯示,可預測臨界比例度K的大致*圍。圖2-11系統(tǒng)根軌跡圖圖2-12根軌跡圖與虛軸交點4.根據(jù)已確定的K值,代入閉環(huán)系統(tǒng),進展微調(diào),從大到小逐步把控制器的比例度減小,看測量值振蕩的變化是發(fā)散的還是衰減的,如是衰減的則應把比例度繼續(xù)減小;如是發(fā)散的則應把比例度放大使系統(tǒng)產(chǎn)生等幅震蕩,如下列圖,此時的比例系數(shù)叫臨界比例度=1/18.354271。振蕩周期為圖2-13臨界震蕩時PID參數(shù)設置界面圖2-14系統(tǒng)臨界震蕩圖5.參考參數(shù)整定表2-1,得到參數(shù),,表2-1臨界比例度法參數(shù)整定表調(diào)節(jié)作用比例度積分時間〔min〕微分時間〔min〕比例2比例積分2.20.85比例微分1.80.1比例積分微分25由表2-1可計算得,對PID控制器6.通過上述步驟得到的四個參數(shù),還要到系統(tǒng)中實際運行,檢驗控制效果,必要時進展反復調(diào)整,直至獲得滿意的控制效果。臨界比例度整定法又稱為“閉環(huán)振蕩法〞,它的特點是:不需要求得控制對象的特性,而直接在閉合的控制系統(tǒng)中進展整定,適用于一般的控制系統(tǒng),但對于臨界比例度很小的系統(tǒng)不適用.我將上述結(jié)果代入閉環(huán)系統(tǒng),其階躍響應見圖2-17,為不穩(wěn)定系統(tǒng),還需進展二次整定。圖2-15第一次整定PID參數(shù)設置界面.圖2-16第一次整定后系統(tǒng)的階躍響應7.PID參數(shù)二次整定二次整定時,其原理與試湊法類似,只是有了前面的根底從而在一定程度上防止了試湊參數(shù)時的盲目性,具有有很強的針對性。二次整定得到的PID參數(shù)數(shù)值為圖2-17二次整定得到的PID參數(shù)在該參數(shù)下系統(tǒng)的階躍響應為圖2-18二次整定后系統(tǒng)的階躍響應二次整定后系統(tǒng)階躍響應的性能指標ans=RiseTime:0.0591SettlingTime:12.4573SettlingMin:64.6782SettlingMa*:105.1588Overshoot:23.8771Undershoot:0Peak:105.1588PeakTime:0.0915進展前后比照,可知,引入PID閉環(huán)控制后,系統(tǒng)的階躍響應雖出現(xiàn)了一定量的超調(diào),但系統(tǒng)的動態(tài)性能可以得到很大改善,響應速度更快,具有了抗干擾性,PID控制器對系統(tǒng)的校正效果是很明顯的。2.3系統(tǒng)離散化控制系統(tǒng)設計的核心工作是控制器的設計。在連續(xù)控制系統(tǒng)中,控制器的設計使用模擬器件實現(xiàn);在計算機控制系統(tǒng)中,控制器的設計用軟件編程實現(xiàn)。無論是連續(xù)控制系統(tǒng)還是計算機控制系統(tǒng),都需要借助于數(shù)學工具。在連續(xù)系統(tǒng),時域設計用到微分方程,頻域設計用到傳遞函數(shù)。在計算機控制系統(tǒng),時域設計涉及差分方程,頻域設計涉及脈沖傳遞函數(shù)。我們習慣于用連續(xù)系統(tǒng)成熟的理論解決計算機控制系統(tǒng)的*些分析和設計問題,控制器的設計同樣如此。通常先設計連續(xù)控制器,再將描述連續(xù)控制器的數(shù)學模型時域的微分方程或頻域的傳遞函數(shù)轉(zhuǎn)化為時域的差分方程或頻域的脈沖傳遞函數(shù),即數(shù)字控制器的數(shù)學模型。數(shù)字控制器的設計大體上分成兩大類:經(jīng)典法設計和狀態(tài)空間法。經(jīng)典法設計可分兩種方法:離散化法和直接法。離散化法是設計連續(xù)控制系統(tǒng)的控制器,然后通過*種離散化方法轉(zhuǎn)化成數(shù)字控制器,這種方法僅能逼近連續(xù)系統(tǒng)的性能,不會由于連續(xù)系統(tǒng)的性能,但對熟悉連續(xù)系統(tǒng)的設計者不失為一種較好的方法。本次設計中的單閉環(huán)PID控制器的離散化算法[[]李嗣福計算機控制根底[M].中國科技大學.2001.:150~173][]李嗣福計算機控制根底[M].中國科技大學.2001.:150~173圖2-19PID控制器離散化圖理想模擬PID控制器輸出方程如式〔2.7〕所示〔2.7〕為比例系數(shù),與比例帶互為倒數(shù)關系,即,為積分時間,為微分時間,為PID控制器的輸出控制量,為PID控制器輸入的系統(tǒng)偏差量。對上式作拉氏變換,得式(2.8)〔2.8〕由向后差分法,,近似得即,T為采樣周期對離散化得式(2.9)〔2.9〕為積分系數(shù),為微分系數(shù)。將式(2.9)化為差分方程得式(2.10)〔2.10〕由于式〔2.10〕中包含過去全部的偏差量,而且累加運算編程不方便,計算量太大,需要將其改為遞推算法,對式(2.10)兩邊同時取一階向后差分得式(2.11)〔2.11〕即〔2.12〕式(2.11)叫做數(shù)字PID增量式算法,式(2.12)叫做數(shù)字PID位置式算法,兩者形式不同,本質(zhì)一樣,但是,采用增量式算法,系統(tǒng)工作會更平安。一旦計算機出現(xiàn)故障,使控制信號為零時,執(zhí)行機構(gòu)的位置仍能保持前一步的位置,因而對系統(tǒng)平安不會有大的影響。對*個控制系統(tǒng)而,無外乎是由一個或多個比例,積分,微分環(huán)節(jié)構(gòu)成,通過對上述單個PID離散化的認識,我們可以很輕易的對更復雜的控制系統(tǒng)進展離散化,在此不作一一推導。2.4狀態(tài)空間法與串行算法模擬并行的探索2.4.1狀態(tài)空間法的啟示經(jīng)典控制理論,適用于單輸入—單輸出〔SISO〕系統(tǒng),而現(xiàn)代控制理論建立了狀態(tài)的概念,以狀態(tài)方程為根底,以線性矩陣理論為數(shù)學工具,以計算機技術為依托,不僅適用于線性定常系統(tǒng),而且適用于線性時變和非線性系統(tǒng)的分析,綜合。經(jīng)典控制理論研究系統(tǒng)輸入-輸出之間的關系停留在系統(tǒng)的外部特征,因而從綜合的角度看,它屬于試湊形式,即根據(jù)相關理論確定相關參量,再驗證是否符合指標要求,假設不符合再重新修改參數(shù)并驗證,直至得到滿意結(jié)果。而現(xiàn)代控制理論用狀態(tài)提醒了系統(tǒng)的內(nèi)部狀況,研究輸入-狀態(tài)-輸出的因果關系,這就從內(nèi)部,從本質(zhì)上掌握了系統(tǒng)的關系,從而可以根據(jù)設計要求和目標函數(shù)〔性能指標〕求得最有控制規(guī)律。圖2-20狀態(tài)空間法簡圖對一個離散化的系統(tǒng)而言,其狀態(tài)空間表示式[[][]王春民,*興明,嵇艷鞠.連續(xù)與離散控制系統(tǒng)[M].:科學.2008:256~300〔2.13〕為動態(tài)系統(tǒng)的狀態(tài)向量,為動態(tài)系統(tǒng)的輸出向量,為輸入向量,A為狀態(tài)轉(zhuǎn)移矩陣,B為控制矩陣,C為測量矩陣,D為直傳矩陣,假設系統(tǒng)輸出滯后于輸入,則D矩陣為零。對狀態(tài)空間法認識的不斷深入,我越發(fā)了解到這種系統(tǒng)表示方式的好處,它能確定*一時刻下,系統(tǒng)任一位置的值,而不是像以往只能知道整個系統(tǒng)的輸入與輸出,這種方法,讓整個系統(tǒng)變得更加的公開和透明,雖說系統(tǒng)的狀態(tài)空間模型可由MATLAB直接運算得到,但那是建立在控制對象各參數(shù)的前提下,如果控制對象為一未知系統(tǒng),PID控制器的各參數(shù)亦不能確定,我們又該如何建立這種狀態(tài)空間模型呢.黑箱系統(tǒng)是我們在實踐中往往會遇到的類型!為此,不得不進一步加以思考。2.4.2算法的探索以一個雙閉環(huán)PID控制,對象未知的控制系統(tǒng)為例,進展模擬算法的探索。圖2-21雙閉環(huán)系統(tǒng)簡圖對這一系統(tǒng)進展簡單分析,首先它是一個三個輸入,一個輸出的控制對象未知的系統(tǒng),在三個輸入中,u0為輸入的期望值,u1,u2分別為反應值,e1表示在節(jié)點1處的偏差,e2表示在節(jié)點2的偏差,*為PID1的輸出值,y為PID2的輸出值。這樣一來,整個系統(tǒng)的輸入輸出量,中間量都被表示出來,下一步,是如何求這些量。如下圖,將其視為離散系統(tǒng),PID采用位置式算法,可知如下關系〔2.14〕根據(jù)上述關系式,在給定了輸入和PID參數(shù)的情況下,我們可以得到每一時刻系統(tǒng)的輸入輸出甚至是中間量。但是,在實際環(huán)境中,系統(tǒng)不可能是同步運行,每一個環(huán)節(jié)輸入與輸出都是有時差的,這就需要我們用串行的算法來模擬系統(tǒng)的并行運行。我們對方程組作修改,結(jié)果如下,k時刻有〔2.15〕用C語言編程,程序見附錄,PID參數(shù),增益值均用宏定義,方便修改,u0,u1,u2均設置按時序賦1至8的整數(shù)值。程序運行的結(jié)果見圖2-24.圖2-22程序運行結(jié)果對模擬算法的探索至此完畢,以上僅能說明其可行性,至于這種模擬的準確度等等方面還有待進一步深入探討。-.z3、實踐設計篇3.1整體方案設計本次設計實踐的系統(tǒng)為具有轉(zhuǎn)速反應的單閉環(huán)調(diào)速系統(tǒng),用固定在電機上的正交編碼器產(chǎn)生脈沖信號,信號線將脈沖信號送入STM32單片機中,單片機以編碼器模式計數(shù),并通過單片機一系列的計算,獲得電機的轉(zhuǎn)速。這個速度與設定的速度進展比擬,得出差值,對這個差值進展PID運算,改變單片機輸出PWM的占空比值,通過H橋驅(qū)動電路,調(diào)節(jié)電機轉(zhuǎn)速。圖3-1方案設計簡圖圖3-2電路連接示意圖3.2硬件局部硬件設計局部主要包括了STM32開發(fā)板,L298N驅(qū)動電路,正交編碼器測速,穩(wěn)壓電源電路3.2.1STM32開發(fā)板本次設計選用的是ALIENTEKMiniSTM32開發(fā)板,它的MCU是STM32F103RBT6,STM32作為基于ARMCorte*-M3的單片機,無疑具有高性能,低功耗等優(yōu)點。該芯片還擁有20KSRAM、128KFLASH、3個普通的16位定時器、一個16位的高級定時器、2個SPI、2個IIC、3個串口、1個USB、1個CAN、2個12位的ADC、51個通用IO口。當然與本次設計相關的主要是那四個定時器,USB轉(zhuǎn)串口局部,以及I/O口[[][]王永虹,*煒,郝立平.STM32系列ARMC0rte*-M3微控制器原理與實踐[M].航空航天大學.2008:209~238在本次設計中,一共用到了三個通用定時器,3個I/O口,以及單片機自帶的輸出電源。TIM2是用來產(chǎn)生PWM信號,為PWM模式1,信號的通道是CH2,由原理圖可知,PA1即為PWM輸出口,接L298N的ENA。TIM3設為編碼器模式,是TL1,TL2,*4模式,故需要兩個輸入口,PA6,PA7分別接編碼器的A,B相。TIM4設為計數(shù)器模式,向上計數(shù),由于使用時系統(tǒng)時鐘的計數(shù)脈沖,因而成了定時器,可根據(jù)其溢出中斷來進展M法測轉(zhuǎn)速,不需要使用I/O口。3.2.2電機驅(qū)動電路圖3-3L298N接線原理圖圖3-4L298N具有使能控制和方向邏輯的H橋電路根據(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將導通,電流則反向流過電機,從而到達控制正反轉(zhuǎn)的目的。由此分析出L298N輸入輸出的關系,見表3-1.表3-1L298N輸入輸出關系表ENAIN1IN2電機運行情況HHL正轉(zhuǎn)HLH反轉(zhuǎn)HIN2IN1快速停頓L**停頓表中:H高電平,L低電平,*未知3.2.3正交編碼器測轉(zhuǎn)速本次設計用的是霍爾效應正交編碼器,單相輸出16CPR,它直接與電動機主軸連接,當電動機轉(zhuǎn)動時,帶動碼盤旋轉(zhuǎn),輸出一系列的脈沖信號。編碼器在碼盤上均勻刻著一定數(shù)量的光柵,當電動機旋轉(zhuǎn)時,碼盤隨之一起轉(zhuǎn)動,可通過光柵的作用,持續(xù)不斷地開放或封閉光通路,輸出端便得到了頻率與轉(zhuǎn)速成正比的方波序列,從而計算轉(zhuǎn)速[[]郭李艷,何萍,李美蓮.一種應用TMS320F2812和編碼器測量電機轉(zhuǎn)速的方法[J].**航天工業(yè)高等??茖W校學報.2007(3):13~15][]郭李艷,何萍,李美蓮.一種應用TMS320F2812和編碼器測量電機轉(zhuǎn)速的方法[J].**航天工業(yè)高等??茖W校學報.2007(3):13~15為了獲得轉(zhuǎn)速的方向,可增加一對發(fā)光與接收裝置,使兩對發(fā)光與接收裝置錯開光柵節(jié)距的1/4,使得兩組脈沖序列A和B的相位相差為90度,正轉(zhuǎn)時A相超前B相,反轉(zhuǎn)時B相超前A相。A,B相90度的相位差,不但可以用來判斷正反轉(zhuǎn)的轉(zhuǎn)速,也可以在檢測A,B相上下沿時獲得四倍頻,這就大大提高了檢測精度。有些光電編碼器除了A,B相外還有一個Z相,Z相為每轉(zhuǎn)一個脈沖,用于基準點定位。增量式編碼器的優(yōu)點是原理構(gòu)造簡單,機械平均壽命可在幾萬小時以上,抗干擾能力強,可靠性高,適合于長距離傳輸。其缺點是無法輸出軸轉(zhuǎn)動的絕對位置信息。A相B相A相B相圖3-5順時針運動時正交編碼器的輸出波形順時針運動時,A相超前B相90度,逆時針時,B相超前A相90度,據(jù)此,根據(jù)A,B相波形可得電機轉(zhuǎn)動的方向信息,判定表見下表3-2。表3-2轉(zhuǎn)向判定表順時針運動逆時針運動ABAB1111011000001001本設計用的是M法測量轉(zhuǎn)速,每隔時間Ts檢測一次到目前為止轉(zhuǎn)過的圈數(shù)N與當前存放器TIM3->T計數(shù)值count〔可用它來求當前電機的角度〕,則電機轉(zhuǎn)速為(3.1),T時間后轉(zhuǎn)過的圈數(shù);,T時間前轉(zhuǎn)過的圈數(shù),,T時間后計數(shù)器計數(shù)值,T時間前計數(shù)器計數(shù)值至于判斷正反向,由于STM32的編碼器模式可在存放器中讀取當前計數(shù)模式,并自動根據(jù)正、反方向自動加減計數(shù),故軟件不需要利用A,B相輸出波形的上下電平做正反轉(zhuǎn)判斷。3.2.4穩(wěn)壓電源電路L298N局部電源,編碼器的電源均來自STM32開發(fā)板的輸出電源,電機的電源來自與改裝的變壓器。3.3軟件模塊軟件具有1個循環(huán)主程序,四個功能模塊序分別為:串口模塊—速度給定與速度顯示,速度測定與方向判定模塊,PID算法模塊,PWM輸出模塊。圖3-6主程序流程簡圖3.3.1PWM生成子程序圖3-7PWM程序流程圖由于STM32的高級或是通用定時器均有PWM模式,能直接生成PWM,我們只需要對相關的存放器進展操作即可得到想要的PWM。還有一點需要注意,STM32的功耗是很低的,之所以低功耗是因為在一般狀態(tài)下,STM32的外設是關閉的,所以在編程時,不管是I/O口還是其他局部,都必須首先進展時鐘使能。定時器TIM2生成PWM的初始化函數(shù)PWM_Init(u16arr,u16psc),其中參數(shù)psc的作用是使得計數(shù)器的時鐘頻率為分頻器時鐘輸入,本次設計中為72Mhz。參數(shù)arr的作用是獲得PWM的頻率初始化后,決定PWM占空比的存放器則是16位的捕獲/比擬存放器,可對其直接賦值,得到的占空比為[[]*軍.例說STM32[M].航空航天大學.2011:50~125]。[]*軍.例說STM32[M].航空航天大學.2011:50~1253.3.2串口模塊—速度給定與速度顯示圖3-8速度給定流程圖本次設計采用的是串口通信,可以通過串口助手來輸入速度與顯示速度,在串口初始化后,在通過判斷存放器USART1->SR第5位是否為1,可知數(shù)據(jù)是否就緒,假設為1,將通過串口輸入的字符會儲存在我們定義的向量code1[],字符的長度則用len讀取,再調(diào)用函數(shù)code1_dutycycle(u16dutycycle,u16code1[],u8len),將code[t]中ASCII碼的數(shù)字字符轉(zhuǎn)化為十進制數(shù)字,記為輸入轉(zhuǎn)速。至于速度顯示則相對簡單,直接調(diào)用Printf(),就可在串口顯示當前的速度,但要注意的是,Printf〔〕在輸出時需要占用大量的時間,需要在后面加上delay_ms()延時函數(shù),一個Printf〔〕需要100ms才能保證顯示的準確性,假設用LCD則無此顧忌,這是一個需要進一步改良的地方。3.3.3速度測定與方向判斷子程序圖3-9速度測定與方向判斷子流程圖首先是編碼器模式初始化函數(shù)SetTIM3EncoderMode,不作預分頻,即存放器TIM3->PSC=0,將存放器TIM3->ARR設置為光電編碼器每圈脈沖數(shù),由于是A,B一樣時輸入的4*模式,故每圈脈沖數(shù)為64,TIM3->ARR=64-1=63。這樣設定后,編碼器每轉(zhuǎn)一圈,TIM3都將產(chǎn)生一次中斷,在中斷效勞函數(shù)中,設置根據(jù)存放器TIM3->CR1方向位第4位DIR,來設置電機正反向標志位flag,分別對正反向圈數(shù)計數(shù)的變量增減。定時器TIM4設置為向上計數(shù)模式,通過設置TIM4->PSC=7199,則計數(shù)頻率再設置TIM4->ARR=10000,可知TIM4計數(shù)到10000則溢出,即每1s產(chǎn)生一次中斷,在TIM4的中斷效勞函數(shù)中,根據(jù)電機正反轉(zhuǎn)標志位,由公式〔3.1〕求得轉(zhuǎn)速。3.3.4PID算法模塊本次設計僅有轉(zhuǎn)速反應,是單閉環(huán)控制,程序中參加了位置式式PID算法。而對應的PIDcontrol函數(shù)中的算法是,,這次設計的PID算法,輸入是電機的轉(zhuǎn)速,輸出卻是占空比值,則如能找到占空比與電機轉(zhuǎn)數(shù)的函數(shù)關系,將能極大地方便我們整定PID的參數(shù),所以我在PID算法中,預先根據(jù)實測值擬合出來的占空比與轉(zhuǎn)速的函數(shù)關系,將轉(zhuǎn)速轉(zhuǎn)換為了占空比,然后進展PID運算從而直接得到占空比,但這種方法有很大的局限性。因此,在不使用轉(zhuǎn)速與占空比關系的情況下,我還整定另外一種情況的PID參數(shù):輸入為速度,輸出為PWM值,即TIM2->CCR2的值。圖3-10PID算法流程圖-.z4、實踐檢驗篇4.1實物連接圖圖4-1電機控制實物圖4.2用MATLAB曲線擬合方法確定占空比與空載電機轉(zhuǎn)速的關系編寫一個串口直接輸入占空比的函數(shù),檢測不同占空比下的轉(zhuǎn)速值,得到表4.1數(shù)據(jù),在MATLAB繪得圖4-2表4.1不同占空比下測得的電機轉(zhuǎn)速占空比〔%〕556065707580859095100轉(zhuǎn)速〔R/MIN〕860133020403045416452506480757088409630圖4-2表4.1數(shù)據(jù)在MATLAB繪制的*-Y坐標圖用MATLAB的CFTOOL工具箱進展擬合[[][]陳杰.MATLAB寶典[M].:電子工業(yè),2011:603~6701.線性擬合圖4-3線性擬合曲線LinearmodelPoly1:f(*)=p1**+p2Coefficients(with95%confidencebounds):p1=0.004798(0.00444,0.005155)p2=53.89(51.84,55.95)Goodnessoffit:SSE:17.05R-square:0.9917AdjustedR-square:0.9907RMSE:1.46其中:SSE:誤差平方和;R-Square:復相關系數(shù)或復測定系數(shù);AdjustedR-Square:調(diào)整自由度復相關系數(shù);Rootmearnsquarederror(RMSE):均方根誤差2.三次多項式擬合圖4-4多項式擬合曲線LinearmodelPoly3:f(*)=p1**^3+p2**^2+p3**+p4Coefficients(with95%confidencebounds):p1=5.533e-011(2.463e-011,8.603e-011)p2=-9.886e-007(-1.475e-006,-5.026e-007)p3=0.009779(0.007587,0.01197)p4=48.01(45.44,50.58)Goodnessoffit:SSE:2.31R-square:0.9989AdjustedR-square:0.9983RMSE:0.6205比照兩次擬合的擬合度可知,三次多項式的擬合曲線更加逼近于真實的數(shù)據(jù),但顯然,對于本次設計,只需要用線性擬合的函數(shù)就可以得到較好的擬合度,所以占空比與轉(zhuǎn)速的函數(shù)關系設定為〔4.1〕4.3簡單閉環(huán)控制試驗利用之前得到的占空比與轉(zhuǎn)速的關系,設計不含PID算法的簡單閉環(huán)控制,進展試驗。簡單閉環(huán)控制的設計思想:利用串口直接輸入轉(zhuǎn)速,利用公式〔4.1〕,將其轉(zhuǎn)化為占空比值,將該占空比值轉(zhuǎn)換為PWM信號傳給電機,不斷檢測電機轉(zhuǎn)速,假設電機轉(zhuǎn)速低于給定速度,則占空比加1,假設電機轉(zhuǎn)速大于給定速度,則占空比減1。第一步:通過串口給定電機轉(zhuǎn)速3000,串口立刻給出由擬合函數(shù)計算出來的占空比68,接著進一步進展調(diào)節(jié)。圖4-5輸入轉(zhuǎn)速時串口助手的顯示圖第二步:10s后,電機根本穩(wěn)定下來,這時的轉(zhuǎn)速如下列圖圖4-6穩(wěn)定時串口助手的顯示圖不難計算出控制的穩(wěn)態(tài)誤差為,誤差較大。當然假設想進一步得到更高精度的控制,可以從兩個方面著手:1.優(yōu)化程序,提高程序的運行速度;2定時器TIM4測轉(zhuǎn)速的時間可以進一步減少,比方說0.5s測一次轉(zhuǎn)速,這樣一來速度的實時性就能進一步提高;3還可以修改每次占空比增減的步長,比方說占空比每次增減1,變?yōu)槊看卧鰷p0.5,是的控制更準確,但是這樣一來意味著每次到達穩(wěn)態(tài)的時間會增加。4.4PID算法試驗借用公式〔4.1〕,將每次得到的速度信號轉(zhuǎn)換為占空比信號,再進展PID控制,這樣可大大降低PID參數(shù)整定的難度。這次PID參數(shù)整定用的是試湊法,因為控制電機不允許出現(xiàn)震蕩的,前面理論局部的臨界比例度法就不能用了,直接采用湊試法。在進展過一番PID參數(shù)試驗后,在進展多組試驗后,我發(fā)現(xiàn)PI控制就可以對電機進展很好地控制,參加微分環(huán)節(jié)KD反而容易引起震蕩,在KP=1.8,KD=0的前提下,對不同值的KI,設定同樣的期望轉(zhuǎn)速3000R/min時,系統(tǒng)的響應曲線見圖4-6。圖4-7不同KI值對應的速度曲線由上圖分析可得,較理想的PID參數(shù)是KP=1.8,KI=0.6,因為它不僅超調(diào)量小,調(diào)整時間小,穩(wěn)態(tài)誤差也小。但是當預期轉(zhuǎn)速設置為3500R/min是,在3000R/min下較理想的PID參數(shù)KP=1.8,KI=0.6,KD=0的系統(tǒ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控制器使用更為先進的算法,比方說模糊控制和自適應整定等等[[][]?str?m,KarlJohan;Hagglund,Tore.Automatictuningofpidcontrollers[M].ResearchTrianglePark,NC:Instrumentation,Systems,andAutomationSociety.1988:11~154.5第二次PID算法試驗前面雖然借助了占空比與轉(zhuǎn)速的關系導致PID參數(shù)整定難度大大降低,但當電機受載或者說受載變化時,這一絕對的公式就失去了意義,甚至反過來影響控制的精度,因而,要想電機的控制具有通用性,就不能用到這樣的公式。但這公式的價值不容否認,在其適用條件下,PID參數(shù)整定是很方便的。在不借助這個公式的情況下時,我進展了多番試湊,得到了一組較好的PID參數(shù)KP=0.78,KI=0.26,KD=0,同樣設定轉(zhuǎn)速為3000R/min,,得到電機速度曲線圖4-8。圖4-8KP=0.78,KI=0.26的速度曲線對電機進展分步調(diào)速,設定轉(zhuǎn)速從2000,2500,3000,3500。速度曲線見下列圖4-9.圖4-9設定2000R/MIN,2500R/MIN,3000R/MIN,3500R/MIN時速度曲線比照圖4-8與圖4-9,不難發(fā)現(xiàn),盡管PID參數(shù)一樣,設定的轉(zhuǎn)速也一樣,但在3000R/min圖4-8的性能指標要比圖4-9好,這說明了PID控制對初始條件的敏感性。分析圖4-9得,對不同的期望轉(zhuǎn)速,同一參數(shù)的調(diào)節(jié)性能不同,即試湊得到的參數(shù)是有一定的適用*圍的,這樣我們可以嘗試著對速度劃分級別,每一級別對應一個PID控制參數(shù)。-.z5、總結(jié)與改良5.1總結(jié)對電機通用控制器的研究到此告一段落。本次對電機通用控制器的的探索分為理論和實踐兩個局部完成,理論是實踐的根底也是實踐的前提。在理論局部,我主要研究了PID參數(shù)對控制系統(tǒng)的影響,PID對系統(tǒng)的校正效果,PID參數(shù)整定方法,系統(tǒng)離散化以及參照狀態(tài)空間算法得出的以串行算法模擬并行的程序?qū)嶒?。都是一些根底性的東西,但沒有這些,就不能更好的理解實踐局部的有些問題如何去處理。在實踐局部,我首先用擬合曲線確定了占空比與轉(zhuǎn)速的函數(shù)關系,這個想法無法應付變載的情況,但在實驗室階段,在負載一定的條件下,能極大的方便PID參數(shù)的整定,當然最后,我在不用這個函數(shù)關系的情況下,通過試湊的方法,同樣得到了較理想的PID參數(shù),但很花時間。在分析得到的實驗數(shù)據(jù)的根底上,我們得到了兩點結(jié)論:一是PID控制對初始條件是敏感的,甚至當初始速度設定不合理是,系統(tǒng)會產(chǎn)生很嚴重的震蕩;二是同一組PID參數(shù),一樣的其他條件,僅設定速度不同時,控制效果亦是不同的,也就是說,針對具體*一速度,調(diào)試好的PID參數(shù)時是有其適用*圍的,在本次設計中針對3000R/MIN轉(zhuǎn)速調(diào)試好的PID參數(shù)大概在2000R/MIN~4500R/MIN的轉(zhuǎn)速*圍都是有效地,至少能在超調(diào)量不是過大的情況下,使系統(tǒng)穩(wěn)定,只是調(diào)整時間,穩(wěn)態(tài)誤差等等有優(yōu)有劣。5.2改良的一些思路本次設計由于一些原因,只完成了最根底的局部,尚存在諸多缺乏之處,有很大的提升空間,就本人所考慮到的就有如下幾點:1.串口助手顯示可試著改為LCD進展通信串口助手的選擇是不得已的無奈之舉,本來按照指導教師的要求,我和另一同學合作,他做LCD,我做電機控制,那樣一來就不需要使用串口助手了,但后來我的進度相對較慢,這次合作就沒能實現(xiàn)。LCD有多好我不大了解,但我在使用串口助手的過程中發(fā)現(xiàn)其諸多不便,例如printf函數(shù)的問題,PID參數(shù)改動不方便的問題,總的來說,串口助手的實時性很差。2.中斷優(yōu)先級的設定本次設計共用到三個定時器,其中有兩個定時器有中斷的問題,如何設置這兩個中斷的優(yōu)先級,對函數(shù)進展優(yōu)化,還有待更深一步的研究。3.定時器TIM3計數(shù)的誤差問題假設一開場,電機為反轉(zhuǎn),則反轉(zhuǎn)的圈數(shù)減一才得真實值。這是因為我們采用的是向上計數(shù)的編碼器模式,也就是說從零開場計數(shù),正轉(zhuǎn)還好,從零開場記不會產(chǎn)生誤差,但假設是反轉(zhuǎn),脈沖數(shù)會減少,這樣就直接從零減到ARR值,而且會產(chǎn)生一次中斷,導致反轉(zhuǎn)圈數(shù)加一,這樣就有誤差了。4.判斷正反轉(zhuǎn)的精度問題本次設計判斷正反轉(zhuǎn)的精度使用的是STM32自帶的標志位,即從存放器TIM3->CR1的DIR位可以直接讀得當前是向上計數(shù)還是向下計數(shù),但是假設在主函數(shù)中實時讀取就會產(chǎn)生很大的問題,不光是因為程序執(zhí)行需要的時間造成延時問題,還因為這次設計用的是串口顯示速度,使用的是Printf函數(shù),該函數(shù)在串口顯示漢字或數(shù)字時耗時極大,一條Printf指令后面大概需要100ms的延時,否則會顯示亂碼,因此我選用的是TIM3中斷一次〔轉(zhuǎn)一圈〕判斷一次,并設定標志位,這樣一來雖然判斷的實時性不則高,但降低了編程的難度。5.算法的優(yōu)化本次設計只檢測了電機轉(zhuǎn)速,相當于只有一環(huán),還可以檢測電機電流,電機位置,設計出更具有通用性的算法構(gòu)造。本次算法選擇的是位置式PID算法,可以選擇其他的PID算法,比方說積分別離PID控制算法微分先行PID算法,帶死區(qū)的PID算法,內(nèi)??刂芠[]DanielE.Rivera,ManfredMorari,SigurdSkogestad.Internalmodelcontrol:PIDcontrollerDesign[J].Ind.Eng.Chem.ProcessDes.Dev.,1986,25(1):252~265],甚至可以使用模型預測控制算法〔MPC〕[[]DanielE.Rivera,ManfredMorari,SigurdSkogestad.Internalmodelcontrol:PIDcontrollerDesign[J].Ind.Eng.Chem.ProcessDes.Dev.,1986,25(1):252~265[]Fossorier,M.P.C.Quasicycliclow-densityparity-checkcodesfromcirculantpermutationMatrices[J].InformationTheory,IEEETransactionson.2004:1788-1793附錄1.MATLAB的M文件〔1〕研究Kp作用的源程序〔圖2-5〕/**********************************************************************************/num1=44;den1=[0.001651];gtf1=tf(num1,den1);num2=1;den2=[0.01751];gtf2=tf(num2,den2);num3=1;den3=[0.0750];gtf3=tf(num3,den3);gtf4=tf(1,0.195);gtf23=feedback(gtf2*gtf3,1);gtf=gtf1*gtf4*gtf23;K=[0.1,0.5,2,4,10];fori=1:5G=feedback(K(i)*gtf,0.01178);step(G)holdonenda*is([0,0.3,0,200]);gte*t('0.1')gte*t('0.5')gte*t('2')gte*t('4')gte*t('10')/**********************************************************************************/〔2〕研究Ki作用的源程序〔圖2-6〕/**********************************************************************************/num1=44;den1=[0.001651];gtf1=tf(num1,den1);num2=1;den2=[0.01751];gtf2=tf(num2,den2);num3=1;den3=[0.0750];gtf3=tf(num3,den3);gtf4=tf(1,0.195);gtf23=feedback(gtf2*gtf3,1);gtf=gtf1*gtf4*gtf23;Kp=2;T=[0.020.040.080.10.22];fori=1:6num=[Kp*T(i),Kp];den=[T(i),0];gti=tf(num,den)G=feedback(gti*gtf,0.01178);step(G)holdonenda*is([0,1.0,0,140]);gte*t('100')gte*t('50')gte*t('25')gte*t('20')gte*t('10')gte*t('1')/**********************************************************************************/〔3〕研究Kd作用的源程序〔圖2-7〕/**********************************************************************************/num1=44;den1=[0.001651];gtf1=tf(num1,den1);num2=1;den2=[0.01751];gtf2=tf(num2,den2);num3=1;den3=[0.0750];gtf3=tf(num3,den3);gtf4=tf(1,0.195);gtf23=feedback(gtf2*gtf3,1);gtf=gtf1*gtf4*gtf23;Kp=0.02;Ti=0.02;Td=[152550100];fori=1:length(Td)num=[Kp*Ti*Td(i),Kp*Ti,Kp];den=[Ti,0];gti=tf(num,den)G=feedback(gti*gtf,0.01178);step(G)holdonendgte*t('0.02')gte*t('0.1')gte*t('0.5')gte*t('1')gte*t('2')/**********************************************************************************/〔4〕求系統(tǒng)傳遞函數(shù),BODE圖及其階躍響應M文件/**********************************************************************************/[A,B,C,D]=linmod('MOTOR2CLOSE')%求狀態(tài)空間模型sys=ss(A,B,C,D)%線性時不變模型[num,den]=ss2tf(A,B,C,D)sys1=tf(num,den)%傳遞函數(shù)模型figure(1);step(sys)%畫階躍響應圖s=stepinfo(sys)%階躍響應參數(shù)figure(2);%對于BODE圖應用開環(huán)傳遞函數(shù),用閉環(huán)則
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024屆四川省成都石室天府高三開學檢測試題數(shù)學試題
- 基礎教程課件教學課件
- 2024年上??瓦\從業(yè)資格證2024年考試題
- 2024年九江客運從業(yè)資格證試題答案
- 2024年拉薩客車駕駛員從業(yè)資格證考試題庫答案
- 吉林省課件教學課件
- 2024年迪慶駕校考試客運從業(yè)資格證考試題庫
- 2024年材料員資格考試必考重點練習題庫及答案(共950題)
- 山東省泰安市東平高級中學2025屆數(shù)學高三上期末質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 返貧工作人員合同
- 安徽省小餐飲食品安全承諾書
- 六年級上冊數(shù)學直接得數(shù)習題
- 青島版小學數(shù)學【三位數(shù)乘兩位數(shù)的筆算】教案
- 大學動植物檢疫考試(習題卷7)
- 譯林版九年級上下冊英語單詞表(含音標)
- 粗粒土大三軸試驗記錄
- 醫(yī)療技術臨床應用動態(tài)評估制度
- 人教版四年級數(shù)學上冊練習八課件(含答案)
- 上海市大學生安全教育(2022級)學習通課后章節(jié)答案期末考試題庫2023年
- 初中數(shù)學-相似三角形的性質(zhì)教學設計學情分析教材分析課后反思
- 部編版語文五年級上冊《白鷺》教學設計
評論
0/150
提交評論