版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
華北水利水電大學(xué)畢業(yè)設(shè)計(jì)(論文)存檔編號(hào)畢業(yè)設(shè)計(jì)題目基于單片機(jī)的PID控制器設(shè)計(jì)學(xué)院專業(yè)姓名學(xué)號(hào)指導(dǎo)教師完成時(shí)間教務(wù)處制獨(dú)立完成與誠(chéng)信聲明本人鄭重聲明:所提交的畢業(yè)設(shè)計(jì)(論文)是本人在指導(dǎo)教師的指導(dǎo)下,獨(dú)立工作所取得的成果并撰寫完成的,鄭重確認(rèn)沒有剽竊、抄襲等違反學(xué)術(shù)道德、學(xué)術(shù)規(guī)范的侵權(quán)行為。文中除已經(jīng)標(biāo)注引用的內(nèi)容外,不包含其他人或集體已經(jīng)發(fā)表或撰寫過的研究成果。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中作了明確的說明并表示了謝意。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。畢業(yè)設(shè)計(jì)(論文)作者簽名:指導(dǎo)導(dǎo)師簽名:簽字日期:簽字日期:畢業(yè)設(shè)計(jì)(論文)版權(quán)使用授權(quán)書本人完全了解有關(guān)保管、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定。特授權(quán)可以將畢業(yè)設(shè)計(jì)(論文)的全部或部分內(nèi)容公開和編入有關(guān)數(shù)據(jù)庫(kù)提供檢索,并采用影印、縮印或掃描等復(fù)制手段復(fù)制、保存、匯編以供查閱和借閱。同意學(xué)校向國(guó)家有關(guān)部門或機(jī)構(gòu)送交畢業(yè)設(shè)計(jì)(論文)原件或復(fù)印件和電子文檔(涉密的成果在解密后應(yīng)遵守此規(guī)定)。畢業(yè)設(shè)計(jì)(論文)作者簽名:導(dǎo)師簽名:簽字日期:簽字日期:目錄摘要 IAbstract II第1章緒論 11.1課題的提出及研究意義 11.2PID控制技術(shù)的發(fā)展及趨勢(shì) 11.3課題研究的內(nèi)容 2第2章PID原理及應(yīng)用 42.1模擬PID調(diào)節(jié)器 42.2數(shù)字PID控制器 52.2.1模擬PID控制規(guī)律的離散化 52.2.2數(shù)字PID控制器的差分方程 52.2.3常用的控制方式 52.2.4PID算法的兩種類型 62.3數(shù)字PID控制的參數(shù)選擇 72.3.1數(shù)字PID參數(shù)的原則要求和整定方法 72.3.2常用的簡(jiǎn)易工程整定法 72.4智能PID控制算法 82.4.1智能PID控制算法的設(shè)計(jì) 82.4.2模糊PID控制算法 8第3章硬件設(shè)計(jì) 93.1系統(tǒng)的總體框圖 93.2單片機(jī)系統(tǒng) 93.2.1S12XS系列引腳圖 103.2.2時(shí)鐘電路 113.2.3復(fù)位電路 123.3驅(qū)動(dòng)電路和電源 123.4測(cè)速模塊 133.5撥碼開關(guān) 15第4章軟件設(shè)計(jì) 164.1程序設(shè)計(jì)思路 164.2程序設(shè)計(jì)流程圖 174.3程序設(shè)計(jì) 174.3.2主程序模塊的設(shè)計(jì) 174.3.3PID功能實(shí)現(xiàn)模塊的設(shè)計(jì) 184.3.4中斷測(cè)速模塊程序的設(shè)計(jì) 19第5章系統(tǒng)調(diào)試 215.1軟件調(diào)試 215.2系統(tǒng)調(diào)試與結(jié)論 215.2.1軟件界面 215.2.2調(diào)試結(jié)果 22參考文獻(xiàn) 24致謝 25附錄一原理圖 26附錄二系統(tǒng)整體程序 27附錄三 34附錄四 43附錄五 45參考文獻(xiàn)基于單片機(jī)的PID控制器設(shè)計(jì)摘要PID控制是一種應(yīng)用非常廣泛的控制技術(shù),在工業(yè)生產(chǎn)和科學(xué)發(fā)展中起著關(guān)鍵作用。簡(jiǎn)單、魯棒性好和可靠性高,被廣泛應(yīng)用于工業(yè)過程控制,尤其適用于可建立數(shù)學(xué)模型的確定性系統(tǒng)。然而,在工業(yè)生產(chǎn)過程中往往具有非線性,時(shí)變不確定性,難以建立精確的數(shù)學(xué)模型,應(yīng)用傳統(tǒng)PID控制,往往不能達(dá)到理想的控制效果。本設(shè)計(jì)是在傳統(tǒng)PID的基礎(chǔ)上,加入智能控制的方法,設(shè)計(jì)了智能PID控制器。該控制器是在傳統(tǒng)PID控制的基礎(chǔ)上,依靠準(zhǔn)確識(shí)別誤差的特征而做出相應(yīng)的決策來調(diào)整PID的三個(gè)參數(shù)。系統(tǒng)在硬件在線仿真調(diào)試環(huán)境下,將數(shù)據(jù)直觀的在虛擬示波器上顯示出來,以控制直流電機(jī)轉(zhuǎn)速為例,簡(jiǎn)單分析證明了智能PID控制算法較傳統(tǒng)的PID算法的優(yōu)越性。本文依靠靈活的控制方式,使得系統(tǒng)本來處于矛盾地位的快速性、準(zhǔn)確性、和穩(wěn)定性在這種控制算法下兼得。系統(tǒng)具有較好的控制效果和兼容性,可自適應(yīng)環(huán)境變量。關(guān)鍵詞:?jiǎn)纹瑱C(jī),PID控制,PID,直流電機(jī)
DesignofPID
controllerbasedonMCUAbstractPIDcontrolisaverywideapplicationofcontroltechnology,playsakeyroleinindustrialproductionandscientificdevelopment..Simple,robustandhighreliabilityarewidelyusedinindustrialprocesscontrol,especiallyfortheestablishmentofamathematicalmodelofthedeterministicsystem.However,intheprocessofindustrialproduction,itisoftennonlinearandtime-varying,itisdifficulttoestablishaccuratemathematicalmodel,anditcannotachievetheidealcontroleffectbyapplyingthetraditionalPIDcontrol.ThisdesignisbasedonthetraditionalPID,addingintelligentcontrolmethod,designedtheintelligentPIDcontroller.ThecontrollerisbasedonthetraditionalPIDcontrol,andthethreeparametersofthePIDareadjustedbythecharacteristicsoftheaccurateidentificationerror..Systemintheon-linesimulationofhardwaredebuggingenvironment,thedatadirectlyinthevirtualoscilloscopedisplay,inordertocontrolthespeedofDCmotor,forexample,simpleanalysisprovedintelligentPIDcontrolalgorithmisbetterthanthetraditionalPIDalgorithmissuperior.Thisarticlereliesontheflexiblecontrolmode,whichmakesthesystemhaveinthecontradictorypositionofrapidity,accuracy,stability,andinthiscontrolalgorithmhaveyourcakeandeatit.Thesystemhasgoodcontroleffectandcompatibility,adaptiveenvironmentvariables.Keyword:MCU,PIDcontrol,PID,DCmotor第1章緒論1.1課題的提出及研究意義PID控制是最早發(fā)展起來的控制策略之一,由于其簡(jiǎn)單、魯棒性好和可靠性高,被廣泛應(yīng)用于工業(yè)過程控制,尤其適用于可建立數(shù)學(xué)模型的確定性系統(tǒng)。而實(shí)際工業(yè)生產(chǎn)過程往往具有非線性性、時(shí)變不確定性,難以建立精確的數(shù)學(xué)模型,應(yīng)用常規(guī)PID控制器不能達(dá)到理想的控制效果。為了彌補(bǔ)常規(guī)PID的不足之處、改善控制效果,本文探討并研制了一種基于MC9S12XS128單片機(jī)的智能算法基礎(chǔ)上的PID控制器,通過單片機(jī)來實(shí)現(xiàn)智能PID控制算法。并借助于直流電機(jī)調(diào)速過程控制系統(tǒng)進(jìn)行試驗(yàn)。1.2PID控制技術(shù)的發(fā)展及趨勢(shì)自從上世紀(jì)30年代以來,自動(dòng)化技術(shù)獲得驚人的成就,現(xiàn)在在工業(yè)生產(chǎn)和科學(xué)發(fā)展中起著關(guān)鍵作用。當(dāng)前,自動(dòng)化裝置已成為大型設(shè)備不可分割的一部分??梢哉f,如果不配備適當(dāng)?shù)淖詣?dòng)化設(shè)備,大型生產(chǎn)過程根本無法進(jìn)行。事實(shí)上,自動(dòng)化水平高低已經(jīng)成為衡量工業(yè)企業(yè)現(xiàn)代化的一個(gè)重要標(biāo)志。傳統(tǒng)的過程控制中對(duì)液位高度等參數(shù)控制都采用PID控制,可以說獲得了很好的效果。在生產(chǎn)過程中,PID控制已經(jīng)成為歷史最悠久、生命力最強(qiáng)的基本方式。此后,隨著計(jì)算機(jī)和PLC的發(fā)展,計(jì)算機(jī)和PLC與模糊PID控制技術(shù)完美的結(jié)合,可以通過計(jì)算機(jī)控制PLC產(chǎn)生PID參數(shù),控制被控對(duì)象以及反饋數(shù)據(jù)給計(jì)算機(jī)進(jìn)行處理。模糊控制是近十幾年來迅速發(fā)展的一項(xiàng)技術(shù),與神經(jīng)網(wǎng)絡(luò)及專家控制并稱為智能控制,但由于其簡(jiǎn)單實(shí)用目前已成功應(yīng)用于各種控制系統(tǒng)中。模糊控制是以模糊集合論、模糊語(yǔ)言變量及模糊邏輯推理為基礎(chǔ)的一種計(jì)算機(jī)數(shù)學(xué)控制方法屬于非線性控制方法。由于引入專家的邏輯思維方式使得模糊控制器具有一定的自適應(yīng)控制能力因而特別適用于難于用精確數(shù)學(xué)模型描述的系統(tǒng)并且有很強(qiáng)的魯棒性和穩(wěn)定性。模糊控制是一種基于規(guī)則的控制。它直接采用語(yǔ)言型控制規(guī)則,出發(fā)點(diǎn)是現(xiàn)場(chǎng)操作人員的控制經(jīng)驗(yàn)或相關(guān)專家的知識(shí),在設(shè)計(jì)中不需要建立被控對(duì)象的精確數(shù)學(xué)模型,因而使得控制機(jī)理和策略易于接受與理解,設(shè)計(jì)簡(jiǎn)單,便于應(yīng)用。由工業(yè)過程的定性認(rèn)識(shí)出發(fā),比較容易建立語(yǔ)言控制規(guī)則,因而模糊控制對(duì)那些數(shù)學(xué)模型難以獲取、動(dòng)態(tài)特性不易掌握或變化非常顯著的對(duì)象非常適用?;谀P偷目刂扑惴跋到y(tǒng)設(shè)計(jì)方法,由于出發(fā)點(diǎn)和性能指標(biāo)的不同,容易導(dǎo)致較大差異;但一個(gè)系統(tǒng)的語(yǔ)言控制規(guī)則卻具有相對(duì)的獨(dú)立性,利用這些控制規(guī)律間的模糊連接,容易找到折中的選擇,使控制效果優(yōu)于常規(guī)控制器。模糊控制算法是基于啟發(fā)性的知識(shí)及語(yǔ)言決策規(guī)則設(shè)計(jì)的,這有利于模擬人工控制的過程和方法,增強(qiáng)控制系統(tǒng)的適應(yīng)能力,使之具有一定的智能水平。模糊控制系統(tǒng)的魯棒性強(qiáng),干擾和參數(shù)變化對(duì)控制效果的影響被大大減弱,尤其適合于非線性、時(shí)變及純滯后系統(tǒng)的控制。隨著工業(yè)的發(fā)展,對(duì)象的復(fù)雜程度不斷加深,尤其對(duì)于大滯后、時(shí)變的、非線性的復(fù)雜系統(tǒng):其中有的參數(shù)未知或緩慢變化;有的帶有延時(shí)或隨機(jī)干擾;有的無法獲得較精確的數(shù)學(xué)模型或模型非常粗糙。加之,人們對(duì)控制品質(zhì)的要求日益提高,常規(guī)的PID控制的缺陷逐漸暴露出來。對(duì)于時(shí)變對(duì)象和非線性系統(tǒng),傳統(tǒng)的PID控制更是顯得無能為力。因此常規(guī)PID控制的應(yīng)用受到很大限制和挑戰(zhàn)。人們?cè)趯?duì)PID應(yīng)用的同時(shí),也對(duì)具進(jìn)行了各種改進(jìn)。主要體現(xiàn)在以下兩個(gè)方面:一是對(duì)常規(guī)PID本身結(jié)構(gòu)進(jìn)行改進(jìn),即變結(jié)構(gòu)PID控制。另一方面,專家控制、模糊控制和神經(jīng)網(wǎng)絡(luò)控制是目前智能控制中最為活躍的領(lǐng)域,它與常規(guī)的PID控制相結(jié)合,揚(yáng)長(zhǎng)避短,發(fā)揮各自的優(yōu)勢(shì),形成所謂的智能PID控制。這種新型控制器己經(jīng)引起人們的普遍的關(guān)注和極大的興趣,并己得到較為廣泛的應(yīng)用。它具有不依賴精確數(shù)學(xué)模型的特點(diǎn),對(duì)系統(tǒng)參數(shù)變化具有較好的魯棒性。智能控制(Intelligentcontrol)是一門新興的理論和技術(shù),它是傳統(tǒng)控制發(fā)展顯地提高了系的高級(jí)階段,主要用來解決那些用傳統(tǒng)方法難以解決的復(fù)雜系統(tǒng)的控制,其中包括智能機(jī)器人系統(tǒng),復(fù)雜工業(yè)過程控制系統(tǒng),交通運(yùn)輸系統(tǒng),航天航空系統(tǒng)等。近年來,智能控制與常規(guī)PID控制相結(jié)合,形成所謂智能PID控制。它簡(jiǎn)化了建模程序,算法簡(jiǎn)單,明統(tǒng)的控制品質(zhì),引起了國(guó)內(nèi)外學(xué)者的廣泛關(guān)注,已經(jīng)成為當(dāng)前控制領(lǐng)域研究熱點(diǎn)之一。1.3課題研究的內(nèi)容本文主要是用單片機(jī)來實(shí)現(xiàn)智能PID控制系統(tǒng),采用MC9S12XS128單片機(jī)為主控制芯片的設(shè)計(jì)方法。本文具體研究?jī)?nèi)容包括以下幾個(gè)方面:第一章提出研究課題第二章闡述PID的原理及其應(yīng)用第三章以控制直流電機(jī)轉(zhuǎn)速為例,構(gòu)造本系統(tǒng)的PID控制的硬件設(shè)計(jì)第四章用MC9S12XS128單片機(jī)為基礎(chǔ),設(shè)計(jì)系統(tǒng)所有程序第五章系統(tǒng)調(diào)試與仿真并得出結(jié)論
第2章PID原理及應(yīng)用2.1模擬PID調(diào)節(jié)器一、模擬PID控制系統(tǒng)組成圖2-1模擬PID控制系統(tǒng)原理框圖二、模擬PID調(diào)節(jié)器的微分方程和傳輸函數(shù)PID調(diào)節(jié)器是一種線性調(diào)節(jié)器,它將給定值r(t)與實(shí)際輸出值c(t)的偏差的比例(P)、積分(I)、微分(D)通過線性組合構(gòu)成控制量,對(duì)控制對(duì)象進(jìn)行控制。1、PID調(diào)節(jié)器的微分方程式中2、PID調(diào)節(jié)器的傳輸函數(shù)三、PID調(diào)節(jié)器各校正環(huán)節(jié)的作用1、比例環(huán)節(jié):即時(shí)成比例地反應(yīng)控制系統(tǒng)的偏差信號(hào)e(t),偏差一旦產(chǎn)生,調(diào)節(jié)器立即產(chǎn)生控制作用以減小偏差。2、積分環(huán)節(jié):主要用于消除靜差,提高系統(tǒng)的無差度。積分作用的強(qiáng)弱取決于積分時(shí)間常數(shù)TI,TI越大,積分作用越弱,反之則越強(qiáng)。3、微分環(huán)節(jié):能反應(yīng)偏差信號(hào)的變化趨勢(shì)(變化速率),并能在偏差信號(hào)的值變得太大之前,在系統(tǒng)中引入一個(gè)有效的早期修正信號(hào),從而加快系統(tǒng)的動(dòng)作速度,減小調(diào)節(jié)時(shí)間。2.2數(shù)字PID控制器2.2.1模擬PID控制規(guī)律的離散化表2-2模擬PID控制規(guī)律的離散化模擬形式離散化形式2.2.2數(shù)字PID控制器的差分方程式中稱為比例項(xiàng)稱為積分項(xiàng)稱為微分項(xiàng)2.2.3常用的控制方式1、P控制2、PI控制3、PD控制4、PID控制2.2.4PID算法的兩種類型1、位置型控制式中,T采樣周期,必須使T足夠小,才能保證系統(tǒng)有一定的精度;e(n)第n次采樣的偏差值e(n-1)第(n-1)次采樣的偏差值;n采樣序號(hào),n=O,1,.2……u(n)第n次采樣的輸出u0基準(zhǔn)值2、增量型控制位置式PID算法的缺點(diǎn)是:由于全量輸出,所以每次的輸出均與過去的狀態(tài)有關(guān),計(jì)算時(shí)要對(duì)誤差進(jìn)行累加。計(jì)算運(yùn)行工作量大,而且如果計(jì)算機(jī)出現(xiàn)故障,會(huì)引起執(zhí)行機(jī)構(gòu)位置的大幅度變化,這種情況往往是生產(chǎn)實(shí)踐不允許的。在某些場(chǎng)合會(huì)造成很嚴(yán)重的生產(chǎn)事故,因此就利用增量式PID控制算法,所謂增量式PID控制是數(shù)字控制器的輸出只是控制量的增量。增量式PID算法的優(yōu)點(diǎn):動(dòng)由于微機(jī)輸出增量,所以誤動(dòng)作影響小,必要時(shí)可用邏輯判的方法去掉。②在位置式控制算法中,由手動(dòng)到自動(dòng)切換時(shí),必須首先使微機(jī)的輸出值等于閥門的原始開度,即u(n-1),才能保證手動(dòng)/自動(dòng)無擾動(dòng)切換,這將給程序設(shè)計(jì)帶來困難。而增量式設(shè)計(jì)只與本次誤差值有關(guān),與閥門原來的位置無關(guān),因此增量式容易實(shí)現(xiàn)手動(dòng)/自動(dòng)無擾動(dòng)切換。③不產(chǎn)生積分失控,所以容易獲得較好的調(diào)節(jié)效果。但是這種算法也有不足之處:①積分截?cái)嘈?yīng)大,有靜態(tài)誤差;②溢出的影響大。所以,應(yīng)該根據(jù)被控對(duì)象的實(shí)際情況加以選擇。一般認(rèn)為,在對(duì)控制精度要求較高的系統(tǒng)中,應(yīng)當(dāng)采用位置式控制算法,而在以步進(jìn)電動(dòng)機(jī)或多圈電位器作執(zhí)行器的系統(tǒng)中,則應(yīng)當(dāng)采用增量式控制算法。2.3數(shù)字PID控制的參數(shù)選擇2.3.1數(shù)字PID參數(shù)的原則要求和整定方法1、原則要求:被控過程是穩(wěn)定的,能迅速和準(zhǔn)確地跟蹤給定值的變化,超調(diào)量小,在不同干擾下系統(tǒng)輸出應(yīng)能保持在給定值,操作變量不宜過大,在系統(tǒng)與環(huán)境參數(shù)發(fā)生變化時(shí)控制應(yīng)保持穩(wěn)定。一般是滿足主要方面,并兼顧其它方面。2、PID參數(shù)整定方法:理論計(jì)算法――依賴被控對(duì)象準(zhǔn)確的數(shù)學(xué)模型(一般較難做到)工程整定法――不依賴被控對(duì)象準(zhǔn)確的數(shù)學(xué)模型,直接在控制系統(tǒng)中進(jìn)行現(xiàn)場(chǎng)整定(簡(jiǎn)單易行)2.3.2常用的簡(jiǎn)易工程整定法1、擴(kuò)充臨界比例度法――適用于有自平衡特性的被控對(duì)象整定數(shù)字調(diào)節(jié)器參數(shù)的步驟是:(1)選擇采樣周期為被控對(duì)象純滯后時(shí)間的十分之一以下。(2)去掉積分作用和微分作用,逐漸增大比例度系數(shù)直至系統(tǒng)對(duì)階躍輸入的響應(yīng)達(dá)到臨界振蕩狀態(tài)(穩(wěn)定邊緣),記下此時(shí)的臨界比例系數(shù)及系統(tǒng)的臨界振蕩周期。2、擴(kuò)充響應(yīng)曲線法――適用于多容量自平衡系統(tǒng)參數(shù)整定步驟如下:(1)讓系統(tǒng)處于手動(dòng)操作狀態(tài),將被調(diào)量調(diào)節(jié)到給定值附近,并使之穩(wěn)定下來,然后突然改變給定值,給對(duì)象一個(gè)階躍輸入信號(hào)。(2)用記錄儀表記錄被調(diào)量在階躍輸入下的整個(gè)變化過程曲線。3、歸一參數(shù)整定法令,,。則增量型PID控制的公式簡(jiǎn)化為改變Kp,觀察控制效果,直到滿意為止。2.4智能PID控制算法2.4.1智能PID控制算法的設(shè)計(jì)傳統(tǒng)的控制方式是以不變的統(tǒng)一模式來處理變化多端的動(dòng)態(tài)過程,而實(shí)際工業(yè)控制系統(tǒng)中的不確定性是不可避免的。因此在控制算法中,只有充分考慮了客觀不確定性因素的影響,才能使算法實(shí)際有效。智能PID控制,將傳統(tǒng)的PID控制算法和智能控制算法結(jié)合在一起,仍采用比例、積分和微分控制功能來實(shí)現(xiàn),依據(jù)動(dòng)態(tài)過程中的誤差特征信息智能調(diào)整PID系數(shù)的控制方案。智能控制以模糊控制和自動(dòng)控制理論為基礎(chǔ),總結(jié)人的控制經(jīng)驗(yàn),以產(chǎn)生式規(guī)則描述其啟發(fā)、覺推理及控制行為。它具有分層的信息處理和決策機(jī)構(gòu)、在線的特征辨識(shí)和特征記憶、開發(fā)式和直接邏輯推理等特征。智能控制認(rèn)為,系統(tǒng)誤差e(t)、誤差變化率e′(t)構(gòu)成求解的信息空間。基于單片機(jī)MC9S12XS128的智能控制算法,與傳統(tǒng)PID控制算法相結(jié)合,根據(jù)誤差e(t)和e′(t)來準(zhǔn)確反映誤差變化趨勢(shì),將控制模態(tài)進(jìn)行了一定的細(xì)分。2.4.2模糊PID控制算法模糊PID控制是根據(jù)PID控制器的三個(gè)參數(shù)與偏差e(t)和偏差的變化率e′(t)之間的模糊關(guān)系,在運(yùn)行時(shí)不斷檢測(cè)e(t)及e′(t),通過事先確定的關(guān)系,利用模糊推理的方法,在線修改PID控制器的三個(gè)參數(shù),讓PID參數(shù)可自整定。就我個(gè)人的理解而言,它最終還是一個(gè)PID控制器,但是因?yàn)閰?shù)可自動(dòng)調(diào)整的緣故,所以能解決實(shí)際中的很多非線性問題。根據(jù)誤差類型去修改PID參數(shù),使得控制更加智能??偟恼f來,多模態(tài)識(shí)別控制正是依靠這種靈活而巧妙的識(shí)別,決策,再識(shí)別,再?zèng)Q策的控制方式,使得那些本來處于矛盾狀態(tài)的控制品質(zhì)(快速性、穩(wěn)定性、準(zhǔn)確性)在該系統(tǒng)下能夠兼得。
第3章硬件設(shè)計(jì)3.1系統(tǒng)的總體框圖設(shè)計(jì)一個(gè)PID閉環(huán)自動(dòng)控制系統(tǒng)。本設(shè)計(jì)是應(yīng)用MC9S12XS128芯片進(jìn)行設(shè)計(jì)制作的控制系統(tǒng),通過編碼器的反饋達(dá)到對(duì)電機(jī)轉(zhuǎn)速快速控制的效果。在實(shí)驗(yàn)程序中通過對(duì)不同的撥碼開關(guān)來設(shè)置各速度,在按鍵按下之后使系統(tǒng)變換各種速度,并進(jìn)行在線仿真調(diào)試。最后,結(jié)合PCB板的實(shí)際接線情況進(jìn)行編程。使實(shí)驗(yàn)順利完成。根據(jù)電機(jī)控制的要求,可將本系統(tǒng)分為三個(gè)模塊,第一模塊是PID控制模塊,主要負(fù)責(zé)電機(jī)速度的控制,從而使電機(jī)速度快速穩(wěn)定,第二個(gè)模塊是編碼器測(cè)速模塊,反饋電機(jī)速度,用于閉環(huán)調(diào)節(jié);第三是電源模塊,給各模塊提供電源,讓各模塊工作。其系統(tǒng)功能設(shè)計(jì)結(jié)構(gòu)如圖:上電復(fù)位電路MC9S12XS128上電復(fù)位電路MC9S12XS128振蕩電路電機(jī)模塊 振蕩電路電機(jī)模塊撥碼開關(guān)撥碼開關(guān)編碼器測(cè)速 編碼器測(cè)速圖3-1總體功能結(jié)構(gòu)框圖根據(jù)系統(tǒng)的原理框圖,分別分析各部分電路的元器件的功能以及選擇合適的元件。具體設(shè)計(jì)思路如下:收集并整理資料,硬件設(shè)計(jì),軟件設(shè)計(jì),CodeWarrior仿真,做出實(shí)物,設(shè)計(jì)體會(huì)與總結(jié)。3.2單片機(jī)系統(tǒng)單片機(jī)(Microcontrollers)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的微型計(jì)算機(jī)系統(tǒng),在工業(yè)控制領(lǐng)域廣泛應(yīng)用。從上世紀(jì)80年代,由當(dāng)時(shí)的4位、8位單片機(jī),發(fā)展到現(xiàn)在的300M的高速單片機(jī)。單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。相當(dāng)于一個(gè)微型的計(jì)算機(jī),和計(jì)算機(jī)相比,單片機(jī)只缺少了I/O設(shè)備。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇。單片機(jī)現(xiàn)在的使用領(lǐng)域已十分廣泛,如智能儀表、實(shí)時(shí)工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機(jī),就能起到使產(chǎn)品升級(jí)換代的功效,常在產(chǎn)品名稱前冠以形容詞——“智能型”,如智能型洗衣機(jī)等。近些年來,單片機(jī)以很強(qiáng)的面向控制能力等優(yōu)點(diǎn),在工業(yè)自動(dòng)化控制、智能化儀表、家用電器、機(jī)器人通訊、航空航天技術(shù)、數(shù)據(jù)處理、交通運(yùn)輸?shù)确较颢@得了廣泛的應(yīng)用。3.2.1S12XS系列引腳圖圖3-2S12XS系列管腳圖MC9S12XS128是16位單片機(jī),由16位中央處理單元(CPU12X)、128KB程序Flash(P_lash)、8KBRAM、8KB數(shù)據(jù)Flash(D_lash)組成內(nèi)存儲(chǔ)器。主要功能模塊包括:內(nèi)部存儲(chǔ)器:內(nèi)部PLL鎖相環(huán)模塊2個(gè)異步串口通訊SCI1個(gè)串行外設(shè)接口SPIMSCAN模塊1個(gè)8通道輸入/輸出比較定時(shí)器模塊TIM周期中斷定時(shí)器模塊PIT16通道A/D轉(zhuǎn)換模塊ADC1個(gè)8通道脈沖寬度調(diào)制模塊PWM輸入輸出數(shù)字I/O口說明:PORTA、PORTB、PORTK為通用I/O口PORTE中的IRO和XIRQ引腳可作為外部中斷輸入PORTT集成了TIM模塊功能PORTS集成了SCI和SPI模塊功能PORTM集成了CAN總線模塊PORTP集成了PWM模塊功能PORTH、PORTJ可作為外部中斷輸入口PORTAD集成了ATD模塊功能3.2.2時(shí)鐘電路圖3-3時(shí)鐘電路(晶振)XTAL是片內(nèi)振蕩器的反相放大器輸入端,EXTAL則是輸出端,使用外部振蕩器時(shí),外部振蕩信號(hào)應(yīng)直接加到XTAL,而EXTAL懸空。內(nèi)部方式時(shí),時(shí)鐘發(fā)生器對(duì)振蕩脈沖二分頻,如晶振為16MHz,時(shí)鐘頻率就為8MHz。晶振的頻率可以在1MHz-24MHz內(nèi)選擇。電容取30PF左右。系統(tǒng)的時(shí)鐘電路設(shè)計(jì)是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。電容應(yīng)盡可能的選擇陶瓷電容,電容值約為22μF。在焊接刷電路板時(shí),晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。3.2.3復(fù)位電路復(fù)位電路通常采用內(nèi)部信號(hào)復(fù)位和按鈕復(fù)位兩種方式,此電路系統(tǒng)采用的是按鈕上電復(fù)位電路。本系統(tǒng)采用的復(fù)位電路如下圖所示:圖3-4復(fù)位電路圖3.3驅(qū)動(dòng)電路和電源驅(qū)動(dòng)電路模塊驅(qū)動(dòng)電路(DriveCircuit),位于主電路和控制電路之間,用來對(duì)控制電路的信號(hào)進(jìn)行放大的中間電路(即放大控制電路的信號(hào)使其能夠驅(qū)動(dòng)功率晶體管),稱為驅(qū)動(dòng)電路。本系統(tǒng)采用BTN7971驅(qū)動(dòng)芯片組成全H橋驅(qū)動(dòng)模塊,具有過熱、過流保護(hù)功能。系統(tǒng)采用雙H橋驅(qū)動(dòng)電路,能夠?qū)崿F(xiàn)電機(jī)的正反轉(zhuǎn),使系統(tǒng)具有更好的減速效果。圖3-5驅(qū)動(dòng)電路電源模塊穩(wěn)壓電源(stabilizedvoltagesupply)是能為負(fù)載提供穩(wěn)定交流電源或直流電源的電子裝置。包括交流穩(wěn)壓電源和直流穩(wěn)壓電源兩大類。本系統(tǒng)采用LM2940將7.2V電壓降壓穩(wěn)定到5V,為系統(tǒng)各個(gè)部分提供穩(wěn)定的電壓。圖3-6穩(wěn)壓電源模塊3.4測(cè)速模塊光電編碼器,是一種通過光電轉(zhuǎn)換將輸出軸上的機(jī)械幾何位移量轉(zhuǎn)換成脈沖或數(shù)字量的傳感器。一般的光電編碼器主要由光柵盤和光電探測(cè)裝置組成。在本系統(tǒng)中,由于光電碼盤與電動(dòng)機(jī)同軸,電動(dòng)機(jī)旋轉(zhuǎn)時(shí),編碼器與電動(dòng)機(jī)同速旋轉(zhuǎn).經(jīng)編碼器檢測(cè)輸出若干脈沖信號(hào)。通過計(jì)算每秒光電編碼器輸出脈沖的個(gè)數(shù)就能反映當(dāng)前電動(dòng)機(jī)的轉(zhuǎn)速。此外,為判斷旋轉(zhuǎn)方向,碼盤還提供相位相差90°的2個(gè)通道的光碼輸出,根據(jù)雙通道光碼的狀態(tài)變化以確定電機(jī)的轉(zhuǎn)向。本系統(tǒng)采用的是歐姆龍E6A2-CS3C200線光電編碼器。圖3-7光電編碼器編碼器輸出端接10K的上拉電阻,將輸出的信號(hào)變化為單片機(jī)能夠識(shí)別的高低電平。編碼器硬件連接原理圖電路如下:圖3-8編碼器硬件連接原理圖光耦隔離電路的必要性:驅(qū)動(dòng)電路副邊與主電路有耦合關(guān)系,而驅(qū)動(dòng)原邊是與控制電路連在一起,主電路是一次電路,控制電路是ELV電路,一次電路和ELV電路之間要做加強(qiáng)絕緣,實(shí)現(xiàn)絕緣要求一般就采取變壓器光耦等隔離措施。
光耦隔離電路(原理圖):圖3-9光耦隔離電路原理圖3.5撥碼開關(guān)撥碼開關(guān)每一個(gè)鍵對(duì)應(yīng)的背面上下各有兩個(gè)引腳,撥至ON一側(cè),這下面兩個(gè)引腳接通;反之則斷開。這八個(gè)鍵是獨(dú)立的,相互沒有關(guān)聯(lián)。此類元件多用于二進(jìn)制編碼。圖3-10八路撥碼開關(guān)
第4章軟件設(shè)計(jì)本設(shè)計(jì)采用C語(yǔ)言來編寫程序,編程及調(diào)試簡(jiǎn)單,C語(yǔ)言是在國(guó)內(nèi)外廣泛使用的一種計(jì)算機(jī)語(yǔ)言,也是一種結(jié)構(gòu)化語(yǔ)言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護(hù)。C語(yǔ)言的表現(xiàn)能力和處理能力極強(qiáng)。它不僅具有豐富的運(yùn)算符和數(shù)據(jù)類型,便于實(shí)現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。由于C語(yǔ)言實(shí)現(xiàn)了對(duì)硬件的編程操作,因此C語(yǔ)言集高級(jí)語(yǔ)言和低級(jí)語(yǔ)言的功能于一體。既可用于系統(tǒng)軟件的開發(fā),也適合于應(yīng)用軟件的開發(fā)。此外,C語(yǔ)言還具有效率高,可移植性強(qiáng)等特點(diǎn)。4.1程序設(shè)計(jì)思路在進(jìn)行應(yīng)用系統(tǒng)的總體設(shè)計(jì)時(shí),軟件設(shè)計(jì)與硬件設(shè)計(jì)應(yīng)統(tǒng)一考慮,相結(jié)合進(jìn)行。當(dāng)系統(tǒng)的電路設(shè)計(jì)定型以后,軟件的任務(wù)也就明確了。一般來說,軟件的功能可分為兩大類。一類是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測(cè)量計(jì)算、顯示、打印、輸出控制等;另一類是監(jiān)控復(fù)位軟件,它是防止程序跑飛的。我設(shè)計(jì)時(shí),應(yīng)從以下幾個(gè)方面考慮:1)根據(jù)軟件功能的要求,將系統(tǒng)軟件分為若干個(gè)相對(duì)獨(dú)立的部分。設(shè)計(jì)出合理的軟件總體結(jié)構(gòu),使其清晰、簡(jiǎn)捷、流程合理。2)各功能程序?qū)嵭心K化、子程序化。3)在編寫應(yīng)用軟件之前,應(yīng)繪制出程序流程圖。4)根據(jù)在線仿真的結(jié)果調(diào)整程序等。本設(shè)計(jì)采用了模塊化設(shè)計(jì),主要由主程序模塊、PID功能實(shí)現(xiàn)模塊、中斷測(cè)速模塊三大部分模塊組成。
4.2程序設(shè)計(jì)流程圖開始開始關(guān)總中斷系統(tǒng)初始化開總中斷PID控制器控制電機(jī)轉(zhuǎn)速編碼器測(cè)速圖4-1系統(tǒng)程序流程圖系統(tǒng)主程序中主要進(jìn)行系統(tǒng)各部分的初始化和電機(jī)PID的無限循環(huán)控制,在程序沒有跑飛的前提下,周期定時(shí)器中斷采集編碼器脈沖,算出電機(jī)實(shí)際運(yùn)行速度,通過編碼器的反饋,單片機(jī)對(duì)電機(jī)進(jìn)行閉環(huán)控制。4.3程序設(shè)計(jì)本系統(tǒng)設(shè)計(jì)采用了模塊化設(shè)計(jì),主要由主程序模塊、PID功能實(shí)現(xiàn)模塊、中斷測(cè)速模塊三大部分模塊組成。4.3.2主程序模塊的設(shè)計(jì)主程序包括各部分的初始化、總中斷使能控制,以及撥碼開關(guān)的掃描和電機(jī)的PID控制。初始化模塊包括鎖相環(huán)、電機(jī)PWM、累加器、IO口和周期定時(shí)器的初始化。其中,鎖相環(huán)的初始化使單片機(jī)的頻率(40M)工作在大于外部晶振(16M)的頻率之上。MCU的支撐電路一般需要外部時(shí)鐘來給MCU提供時(shí)鐘信號(hào),而外部時(shí)鐘的頻率可能偏低,為了使系統(tǒng)更加快速穩(wěn)定運(yùn)行,需要提升系統(tǒng)所需要的時(shí)鐘頻率。這就得用到了XS128內(nèi)部的鎖相環(huán)。XS128內(nèi)部集成了鎖相環(huán)電路,其系統(tǒng)時(shí)鐘既可由外部晶振直接提供,也可以通過鎖相環(huán)倍頻后提供,經(jīng)鎖相環(huán)超頻后,單片機(jī)的工作頻率達(dá)40M。voidmain(void){DisableInterrupts;//關(guān)中斷PLL_Init();//鎖相環(huán)初始化,設(shè)置主頻40MHZMotor_Init();//電機(jī)PWM初始化INIT_PAI();//初始化累加器IO_Init();//IO口初始化PIT0_init();//周期定時(shí)器初始化EnableInterrupts;//開總中斷for(;;){_FEED_COP();//feedsthedogget_set_speed();get_output_speed();}}4.3.3PID功能實(shí)現(xiàn)模塊的設(shè)計(jì)對(duì)于電機(jī)PID控制,本系統(tǒng)采用增量式PID控制,通過實(shí)時(shí)反饋的數(shù)據(jù),確定PID的各參數(shù)值,再加以計(jì)算,最后輸出PWM控制電機(jī)的轉(zhuǎn)速,達(dá)到快速、穩(wěn)定、準(zhǔn)確的效果。voidget_output_speed(void){Set_speed=S_speed;//讀取電機(jī)預(yù)設(shè)值/***********運(yùn)用增量PID計(jì)算出電機(jī)PWM輸出值***********************/Ek_speed=Set_speed-speed;output_speed=Pre_output_speed+s_Kp*(Ek_speed-Pre_Ek_speed)+s_Ki*Ek_speed+s_Kd*(Ek_speed-2*Pre_Ek_speed+Last_Ek_speed);Last_Ek_speed=Pre_Ek_speed;Pre_Ek_speed=Ek_speed;if(output_speed>400)//電機(jī)速度限制 output_speed=400; elseif(output_speed<100) output_speed=100; PWMDTY23=150;//(int)output_speed;//輸出電機(jī)閉環(huán)速度Pre_output_speed=output_speed;//儲(chǔ)存上次速度}4.3.4中斷測(cè)速模塊程序的設(shè)計(jì)本系統(tǒng)采用的是脈沖累加器在脈沖上升沿來臨時(shí)記錄脈沖的數(shù)目,再利用PIT周期定時(shí)器,5ms的定時(shí)中斷準(zhǔn)確計(jì)算電機(jī)的實(shí)時(shí)轉(zhuǎn)速,然后反饋給單片機(jī)系統(tǒng)進(jìn)行計(jì)算。voidPIT0_init(void)//中斷模塊初始化{PITCFLMT=0x00;//關(guān)閉定時(shí)器PITCE_PCE0=1;//使能通道0PITMUX=0x00;//選擇microtimer0PITMTLD0=199;//microtimebase0equals100clockcycles//8位微定時(shí)器PITLD0=999;//time-outperiod=(PITMTLD+1)*(PITLD+1)/fBUS=5ms//16位PITINTE=0x01;//使能通道0中斷PITCFLMT=0x80;}voidINIT_PAI(void)//初始化累加器{PACTL_PAEN=0;//事件計(jì)數(shù)方式上升沿,啟動(dòng)脈沖累加器APACTL_PAMOD=0;PACTL_PEDGE=1;PACNT=0;PACTL_PAEN=1;//始能脈沖累加器,累加上升沿}#pragmaCODE_SEG__NEAR_SEGNON_BANKED//中斷測(cè)速voidinterrupt66PIT0(void){PITTF_PTF0=1;//清除PIT0的標(biāo)記PACTL_PAEN=0;pulse=PACNT;PACNT=0;speed=(float)((pulse/1339)*12);PACTL_PAEN=1;}#pragmaCODE_SEGDEFAULT
第5章系統(tǒng)調(diào)試5.1軟件調(diào)試一個(gè)單片機(jī)系統(tǒng)經(jīng)過總體設(shè)計(jì),完成了硬件和軟件開發(fā)。元器件安裝后在系統(tǒng)存儲(chǔ)器中放入編制好的應(yīng)用程序,系統(tǒng)即可運(yùn)行。本仿真開發(fā)系統(tǒng)具有如下的功能:1)系統(tǒng)硬件電路的初始功能實(shí)現(xiàn);2)系統(tǒng)程序的輸入與修改;3)程序的運(yùn)行、調(diào)試(單步運(yùn)行、設(shè)置斷點(diǎn))、排錯(cuò)、狀態(tài)查詢功能;4)將程序下載到單片機(jī)芯片中。5.2系統(tǒng)調(diào)試與結(jié)論虛擬儀器(VI-VirtualInstrument)是指通過應(yīng)用程序?qū)⑼ㄓ糜?jì)算機(jī)與功能化硬件結(jié)合起來,用戶可通過友好的圖形界而操作計(jì)算機(jī),就像在操作自己定義、自己設(shè)計(jì)的單個(gè)儀器一樣,從而完成對(duì)被測(cè)量的采集、處理、分析、判斷、顯示、數(shù)據(jù)存儲(chǔ)等。在這種儀器系統(tǒng)中,各種復(fù)雜測(cè)試功能、數(shù)據(jù)分析和結(jié)果顯示都完全由計(jì)算機(jī)軟件完成,在很多方面有傳統(tǒng)儀器無法比擬的優(yōu)點(diǎn)。本設(shè)計(jì)選用CodeWarrior自帶的虛擬示波器來顯示所用到的數(shù)據(jù)。5.2.1軟件界面圖5-1虛擬示波器顯示界面5.2.2調(diào)試結(jié)果傳統(tǒng)PID調(diào)試結(jié)果圖5-2傳統(tǒng)PID調(diào)試結(jié)果根據(jù)誤差類型調(diào)整PID參數(shù)調(diào)試結(jié)果圖5-3參數(shù)根據(jù)誤差調(diào)整的PID調(diào)試結(jié)果
模糊PID控制調(diào)試結(jié)果圖5-4模糊PID控制調(diào)試結(jié)果5.3結(jié)論根據(jù)仿真結(jié)果可以看出,從最開始的傳統(tǒng)PID控制到模糊PID算法,算法優(yōu)化,輸出曲線也次更加貼近階躍曲線:更加快速、更加準(zhǔn)確、更加穩(wěn)定。本次設(shè)計(jì)是在傳統(tǒng)PID的基礎(chǔ)上,加入智能控制的方法,設(shè)計(jì)出了智能PID控制器。該控制器是依靠準(zhǔn)確識(shí)別誤差的特征而做出相應(yīng)的決策來調(diào)整PID的三個(gè)參數(shù),再經(jīng)PID計(jì)算式計(jì)算出輸出值。系統(tǒng)在硬件在線仿真調(diào)試環(huán)境下,將數(shù)據(jù)在虛擬示波器上顯示,以控制直流電機(jī)轉(zhuǎn)速為例,分析證明了智能PID控制算法較傳統(tǒng)的PID算法的優(yōu)越性。依靠靈活的控制方式,使得系統(tǒng)本來處于矛盾地位的控制品質(zhì):快速性、準(zhǔn)確性、和穩(wěn)定性在這種控制算法下兼得。具有較好的控制效果和兼容性,可自適應(yīng)環(huán)境變量。
參考文獻(xiàn)[1]趙全利.單片機(jī)原理及應(yīng)用教程[M].北京機(jī)械工業(yè)出版社,2012.[2]張陽(yáng),吳曄,滕勤.MC9S12XS單片機(jī)原理及嵌入式系統(tǒng)開發(fā)[M].電子工業(yè)出版社,2010.[3]彭偉.單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)100例.電子工業(yè)出版社,2009.[4]張鵬,王雪瑞.單片機(jī)原理與應(yīng)用實(shí)例教程[M].海洋出版社,2008.[5]李海濱,片春媛,許瑞雪.單片機(jī)技術(shù)教程與項(xiàng)目實(shí)例[J].中國(guó)電力出版社,2009.[6]周潤(rùn)景,徐宏偉,丁莉.單片機(jī)電路設(shè)計(jì)、分析與制作[D].機(jī)械工業(yè)出版社,2010.[7]羅金成.智能全數(shù)字直流調(diào)速系統(tǒng)理論研究與設(shè)計(jì)[D].武漢理工大學(xué),2006.[8]廖艷娥.具有模糊控制的直流傳動(dòng)系統(tǒng)的研究設(shè)計(jì),西北工業(yè)大學(xué),2004.[9]楊琳琳.數(shù)字直流調(diào)速系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].合肥工業(yè)大學(xué),2007.[10]蔣大明.自動(dòng)控制原理[M].北京交通大學(xué)出版社,2003.[11]于海生.計(jì)算機(jī)控制技術(shù)[M].機(jī)械工業(yè)出版社,2007.
致謝在本次設(shè)計(jì)論文完成之際,首先要向我的指導(dǎo)老師表示真誠(chéng)的謝意。同時(shí)要向曾經(jīng)幫助過我的同學(xué)表示誠(chéng)懇的感謝。在設(shè)計(jì)過程、論文寫作期間,正是老師的指點(diǎn)和師兄的從旁協(xié)助才能順利完成。這次畢業(yè)設(shè)計(jì)經(jīng)過了十四個(gè)周的時(shí)間。從查資料,整理資料到搭硬件、讀程序,寫程序,改程序,仿真直至通過老師的驗(yàn)收,一切都充滿了刻苦與艱辛,其間充滿了挫折可是同時(shí)又伴隨著歡樂。其次,還要感謝大學(xué)四年各位老師的悉心教導(dǎo),本設(shè)計(jì)是圍繞單片機(jī)而設(shè)計(jì)的,需要用到單片機(jī)、模電、數(shù)電、自動(dòng)控制原理等方方面面的知識(shí)。同時(shí),我自身的專業(yè)知識(shí)、動(dòng)手能力和文檔撰寫能力也得到了一定的提升。同時(shí)也使我明白了我們的學(xué)習(xí)不但要立足于書本,以解決理論和實(shí)際教學(xué)中的實(shí)際問題為目的,還要與實(shí)踐相結(jié)合,理論問題即實(shí)踐課題,解決問題即課程研究,通過自己的雙手來解決問題比用腦子解決問題來的更加深刻。再次感謝在這次畢業(yè)設(shè)計(jì)中給予我無限幫助的老師和同學(xué),正是由于你們的慷慨協(xié)助,才有我今天的順利完成!
附錄一原理圖電源模塊電路電機(jī)驅(qū)動(dòng)模塊電路硬件復(fù)位模塊電路光電隔離模塊電路系統(tǒng)總體硬件原理圖
附錄二系統(tǒng)整體程序/*******************************************************************畢業(yè)設(shè)計(jì)部分程序(PID控制器用于電機(jī)調(diào)速)*******************************************************************/各個(gè)端口接線說明:PB口:8路撥碼開關(guān)設(shè)置速度PORTS口:PSOTXD用于串口調(diào)試工具PS1RXDPWM輸出口23電機(jī)正轉(zhuǎn)45電機(jī)反轉(zhuǎn)PORTT口:PT7脈沖累加器輸入口/********************************************************************注意:版權(quán)所有,請(qǐng)勿改動(dòng)********************************************************************/#include<hidef.h>/*commondefinesandmacros*/#include"derivative.h"/*derivative-specificdefinitions*///聲明全局變量#defineucharunsignedchar#defineuintunsignedint//函數(shù)聲明voidPLL_Init(void);voidIO_Init(void);voidDelayMs(inttime);voidPIT0_init(void);voidINIT_PAI(void);voidMotor_Init(void);voidget_set_speed(void);voidget_output_speed(void);floats_Kp,s_Ki,s_Kd;//電機(jī)的PID參數(shù)floatpulse,speed;//編碼器floatoutput_speed=200,Pre_output_speed=250;//電機(jī)floatS_speed;//速度限定用撥碼開關(guān)設(shè)置floatSet_speed;floatEk_speed=0,Pre_Ek_speed=0,Last_Ek_speed=0;/*******************************************************************///主函數(shù)程序/*******************************************************************/voidmain(void){DisableInterrupts;PLL_Init();//鎖相環(huán)初始化,設(shè)置主頻40MHZMotor_Init();//電機(jī)pwm初始化INIT_PAI();//初始化累加器IO_Init();//IO口初始化PIT0_init();//周期定時(shí)器初始化EnableInterrupts;//開中斷for(;;){_FEED_COP();//feedsthedogget_set_speed();get_output_speed();}}
/*******************************************************函數(shù)名稱:SetBusClk_40M*功能說明:設(shè)置為40M主頻*******************************************************/voidPLL_Init(void){CLKSEL=0x00;//disengagePLLtosystemPLLCTL_PLLON=1;//turnonPLLSYNR=0xc0|0x04;//VCOFRQ[7:6];SYNDIV[5:0];REFDV=0x80|0x01;//REFFRQ[7:6];REFDIV[5:0]POSTDIV=0x00;//fVCO=2*fOSC*(SYNDIV+1)/(REFDIV+1);fPLL=fVCO/(2×POSTDIV);BUS=fPLL/2//ifPOSTDIV=0,fPLL=fVCO_asm(nop);//BUSCLOCK=32M_asm(nop);while(!(CRGFLG_LOCK==1));//whenpllissteady,thenuseit;CLKSEL_PLLSEL=1;//engagePLLtosystem;}////函數(shù)功能:配置IO//形式參數(shù):無//函數(shù)返回值:無//voidIO_Init(void){DDRB=0;//配置B口為輸入}////函數(shù)功能PIT中斷初始化定時(shí)5ms//形式參數(shù):無//函數(shù)返回值:無//voidPIT0_init(void){PITCFLMT=0x00;//關(guān)閉定時(shí)器PITCE_PCE0=1;//使能通道0PITMUX=0x00;//選擇microtimer0PITMTLD0=199;//microtimebase0equals100clockcycles//8位微定時(shí)器PITLD0=999;//time-outperiod=(PITMTLD+1)*(PITLD+1)/fBUS=5ms//16位PITINTE=0x01;//使能通道0中斷PITCFLMT=0x80;}/*************************************************************//*初始化累加器*//*************************************************************/voidINIT_PAI(void){PACTL_PAEN=0;//事件計(jì)數(shù)方式上升沿,啟動(dòng)脈沖累加器APACTL_PAMOD=0;PACTL_PEDGE=1;PACNT=0;PACTL_PAEN=1;//始能脈沖累加器,累加上升沿}
/***************************************************************電機(jī)PWM初始化函數(shù)*****************************************************************/voidMotor_Init(void){PWME=0X00;//關(guān)閉所有PWM通道PWMPRCLK=0X11;//時(shí)鐘預(yù)分頻計(jì)數(shù)器設(shè)置A=B=16MHzPWMSCLA=0X0a;//時(shí)鐘設(shè)置SA=A/(2*PWMSCLA)=1MHzPWMSCLB=0X0a;//時(shí)鐘設(shè)置SB=B/(2*PWMSCLB)=1MHz//pwm2.pwm3電機(jī)驅(qū)動(dòng)正向pwmPWMCTL_CON23=1;//2和3聯(lián)合成16位PWM//PWMCTL控制寄存器PWMPOL_PPOL3=1;//先輸出高電平,計(jì)數(shù)到DTY時(shí),反轉(zhuǎn)電平PWMCAE_CAE3=0;//選擇輸出模式為左對(duì)齊輸出模式PWMCNT23=0;//計(jì)數(shù)器清零//通道3計(jì)數(shù)寄存器PWMCLK_PCLK3=0;//選擇clockA做時(shí)鐘源PWMPER23=2000;//周期125us;8kHz,BTS7971最高頻率25kHz;PWMDTY23=0;//高電平時(shí)間為us;PWME_PWME3=1;//pwm4.pwm5電機(jī)驅(qū)動(dòng)反向pwmPWMCTL_CON45=1;//4和5聯(lián)合成16位PWM//PWMCTL控制寄存器PWMPOL_PPOL5=1;//先輸出低電平,計(jì)數(shù)到DTY時(shí),反轉(zhuǎn)電平PWMCAE_CAE5=0;//選擇輸出模式為左對(duì)齊輸出模式PWMCNT45=0;//計(jì)數(shù)器清零//通道5計(jì)數(shù)寄存器PWMCLK_PCLK5=0;//選擇clockB做時(shí)鐘源PWMPER45=2000;//周期125us;8kHzPWMDTY45=0;//高電平時(shí)間為us;PWME_PWME5=1;}/*******************以上為各部分初始化函數(shù)**************************/////函數(shù)名:設(shè)定速度//功能:撥碼開關(guān)設(shè)定速度//voidget_set_speed(void){if(PORTB_PB0==0)S_speed=4.0;if(PORTB_PB1==0)S_speed=3.5;if(PORTB_PB2==0)S_speed=3.0;if(PORTB_PB3==0)S_speed=2.5;if(PORTB_PB4==0)S_speed=2.0;if(PORTB_PB5==0)S_speed=1.5;if(PORTB_PB6==0)S_speed=1.0;if(PORTB_PB7==0)S_speed=0.5;}/***************************************************************電機(jī)控制輸出函數(shù)*****************************************************************/voidget_output_speed(void){Set_speed=S_speed;//讀取電機(jī)預(yù)設(shè)值/**************運(yùn)用增量PID計(jì)算出電機(jī)PWM輸出值******************/Ek_speed=Set_speed-speed;output_speed=Pre_output_speed+s_Kp*(Ek_speed-Pre_Ek_speed)+s_Ki*Ek_speed+s_Kd*(Ek_speed-2*Pre_Ek_speed+Last_Ek_speed);/***************************電機(jī)速度儲(chǔ)存***************************/Last_Ek_speed=Pre_Ek_speed;Pre_Ek_speed=Ek_speed;if(output_speed>1000)//電機(jī)速度限制 output_speed=1000;elseif(output_speed<100) output_speed=100; PWMDTY23=(int)output_speed;//輸出電機(jī)閉環(huán)速度Pre_output_speed=output_speed;//儲(chǔ)存上次速度}////函數(shù)名:中斷函數(shù)//功能:編碼器測(cè)速//#pragmaCODE_SEG__NEAR_SEGNON_BANKEDvoidinterrupt66PIT0(void){PITTF_PTF0=1;//清除PIT0的標(biāo)記PACTL_PAEN=0;pulse=PACNT;PACNT=0;speed=(float)((pulse/1339)*12);PACTL_PAEN=1;}#pragmaCODE_SEGDEFAULT
附錄三外文原文:IntelligentPIDcontrolIntheindustrialprocesscontrol,PIDcontrolistheoldest,powerfulcontrolmode.Itisbyfarthemostcommoncontrolmethod.ThecharacteristicofPIDcontrolissimpleinprinciple,strongadaptability,strongrobustness.Andithasalongperiodapplication,controlengineershaveaccumulatedexperiencesofadjustingPIDcontrollerparametersofalargenumberof.Withthedevelopmentofindustry,thecomplexityoftheobjectcontinuestodeepen,especiallyforlargetimedelayandtimevarying,nonlinearcomplexsystem:includingsomeparametersareunknownorslowlyvarying;somewithdelayorrandomdisturbance.Somecannotobtaintheaccuratemathematicalmodelorveryrough.Togetherwiththedesireforqualitycontrolisincreasing,thedefectsofconventionalPIDcontrolgraduallyexposed.Forthetime-varyingobjectsandnonlinearsystem,traditionalPIDcontrolisincapableofaction.Therefore,theapplicationofconventionalPIDcontrollimitsandchallenges.PeopleinthePIDapplicationatthesametime,alsohascarriedontheimprovement.Intelligentcontrolisanewtheoryandtechnology,itistheadvancedstageofthedevelopmentoftraditionalcontrol,mainlyusedtosolvethecontrolofcomplexsystemwhichisdifficulttosolvebytraditionalmethods,includingintelligentrobotsystem,complexindustrialprocesscontrolsystem,transportationsystemfuzzyPIDcontrollersystem,andaerospacesystemsetc..Inrecentyears,intelligentcontrolofboththeoryandapplicationtechnologyhavebeenconsiderabledevelopment,emergingalongtheintelligentcontrolmethodandtheconventionalPIDcontrolmethodforfusionmethodtogether,formedmanyformsofintelligentPIDcontroller.Itsimplifiesthemodelingprocedure,simplealgorithm,obviouslyimprovesthecontrolqualityofthesystem,causedthewideattentionofscholarsathomeandabroad,hasbecomeoneoftheresearchhotspotsinthefieldofcontrol.Firstofall,ithasself-learning,adaptive,self-organizingcapacity,canautomaticallyidentifycontrolledprocessparametersandautotuningofcontrolparameters,andisadaptabletothechangeofprocessparameterscontrolled.Secondly,ithasthecharacteristicsofconventionalPIDcontrollerhastheadvantagesofsimplestructure,strongrobustness,highreliability,fieldengineeringdesignpersonnelfamiliar.Itisthesetwoadvantages,theintelligentPIDcontrolisanidealcontroldeviceasmanyoftheprocesscontrol.1FuzzyadaptivePIDcontrollerIntheindustrialcontrolprocessoftenencounterlargedelay,time-varying,nonlinearandcomplexsystem,whichsomeparametersareunknownorslowlychanging.Somewithde
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人教A版九年級(jí)地理下冊(cè)月考試卷
- 2025年蘇教新版七年級(jí)物理下冊(cè)階段測(cè)試試卷含答案
- 2025年人教版選修3歷史上冊(cè)階段測(cè)試試卷含答案
- 2025年浙科版七年級(jí)物理下冊(cè)階段測(cè)試試卷含答案
- 2025年湘師大新版八年級(jí)生物下冊(cè)階段測(cè)試試卷含答案
- 2025年北師大版八年級(jí)生物上冊(cè)階段測(cè)試試卷含答案
- 2025年浙教版八年級(jí)地理下冊(cè)階段測(cè)試試卷
- 2025年湘教版選修4歷史下冊(cè)月考試卷含答案
- 2025年統(tǒng)編版2024八年級(jí)歷史上冊(cè)月考試卷
- 2025年新科版八年級(jí)地理下冊(cè)月考試卷
- 完整版秸稈炭化成型綜合利用項(xiàng)目可行性研究報(bào)告
- 油氣行業(yè)人才需求預(yù)測(cè)-洞察分析
- 《數(shù)據(jù)采集技術(shù)》課件-Scrapy 框架的基本操作
- 2025年河北省單招語(yǔ)文模擬測(cè)試二(原卷版)
- 高一化學(xué)《活潑的金屬單質(zhì)-鈉》分層練習(xí)含答案解析
- DB34∕T 4010-2021 水利工程外觀質(zhì)量評(píng)定規(guī)程
- 2024年內(nèi)蒙古中考英語(yǔ)試卷五套合卷附答案
- 2024年電工(高級(jí))證考試題庫(kù)及答案
- 三年級(jí)上冊(cè)脫式計(jì)算100題及答案
- 儲(chǔ)能電站火災(zāi)應(yīng)急預(yù)案演練
- 人教版(新插圖)二年級(jí)下冊(cè)數(shù)學(xué) 第4課時(shí)用“進(jìn)一法”和“去尾法”解決簡(jiǎn)單的實(shí)際問題 教學(xué)課件
評(píng)論
0/150
提交評(píng)論