![計算機控制實驗課程設(shè)計報告直流電機轉(zhuǎn)速pid控制.docx_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-12/11/d857cba1-480b-405e-b625-d74e8c9d5650/d857cba1-480b-405e-b625-d74e8c9d56501.gif)
![計算機控制實驗課程設(shè)計報告直流電機轉(zhuǎn)速pid控制.docx_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-12/11/d857cba1-480b-405e-b625-d74e8c9d5650/d857cba1-480b-405e-b625-d74e8c9d56502.gif)
![計算機控制實驗課程設(shè)計報告直流電機轉(zhuǎn)速pid控制.docx_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-12/11/d857cba1-480b-405e-b625-d74e8c9d5650/d857cba1-480b-405e-b625-d74e8c9d56503.gif)
![計算機控制實驗課程設(shè)計報告直流電機轉(zhuǎn)速pid控制.docx_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-12/11/d857cba1-480b-405e-b625-d74e8c9d5650/d857cba1-480b-405e-b625-d74e8c9d56504.gif)
![計算機控制實驗課程設(shè)計報告直流電機轉(zhuǎn)速pid控制.docx_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-12/11/d857cba1-480b-405e-b625-d74e8c9d5650/d857cba1-480b-405e-b625-d74e8c9d56505.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于89c52單片機的PWM直流電機PID控制調(diào)速系統(tǒng)實驗報告指導(dǎo)老師:衣法臻姓 名:楊浩學(xué) 號:09212020班 級:自動化0901日 期:2012年7月6日星期五目錄第一章 系統(tǒng)方案設(shè)計31.1直流電機轉(zhuǎn)速開環(huán)控制與閉環(huán)控制的選取31.2直流電機調(diào)速方式的選取41.3直流電機測速裝置的選取51.4系統(tǒng)控制算法的選取81.5系統(tǒng)總體設(shè)計10第二章 硬件設(shè)計112.1 AT89C52芯片介紹112.2 直流電機驅(qū)動芯片ULN2803設(shè)計132.3 數(shù)顯管顯示給定速度和實際速度模塊152.4 按鍵模塊設(shè)計162.5 測速模塊設(shè)計18第三章 軟件部分設(shè)計193.1 數(shù)顯管顯示軟件設(shè)計部分193.
2、2 外部中斷P3.3計數(shù)程序213.3 定時器0中斷軟件設(shè)計223.4 PWM算法程序設(shè)計253.5 PID控制算法程序設(shè)計263.6 按鍵程序設(shè)計29第四章 基于matlab的PID參數(shù)設(shè)計及仿真314.1 各部分傳遞函數(shù)的整定314.2 PID參數(shù)的整定31第五章 結(jié)果分析33第六章 實驗總結(jié)及感想34參考文獻36附錄一 硬件系統(tǒng)電路原理圖36附錄二 程序源代碼36第一章、 系統(tǒng)總體方案設(shè)計1.1 直流電機轉(zhuǎn)速開環(huán)控制與閉環(huán)控制的選取對直流電機轉(zhuǎn)速的控制有一般有兩種方式,一種是開環(huán)控制,一種是閉環(huán)控制。開環(huán)控制的優(yōu)點是簡單、穩(wěn)定、可靠。若組成系統(tǒng)的元件特性和參數(shù)值比較穩(wěn)定,且外界干擾較小,
3、開環(huán)控制能夠保持一定的精度。缺點是精度通常較低,無自動糾偏能力;閉環(huán)控制的優(yōu)點是控制的精度可以達到很高,而且對外界的干擾和系統(tǒng)的參數(shù)變化有很好的抑制作用,且可以通過輸出反饋控制系統(tǒng)的控制過程。缺點是存在穩(wěn)定性,振蕩,超調(diào)等一系列問題,對系統(tǒng)的性能分析和設(shè)計遠比開環(huán)控制麻煩。經(jīng)過利弊的取舍,本次試驗選擇的是閉環(huán)控制,因為準(zhǔn)備應(yīng)用PID算法控制電機的轉(zhuǎn)速,故而需要有實際轉(zhuǎn)速進行反饋與給定的轉(zhuǎn)速形成對比,進而通過算法輸出PWM波形來控制直流電機。R(t) +既然選擇了直流電機轉(zhuǎn)速閉環(huán)控制,可根據(jù)反饋機制大概做出其控制模型。c(t)e(t)輸出PWM直流電機PID算法測速裝置1.2 直流電機調(diào)速方式的
4、選取直流無刷電機由電動機、轉(zhuǎn)子位置傳感器和電子開關(guān)線路三部分組成。直流電源通過開關(guān)線路向電動機定子繞組供電,電動機轉(zhuǎn)子位置由位置傳感器檢測并提供信號去觸發(fā)開關(guān)線路中的功率開關(guān)元件使之導(dǎo)通或截止,從而控制電動機的轉(zhuǎn)動。在應(yīng)用實例中,磁極旋轉(zhuǎn),電樞靜止,電樞繞組里的電流換向借助于位置傳感器和電子開關(guān)電路來實現(xiàn)。電機的電樞繞組作成三相,轉(zhuǎn)子由永磁材料制成,與轉(zhuǎn)子軸相連的位置傳感器采用霍爾傳感器。3600范圍內(nèi),兩兩相差1200安裝,共安裝三個。為了提高電機的特性,電機采用二相導(dǎo)通星形三相六狀態(tài)的工作方式。開關(guān)電路采用三相橋式接線方式?;谥绷麟姍C的特性,本次試驗使用的是PWM脈寬調(diào)制方法。脈寬調(diào)制
5、(PWM)是利用數(shù)字輸出對模擬電路進行控制的一種有效技術(shù),尤其是在對電機的轉(zhuǎn)速控制方面,可大大節(jié)省能量。PWM 具有很強的抗噪性,且有節(jié)約空間、比較經(jīng)濟等特點。模擬控制電路有以下缺陷:模擬電路容易隨時間漂移,會產(chǎn)生一些不必要的熱損耗,以及對噪聲敏感等。而在用了PWM技術(shù)后,避免了以上的缺陷,實現(xiàn)了用數(shù)字方式來控制模擬信號,可以大幅度降低成本和功耗。PWM對調(diào)速系統(tǒng)來說,系統(tǒng)的響應(yīng)速度和穩(wěn)定精度等指標(biāo)比較好;電樞電流的脈動量小,容易連續(xù),而且可以不必外加濾波電抗也可以平穩(wěn)工作;系統(tǒng)的調(diào)速范圍寬;使用元件少、線路簡單。PWM的原理:理論基礎(chǔ):沖量相等而形狀不同的窄脈沖加在具有慣性的環(huán)節(jié)上時,其效果
6、基本相同。沖量指窄脈沖的面積。效果基本相同,是指環(huán)節(jié)的輸出響應(yīng)波形基本相同。低頻段非常接近,僅在高頻段略有差異。用一系列等幅不等寬的脈沖來代替一個正弦半波,正弦半波N等分,看成N個相連的脈沖序列,寬度相等,但幅值不等;用矩形脈沖代替,等幅,不等寬,中點重合,面積(沖量)相等,寬度按正弦規(guī)律變化。脈沖寬度調(diào)制波通常由一列占空比不同的矩形脈沖構(gòu)成,其占空比與信號的瞬時采樣值成比例。圖1所示為脈沖寬度調(diào)制系統(tǒng)的原理框圖和波形圖。該系統(tǒng)有一個比較器和一個周期為Ts的鋸齒波發(fā)生器組成。語音信號如果大于鋸齒波信號,比較器輸出正常數(shù)A,否則輸出0。因此,從圖1中可以看出,比較器輸出一列下降沿調(diào)制的脈沖寬度調(diào)
7、制波。1.3 直流電機測速裝置的選取經(jīng)過查閱了大量資料,發(fā)現(xiàn)目前常用的測速裝置有三種。1.3.1 直流測速發(fā)電機測速直流測速發(fā)電機可分為勵磁式和永磁式兩種。勵磁式由勵磁繞組接成他勵,永磁式采用矯頑力高的磁鋼制成磁極。由于永磁式不需另加勵磁電源,也不因勵磁繞組溫度變化而影響輸出電壓,故應(yīng)用較廣。根據(jù)已學(xué)過的直流發(fā)電機的工作原理知,電刷兩端的感應(yīng)電勢 :Ea = Cen=Ke n可知1.電刷兩端的感應(yīng)電勢與電機的轉(zhuǎn)速成正比。2.直流發(fā)電機能夠把轉(zhuǎn)速信號換成電勢信號,從而用來測速。自動控制系統(tǒng)對測速發(fā)動機的要求為:1.輸出電壓與轉(zhuǎn)速的關(guān)系曲線為線性。2.輸出特性的斜率要大。3.溫度變化對輸出特性的影
8、響要小。4.輸出電壓的波紋要小。5.正反轉(zhuǎn)兩個方向的輸出特性要一致。圖中實線為直流測速發(fā)電機的理想輸出特性,虛線為實際輸出特性,實際特性與要求的線性特性之間存在誤差,且該誤差與負載電阻有關(guān)。直流測速發(fā)電機的優(yōu)點是原理簡單,且在一定范圍內(nèi)能夠滿足系統(tǒng)的需求。缺點是其輸出的是電壓值,如果使用在數(shù)字信號電路里是必須得用AD轉(zhuǎn)換芯片轉(zhuǎn)化成數(shù)字信號。而且其需要處于線性區(qū),但是現(xiàn)實中線性的系統(tǒng)基本上很少,故而現(xiàn)在已經(jīng)不常用。鑒于本實驗使用的是單片機控制系統(tǒng),故而此測速方式不適用。1.3.2 霍爾傳感器測速霍爾傳感器是根據(jù)霍爾效應(yīng)制作的一種磁場傳感器?;魻栃?yīng)是磁電效應(yīng)的一種,這一現(xiàn)象是霍爾(A.H.Hal
9、l,18551938)于1879年在研究金屬的導(dǎo)電機構(gòu)時發(fā)現(xiàn)的。后來發(fā)現(xiàn)半導(dǎo)體、導(dǎo)電流體等也有這種效應(yīng),而半導(dǎo)體的霍爾效應(yīng)比金屬強得多,利用這現(xiàn)象制成的各種霍爾元件,廣泛地應(yīng)用于工業(yè)自動化技術(shù)、檢測技術(shù)及信息處理等方面。霍爾效應(yīng)是研究半導(dǎo)體材料性能的基本方法。通過霍爾效應(yīng)實驗測定的霍爾系數(shù),能夠判斷半導(dǎo)體材料的導(dǎo)電類型、載流子濃度及載流子遷移率等重要參數(shù)。電機每轉(zhuǎn)一圈,每一相霍爾傳感器產(chǎn)生2脈沖,且其周期與電機轉(zhuǎn)速成反比,因此可以利用霍爾傳感器信號得到電機的實際轉(zhuǎn)速。為盡可能縮短一次速度采樣的時間,可測得任意一相霍爾傳感器的一個正脈沖的寬度,則電機的實際轉(zhuǎn)速為: V=N*30;V:速度 R/m
10、inN:每秒采樣的脈沖個數(shù)霍爾傳感器輸出的是脈沖,可以直接將輸出脈沖接入單片機外部計數(shù)器,故而非常簡單實用。1.3.3 光電編碼器測速其效果跟霍爾測速一致,但是霍爾元件利用的是電磁產(chǎn)生脈沖,光電編碼器利用的是光產(chǎn)生脈沖。它的原理是通過電動機的轉(zhuǎn)動帶動碼盤的轉(zhuǎn)動,碼盤上有很多縫隙,縫隙每經(jīng)過紅外管一次就會產(chǎn)生一個脈沖,進而直接輸入單片機,經(jīng)過算法處理得到實際轉(zhuǎn)速。經(jīng)過分析,本次試驗選取的是光電碼盤測速。首先是因為同時測量霍爾元件和光電編碼器,發(fā)現(xiàn)光電編碼器的靈敏度更高,且其價格便宜。最關(guān)鍵的是它很好用。1.4 系統(tǒng)控制算法的選取控制算法是微機化控制軟件系統(tǒng)的一個重要組成部分,可以說整個系統(tǒng)的控制
11、功能主要由控制算法來實線。所以控制算法的好壞直接決定了這個系統(tǒng)的好壞。根據(jù)偏差的比例(P)、積分(I)、微分(D)進行控制,稱為PID控制。它能滿足相當(dāng)多工業(yè)對象的控制要求,至今仍是一種應(yīng)用最廣的控制算法。由于是用單片機控制的系統(tǒng),故而我們采用數(shù)字PID控制。1.4.1 模擬PID控制規(guī)律的離散化模擬形式離散化形式1.4.2 數(shù)字PID控制器的差分方程式中 稱為比例項 稱為積分項 稱為微分項1.4.3 常用的控制方式 1、P控制 2、PI控制 3、PD控制 4、PID控制 1.4.4 PID算法的兩種類型 1、位置型控制例如圖515調(diào)節(jié)閥控制 2、增量型控制例如圖516步進電機控制 由于控制的
12、是直流電機,當(dāng)執(zhí)行機構(gòu)采用控制直流電機的直流PWM裝置和晶閘管整流裝置時,可以采用數(shù)字PID位置型控制算法;當(dāng)執(zhí)行結(jié)構(gòu)采用步進電機,每個采樣周期控制輸出的控制量時,是相對于上次控制量的增加,故此時要采用數(shù)字PID增量型控制算法。由于此實驗控制的是直流電機,故而采用數(shù)字PID位置型控制算法。數(shù)字PID控制器主要參數(shù)是Kp,i,D和采樣周期Ts。系統(tǒng)的設(shè)計任務(wù)是選取合適的PID控制器參數(shù)使整個系統(tǒng)具有滿意的動態(tài)特性,并滿足穩(wěn)態(tài)誤差要求。具體的參數(shù)選取要靠matlab仿真,仿真結(jié)果見下文matlab篇。1.5 系統(tǒng)總體設(shè)計用AT89C52單片機作為控制核心;用uln2003驅(qū)動電機轉(zhuǎn)動,用pwm波來
13、控制此芯片間接控制電機轉(zhuǎn)速;用光電編碼器測速進行反饋;用復(fù)位開關(guān)進行電機給定速度的調(diào)節(jié),由加速鍵,減速鍵和清零鍵構(gòu)成。如圖:速度脈沖PWM鍵盤調(diào)速碼盤測速直流電機數(shù)顯管顯示給定速度和實際速度驅(qū)動電路STC89C52單片機第二章、硬件設(shè)計2.1 AT89C52芯片介紹AT89C52是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,AT89C52單片機在電子行業(yè)中有著
14、廣泛的應(yīng)用。其主要功能特性:1、兼容MCS51指令系統(tǒng)2、8k可反復(fù)擦寫(大于1000次)Flash ROM;3、32個雙向I/O口;4、256x8bit內(nèi)部RAM;5、3個16位可編程定時/計數(shù)器中斷;6、時鐘頻率0-24MHz;7、2個串行中斷,可編程UART串行通道;8、2個外部中斷源,共8個中斷源;9、2個讀寫中斷口線,3級加密位;10、低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能;11、有PDIP、PQFP、TQFP及PLCC等幾種封裝形式,以適應(yīng)不同產(chǎn)品的需求。AT89C52為40 腳雙列直插封裝的8 位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc5
15、2 相同,其主要用于會聚調(diào)整時的功能控制。功能包括對會聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源的正負端。P0P3 為可編程通用I/O 腳,其功能用途由軟件定義,在本設(shè)計中,P0 端口(3239 腳)被定義為N1 功能控制端口,分別與N1的相應(yīng)功能管腳相連接,13
16、腳定義為IR輸入端,10 腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12 腳、27 腳及28 腳定義為握手信號功能端口,連接主板CPU 的相應(yīng)功能端,用于當(dāng)前制式的檢測及會聚調(diào)整狀態(tài)進入的控制功能。AT89C52 參數(shù)AT89C52 基本參數(shù)FLASH (bytes)8KRAM (Bytes)256最大頻率 (MHz)24Vcc (V)520%AT89C52 其他特性I/O引腳32ISP-AT89C52 封裝類型PDIP40, PLCC44, TQFP44, PQFP442.2直流電機驅(qū)動芯片ULN2803的設(shè)計此驅(qū)動芯片采用的是高電壓大電流
17、八達林頓晶體管陣列,該陣列的八個NPN達林頓管連接晶體管是低邏輯電平數(shù)字電路和大電流高電壓要求的燈、繼電器、打印機和其他類似負載間的接口的理想器件。廣泛應(yīng)用于計算機,工業(yè)和消費類產(chǎn)品中。所有器件有集電極開路輸出和用于瞬變抑制的續(xù)流二極管。ULN2803的設(shè)計與標(biāo)準(zhǔn)TTL系列兼容,而ULN2804可使6至15伏高電平CMOS或PMOS優(yōu)化。它的最大額定值為如下表:ULN2803是一個7路反向器電路,即當(dāng)輸入端為高電平時ULN2803輸出端為低電平,當(dāng)輸入端為低電平時ULN2803輸出端為高電平,繼電器得電吸合。本次試驗驅(qū)動電路如下:通過在1B接口輸入PWM波形,1C口輸出相反電平。2.3 數(shù)顯管
18、顯示給定速度和實際速度模塊此處用的是共陰極數(shù)顯管,為四位數(shù)顯管。其段選接在P0口,由于P0口是高阻態(tài),故而接在單片機上時要接上拉電阻,一般上拉電阻定為10k。其位選接在P2口。驅(qū)動數(shù)顯管的芯片有很多,有一個很流行的是74HC573鎖存器,但是由于單片機的接口充足,所以這里沒有采用驅(qū)動裝置,用的是小的數(shù)顯管,也不需要用三極管放大電流,所以側(cè)重它的編程。顯示的方法是應(yīng)用的動態(tài)顯示,應(yīng)用人的視覺暫留來顯示數(shù)值。此模塊電路圖如下:2.4 按鍵模塊設(shè)計鍵盤分為編碼鍵盤和非編碼鍵盤??寇浖幊虂碜R別的鍵盤稱為非編碼鍵盤,在單片機組成的各種系統(tǒng)中,用的較多的是非編碼鍵盤。非編碼鍵盤又分為獨立鍵盤和行列式鍵盤
19、。單片機檢測按鍵的原理是:單片機I/O口既可作為輸出也可作為輸入使用,當(dāng)檢測按鍵時用的是它的輸入功能,我們把按鍵的一端接地,另一端與單片機的某個I/O口相連,開始時先給該I/O口賦以高電平,然后讓單片機不斷的檢測該I/O口是否變?yōu)榈碗娖剑?dāng)按鍵閉合時,既相當(dāng)于該I/O口通過按鍵與地相連,變成低電平,程序一旦檢測到I/O口變成低電平則說明按鍵被按下,然后執(zhí)行相應(yīng)的指令。但是在按鍵按下的時候,由于按鍵是彈性的,這過程會產(chǎn)生抖動,抖動時間的長短和按鍵的機械特性有關(guān),一般為510ms。通常我們手動按下鍵然后立即釋放,這個動作中穩(wěn)定閉合的時間超過20ms。因此單片機在檢測鍵盤是否按下時都要加上去抖動操作
20、,有專用的去抖動電路,也有專用的去抖動芯片,但通常我們用軟件掩飾的方法就能很容易的解決抖動問題,而沒有必要再添加多余的硬件電路。剛開始想用4*4鍵盤輸入給定速度,但是仔細考慮了一下性價比,經(jīng)過慎重選擇,我拋棄了這個鍵盤,改用3個復(fù)位開關(guān)調(diào)節(jié)給定速度。具體過程是:一個復(fù)位開關(guān)決定了速度的加,每一次加一定的速度值;還有一個復(fù)位開關(guān)見決定了速度的減,每一次減一定的速度值;還有一個復(fù)位鍵是用來置零的。加速鍵接在p1.0口上,減速鍵接在P1.1口上,置零鍵接在P1.3口上。2.5 測速模塊設(shè)計本實驗應(yīng)用的是紅外管輸入脈沖,深色物的紅外反射率因不同的材料而不同,發(fā)射管發(fā)射出紅外線,在材料上反射回來,由接受
21、管接受。當(dāng)有信號反射回來時輸出低電平,沒有反射時輸出高電平。這個光電編碼器整體是買來的實物,在仿真軟件protues中沒有很合適的仿真物,我用可以直接輸出脈沖的直流電機代替了。買的時候我進行了現(xiàn)場的測試,發(fā)現(xiàn)它非常的靈敏,作為電動機轉(zhuǎn)速的測量綽綽有余了。第三章、 軟件部分設(shè)計3.1 數(shù)顯管顯示軟件設(shè)計部分(void SegRefre())數(shù)顯管有八位,前四位顯示的是給定速度,后四位現(xiàn)實的是實際測得的轉(zhuǎn)速。假設(shè)前四位數(shù)顯管為管A,后四位為管B,則經(jīng)過分析研究作出數(shù)顯管AB的程序流程圖分別如下:NY是否有鍵按下SubSpeed按下時,一下減50AddSpeed按下時,一下加50Stop按下時,要求
22、數(shù)顯管清零數(shù)顯管A顯示給定轉(zhuǎn)速單片機初始化STARTSTART初始化測速模塊數(shù)顯管B顯示實際轉(zhuǎn)速轉(zhuǎn)速/1s刷新一次程序為:void SegRefre() /數(shù)碼管顯示刷新 Data_Buffer0 = SpeedSet/1000; Data_Buffer1 = SpeedSet%1000/100; Data_Buffer2 = SpeedSet%100/10; Data_Buffer3 = SpeedSet%10; Data_Buffer4 = num/1000; Data_Buffer5 = num%1000/100; Data_Buffer6 = num%100/10; Data_Buff
23、er7 = num%10; 3.2 外部中斷p3.3計數(shù)程序(void exter0() interrupt 0)此外部中斷主要用于對測速產(chǎn)生的脈沖進行計數(shù)。程序流程圖為:返回脈沖計數(shù)測轉(zhuǎn)速脈沖輸入程序如下:void exter0() interrupt 0 /外部中斷脈沖計數(shù) Inpluse+;3.3 定時器0中斷軟件設(shè)計(void timer0() interrupt 1)定時器0中斷主要用于數(shù)顯管顯示數(shù)值和一定時間間隔內(nèi)對轉(zhuǎn)速進行采樣計算PID控制,初始化中斷時間設(shè)置為2ms。程序流程圖為:START計時器初始化NY返回數(shù)顯管顯示,送段,位碼計算轉(zhuǎn)速并PID控制1s計時標(biāo)志位程序如下:v
24、oid timer0() interrupt 1 static unsigned char Bit = 0;/靜態(tài)變量,退出程序后,值保留 static unsigned int time = 0; static unsigned int aa = 0; TH0 = THCO; TL0 = TLCO; aa + ; /100MS串口輸出一次數(shù)據(jù) if ( aa = 50) aa = 0; flag0 = 1; cnt + ;/ PID脈沖周期 Bit + ; time + ;/轉(zhuǎn)速測量周期 if(Bit = 8) Bit=0; P2 = 0xff;/先關(guān)位 P0 = DuanData_Buff
25、er Bit ;/開段碼 switch(Bit)/送位碼 case 0: P2 = 0XFE; break; case 1: P2 = 0XFD; break; case 2: P2 = 0XFB; break; case 3: P2 = 0XF7; break; case 4: P2 = 0XEF; break; case 5: P2 = 0XDF; break; case 6: P2 = 0XBF; break; case 7: P2 = 0X7F; break; if(time = 500) /1s鐘讀取一次轉(zhuǎn)速 time = 0; num = Inpluse*10; /計算轉(zhuǎn)速 Inp
26、luse = 0; PIDControl();/ 1s 控制一次 3.4 PWM算法程序設(shè)計(void PWMOUT())Pwm是通過PID計算出來的偏差來調(diào)整輸出脈沖的寬度還控制電機的轉(zhuǎn)速的。程序流程圖如下:STARTN輸出高電平PWM脈寬PID輸出值輸出低電平Y(jié)返回程序如下:void PWMOUT() /PWm輸出 if ( cnt 250) cnt = 0 ; 3.5 PID控制算法程序設(shè)計(void PIDControl())當(dāng)電機轉(zhuǎn)速的設(shè)定值突然改變,或電機的轉(zhuǎn)速發(fā)生突變時,會引起偏差的階躍,使e增大,PID的輸出uk將急劇增加或減小,以至于超過控制量的上下限,電機的轉(zhuǎn)速SPEEDS
27、ET雖然不斷上升,但由于控制量受到限制,其增長的速度減慢,偏差E將比正常情況下持續(xù)更長的時間保持在較大的偏差值,該程序主要是把設(shè)定的轉(zhuǎn)速減當(dāng)前測量得到的轉(zhuǎn)速來計算偏差,從而用PWM輸出方式來確定輸出脈沖的寬度。程序流程圖如下:返回輸出pwmUk=250判斷uk范圍計算uk給定pid參數(shù)計算duk求偏差值eSTART程序如下:void PIDControl() /PID偏差計算 e = SpeedSet - num ; duk=( Kp*(e - e1) + Ki*e + Kd*(e - 2*e1 + e2)/100 ; uk = uk1 + duk ; out = (int)uk ; if(o
28、ut 250) out = 250 ; else if(out 0 ; i-) for(j = 50 ; j 0 ; j-) ; 3.6 按鍵程序設(shè)計由于按鍵與數(shù)顯管的顯示相關(guān),故其程序流程圖已給,下面只給其算法如下:void SetSpeed() /按鍵 速度設(shè)定 if ( AddSpeed=0) delay(20) ;/有鍵按下 if( AddSpeed=0) SpeedSet=SpeedSet+50 ; if( SpeedSet9999) SpeedSet=0; while(!AddSpeed);/等待按鍵釋放 if ( SubSpeed = 0) /速度減 delay(20); if(
29、 SubSpeed = 0) SpeedSet -= 50; /有鍵按下 if (SpeedSet=0) SpeedSet = 0; while(!SubSpeed); if (Stop = 0) /電機停止 delay(20); if(Stop=0) SpeedSet = 0; PWM_FC = 1 ; while(!Stop); 第四章、 基于matlab的PID參數(shù)設(shè)計及仿真4.1 各部分傳遞函數(shù)參數(shù)的整定有前面所說的控制模型可知,系統(tǒng)的架構(gòu)模型有PID,PWM,直流電機這3個,故而只需求取PWM,和直流電機的傳遞函數(shù)即可。經(jīng)查資料知道Pwm的傳遞函數(shù)為: 直流電機的傳遞函數(shù)為:根據(jù)傳遞
30、函數(shù)搭建的仿真模型為:4.2 PID參數(shù)的整定下面我們通過仿真來確定離散PID控制器的參數(shù),一般有兩種方法。我們用試湊法 試湊法要求按照先求出Kp,后求出,最后求出的順序來調(diào)試系統(tǒng)的PID參數(shù),目標(biāo)是知道調(diào)到滿意的結(jié)果為止。由于直流電機的純滯后時間為零點零幾秒左右,可以選擇一個足夠短的采樣周期,使其為直流電機對象的純滯后時間的十分之一以下。在此我選擇十分之一,因此Ts是零點零幾秒的數(shù)量級,確定它為0.001s來整定控制參數(shù)。經(jīng)過整定后發(fā)現(xiàn)當(dāng)Kp=0.5,Ki=7,Kd=0.001時比較合適。波形如下從仿真波形可知,電機轉(zhuǎn)速的上升時間為0.3s左右,沒有超調(diào),靜差為0,說明其過度特性很好。也說明
31、1ms的采樣周期很合適。第五章、 結(jié)果分析這里主要分析的結(jié)果是電機啟動到電機達到給定轉(zhuǎn)速所需要的時間:仿真開始:達到給定速度時:可知其所需要的時間為31秒,比想象中的長,但是誤差很小,基本上達到指定速度后就不會再改變了。我也試著改進參數(shù)使其時間變得更短,但是實際操作起來發(fā)現(xiàn)當(dāng)你改變參數(shù)的時候,它的超調(diào)會很大,而且波動很強,不適合作為pid參數(shù),綜上,pid參數(shù)還是matlab仿真得來的參數(shù)最好的。但是用matlab仿真發(fā)現(xiàn)電機達到穩(wěn)態(tài)所需的時間僅為0.3s左右,本人認為用proteus仿真出來的更具有實用性,matlab仿真的主要目的還是選擇最合適的pid參數(shù)。第六章、實驗總結(jié)及感想這次實驗周
32、期很長,從6月25號開始做一直到7月7號才結(jié)束,期間也碰到了許多難題,在此簡要總結(jié)一下。由于本人單片機基礎(chǔ)很不牢固,但是這個課程設(shè)計要用到單片機,所以首先做的是不斷琢磨單片機的基本功能和基本外設(shè),如定時器計數(shù)器的使用,數(shù)顯管的顯示和鍵盤的輸入,剛開始認真研究單片機的時候基本上遇到的問題都是問題,舉步維艱,也曾到圖書館翻了很多關(guān)于單片機的書,經(jīng)過不斷學(xué)習(xí),最后考慮到有一定的c語言基礎(chǔ),而匯編語言短時間內(nèi)學(xué)不扎實,果斷選擇了用c語言編程。進過幾天不斷的學(xué)習(xí),對單片機的理解也越來越深,知道的也越來越多,這為做此課程設(shè)計打下了很扎實的基礎(chǔ)。開始做此課設(shè)時考慮到要輸入數(shù)據(jù)和輸出數(shù)據(jù),但是這期間走了很多彎
33、路。剛才是準(zhǔn)備使用4*4矩陣鍵盤進行給定轉(zhuǎn)速的輸出,最后鑒于本人的單片機基礎(chǔ)有限,發(fā)現(xiàn)此程序很復(fù)雜,進過很長時間的研究,最后明智的拋棄了他,而選擇速度增加鍵減少鍵和清零鍵取代。數(shù)顯管剛開始想選用74HC573鎖存器來進行動態(tài)數(shù)顯管的顯示,但是發(fā)現(xiàn)數(shù)顯管的前4位后后四位如果不使用同一個顯示算法的話會簡單很多,而且最后發(fā)現(xiàn)單片機的I/O口很充足,所以就直接用16個I/O來進行數(shù)顯管的顯示了,這樣很適合自己想的算法,然后省下了很大的麻煩。 大的范圍就遇到這兩個問題,小的范圍內(nèi)發(fā)現(xiàn)了很多細節(jié)上的理解錯誤,比如數(shù)據(jù)類型的設(shè)定,當(dāng)設(shè)定的速度通過subspeed鍵減小到0的時候再減會出現(xiàn)數(shù)顯管上顯示436的
34、數(shù)字,這很不符合邏輯,因為開始已經(jīng)設(shè)定當(dāng)setspeed小于0的時候永遠為0。進過仔細分析發(fā)現(xiàn)setspeed的數(shù)據(jù)類型不能為unsigned,而是singed,因為當(dāng)你小于0的時候,unsigned雖說不輸出負數(shù),但是會輸出它的反碼,反碼會對應(yīng)一個值,如果signed的話就不會這么做,直接為0。事實上改過來之后就解決了這個問題,讓我了解到了數(shù)據(jù)類型是多么的重要。還遇到的問題比如數(shù)顯管其他位都很正常,但是只有第二位總是閃,這讓我難為了很久也找不到毛病,最后無意間刪掉了一段沒有用的程序后一切都好了,這讓我了解到程序一定要精簡,不然你永遠不會知道它會出現(xiàn)什么不可預(yù)知的錯誤。其他小的問題也有很多,但
35、是都被我經(jīng)過仔細的研究慢慢的克服,最后仿真結(jié)果和硬件都很合適。 總之單片機是個很細致的學(xué)科,我們要堅持做完,碰到問題一定要仔細想,這樣才能發(fā)現(xiàn)它的強大。參考文獻:我的參考文獻很少,自己買的其中一本書就是很著名的郭天祥老師書叫51單片機c語言教程外加全套開發(fā)板,另外圖書館里的單片機書基本上都翻過。電機部分參考自控原理書里的電機傳遞函數(shù)。還有keil教程和proteus教程附錄一 硬件系統(tǒng)電路原理圖附錄二:程序源代碼#include #define uchar unsigned char#define uint unsigned int#define THCO 0xf8#define TLCO 0
36、x30 /2msuchar code Duan=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;/共陰極數(shù)碼管,0-9段碼表uchar Data_Buffer8=0,0,0,0,0,0,0,0;/數(shù)碼管顯示數(shù)值,數(shù)組變量定義uchar Data4=0,0,0,0;uchar Arry4=0,0,0,0;bitflag1 = 0 ;bit flag0 = 0;unsigned char i = 0 ;sbit AddSpeed=P11;sbit SubSpeed=P12;sbit Stop=P13;/按鍵調(diào)速sbit PWM_FC=P10;/PWM控制端int e=0,e1=0,e2=0;/PID偏float uk=0,uk1=0.0,duk=0.0;/PID輸出值float Kp=0.5,Ki=7,Kd=0.001;/PID控制系數(shù)int out=0;signed int SpeedSet=500;uint cnt=0;uint Inpluse=0,num=0; /脈沖計數(shù)單元uint PWMTime=0;/脈沖寬度void PIDControl();void SystemInit();void delay(uchar x);void PWMOUT();void SetSpeed();void
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit3 It's Too Expensive(說課稿)-2024-2025學(xué)年北師大版(一起)英語四年級上冊001
- 2025【各行各業(yè)合同協(xié)議模板】【各行各業(yè)合同協(xié)議模板】商鋪轉(zhuǎn)讓協(xié)議
- 2025常用版工程工程合同樣式
- 2023八年級英語下冊 Module 9 Friendship Unit 1 Could I ask if you've mentioned this to her第二課時說課稿 (新版)外研版
- 2025墻體廣告制作發(fā)布合同
- 2025國際貿(mào)易合同樣本參考
- Unit 3 My weekend plan Part A Let's talk Let's learn大單元整體說課稿表格式-2024-2025學(xué)年人教PEP版英語六年級上冊
- 9 生活離不開規(guī)則說課稿-2023-2024學(xué)年道德與法治三年級下冊統(tǒng)編版
- 3 《百合花》 (說課稿)-2024-2025學(xué)年高一語文同步說課稿與知識梳理(統(tǒng)編版必修上冊)
- Unit 4 My home PB Let's learn (說課稿)-2024-2025學(xué)年人教PEP版英語四年級上冊
- 湖北省十堰市城區(qū)2024-2025學(xué)年九年級上學(xué)期期末質(zhì)量檢測歷史試題(含答案)
- 2025公司開工大吉蛇年起航萬象啟新模板
- 企業(yè)人才招聘與選拔方法論研究
- GB/T 11263-2024熱軋H型鋼和剖分T型鋼
- 2024年江蘇省高考政治試卷(含答案逐題解析)
- 執(zhí)業(yè)醫(yī)師資格考試《臨床執(zhí)業(yè)醫(yī)師》 考前 押題試卷(一)絕密1
- 2024七年級數(shù)學(xué)上冊第六章幾何圖形初步綜合與實踐設(shè)計學(xué)校田徑運動會比賽場地課件新版新人教版
- 《三國演義》題庫單選題100道及答案解析
- 全國網(wǎng)約車出租車駕駛員公共題模擬考試題及答案
- 無人機實操技術(shù)課件:模擬器飛行
- 新人教版一年級數(shù)學(xué)下冊全冊教案(表格式)
評論
0/150
提交評論