版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、小功率直流電機(jī)的測(cè)速和控制 摘要 本設(shè)計(jì)采用兩片MCU(AT89S52),完成了小型直流電機(jī)轉(zhuǎn)速的采集、計(jì)算、顯示、鍵盤(pán)設(shè)定,并將非均勻采樣情況下的增量式積分分離PID控制算法應(yīng)用于直流電機(jī)的PWM調(diào)速,實(shí)現(xiàn)了對(duì)電機(jī)轉(zhuǎn)速的測(cè)量和控制,解決了通常低采樣周期時(shí)系統(tǒng)的超調(diào)以及PID算法的積分飽和問(wèn)題。關(guān)鍵詞 轉(zhuǎn)速 PID控制 mcu AT89S52 PWMMeasuring And Controlling The Rotational SpeedOf Small Power DC ElectromotorZHANG Wu-jiang(Grade 02,Class 2,Major Electronic
2、 and Information Engineering,Shaanxi University of Technology,Hanzhong 723000,Shaanxi)Tutor,Lu chaoAbstract This design use two set of MCU(AT89S52) , has completed small DC electromotor rotational speed sampling, calculating,displaying, the keyboard setting, And has applied the PID control theoretic
3、s to the modulation of PWM rotational speed of DC electromotor, measuring and the controlling the rotational speed of the electromotor, has solved out modulation and PID algorithm integral saturated problem.Keywords Rotational Speed;PID control;mcu(AT89S52);PWM目錄引言41設(shè)計(jì)方案論證41.1系統(tǒng)結(jié)構(gòu)方案論證41.2轉(zhuǎn)速測(cè)量方案論證41.
4、3電機(jī)驅(qū)動(dòng)方案論證51.4鍵盤(pán)顯示方案論證51.5 PWM軟件實(shí)現(xiàn)方案論證52系統(tǒng)原理框圖設(shè)計(jì)63各模塊的分析、計(jì)算與硬件電路設(shè)計(jì)63.1速度測(cè)量電路的設(shè)計(jì)6轉(zhuǎn)速/頻率轉(zhuǎn)換電路的設(shè)計(jì)6脈沖濾波整形電路的設(shè)計(jì)63.2 電機(jī)驅(qū)動(dòng)電路的設(shè)計(jì)373.3 LCD顯示電路與單片機(jī)的接口設(shè)計(jì)85系統(tǒng)各部分子功能程序設(shè)計(jì)105.1電機(jī)轉(zhuǎn)速測(cè)量程序設(shè)計(jì)105.2鍵盤(pán)程序設(shè)計(jì)115.3 LCD顯示子程序的設(shè)計(jì)4116數(shù)字PID及其算法的改進(jìn)136.1 PID控制基本原理136.2三個(gè)基本參數(shù)Kp,Ti,Td在實(shí)際控制中的作用研究146.3數(shù)字PID控制算法1146.4 PID算法的改進(jìn),“飽和”作用的抑制2156
5、.5 PID控制算法的單片機(jī)程序?qū)崿F(xiàn)177 PWM信號(hào)的單片機(jī)程序?qū)崿F(xiàn)178 系統(tǒng)的調(diào)試過(guò)程與測(cè)試178.1轉(zhuǎn)速度測(cè)量部分調(diào)試178.2 PID各項(xiàng)系數(shù)賦初值178.3實(shí)驗(yàn)調(diào)試和確定PID算法各項(xiàng)系數(shù)18賦初值調(diào)試分析。18修改PID各項(xiàng)系數(shù)值調(diào)試分析188.3.3 PID各項(xiàng)系數(shù)值的確定189結(jié)束語(yǔ)19注釋119致謝:19參考文獻(xiàn)19附錄1:硬件總圖20附錄2:程序清單:21引言目前見(jiàn)到的許多關(guān)于直流電機(jī)的測(cè)速與控制類(lèi)文獻(xiàn)中,雖然能實(shí)現(xiàn)直流電機(jī)的無(wú)級(jí)調(diào)速,但還存在一些問(wèn)題,如無(wú)法與計(jì)算機(jī)直接接口,許多較為復(fù)雜的控制算法無(wú)法在不增加硬件成本的情況下實(shí)現(xiàn),控制器的人機(jī)界面不理想??偟膩?lái)講,控制器
6、的智能化程度不高,可移植性差。雖然采用PWM芯片來(lái)實(shí)現(xiàn)電機(jī)無(wú)級(jí)調(diào)速的方案成本較低,但當(dāng)控制器針對(duì)不同的應(yīng)用場(chǎng)合增加多種附加功能時(shí),其靈活性不夠,而且反而增加硬件的成本5。還有一些使用PLC控制器或高檔處理器芯片(如DSP器件)的文獻(xiàn),它們雖然具有較高的控制性能,但由于這些高檔處理器價(jià)格過(guò)高,需要更多的外圍器件,因此也不具備在通常情況下大規(guī)模使用的條件。從發(fā)展趨勢(shì)上看,總體的研究方向是提出質(zhì)量更高的算法和調(diào)速方案,以及在考慮成本要求的前提下選擇適合這種算法的核心控制器。1設(shè)計(jì)方案論證根據(jù)設(shè)計(jì)任務(wù),要求調(diào)速采用PID控制器,因此需要設(shè)計(jì)一個(gè)閉環(huán)直流電機(jī)控制系統(tǒng)。該系統(tǒng)采用脈寬調(diào)速,使電機(jī)速度等于設(shè)
7、定值,并且實(shí)時(shí)顯示電極的轉(zhuǎn)速值。通過(guò)對(duì)設(shè)計(jì)功能分解,設(shè)計(jì)方案論證可以分為:系統(tǒng)結(jié)構(gòu)方案論證,速度測(cè)量方案論證,電機(jī)驅(qū)動(dòng)方案論證,鍵盤(pán)顯示方案論證,PWM軟件實(shí)現(xiàn)方案論證。1.1系統(tǒng)結(jié)構(gòu)方案論證 方案一:采用一片單片機(jī)(AT89S52)完成系統(tǒng)所有測(cè)量、控制運(yùn)算,并輸出PWM控制信號(hào)。 方案二:采用兩片單片機(jī)(AT89S52),其中一片做成PID控制器,專(zhuān)門(mén)進(jìn)行PID運(yùn)算和PWM控制信號(hào)輸出;另一片則系統(tǒng)主芯片,完成電機(jī)速度的鍵盤(pán)設(shè)定、測(cè)量、顯示,并向PID控制器提供設(shè)定值和測(cè)量值,設(shè)定PID控制器的控制速度等。 方案一的優(yōu)點(diǎn)是系統(tǒng)硬件簡(jiǎn)單,結(jié)構(gòu)緊湊。但是其造成CPU資源緊張,程序的多任務(wù)處理難
8、度增大,不利與提高和擴(kuò)展系統(tǒng)性能,也不利于向其他系統(tǒng)移植。方案二則與方案一相反,雖然硬件增加,但在程序設(shè)計(jì)上有充分的自由去改善速度測(cè)量精度,縮短測(cè)量周期,優(yōu)化鍵盤(pán),顯示及擴(kuò)展其它功能。與此同時(shí),PID控制算法的實(shí)現(xiàn)可以精益求精,對(duì)程序算法或參數(shù)稍加改動(dòng)即可移植到其他PID控制系統(tǒng)中。因此通過(guò)比較,選擇方案二。1.2轉(zhuǎn)速測(cè)量方案論證方案一:采用記數(shù)的方法。具體是通過(guò)單片機(jī)記單位時(shí)間S(秒)內(nèi)的脈沖數(shù)N,每分鐘的轉(zhuǎn)速:M=N/S60。方案二:采用定時(shí)的方法。是通過(guò)定時(shí)器記錄脈沖的周期T,這樣每分鐘的轉(zhuǎn)速:M=60/T。比較兩個(gè)方案,方案一的誤差主要是1誤差(量化誤差),設(shè)電機(jī)的最低設(shè)計(jì)轉(zhuǎn)速為120
9、轉(zhuǎn)/分,則記數(shù)時(shí)間S=1s,所以其誤差得絕對(duì)值|=|(N1)/S60-N/S60|=60(轉(zhuǎn)/分),誤差計(jì)算公式表明,增大記數(shù)時(shí)間可以提高測(cè)量精度,但這樣做卻增大了速度采樣周期,會(huì)降低系統(tǒng)控制靈敏度。而方案二所產(chǎn)生的誤差主要是標(biāo)準(zhǔn)誤差,并且使采樣時(shí)間降到最短,誤差=60/(T1)-60/T,設(shè)電機(jī)速度在1206000轉(zhuǎn)/分之間,那么0.01sT0.5s,代入公式得:0.00024|0.6(轉(zhuǎn)/分)。由此明顯看出,方案二在測(cè)量精度及提高系統(tǒng)控制靈敏度等方面優(yōu)于方案一,所以本設(shè)計(jì)采用方案二。1.3電機(jī)驅(qū)動(dòng)方案論證 方案一:采用專(zhuān)用小型直流電機(jī)驅(qū)動(dòng)芯片。這個(gè)方案的優(yōu)點(diǎn)是驅(qū)動(dòng)電路簡(jiǎn)單,幾乎不添加其它外
10、圍元件就可以實(shí)現(xiàn)穩(wěn)定的控制,使得驅(qū)動(dòng)電路功耗相對(duì)較小,而且目前市場(chǎng)上此類(lèi)芯片種類(lèi)齊全,價(jià)格也比較便宜。方案二:采用繼電器對(duì)電動(dòng)機(jī)的開(kāi)或關(guān)進(jìn)行控制,通過(guò)開(kāi)關(guān)的切換對(duì)電機(jī)的速度進(jìn)行調(diào)整。這個(gè)方案的優(yōu)點(diǎn)是電路較為簡(jiǎn)單,缺點(diǎn)是繼電器的響應(yīng)時(shí)間慢、機(jī)械結(jié)構(gòu)易損壞、壽命較短、可靠性不高。方案三:采用由達(dá)林頓管組成的H型PWM電路。用單片機(jī)控制達(dá)林頓管使之工作在占空比可調(diào)的開(kāi)關(guān)狀態(tài),精確調(diào)整電動(dòng)機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高;H型電路保證了可以簡(jiǎn)單地實(shí)現(xiàn)轉(zhuǎn)速和方向的控制;電子開(kāi)關(guān)的速度很快,穩(wěn)定性也極佳,是一種廣泛采用的PWM調(diào)速技術(shù)。 通過(guò)比較和對(duì)市場(chǎng)因素的考慮,本設(shè)計(jì)采用方案
11、一,使系統(tǒng)的設(shè)計(jì)核心在PID控制上。1.4鍵盤(pán)顯示方案論證方案一:采用44鍵盤(pán),可直接輸入設(shè)定值。顯示部分使用4位數(shù)碼管,優(yōu)點(diǎn)是顯示亮度大,缺點(diǎn)是功耗大,不符合智能化趨勢(shì)而且不美觀。方案二:使用4個(gè)按鍵,進(jìn)行逐位設(shè)置。顯示部分是使用支持中文顯示的LCD,優(yōu)點(diǎn)是美觀大方,有利于人與系統(tǒng)的交互,及顯示內(nèi)容的擴(kuò)展;缺點(diǎn)是成本高,抗干擾能力教差。為了系統(tǒng)容易擴(kuò)展、操作以及美觀,本設(shè)計(jì)完全采用方案二。1.5 PWM軟件實(shí)現(xiàn)方案論證 脈寬調(diào)制的方式有三種:定頻調(diào)寬、定寬調(diào)頻和調(diào)寬調(diào)頻。本設(shè)計(jì)采用了定頻調(diào)寬方式,采用這種方式的優(yōu)點(diǎn)是電動(dòng)機(jī)在運(yùn)轉(zhuǎn)時(shí)比較穩(wěn)定,并且在采用單片機(jī)產(chǎn)生PWM脈沖的軟件實(shí)現(xiàn)上比較方便。
12、對(duì)于實(shí)現(xiàn)方式則有兩種方案。方案一:采用定時(shí)器做為脈寬控制的定時(shí)方式,這一方式產(chǎn)生的脈沖寬度極其精確,誤差只在幾個(gè)us。方案二:采用軟件延時(shí)方式,這一方式在精度上不及方案一,特別是在引入中斷后,將有一定的誤差。但是基于不占用定時(shí)器資源,且對(duì)于直流電機(jī),采用軟件延時(shí)所產(chǎn)生的定時(shí)誤差在允許范圍。由于本設(shè)計(jì)采用了兩片AT89S52單片機(jī),MCU資源充足,因此選擇方案一。2系統(tǒng)原理框圖設(shè)計(jì)系統(tǒng)原理框圖如圖2.1所示,是一個(gè)帶鍵盤(pán)輸入和顯示的閉環(huán)測(cè)量控制系統(tǒng)。主體思想是通過(guò)系統(tǒng)設(shè)定信息和測(cè)量反饋信息計(jì)算輸出控制信息。單片機(jī)(速度的測(cè)量計(jì)算、輸入設(shè)定及系統(tǒng)控制)單片機(jī)(PID運(yùn)算控制器、PWM模擬發(fā)生器)電
13、機(jī)速度采集電路電機(jī)驅(qū)動(dòng)電路鍵 盤(pán)顯示器圖2.1 系統(tǒng)原理框圖3各模塊的分析、計(jì)算與硬件電路設(shè)計(jì)3.1速度測(cè)量電路的設(shè)計(jì)轉(zhuǎn)速/頻率轉(zhuǎn)換電路的設(shè)計(jì)理論上,是先將轉(zhuǎn)速轉(zhuǎn)化為某一種電量來(lái)測(cè)量,如電壓,電流等。設(shè)計(jì)中將轉(zhuǎn)速測(cè)量轉(zhuǎn)化為電脈沖頻率的測(cè)量?;谶@一思想,可以采用一對(duì)霍爾感應(yīng)傳感器,使輸出信號(hào)的一只在轉(zhuǎn)輪一側(cè)固定,另一只則粘在對(duì)應(yīng)位置的轉(zhuǎn)輪上,這樣,電機(jī)每轉(zhuǎn)一圈,傳感器將會(huì)輸出一個(gè)脈沖,然后將脈沖放大、整形后即可通過(guò)單片機(jī)測(cè)量其頻率求出轉(zhuǎn)速。實(shí)際實(shí)驗(yàn)中,由于市場(chǎng)采購(gòu)原因,暫用三極管輸出型紅外光電耦合器代替霍爾傳感器。如圖3.1所示,在電機(jī)轉(zhuǎn)輪一處開(kāi)孔,這樣,每轉(zhuǎn)一圈,三級(jí)管(紅外接收頭)透光導(dǎo)通
14、一次,OUT端輸出一個(gè)上脈沖,即完成了轉(zhuǎn)速頻率的轉(zhuǎn)換脈沖濾波整形電路的設(shè)計(jì)由于電機(jī)在轉(zhuǎn)動(dòng)的過(guò)程中有很大的晃動(dòng),而且本設(shè)計(jì)中測(cè)量裝置做工粗糙,因此所獲得的脈沖信號(hào)參雜有高頻噪聲或誤動(dòng)脈沖。為了提高測(cè)量的準(zhǔn)確,且盡可能地減少錯(cuò)誤,設(shè)計(jì)中如圖3.2所示OUT輸出端加一電容接地。為了既能抑制噪聲又不影響測(cè)量,電容值C的選擇很重要。根據(jù)實(shí)際測(cè)量,設(shè)計(jì)中所使用的直流電機(jī)轉(zhuǎn)速可達(dá)6000轉(zhuǎn)/分。其所產(chǎn)生的脈沖周期T=1/(6000/60)S=0.01S,一個(gè)周期內(nèi),脈沖持續(xù)時(shí)間約為1/8T=0.00125S,低電平時(shí)間約為7/8T=0.00875S,由于接收頭感光導(dǎo)通電阻很小,所以電容迅速充電,當(dāng)?shù)碗娖降絹?lái)
15、時(shí)開(kāi)始放電,為保證下一個(gè)脈沖的檢測(cè),放電時(shí)間t應(yīng)小于低電平持續(xù)時(shí)間7/8T,根據(jù)電路,t=R2C0.00875,代入R2值解不等式可得:C0.000017F。單位換算得C0.017F ,為了方便整形,實(shí)際設(shè)計(jì)中C=0.001F 。由于單片機(jī)中斷I/O口的需要輸入信號(hào)是正規(guī)的矩形脈沖,所以電路的脈沖整形電路采用74系列反向器74LS06進(jìn)行兩次反向后輸入單片機(jī)。圖3.1轉(zhuǎn)速/頻率轉(zhuǎn)化電路圖3.2脈沖濾波整形電路3.2 電機(jī)驅(qū)動(dòng)電路的設(shè)計(jì)3本設(shè)計(jì)采用目前市場(chǎng)上較容易買(mǎi)到的L298N直流或步進(jìn)電機(jī)驅(qū)動(dòng)芯片,它采用單片集成塑裝, 是一個(gè)高電壓、大電流全雙橋驅(qū)動(dòng)器,由標(biāo)準(zhǔn)的TTL電平控制。L298N支持
16、50V以?xún)?nèi)的電機(jī)控制電壓,在直流運(yùn)轉(zhuǎn)條件下,可以通過(guò)高達(dá)2A的電流,因此它滿足了一般小型電機(jī)的控制要求。其內(nèi)部原理結(jié)構(gòu)如圖3.3。接法見(jiàn)圖3.4,圖中二極管的作用是消除電機(jī)的反向電動(dòng)勢(shì),保護(hù)電路,因此采用整流二極管比較合適。PWM控制信號(hào)由in1、in2輸入。如果in1為高電平,in2為低電平時(shí)電機(jī)為正向轉(zhuǎn)速,反之in1為低電平,in2為高電平時(shí),電機(jī)為反向轉(zhuǎn)速。本設(shè)計(jì)將in2直接接地,即采用單向制動(dòng)的方式。通過(guò)實(shí)驗(yàn),本設(shè)計(jì)中不必使用雙向制動(dòng)也可達(dá)到設(shè)計(jì)要求。圖3.3:L298N內(nèi)部原理結(jié)構(gòu)圖圖3.4:電機(jī)驅(qū)動(dòng)電路3.3 LCD顯示電路與單片機(jī)的接口設(shè)計(jì)設(shè)計(jì)中采用的LCDRT12232F是一種
17、內(nèi)置8192個(gè)16*16點(diǎn)漢字庫(kù)和128個(gè)16*8點(diǎn)ASCII字符集圖形點(diǎn)陣液晶顯示器,它主要由行驅(qū)動(dòng)器/ 列驅(qū)動(dòng)器及12832全點(diǎn)陣液晶顯示器組成。可完成圖形顯示,也可以顯示7.52個(gè)(1616點(diǎn)陣)漢字,與外部CPU接口采用并行或串行方式控制。本設(shè)計(jì)采用并行方式控制,LCD與單片機(jī)的通訊接口電路如圖3.5所示采用直連的方法,這樣設(shè)計(jì)的優(yōu)點(diǎn)是在不影響性能的條件下還不用添加其它硬件,簡(jiǎn)化了電路,降低了成本。4 系統(tǒng)總程序框圖設(shè)計(jì) 系統(tǒng)程序程序框圖如圖4.1所示,概述了程序的總體結(jié)構(gòu)和工作過(guò)程。開(kāi)始系統(tǒng)初始化顯示初始化調(diào)用按鍵子程序系統(tǒng)總控制器PID控制器開(kāi)始系統(tǒng)初始化PID參數(shù)初始化空操作(循
18、環(huán)用)有鍵按下?無(wú)鍵處理子程序PID參數(shù)計(jì)算中斷0接收設(shè)定值子程序中斷返回中斷1接收測(cè)量值子程序中斷返回PID計(jì)算處理計(jì)算PWM定時(shí)值定時(shí)中斷0、外中斷0測(cè)量計(jì)算轉(zhuǎn)速發(fā)送測(cè)量值有中斷返回定時(shí)中斷1系統(tǒng)時(shí)間記時(shí)、處理中斷返回屬于總控制器通過(guò)按鍵完成發(fā)送設(shè)定值圖3.5:LCD顯示電路與單片機(jī)的接口圖4.1系統(tǒng)總程序框圖5系統(tǒng)各部分子功能程序設(shè)計(jì)5.1電機(jī)轉(zhuǎn)速測(cè)量程序設(shè)計(jì)設(shè)計(jì)中考慮到電機(jī)的工作環(huán)境一般比較惡劣,因此除了硬件外,從程序上除了要更高的精確度也需要進(jìn)行更多的抗干擾設(shè)計(jì),從而實(shí)現(xiàn)軟件的大范圍檢錯(cuò)、糾錯(cuò)或丟棄錯(cuò)誤等。在程序的設(shè)計(jì)過(guò)程中,對(duì)嚴(yán)重不符合要求的測(cè)量數(shù)據(jù)(如大于6000轉(zhuǎn)對(duì)應(yīng)的數(shù)據(jù))進(jìn)
19、行了丟棄處理,而對(duì)于正常范否為“0”為“1”否否是是否是進(jìn)入中斷檢測(cè)中斷標(biāo)志開(kāi)定時(shí)器記時(shí)設(shè)中斷標(biāo)志為“1”系統(tǒng)時(shí)間初始化中斷返回關(guān)閉定時(shí)器及總中斷判斷數(shù)據(jù)是否正常保存數(shù)據(jù)是否“采5”處理?說(shuō)明:當(dāng)電機(jī)轉(zhuǎn)速過(guò)低時(shí),如果進(jìn)行采3取5處理將會(huì)使控制速度太低,同時(shí)低速狀態(tài)的錯(cuò)誤發(fā)生幾率較小,所以不采用采5取3求平均處理。完成5組數(shù)據(jù)采集?“取3“求平均處理計(jì)算速度值速度值是否正常?發(fā)送速度值到PID 控制器系統(tǒng)時(shí)間初始化定時(shí)器初值初始化中斷返回圖5.1外中斷0服務(wù)子程序框圖圍內(nèi)的數(shù)據(jù)錯(cuò)誤采用了采5取3求平均的算法(即采集5個(gè)數(shù)據(jù),去掉 一個(gè)最大值一個(gè)最小值,然后將剩余3數(shù)據(jù)求平均)。實(shí)驗(yàn)表明,此方法降
20、低了系統(tǒng)采集轉(zhuǎn)速中出現(xiàn)的錯(cuò)誤。對(duì)于轉(zhuǎn)速的測(cè)量方法,是通過(guò)速度脈沖信號(hào)下降沿觸發(fā)單片機(jī)的外中斷,中斷服務(wù)子程序在某一個(gè)脈沖的下降沿開(kāi)啟定時(shí)器記時(shí),然后在下一個(gè)下降沿關(guān)閉定時(shí)器,通過(guò)對(duì)定時(shí)器數(shù)據(jù)進(jìn)行運(yùn)算處理可以得到信號(hào)周期進(jìn)而得到速度值。其程序框圖如圖5.1??梢钥闯?,此方法下的采樣周期是隨轉(zhuǎn)速變化的,轉(zhuǎn)速越高采樣越快。通過(guò)這種非均勻的速度采樣方式可以使電機(jī)在高速情況下,實(shí)現(xiàn)高速度高精度的控制。5.2鍵盤(pán)程序設(shè)計(jì) 鍵盤(pán)服務(wù)子程序位選鍵按下否?加1鍵按下否?減1鍵按下否?位選循環(huán)右移調(diào)用加1子程序調(diào)用減1子程序否否否否發(fā)送鍵按下否?是是是鍵值處理、保存、顯示向PID控制器發(fā)送返回鍵盤(pán)程序設(shè)計(jì)的任務(wù)是
21、賦予各按鍵相應(yīng)的功能,完成速度設(shè)定值的輸入和向PID控制器的發(fā)送。4只按鍵一只用來(lái)位循環(huán)選擇,告訴單片機(jī)要調(diào)整的是設(shè)定值的個(gè)位、十位、百位還是千位。第二、三只按鍵分別是減1、加1減。在沒(méi)有位選擇的情況下對(duì)設(shè)定值整體進(jìn)行減1、加1;在有位選擇的情況下僅對(duì)相應(yīng)位進(jìn)行減1、加1,并且當(dāng)按著不釋放按鍵時(shí)可以實(shí)現(xiàn)快速連續(xù)減1、加1,同時(shí)允許循環(huán)減、加(既當(dāng)某位為0時(shí),在減1則為9,某位為9時(shí),加1則為0)。最后一只按鍵是確認(rèn)發(fā)送鍵,按下它后,單片機(jī)將設(shè)定值送給PID控制器,從而實(shí)現(xiàn)設(shè)定控制。程序框圖如圖5.2。圖5.2:鍵盤(pán)電路程序框圖5.3 LCD顯示子程序的設(shè)計(jì)4LCD的詳細(xì)使用過(guò)程可參閱對(duì)應(yīng)型號(hào)的
22、使用手冊(cè)。僅在本小節(jié)強(qiáng)調(diào)以下內(nèi)容:LCD 使用的關(guān)鍵是根據(jù)顯示需要正確地對(duì)其進(jìn)行初始化設(shè)置,而一般情況下不用考慮如何向它讀寫(xiě)指令或數(shù)據(jù),因?yàn)橹圃鞆S商所給的使用資料里就附有驅(qū)動(dòng)程序,如果沒(méi)有也可以從網(wǎng)上搜索下載得到。然而我們必須清楚那些初始化設(shè)置之間的關(guān)系,以及它是如何利用設(shè)置讀取、顯示數(shù)據(jù)字符的,不然就會(huì)發(fā)生一些不可預(yù)料的錯(cuò)誤,例如表5.3所示。因此,熟讀LCD驅(qū)動(dòng)芯片使用手冊(cè)也是一個(gè)關(guān)鍵環(huán)節(jié)。表5.3 LCD中文字型的編碼寫(xiě)入地址對(duì)照 在RT12232F中,CGRAM字型與中文字型的編碼只可出現(xiàn)在每一Address Counter的開(kāi)始位置,圖表中最后一行為錯(cuò)誤的填入中文碼位置,其結(jié)果會(huì)產(chǎn)生
23、亂碼象。80818283848586878889HLHLHLHLHLHLHLHLHLHLSHAANXI.LIGONGXUE.陜西理.物理系02電.陜西理.物理系02電.系統(tǒng)延遲設(shè)定使用基本指令集清屏,地址指針歸位設(shè)定游標(biāo)的移動(dòng)方向及指定顯示的移位返回LCD初始化子程序調(diào)入待顯示數(shù)據(jù)指針調(diào)用寫(xiě)入指令子程序?qū)懭隓DRAM地址調(diào)用數(shù)據(jù)輸入子程序計(jì)算DDRAM地址調(diào)待顯示屏幕位置數(shù)據(jù)待顯示數(shù)據(jù)指針加1一行數(shù)據(jù)顯示完?否返回顯示完所有行?否是是LCD寫(xiě)入顯示數(shù)據(jù)子程序圖5.4 LCD顯示初始化程序和寫(xiě)數(shù)據(jù)程序框圖通常LCD的初始化包括復(fù)位設(shè)置、清除顯示、地址歸位、顯示開(kāi)關(guān)、游標(biāo)設(shè)置、讀寫(xiě)地址設(shè)置、反白選
24、擇以及睡眠模式等等。實(shí)際中根據(jù)需要,正確、靈活地修改這些設(shè)置可以達(dá)到較為滿意的顯示效果。LCD 中所有漢字、數(shù)字和字符都可以通過(guò)它的ASCII碼來(lái)訪問(wèn)顯示;圖象的顯示是通過(guò)將相關(guān)軟件(提取漢字、圖象點(diǎn)陣數(shù)據(jù)程序)產(chǎn)生的數(shù)據(jù)按照LCD手冊(cè)的要求完成響應(yīng)設(shè)置后寫(xiě)入即可。由于本設(shè)計(jì)中沒(méi)有使用到圖形顯示,所以沒(méi)有詳述。對(duì)于系統(tǒng)使用的漢字、字符和數(shù)據(jù)的LCD顯示初始化程序和寫(xiě)數(shù)據(jù)程序框圖見(jiàn)圖5.4。6數(shù)字PID及其算法的改進(jìn)6.1 PID控制基本原理PID控制即比例(Proportional)、積分(Integrating)、微分(Differentiation)控制。在PID控制系統(tǒng)中,完成PID控制
25、規(guī)律的部分稱(chēng)為PID控制器。它是一種線形控制器,用輸出y(t)和給定量r(t)之間的誤差的時(shí)間函數(shù)e(t)=r(t)-y(t). PID控制器框圖如圖6.1。實(shí)際應(yīng)用中,可以根據(jù)受控對(duì)象的特性和控制的性能要求,靈活地采用不同的控制組合,如:R(t)KpKi/SKdS控制對(duì)象C(t)U(t)E(t)6.1PID控制算法框圖比例(P)控制器: 比例積分(PI)控制器: 比例+積分+微分(PID)控制器:比例+微分(PD)控制器:式中,Kp為比例運(yùn)算放大系數(shù),Ti為積分時(shí)間,Td為微分時(shí)間。6.2三個(gè)基本參數(shù)Kp,Ti,Td在實(shí)際控制中的作用研究通過(guò)使用MATLAB軟件中SIMULINK 的系統(tǒng)仿真
26、功能對(duì)PID算法進(jìn)行仿真,現(xiàn)將結(jié)果作以下概括。比例調(diào)節(jié)作用:是按比例反映系統(tǒng)的偏差,系統(tǒng)一旦出現(xiàn)了偏差,比例調(diào)節(jié)立即產(chǎn)生調(diào)節(jié)作用用以減少偏差,屬于“即時(shí)”型調(diào)節(jié)控制。比例作用大,可以加快調(diào)節(jié),減少誤差,但是過(guò)大的比例,使系統(tǒng)的穩(wěn)定性下降甚至造成系統(tǒng)的不穩(wěn)定。積分調(diào)節(jié)作用:使系統(tǒng)消除靜態(tài)誤差,提高無(wú)誤差度。因?yàn)橛姓`差,積分調(diào)節(jié)就進(jìn)行,直至無(wú)誤差,積分調(diào)節(jié)停止,積分調(diào)節(jié)輸出一常值,屬于“歷史積累”型調(diào)節(jié)控制。積分作用的強(qiáng)弱取決與積分時(shí)間常數(shù)Ti,Ti越小,積分作用就越強(qiáng)。反之Ti大則積分作用弱,加入積分調(diào)節(jié)可使系統(tǒng)穩(wěn)定性下降,動(dòng)態(tài)響應(yīng)變慢。積分作用常與另兩種調(diào)節(jié)規(guī)律結(jié)合,組成PI調(diào)節(jié)器或PID調(diào)節(jié)
27、器。微分調(diào)節(jié)作用:微分作用反映系統(tǒng)偏差信號(hào)的變化率,具有預(yù)見(jiàn)性,能預(yù)見(jiàn)偏差的變化趨勢(shì),因此能產(chǎn)生超前的控制作用,在偏差還沒(méi)有形成之前,以被微分調(diào)節(jié)作用消除,因此屬于“超前或未來(lái)”型調(diào)節(jié)控制。因此,可以改善系統(tǒng)的動(dòng)態(tài)性能。在微分時(shí)間選擇合適的情況下,可以減少超調(diào),減少調(diào)節(jié)時(shí)間。微分作用對(duì)噪聲干擾有放大作用,因此過(guò)強(qiáng)的加微分調(diào)節(jié),對(duì)系統(tǒng)抗干擾不利。此外,微分反映的是變化率,而當(dāng)輸入沒(méi)有變化時(shí),微分作用輸出為零。微分作用不能單獨(dú)使用,需要與另外兩種調(diào)節(jié)規(guī)律相結(jié)合,組成PD或PID控制器。6.3數(shù)字PID控制算法1在單片機(jī)數(shù)字控制系統(tǒng)中,PID控制算法是通過(guò)單片機(jī)程序來(lái)實(shí)現(xiàn)的。對(duì)于數(shù)字信號(hào)處理,不論是
28、積分還是微分,只能用數(shù)值計(jì)算去逼近。當(dāng)采樣周期相當(dāng)短時(shí),用求和代替積分,用差商來(lái)代替微商,使PID算法離散化,將描述連續(xù)時(shí)間PID算法的微積分方程,變?yōu)槊枋鲭x散時(shí)間PID算法的差分方程。其算法變換如圖6.2注釋1。圖6.2數(shù)字PID算法圖中PID算法為非遞推形式,稱(chēng)為全量算法。為了求和,必須將系統(tǒng)偏差的全部過(guò)去值e(j)(j=0,1,2)值都存儲(chǔ)起來(lái)。這種算法得出了控制量的全量輸出u(k),是控制量的絕對(duì)數(shù)值。在控制系統(tǒng)中,這種控制量決定了執(zhí)行機(jī)構(gòu)的的位置,比如,在本設(shè)計(jì)電機(jī)控制系統(tǒng)中,這種算法的輸出對(duì)應(yīng)了相應(yīng)的速度值。因此,人們將這種算法稱(chēng)為“位置PID算法”。除了“位置PID算法”以外,常
29、見(jiàn)的還有增量式PID控制算法。當(dāng)執(zhí)行機(jī)構(gòu)需要的不是控制量的絕對(duì)值,而是控制量的增量(例如去驅(qū)動(dòng)步進(jìn)電動(dòng)機(jī))時(shí),需要用PID“增量算法”。此算法可由“位置PID算法”求出。如圖6.3所示增量式PID算法推理過(guò)程。綜合兩種算法,本設(shè)計(jì)是產(chǎn)生一個(gè)PWM信號(hào)去控制直流電機(jī),PWM信號(hào)的高電平持續(xù)時(shí)間對(duì)應(yīng)的控制量是一個(gè)絕對(duì)值,而不是一個(gè)控制量的增量。但是如果采用“位置PID算法”則需要考慮控制量的基值u0,即Kp=0時(shí)的控制量,而直接用增量式PID算法只能計(jì)算出控制量的增量。所以,設(shè)計(jì)中,先采用增量式控制控制算法計(jì)算出控制量的增量,然后加上上一次的控制量即可以得到本次的控制量,其表達(dá)式見(jiàn)圖6.4。綜合來(lái)
30、說(shuō),本系統(tǒng)的PID算法是以增量式算法實(shí)現(xiàn)“位置PID算法”的結(jié)果,使控制得到簡(jiǎn)化、容易實(shí)現(xiàn)。圖6.3增量式PID算法圖6.4本設(shè)計(jì)PID算法表達(dá)式6.4 PID算法的改進(jìn),“飽和”作用的抑制2抑制PID算法的“飽和”作用,通常有兩種方法。一種算法是遇限削弱積分法,其基本思想是:一旦控制變量進(jìn)入飽和區(qū),將只執(zhí)行削弱積分項(xiàng)的運(yùn)算而停止進(jìn)行增大積分項(xiàng)的運(yùn)算。具體地說(shuō),在計(jì)算u(k)時(shí),將判斷上一時(shí)刻的控制量u(k)是否已超出限制范圍,如果已超出,那么將根據(jù)偏差的符號(hào),判斷系統(tǒng)輸出是否在超調(diào)區(qū)域,由此決定是否將相應(yīng)偏差計(jì)入積分項(xiàng)。另一種算法是積分分離法。減小積分飽和的關(guān)鍵在于不能使積分項(xiàng)累積過(guò)大。第一
31、種修正方法是一開(kāi)始就積分,但進(jìn)入限制范圍后即停止累積。后者介紹的積分分離法正好與其 相反,它在開(kāi)始時(shí)不進(jìn)行積分,直到偏差達(dá)到一定的閥值后才進(jìn)行積分累計(jì),算法流程圖見(jiàn)圖6.5。圖中,A,B,C分別代表q0,q1,q2。這樣,一方面防止了一開(kāi)始有過(guò)大的控制量,另一方面即使進(jìn)入飽和后,因積分累積小,也能較快退出,減少了超調(diào)。 由于本系統(tǒng)的控制對(duì)象是一個(gè)具有慣性或稱(chēng)其為滯后特性的直流電機(jī),一方面要求控制要盡可能高的反映速度,另一方面也要盡可能減少超調(diào)。因此,積分分離法比較適合本系統(tǒng)。綜合上面關(guān)于PID算法的研究,已經(jīng)得出一個(gè)針對(duì)本系統(tǒng)的PID算法“增量式積分分離PID控制算法”。在此控制算法中,誤差較
32、大時(shí)采用的是PD算法控制。開(kāi)始PID參數(shù)初始化取給定值r(k)和測(cè)量值c(k)|e(k)|e(k)=r(k)-c(k)u(k)=q0e(k)+ q1e(k-1)+ q2e(k-2)u(k)= q0e(k)-f(k-1)u(k)= u(k)+u(k-1)f(k)= q1e(k)輸出u(k)g(k-1)=g(k)f(k-1)=f(k)e(k-1)=e(k)返回 在PID控制器的實(shí)現(xiàn)過(guò)程中,發(fā)現(xiàn)不同的電機(jī)除了慣性不同外,還有一個(gè)參數(shù)不容忽略,那就是電機(jī)在轉(zhuǎn)動(dòng)過(guò)程中的摩擦力。由于摩擦力總是阻礙電機(jī)轉(zhuǎn)動(dòng),所以相當(dāng)于額外的給控制量對(duì)應(yīng)的電動(dòng)機(jī)轉(zhuǎn)矩加了一不定量的負(fù)轉(zhuǎn)矩。如果PID的輸出的控制增量對(duì)應(yīng)的轉(zhuǎn)矩為
33、正,則會(huì)抵消一部分增量,但如果PID輸出的控制增量對(duì)應(yīng)的轉(zhuǎn)矩為負(fù),則會(huì)助長(zhǎng)這一增量。如此以來(lái),如果電機(jī)在加速過(guò)程中使用和減速過(guò)程中同樣的PID參數(shù),就有可能出現(xiàn)加速欠條,減速超調(diào)的情況。實(shí)驗(yàn)中,也證明了這一分析的正確性。 解決這一問(wèn)題的方法是利用微分項(xiàng)的校正作用,在電機(jī)加速狀態(tài),和減速狀態(tài)采用不同的微分系數(shù),即在不同的時(shí)段采用不同的微分系數(shù),其中加速時(shí)微分系數(shù)為Kd1,減速時(shí)微分系數(shù)為Kd2。這樣系統(tǒng)的控制算法就成為“變系數(shù)增量式積分分離控制算法”了,可以通過(guò)設(shè)定參數(shù)得到更佳的校正作用。圖6.5增量式積分分離PID算法流程圖6.5 PID控制算法的單片機(jī)程序?qū)崿F(xiàn)要編寫(xiě)一個(gè)已知算法的單片機(jī)程序,
34、首先要考慮的就是數(shù)據(jù)的結(jié)構(gòu)和存儲(chǔ)方式了。因?yàn)樗苯佑绊懙较到y(tǒng)的控制精度,以及PID算法的實(shí)現(xiàn)質(zhì)量。本系統(tǒng)之所以專(zhuān)門(mén)采用一片單片來(lái)實(shí)現(xiàn)PID算法,就是因?yàn)閺囊婚_(kāi)始的設(shè)計(jì)思路就是盡可能高的提高系統(tǒng)的控制精度。要提高系統(tǒng)的控制精度,在計(jì)算過(guò)程中僅取整數(shù)或定點(diǎn)小數(shù)是不夠的,所以本設(shè)計(jì)采用三字節(jié)浮點(diǎn)數(shù)運(yùn)算。對(duì)于AT89S52單片機(jī)而言,有足夠的內(nèi)存去存儲(chǔ)和處理這些數(shù)據(jù)。另外,為了使程序的參數(shù)修改方便,更易于應(yīng)用到其他PID控制系統(tǒng)中去,在一開(kāi)始的參數(shù)賦值程序中,參數(shù)是以十進(jìn)制BCD碼浮點(diǎn)數(shù)存儲(chǔ)的,參數(shù)賦值完成后,緊接著就是對(duì)參數(shù)進(jìn)行二進(jìn)制浮點(diǎn)數(shù)的歸一化處理,以及復(fù)合參數(shù)q0,q1,q2等的計(jì)算。這些工作
35、在系統(tǒng)啟動(dòng)后迅速就完成了,之后PID控制器只進(jìn)行PID核心控制算法的計(jì)算。PID算法的程序框圖如圖6.5 所示算法。由于本系統(tǒng)采用的是單級(jí)單向調(diào)速, 所以當(dāng)PID控制算法的輸出結(jié)果u(k)為負(fù)數(shù)時(shí)就將其清另零了,當(dāng)大于系統(tǒng)飽和值時(shí),賦值u(k)為飽和值。7 PWM信號(hào)的單片機(jī)程序?qū)崿F(xiàn)理論上,只要PWM脈沖的周期正比于PID控制算法的輸出結(jié)果結(jié)果。具體實(shí)現(xiàn)過(guò)程中,取u(k)的整數(shù)部分(記為:UT)保存,然后用PWM信號(hào)的周期值減去UT所得值即為定時(shí)器1的初值(記為:INIT)。其程序框圖見(jiàn)圖7.1。定時(shí)器0中斷將PWM輸出端置高電平“1”裝入50ms初值設(shè)定時(shí)器1中斷優(yōu)先級(jí)最高中斷返回定時(shí)器1中
36、斷設(shè)定時(shí)器0中斷優(yōu)先級(jí)最高將PWM輸出端清零裝入PWM信號(hào)初值INIT中斷返回圖7.1:產(chǎn)生PWM控制信號(hào)程序框圖。8 系統(tǒng)的調(diào)試過(guò)程與測(cè)試8.1轉(zhuǎn)速度測(cè)量部分調(diào)試 將數(shù)字示波器探頭加在轉(zhuǎn)速脈沖整形電路輸出端,使電機(jī)處于某一穩(wěn)定轉(zhuǎn)速下,通過(guò)比較示波器顯示的頻率和LCD顯示的實(shí)測(cè)值,如表8.1,發(fā)現(xiàn)轉(zhuǎn)速測(cè)量誤差不會(huì)大于1,從而驗(yàn)證了轉(zhuǎn)速測(cè)量部分設(shè)計(jì)的正確。之所以一次通過(guò)實(shí)驗(yàn),不用修改,是因?yàn)橹斑M(jìn)行了反復(fù)的軟件調(diào)試與仿真。8.2 PID各項(xiàng)系數(shù)賦初值電機(jī)啟動(dòng)時(shí),PID控制器接收第一組設(shè)定值和實(shí)測(cè)值,通過(guò)程序計(jì)算得到誤差值e(k)。此時(shí),系統(tǒng)初始化e(k-1)、e(k-2)、u(k)、u(k-1)
37、值為0。由于一開(kāi)始系統(tǒng)只進(jìn)行PD運(yùn)算,所以要獲得合適的電機(jī)啟動(dòng)轉(zhuǎn)矩,比例系數(shù)Kp和微分系數(shù)Td1的計(jì)算如下。首先進(jìn)行一次開(kāi)環(huán)實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)如表8.2。u(k)400050006000轉(zhuǎn)速N113422163263表8.2開(kāi)環(huán)實(shí)驗(yàn)數(shù)據(jù)表為了確定Kp,初步賦值T=2.4,Td1=4。設(shè)電機(jī)啟動(dòng)時(shí)速度設(shè)定為1000轉(zhuǎn)/分,則e(k)=1000,e(k)-e(k-1)=1000,從開(kāi)環(huán)實(shí)驗(yàn)數(shù)據(jù)可以看出,若要電機(jī)在第一時(shí)間以較大轉(zhuǎn)矩啟動(dòng),那么u(k)應(yīng)大于4000,計(jì)算時(shí)設(shè)u(k)=4000,則,=4000 ,代入各參數(shù)值得Kp=2.33?,F(xiàn)在暫不考慮電機(jī)轉(zhuǎn)動(dòng)摩擦得影響,使Td2=Td1=4,且設(shè)當(dāng)誤差
38、值小于=100時(shí)進(jìn)行PID算法。PID算法的比例系數(shù)也適用Kp,積分系數(shù)初步賦值1.2,微分系數(shù)Td=Td1=4。8.3實(shí)驗(yàn)調(diào)試和確定PID算法各項(xiàng)系數(shù) 調(diào)試過(guò)程經(jīng)歷了一下幾個(gè)步驟8.3.1賦初值調(diào)試分析。將各參(系)數(shù)已賦初值的程序編譯、燒寫(xiě)到單片機(jī)。系統(tǒng)啟動(dòng)后,轉(zhuǎn)速設(shè)定為1000轉(zhuǎn)/分。實(shí)驗(yàn)發(fā)現(xiàn),電機(jī)迅速啟動(dòng),但一會(huì)處于超調(diào)狀態(tài),一會(huì)處于欠調(diào),至停轉(zhuǎn)狀態(tài),大約經(jīng)過(guò)1分鐘震蕩期,系統(tǒng)基本穩(wěn)定,偶爾出現(xiàn)短時(shí)失調(diào)現(xiàn)象。失調(diào)時(shí),電機(jī)轉(zhuǎn)速在8901100之間浮動(dòng),穩(wěn)定時(shí),轉(zhuǎn)速在9801020之間浮動(dòng),靜差較大。修改設(shè)定值為2000轉(zhuǎn),電機(jī)迅速加速,與達(dá)到1000轉(zhuǎn)/分時(shí)的過(guò)渡和穩(wěn)定狀態(tài)相似,但震蕩周
39、期縮短至大約20秒鐘。結(jié)果分析:?jiǎn)?dòng)時(shí),電機(jī)處于長(zhǎng)時(shí)間的震蕩期可能是由于比例系數(shù)過(guò)大,使累加的正向制動(dòng)轉(zhuǎn)矩過(guò)大或微分項(xiàng)的矯正調(diào)節(jié)作用不夠。穩(wěn)態(tài)時(shí),電機(jī)轉(zhuǎn)速靜差較大,可能是積分系數(shù)設(shè)置不當(dāng)或者是微分作用過(guò)強(qiáng)導(dǎo)致干擾被放大引起。綜合暫態(tài)和穩(wěn)態(tài)的分析結(jié)果得出,比例系數(shù)設(shè)置過(guò)大,其它系數(shù)暫時(shí)還不能確定。對(duì)于短時(shí)失調(diào)現(xiàn)象,是由于轉(zhuǎn)速測(cè)量過(guò)程被干擾產(chǎn)生錯(cuò)誤所至。8.3.2修改PID各項(xiàng)系數(shù)值調(diào)試分析使比例系數(shù)Kp=1.12再次以同上方法調(diào)試。實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),電機(jī)轉(zhuǎn)速調(diào)整相對(duì)緩慢,但電機(jī)震蕩周期縮短至20秒左右,系統(tǒng)由超調(diào)和欠調(diào)問(wèn)題有所改善,但穩(wěn)態(tài)時(shí),電機(jī)仍然會(huì)出現(xiàn)短時(shí)失調(diào)現(xiàn)象,且靜差大,轉(zhuǎn)速浮動(dòng)范圍在980
40、1020轉(zhuǎn)/分。結(jié)果分析:若繼續(xù)減小比例向則會(huì)使系統(tǒng)即時(shí)調(diào)整變慢,積分作用雖然可以消除靜差,但可以減緩系統(tǒng)調(diào)節(jié),因此系統(tǒng)的不穩(wěn)定。微分項(xiàng)的矯正力度還不夠,微分系數(shù)需要往大調(diào)整。而對(duì)積分項(xiàng)適當(dāng)削弱。再次實(shí)驗(yàn),結(jié)果表明,系統(tǒng)調(diào)整加速,但其它性能改善并不明顯。8.3.3 PID各項(xiàng)系數(shù)值的確定參照6.2節(jié)得出的結(jié)論,反復(fù)通過(guò)實(shí)驗(yàn)分析修正PID各項(xiàng)系數(shù),各項(xiàng)系數(shù)確定值見(jiàn)表8.3。系統(tǒng)最終處在一個(gè)較佳的工作狀態(tài):?jiǎn)?dòng)時(shí),電機(jī)經(jīng)過(guò)約5秒鐘進(jìn)入穩(wěn)定狀態(tài),沒(méi)有出現(xiàn)過(guò)大的超調(diào)或欠調(diào)。穩(wěn)態(tài)時(shí),轉(zhuǎn)速誤差在3轉(zhuǎn)/秒。由于轉(zhuǎn)速測(cè)量裝置晃動(dòng)大,由此引起的測(cè)量值會(huì)意外發(fā)生錯(cuò)誤,使電機(jī)有時(shí)會(huì)出現(xiàn)轉(zhuǎn)速的瞬間飆升或驟減,但不會(huì)引
41、起系統(tǒng)失調(diào),系統(tǒng)會(huì)迅速自動(dòng)調(diào)整轉(zhuǎn)速,再次達(dá)到穩(wěn)定狀態(tài)。KpTTiTdTd1Td21.022.341.022.163.841.11100表8.3 PID各系數(shù)值9結(jié)束語(yǔ)本設(shè)計(jì)完成了設(shè)計(jì)的基本要求和擴(kuò)展要求,由于所使用的直流電機(jī)的啟動(dòng)速度在700轉(zhuǎn)/分左右,所以電機(jī)的轉(zhuǎn)速測(cè)量控制范圍為8005000轉(zhuǎn)。另外,PID參數(shù)的確定需要反復(fù)的實(shí)驗(yàn)觀測(cè),所以本系統(tǒng)的PID各參數(shù)設(shè)置不一定都是較理想的選擇,但系統(tǒng)穩(wěn)定時(shí)控制精度可達(dá)1轉(zhuǎn)/分。根據(jù)實(shí)際需要,若要進(jìn)一步提高系統(tǒng)控制的反映速度、精確度和穩(wěn)定度還需要設(shè)計(jì)更穩(wěn)定和精確的轉(zhuǎn)速測(cè)量電路以及設(shè)置更準(zhǔn)確的PID參數(shù)。最后,為了提高系統(tǒng)的靈活性和可移植性,可以再設(shè)
42、計(jì)一個(gè)鍵盤(pán)輸入電路,用來(lái)隨時(shí)修改PID參數(shù)。這樣也避免了反復(fù)燒寫(xiě)程序帶來(lái)的麻煩,節(jié)約設(shè)計(jì)時(shí)間。注釋1圖3.14和圖3.15及設(shè)計(jì)中其它位置所使用到的數(shù)學(xué)公式或代數(shù)式是在Mathematica 5軟件環(huán)境下編輯完成的,因其無(wú)法轉(zhuǎn)換成Word文檔可識(shí)別字符,所以以圖片形式表示。致謝:感謝盧超老師在我們學(xué)習(xí)過(guò)程中給予的大量指導(dǎo)和幫助。特別感謝尹繼武老師和龍殊明老師以他們深厚的理論基礎(chǔ)、精湛的教學(xué)方法和殷切的教學(xué)態(tài)度使我們?cè)诖髮W(xué)生活中學(xué)到了終身受用的知識(shí)。參考文獻(xiàn) 1徐薇莉 曹柱中 控制理論與設(shè)計(jì)M 上海交大出版社 , 200374-822先鋒工作室片機(jī)程序設(shè)計(jì)實(shí)例M 清華大學(xué)出版社,2003104-
43、110 3L298N芯片手冊(cè) ,2006054ST7920使用手冊(cè) ,2006055謝世杰,陳生潭,樓順天數(shù)字PID算法在無(wú)刷直流電機(jī)控制器中的應(yīng)J 萬(wàn)方數(shù)據(jù)庫(kù), 041,1-3附錄1: 系統(tǒng)硬件總圖附錄2 程序清單:;數(shù)字PID算法控制小型直流電機(jī)主機(jī)程序;部分?;赗T12232F LCD 圖形漢字交互;式顯示界面,采用縮略鍵盤(pán)(只用4按鍵);本程序完成了直流電機(jī)速度的設(shè)定及測(cè)量;顯示。單片機(jī)向PID控制器輸出控制設(shè)定;值與實(shí)際值誤差E(K)。RSEQU P0.0 ;選擇I/O口定義,RS為指令/數(shù)據(jù)選擇端RWEQU P0.1 ;LCD讀寫(xiě)控制端EEQU P0.2 ;選擇I/O口定義,E為
44、使能端F1 BIT 01H ;循環(huán)選擇有效S1 BIT P0.4 ;調(diào)整鍵S2 BIT P0.5 ;-鍵S3 BIT P0.6 ;+鍵S4 BIT P0.7 ;設(shè)置鍵DF BIT P3.0 ;是否發(fā)送數(shù)據(jù)標(biāo)志(輸入)BF BIT P3.1 ;數(shù)據(jù)發(fā)送完標(biāo)志 (輸出)T_MARK BIT 04H ;時(shí)間標(biāo)志位TOPIDS BIT P3.5;I/O口,用于通知PID控制器接收設(shè)速度定值TOPIDM BIT P3.4;I/O口,用于通知PID控制器接收測(cè)量速度值A(chǔ)CK BIT P3.6 ;I/O口,用于檢測(cè)PID控制器是否將數(shù)據(jù)接受完畢START_PULSE BIT 06H ;上升沿開(kāi)始(脈沖檢測(cè))
45、標(biāo)志,用于檢測(cè)信號(hào)周期END_PULSE BIT 07H ;脈沖檢測(cè)標(biāo)志FIRST_COL EQU30H;定義字符/漢字顯示起始行FIRST_ROWEQU31H;定義字符/漢字顯示起始列WORD_WIDEQU32H;定義字符/漢字顯示長(zhǎng)度WORD_LINEQU33H;定義字符/漢字顯示行數(shù)FIRST_ADDEQU34H ;定義字符/漢字顯示起始位置START_ADDEQU35H ;起始位置緩存單元FIRST_LINEQU36H;起始行位置緩存單元G_COLUMNEQU37H;定義圖形顯示起始行G_ROWEQU38H;定義圖形顯示起始列G_WIDEQU39H;定義圖形顯示寬度TEMPR0 EQU
46、 2EH ;定義數(shù)據(jù)暫存區(qū)TEMPR01 EQU 1DH;定義數(shù)據(jù)暫存區(qū)1T_PULSE EQU 1CH ;脈沖時(shí)間記錄存儲(chǔ)地址,以50毫秒為倍數(shù)SYSTIME EQU 3BH;系統(tǒng)時(shí)間,用于部分程序復(fù)位及初始化SETVAL EQU 40H ;設(shè)定值存儲(chǔ)區(qū),以十進(jìn)制浮點(diǎn)數(shù)存放MEAVAL EQU 43H;測(cè)量值存儲(chǔ)區(qū),以十進(jìn)制浮點(diǎn)數(shù)存放TEMP EQU 46H;3字節(jié)數(shù)據(jù)暫存區(qū)TEMP1 EQU 5AH;3字節(jié)數(shù)據(jù)暫存區(qū)1CYCLE EQU 49H ;信號(hào)周期暫存區(qū)TEMP_SPEED EQU 4DH ;速度暫存區(qū)DA_CONTROL EQU 3CH ;數(shù)據(jù)存儲(chǔ)地址控制DA_CONT EQU
47、3DH ;數(shù)據(jù)個(gè)數(shù)POINT1 EQU 3EH ;地址指針(暫存區(qū))1POINT EQU 3FH ;地址指針(暫存區(qū)) ORG 0000H LJMP START ORG 03H ;中斷向量初始化 LJMP INTX0 ORG 0BH LJMP INTT0 ORG 13H LJMP INTX1 ORG 1BH LJMP INTT1 ORG 030HSTART:MOVSP,#60H MOV R0,#5FH ;內(nèi)存清零 CLR ALOPQ0: MOV R0,A DJNZ R0,LOPQ0 LCALL DELAY ;系統(tǒng)延遲超過(guò)40毫秒 MOV TL0,#0B0H MOV TH0,#3CH ;定時(shí)器T
48、050MS定時(shí)初值 MOV TL1,#0B0H MOV TH1,#3CH ;定時(shí)器T150MS定時(shí)初值 CLR RWQIU1:LCALL INITIL ;調(diào)用系統(tǒng)初始化程序 MOV A, #0CH ;開(kāi)顯示,關(guān)游標(biāo) LCALL INPUT ;命令輸入自程序 LCALL DELAY01 MOV A, #01H ;DDRAM清零,DDRAM地址計(jì)數(shù)器到00H LCALL INPUT LCALL DELAY01MOV 50H,#0MOV 51H,#0MOV 52H,#0MOV 53H,#0MOV 54H,#0MOV 55H,#0MOV 56H,#0MOV 57H,#0ACALL B_FBMOV DA
49、_CONTROL,#80H ;數(shù)據(jù)存儲(chǔ)地址初始化MOV DA_CONT,#00H ;數(shù)據(jù)個(gè)數(shù)初始化;顯示問(wèn)候語(yǔ) MOV FIRST_ADD,#00H ;設(shè)定字符/漢字顯示起始位置為第一個(gè)顯示單元 MOV FIRST_LIN,#01H;設(shè)定字符/漢字顯示起始位置為第一行 MOV DPTR, #TAB;需要顯示漢字機(jī)內(nèi)碼數(shù)據(jù)表 MOV WORD_WID,#07H;每行顯示漢字個(gè)數(shù) MOV WORD_LIN,#02H;顯示行數(shù)MOV START_ADD,#00H清首個(gè)顯示地址緩存單元LCALLWORD_DISP ;調(diào)用漢字顯示子程序LCALL DS3S ;調(diào)用延遲LCALL DIS01 LCALL DIS02 LCALL SD_D ;顯
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能安防及弱電系統(tǒng)2025年度施工合同
- 2025年天津貨運(yùn)從業(yè)資格證題
- 2025年廊坊貨運(yùn)從業(yè)資格證在哪里練題
- 土石方裝卸作業(yè)2025年度物流服務(wù)合同3篇
- 二零二五年度出租房衛(wèi)生應(yīng)急預(yù)案與租戶安全協(xié)議4篇
- 事業(yè)單位市場(chǎng)營(yíng)銷(xiāo)合作協(xié)議(2024年修訂版)3篇
- 二零二五年高性能混凝土運(yùn)輸及安裝合同模板3篇
- 二零二五年度彩鋼瓦產(chǎn)品售后維修及保養(yǎng)協(xié)議3篇
- 2025年度窗簾行業(yè)人才培養(yǎng)與就業(yè)服務(wù)合同3篇
- 二零二五年度彩鋼瓦屋頂檢修保養(yǎng)合同樣本2篇
- 中國(guó)末端執(zhí)行器(靈巧手)行業(yè)市場(chǎng)發(fā)展態(tài)勢(shì)及前景戰(zhàn)略研判報(bào)告
- 北京離婚協(xié)議書(shū)(2篇)(2篇)
- 2025中國(guó)聯(lián)通北京市分公司春季校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- Samsung三星SMARTCAMERANX2000(20-50mm)中文說(shuō)明書(shū)200
- 2024年藥品質(zhì)量信息管理制度(2篇)
- 2024年安徽省高考地理試卷真題(含答案逐題解析)
- 廣東省廣州市2024年中考數(shù)學(xué)真題試卷(含答案)
- 高中學(xué)校開(kāi)學(xué)典禮方案
- 內(nèi)審檢查表完整版本
- 3級(jí)人工智能訓(xùn)練師(高級(jí))國(guó)家職業(yè)技能鑒定考試題及答案
- 孤殘兒童護(hù)理員技能鑒定考試題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論