兩臺直流電動機(jī)同步或隨動位置控制課件_第1頁
兩臺直流電動機(jī)同步或隨動位置控制課件_第2頁
兩臺直流電動機(jī)同步或隨動位置控制課件_第3頁
兩臺直流電動機(jī)同步或隨動位置控制課件_第4頁
兩臺直流電動機(jī)同步或隨動位置控制課件_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、指導(dǎo)教師評定成績: 審定成績: 重 慶 郵 電 大 學(xué)自 動 化 學(xué) 院計算機(jī)控制課程設(shè)計報告設(shè)計題目:兩臺直流電動機(jī)同步(或隨動/位置)控制單位(二級學(xué)院): 學(xué) 生 姓 名: 專 業(yè): 班 級: 學(xué) 號: 指 導(dǎo) 教 師: 設(shè)計時間: 年 月重慶郵電大學(xué)自動化學(xué)院制目錄摘要. 3一、 課程設(shè)計任務(wù)3二、 基于51系列單片機(jī)的溫度控制系統(tǒng)設(shè)計32.1 方案設(shè)計32.1.1 方案選擇3方案一:熱電偶采集溫度3方案二:數(shù)字溫度傳感器DS18B20采集溫度32.1.2 方案論證32.2 基本芯片及PID算法簡介42.2.1單片機(jī)STC89C5242.2.2 DS18B20基本工作原理42.2.3

2、PID算法5三、 系統(tǒng)硬件設(shè)計73.1 數(shù)碼管顯示模塊73.2 鍵盤輸入模塊83.3 溫度采集模塊83.4 報警模塊9四、 系統(tǒng)軟件設(shè)計104.1 主程序流程圖104.2 溫度檢測子程序104.3 PID計算子程序114.4 PWM子程序14五、 系統(tǒng)功能設(shè)計與實(shí)現(xiàn)145.1 測試系統(tǒng)特性及其傳遞函數(shù)145.2 實(shí)際溫度顯示功能的實(shí)現(xiàn)155.2.1 Proteus仿真圖155.2.2 實(shí)物圖165.3 控制溫度的設(shè)定功能的實(shí)現(xiàn)175.3.1 Proteus仿真圖175.3.2 實(shí)物圖175.3.3 系統(tǒng)調(diào)試18六、 總結(jié)19基于51系列單片機(jī)的溫度控制系統(tǒng)摘要:本系統(tǒng)是一個采用STC12C54

3、10AD單片機(jī)編程實(shí)現(xiàn)兩臺直流電機(jī)能夠同步旋轉(zhuǎn)的雙直流電機(jī)同步驅(qū)動控制系統(tǒng)。通過按鍵輸入控制主直流電機(jī)調(diào)速、正反轉(zhuǎn),其中直流電機(jī)采用PWM脈寬調(diào)制方式調(diào)速,通過兩個轉(zhuǎn)速傳感器的差值對系統(tǒng)進(jìn)行反饋,實(shí)現(xiàn)從直流電機(jī)跟隨主直流電機(jī)狀態(tài)。該系統(tǒng)能夠?qū)崟r檢測與顯示兩直流電機(jī)轉(zhuǎn)速,基本完成題目設(shè)計要求。關(guān)鍵詞: STC12C5410AD單片機(jī),直流電機(jī),速度傳感器,PWM,反饋控制。1、 課程設(shè)計任務(wù)1.1 直流電機(jī)直流電機(jī)功率不大于20W;直流電機(jī)額定電驅(qū)電壓為DC12V;直流電機(jī)額定轉(zhuǎn)速為300rpm。1.2 設(shè)計要求及實(shí)現(xiàn)功能1、 設(shè)計直流電動機(jī)控制電路;2、 設(shè)計直流電動機(jī)調(diào)速控制電路,要求采用P

4、WM脈寬調(diào)制方式調(diào)速,PWM 脈沖寬度調(diào)制的頻率為10-40KHZ,PWM脈沖寬度調(diào)制的占空比為5%-95%。3、 實(shí)現(xiàn)兩臺直流電動機(jī)同步旋轉(zhuǎn),且誤差小于3%。4、 實(shí)現(xiàn)正反轉(zhuǎn)。5、 速度檢測與顯示。2、 基于51系列單片機(jī)的溫度控制系統(tǒng)設(shè)計2.1 方案設(shè)計2.1.1 方案選擇方案一:熱電偶采集溫度熱電偶利用熱電勢原理進(jìn)行溫度測量的。其測量精度高、 測量范圍廣。常用的熱電偶從-50+1600均可正常測量,某些特殊熱電偶最低可測到-269(如金鐵鎳鉻),最高可達(dá)+2800(如鎢-錸)。但熱電偶測量需要溫度補(bǔ)償。而且輸出量為電壓,需要經(jīng)過測量放大器、AD轉(zhuǎn)換后才能送入微處理器處理。方案二

5、:數(shù)字溫度傳感器DS18B20采集溫度DS18B20采用獨(dú)特的單線接口方式,與微處理器連接時僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。在使用中不需要任何外圍元件,測溫范圍 55125,最小分辨率達(dá)0.0625。2.1.2 方案論證經(jīng)過比較,因為采用DS18B20測量溫度,硬件電路簡單,測量精度高,信號易處理,故采用方案二,即溫度變送器選用DS18B20。基于51系列單片機(jī)的溫度控制系統(tǒng)電路總體設(shè)計方框圖如圖2-1所示,STC89C52時鐘電路按鍵輸入數(shù)碼管顯示報警電路溫度檢測溫度傳感器溫度控制溫度控制儀圖2-1 數(shù)字式溫度控制儀總體設(shè)計框圖2.2 基本芯片及PID算法簡介2.2

6、.1單片機(jī)STC89C52STC89C52的結(jié)構(gòu)如圖2.1所示。由于它的廣泛使用使得市面價格較8155、8255、8279要低,所以說用它是很經(jīng)濟(jì)的。該芯片具有如下功能:有1個專用的鍵盤/顯示接口;有1個全雙工異步串行通信接口;有2個16位定時/計數(shù)器。這樣,1個89C52,承擔(dān)了3個專用接口芯片的工作,不僅使成本大大下降,而且優(yōu)化了硬件結(jié)構(gòu)和軟件設(shè)計,給用戶帶來許多方便。STC89C52有40個引腳,有32個輸入端口(I/O),有2個讀寫口線,可以反復(fù)插除。所以可以降低成本。其主要功能特性有: 1 兼容MCS51指令系統(tǒng)2 32個雙向I/O口線3 3個16位可編程定時/計數(shù)器中斷4 2個串行

7、中斷口 5 2個外部中斷源6 2個讀寫中斷口線7 低功耗空閑和掉電模式8 8k可反復(fù)擦寫(>1000次)Flash ROM9 256x8 bit內(nèi)部RAM10 時鐘頻率0-24MHz11 可編程UART串行通道12 共6個中斷源13 3級加密位圖2-2 STC89C52引腳圖14 軟件設(shè)置睡眠和喚醒功能。2.2.2 DS18B20基本工作原理 DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)9-12位的數(shù)字值讀數(shù)方式。DS18B20的測溫原理:器件中低溫度系數(shù)

8、晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入。器件中還有一個計數(shù)門,當(dāng)計數(shù)門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進(jìn)行計數(shù)進(jìn)而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將55所對應(yīng)的一個基數(shù)分別置入減法計數(shù)器1、溫度寄存器中,計數(shù)器和溫度寄存器被預(yù)置在55所對應(yīng)的一個基數(shù)值。表2-1 部分溫度對應(yīng)值表溫度/二進(jìn)制表示十六進(jìn)制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550

9、H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H預(yù)置值減到0時,溫度寄存器的值將加1,減法計數(shù)器1的預(yù)置將重新被裝入,減法計數(shù)器重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計數(shù),如

10、此循環(huán)直到減法計數(shù)器計數(shù)到0時,停止溫度寄存器的累加,此時溫度寄存器中的數(shù)值就是所測溫度值。其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)器門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器值大致被測溫度值。另外,由于DS18B20單線通信功能是分時完成的,它有嚴(yán)格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)發(fā)ROM功能命令發(fā)存儲器操作命令處理數(shù)據(jù)。2.2.3 PID算法2.2.3.1 PID調(diào)節(jié)器控制原理在控制系統(tǒng)中,控制器最常用的控制規(guī)律是PID控制。PID控制系統(tǒng)原理框圖如圖2-3所示。系統(tǒng)由PID控制器和被控對象組成。圖2-

11、3 PID控制系統(tǒng)原理框圖PID控制器是一種線性控制器,它根據(jù)給定值rin(t)與實(shí)際輸出值yout(t)構(gòu)成控制偏差:Error(t)=rin(t)-yout(t)PID控制就是對偏差信號進(jìn)行比例、積分、微分運(yùn)算后,形成一種控制規(guī)律。即,控制器的輸出為: 或?qū)懗蓚鬟f函數(shù)的形式: 其中, kp比例系數(shù);Ti積分時間常數(shù);T d微分時間常數(shù)。簡單說來,PID控制器各校正環(huán)節(jié)的作用如下:比例環(huán)節(jié):成比例地反映控制系統(tǒng)的偏差信號error(t),偏差一旦產(chǎn)生,控制器立即產(chǎn)生控制作用,以減小偏差。積分環(huán)節(jié):主要用于消除靜差,提高系統(tǒng)的無差度。積分作用的強(qiáng)盡弱取決于積分時間常數(shù)Ti,Ti越大,積分作用越

12、弱,反之則越強(qiáng)。微分環(huán)節(jié):反偏差信號的變化趨勢(變化速率),并能在偏差信號變得太大之前,在系統(tǒng)中引入一個有效的早期修正信號,從而加快系統(tǒng)的動作速度,減少調(diào)節(jié)時間。2.2.3.2 數(shù)字PID參數(shù)的整定 PID控制器的參數(shù)整定是控制系統(tǒng)設(shè)計的核心內(nèi)容。它是根據(jù)被控過程的特性確定PID控制器的比例系數(shù)、積分時間和微分時間的大小。PID控制器參數(shù)整定的方法很多,概括起來有兩大類:一是理論計算整定法。它主要是依據(jù)系統(tǒng)的數(shù)學(xué)模型,經(jīng)過理論計算確定控制器參數(shù)。這種方法所得到的計算數(shù)據(jù)未必可以直接用,還必須通過工程實(shí)際進(jìn)行調(diào)整和修改。二是工程整定方法,它主要依賴工程經(jīng)驗,直接在控制系統(tǒng)的試驗中進(jìn)行,且方法簡單

13、、易于掌握,在工程實(shí)際中被廣泛采用。本設(shè)計采用PID歸一整定法把對控制臺三個參數(shù)(Kc、Ti、Td,)轉(zhuǎn)換為一個參數(shù), 從而使問題明顯簡化。以達(dá)到控制器的特性與被控過程的特性相匹配,滿足某種反映控制系統(tǒng)質(zhì)量的性能指標(biāo)。2.2.3.3采樣周期選擇的原則(1)根據(jù)香農(nóng)采樣定理,系統(tǒng)采樣頻率的下限為fs=2fmax,此時系統(tǒng)可真實(shí)地恢復(fù)到原來的連續(xù)信號。 (2)從執(zhí)行機(jī)構(gòu)的特性要求來看,有時需要輸出信號保持一定的寬度。采樣周期必須大于這一時間。(3)從控制系統(tǒng)的隨動和抗干擾的性能來看,要求采樣周期短些。 (4)從微機(jī)的工作量和每個調(diào)節(jié)回路的計算來看,一般要求采樣周期大些。 (5)從計算機(jī)的精度看,過

14、短的采樣周期是不合適的。 (6)當(dāng)系統(tǒng)滯后占主導(dǎo)地位時,應(yīng)使滯后時間為采樣周期的整數(shù)倍下表2-2列出了幾種常見的被測參數(shù)的采樣周期T的經(jīng)驗選擇數(shù)據(jù)??晒┰O(shè)計時參考。實(shí)際上生產(chǎn)過程千差萬別,經(jīng)驗數(shù)據(jù)不一定就合適,可用試探法逐步調(diào)試確定。表2-2 采樣周期的經(jīng)驗數(shù)據(jù)表被測參數(shù)采用周期T(s)備注流量15s優(yōu)先選用1s壓力310s優(yōu)先選用5s液位68s溫度1520s或純滯后時間成分1520s2.2.3.4 PID參數(shù)對系統(tǒng)性能的影響表2-3 PID參數(shù)對系統(tǒng)性能的影響參數(shù)圖作用缺點(diǎn)P加快調(diào)節(jié),減少穩(wěn)態(tài)誤差穩(wěn)定性下降,甚至造成系統(tǒng)的不穩(wěn)定I因為有誤差,積分調(diào)節(jié)就進(jìn)行,直至無差.消除穩(wěn)態(tài)誤差,提高無差度

15、。加入積分調(diào)節(jié)可使系統(tǒng)穩(wěn)定性下降,動態(tài)響應(yīng)變慢。積分作用常與另兩種調(diào)節(jié)規(guī)律結(jié)合,組成PI調(diào)節(jié)器或PID調(diào)節(jié)器。D反映系統(tǒng)偏差信號變化率,具有預(yù)見性,能預(yù)見偏差變化的趨勢,因此能產(chǎn)生超前的控制作用??梢詼p少超調(diào),減少調(diào)節(jié)時間。微分作用對噪聲干擾有放大作用,因此過強(qiáng)的加微分調(diào)節(jié),對系統(tǒng)抗干擾不利。微分作用不能單獨(dú)使用,需要與另外兩種調(diào)節(jié)規(guī)蓄料目結(jié)合,組成PD或PID控制. 3、 系統(tǒng)硬件設(shè)計3.1 數(shù)碼管顯示模塊八段就是指數(shù)碼管里有八個小LED發(fā)光二極管,通過控制不同的LED的亮滅來顯示出不同的字形。共陽極就是將八個LED的陽極連在一起,讓其接地,這樣給任何一個LED的另一端低電平,它便能點(diǎn)亮,相

16、應(yīng)的段被顯示出來。數(shù)碼管的顯示有靜態(tài)顯示和動態(tài)掃描顯示兩種方法。所謂靜態(tài)顯示,就是當(dāng)數(shù)碼管顯示某一字符時,相應(yīng)的發(fā)光二級管恒定的導(dǎo)通或截止。數(shù)碼管的每一個段碼都可以由一個單片機(jī)的I/O口進(jìn)行驅(qū)動。靜態(tài)顯示的優(yōu)點(diǎn)是編程簡單,顯示亮度高,但缺點(diǎn)是占用I/O口多,容易造成I/O接口的浪費(fèi),不易控制成本。所謂動態(tài)掃描顯示就是通過分時輪流控制各個LED數(shù)碼管的DPY端,使各個數(shù)碼管輪流受控顯示。在輪流顯示過程中,每位元數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極體的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會有閃爍感,動態(tài)顯示的

17、效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O口,而且功耗更低。本系統(tǒng)采用6個共陽極8段數(shù)碼管對采集到的溫度值以及鍵盤輸入的目標(biāo)值進(jìn)行顯示,接口電路如圖2-1所示。該系統(tǒng)采用動態(tài)掃描顯示方法,雖然這種方法占用CPU資源較多,但是6個數(shù)碼管共占用8個I/O接口,不存在I/O接口浪費(fèi)的情況,可以有效的降低成本,故采用此種方法。圖3-1 數(shù)碼管接線電路3.2 鍵盤輸入模塊此模塊采用4個按鍵,以滿足通過鍵盤輸入目標(biāo)溫度設(shè)定值的任務(wù)要求,接口電路如圖2-2所示。圖3-2 鍵盤輸入模塊3.3 溫度采集模塊溫度采集模塊采用DS18B20這款溫度傳感器,其與單片機(jī)連接如圖2-3所示。圖3-3 溫度傳感器DS18

18、B20接口電路根據(jù)DS18B20的通訊協(xié)議,主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主CPU收到此信號表示復(fù)位成功。3.4 報警模塊報警采用蜂鳴器元件,當(dāng)實(shí)際溫度高于目標(biāo)溫度時,報警功能實(shí)現(xiàn),電路連接圖如3-4.圖3-4 蜂鳴器連接圖4、 系統(tǒng)軟件設(shè)計4.1 主程序流程圖 是系統(tǒng)初始化設(shè)定目標(biāo)溫度顯示實(shí)際溫度開始不加熱實(shí)際

19、溫度大于目標(biāo)溫度?PID控制輸出PWM調(diào)節(jié)加熱否圖4-1 主程序流程圖4.2 溫度檢測子程序DS18B20外接電路極為簡單,電路連接沒有太大問題;但軟件編程就需要嚴(yán)格要求時序進(jìn)行讀寫操作。(1) DS18B20的初始化: 根據(jù)DS18B20的通訊協(xié)議,主機(jī)(單片機(jī))控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,當(dāng)DS18B20收到信號后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主CPU收到此信

20、號表示復(fù)位成功。(1) 先將數(shù)據(jù)線DQ置高電平“1”。 (2) 延時(該時間要求的不是很嚴(yán)格,但是盡可能的短一點(diǎn)) (3) 數(shù)據(jù)線拉到低電平“0”。 (4) 延時750微秒(該時間的時間范圍可以從480到960微秒)。 (5) 數(shù)據(jù)線拉到高電平“1”。 (6) 延時等待(如果初始化成功則在15到60微妙時間之內(nèi)產(chǎn)生一個由DS18B20所返回的低電平“0”。據(jù)該狀態(tài)可以來確定它的存在,但是應(yīng)注意不能無限的進(jìn)行等待,不然會使程序進(jìn)入死循環(huán),所以要進(jìn)行超時控制)。 (7) 若CPU讀到了數(shù)據(jù)線上的低電平“0”后,還要做延時,其延時的時間從發(fā)出的高電平算起(第(5)步的時間算起)最少要480微秒。 (

21、8) 將數(shù)據(jù)線再次拉高到高電平“1”后結(jié)束。(2) DS18B20的寫操作:(1) 數(shù)據(jù)線先置低電平“0”。 (2) 延時確定的時間為15微秒。 (3) 按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位)。 (4) 延時時間為45微秒。 (5) 將數(shù)據(jù)線拉到高電平。 (6) 重復(fù)上(1)到(6)的操作直到所有的字節(jié)全部發(fā)送完為止。 (7) 最后將數(shù)據(jù)線拉高。(3)DS18B20的讀操作:(1)將數(shù)據(jù)線拉高“1”。 (2)延時2微秒。 (3)將數(shù)據(jù)線拉低“0”。 (4)延時3微秒。 (5)將數(shù)據(jù)線拉高“1”。 (6)延時5微秒。 (7)讀數(shù)據(jù)線的狀態(tài)得到1個狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。 (8)延時60微

22、秒。4.3 PID計算子程序 PID調(diào)節(jié)規(guī)律的基本輸入輸出關(guān)系可用微分方程表示為: 式中為調(diào)節(jié)器的輸入誤差信號,且 其中:為給定值,為被控變量; 為調(diào)節(jié)器的輸出控制信號; 為比例系數(shù); 為積分時間常數(shù); 微分時間常數(shù)。計算機(jī)只能處理數(shù)字信號,若采樣周期為T第n次采樣的輸入誤差為,且,輸出為,PID算法用的微分由差分代替,積分由代替,于是得到 寫成遞推形式為 = = = = 其中: 顯然,PID計算只需要保留現(xiàn)時刻以及以前的兩個偏差量和。初始化程序初值通過采樣并根據(jù)參數(shù)、以及、和計算。 根據(jù)輸出控制增量,可求出本次控制輸出為 += 由于溫度控制儀一般是屬于一階對象和滯后的一階對象,所以式中、的選

23、擇取決于溫度測量控制儀的階躍響應(yīng)曲線和實(shí)際經(jīng)驗,工程上已經(jīng)積累了不少行之的參數(shù)整定方法。本設(shè)計采用Ziegler-Nichols提出的 PID歸一調(diào)整法,調(diào)整參數(shù),主要是為了減少在線整定參數(shù)的數(shù)目,常常人為假定約束條件,以減少獨(dú)立變量的個數(shù),令: 式中稱為臨界周期。在單純比例作用下(比例增益由小到大),是系統(tǒng)產(chǎn)生等幅振蕩的比例增益,這時的工作周期為臨界周期,則可以得到 = = 式中=0.2,=1.25 從而可以調(diào)節(jié)的參數(shù)只有一個??稍O(shè)計一個調(diào)整子程序,通過鍵盤輸入改變值,改變運(yùn)行參數(shù),使系統(tǒng)滿足要求。流程圖如圖4-2所示,圖4-2 PID運(yùn)算流程圖4.4 PWM子程序 脈沖寬度調(diào)制()是一種模

24、擬控制方式,其根據(jù)相應(yīng)載荷的變化來調(diào)制晶體管柵極或基極的偏置,來實(shí)現(xiàn)開關(guān)穩(wěn)壓電源輸出晶 體管或晶體管導(dǎo)通時間的改變,這種方式能使電源的輸出電壓在工作條件變化時保持恒定,是利用微處理器的數(shù)字輸出來對模擬電路進(jìn)行控制的一種非常有效的技術(shù)。PWM的一個優(yōu)點(diǎn)是從處理器到被控系統(tǒng)信號都是數(shù)字形式的,無需進(jìn)行數(shù)模轉(zhuǎn)換。讓信號保持為數(shù)字形式可將噪聲影響降到最小。噪聲只有在強(qiáng)到足以將邏輯1改變?yōu)檫壿?或?qū)⑦壿?改變?yōu)檫壿?時,也才能對數(shù)字信號產(chǎn)生影響。用PWM波輸入固態(tài)繼電器的輸入端,從而改變電爐加熱絲內(nèi)的電流通斷時間。本設(shè)計中,PWM由單片機(jī)定時器中斷產(chǎn)生,與主程序和其他函數(shù)不影響。脈寬受PID控制器的輸出

25、量控制。5、 系統(tǒng)功能設(shè)計與實(shí)現(xiàn)5.1 測試系統(tǒng)特性及其傳遞函數(shù)要設(shè)計一個控制系統(tǒng),首先要建立控制系統(tǒng)的數(shù)學(xué)模型,在建立控制系統(tǒng)數(shù)學(xué)模型的過程中,最主要是確定被控對象的數(shù)學(xué)模型。目前用來測定對象動態(tài)特性的實(shí)驗方法主要有三種,即時域方法、頻域方法和統(tǒng)計研究方法。在本設(shè)計中采用實(shí)驗測定法中的時域測定法,即被測溫度在輸入端加階躍輸入信號,而在輸出端測繪其輸出量隨時間變化的響應(yīng)曲線,再對響應(yīng)曲線的結(jié)果進(jìn)行分析,確定被研究對象的傳遞函數(shù)。溫度測量控制儀是一個非線性和時變對象,且具有明顯的阻尼特征,經(jīng)查閱資料,對于被控對象SET-300型溫度測量控制儀,可以得到它的傳遞函數(shù)可表示為其中,T表示對象慣性時間

26、常數(shù),K表示對象放大系數(shù),為純滯后時間。要求出其傳遞函數(shù)的參數(shù)K、T和,常用兩種方法,切線法和兩點(diǎn)法。1) 測量數(shù)據(jù)并描點(diǎn)每隔10s采集一次溫度,測量部分?jǐn)?shù)據(jù)如下(單位:):33.7 34.25 34.94 35.82 37.00 37.75 38.75 39.84 41.06 42.32 43.45 44.68 46.00 47.14 48.50 51.00 52.20 53.56 54.75 56.1357.26 58.25 59.00 59.66 60.06 60.38 2) 用MATLAB模擬曲線,繪制如下圖5-1 控制儀溫度曲線3) 根據(jù)曲線采用兩點(diǎn)法得出傳遞函數(shù)在y(t)上選取兩個

27、坐標(biāo)值和,只要0,三個數(shù)值之間有明顯差異即可。利用公式 解得 所求傳遞函數(shù)為 5.2 實(shí)際溫度顯示功能的實(shí)現(xiàn)5.2.1 Proteus仿真圖實(shí)際溫度36度,高于目標(biāo)溫度25度,報警提示,自由降溫處理。圖 5-2 實(shí)際溫度高于目標(biāo)溫度5.2.2 實(shí)物圖實(shí)際溫度24.5度,低于目標(biāo)溫度40度,加熱指示燈亮,加熱處理。圖5-3 實(shí)際溫度低于目標(biāo)溫度5.3 控制溫度的設(shè)定功能的實(shí)現(xiàn)5.3.1 Proteus仿真圖設(shè)定目標(biāo)溫度為85度。圖5-4 設(shè)定目標(biāo)溫度仿真圖5.3.2 實(shí)物圖設(shè)定目標(biāo)溫度為34度。圖5-5 設(shè)定目標(biāo)溫度5.3.3 系統(tǒng)調(diào)試根據(jù)香農(nóng)采樣定律,系統(tǒng)調(diào)試時的PWM波周期定為100毫秒,采

28、樣周期定為500毫秒。當(dāng)系統(tǒng)的期望設(shè)定溫度為95時,取Kp=3,Ki=0.0001時,得到如圖5-6中的第一次實(shí)驗曲線,其中響應(yīng)時間為18分鐘,且穩(wěn)態(tài)偏差較大;適當(dāng)增大Kp,保持Ki不變,發(fā)現(xiàn)系統(tǒng)響應(yīng)時間增快,穩(wěn)態(tài)偏差仍較大。將Kp保持不變,增大Ki,當(dāng)Ki=0.0015時,溫度控制的超調(diào)量小于5%,調(diào)節(jié)時間小于30s,穩(wěn)態(tài)偏差達(dá)到系統(tǒng)設(shè)計的要求。取Kp=4,Ki=0.0015,設(shè)定溫度為50時,得到如圖5-7所示的曲線。溫度/理想曲線時間第一次實(shí)驗曲線最終曲線圖5-6 目標(biāo)溫度為95的調(diào)試曲線溫度/時間理想曲線實(shí)測曲線圖5-7 目標(biāo)溫度為50的調(diào)試曲線 當(dāng)?shù)谝淮螠y試時,由于參數(shù)不準(zhǔn),所以出現(xiàn)

29、了誤差較大,達(dá)不到系統(tǒng)指標(biāo)。而經(jīng)過不斷調(diào)整參數(shù),系統(tǒng)達(dá)到了預(yù)期的控制效果。當(dāng)參數(shù)調(diào)好后,重新設(shè)置輸入溫度??梢钥闯鲈趖1以前系統(tǒng)全速加熱,但由于自然散熱,曲線并不是直線。而溫度上升到48時上升斜率減小,到相差0.5時更小。綜上所述,該系統(tǒng)在動態(tài)性能指標(biāo)上完全達(dá)到了設(shè)計任務(wù)的要求。6、 總結(jié)本系統(tǒng)采用STC12C5410AD單片機(jī)編程實(shí)現(xiàn)兩臺直流電機(jī)能夠同步旋轉(zhuǎn)的雙直流電機(jī)同步驅(qū)動控制系統(tǒng)。通過按鍵輸入控制主直流電機(jī)調(diào)速、正反轉(zhuǎn),其中直流電機(jī)采用PWM脈寬調(diào)制方式調(diào)速,通過兩個轉(zhuǎn)速傳感器的差值對系統(tǒng)進(jìn)行反饋,實(shí)現(xiàn)從直流電機(jī)跟隨主直流電機(jī)狀態(tài)。在整個課程設(shè)計的過程中,需要注意以下幾個問題:(1)切

30、實(shí)掌握和理解STC12C5410AD單片機(jī)的主要特點(diǎn)和性能參數(shù),明確其工作原理;(2)采用獨(dú)立鍵盤,簡單且方便實(shí)際操作。(3)理解掌握PID算法是解決本問題的關(guān)鍵。這次計算機(jī)控制課程設(shè)計中,我和隊友幾乎每天都到實(shí)驗室討論關(guān)于溫度控制系統(tǒng)的開展和實(shí)施工作。明確各自任務(wù)后,我們各自便進(jìn)入了緊張的工作中。其中,我主要負(fù)責(zé)仿真圖形的繪制,軟件編程和論文寫作工作。由于基礎(chǔ)知識不夠扎實(shí),我只能查閱大量資料,通過從圖書館借書,網(wǎng)上查閱等各種途徑學(xué)習(xí)相關(guān)知識。在此課程設(shè)計期間,我鍛煉了自己獨(dú)立思考研究的能力,認(rèn)識到了團(tuán)隊合作的重要性,同時強(qiáng)化了自己相關(guān)專業(yè)知識的理解和使用。在今后的學(xué)習(xí)中,我要加強(qiáng)自己專業(yè)知識

31、的學(xué)習(xí),多動手參加一些課外實(shí)踐活動或比賽,鍛煉自己的實(shí)際操作與動手能力,將自己所學(xué)的知識運(yùn)用到實(shí)踐當(dāng)中,不能紙上談兵??傊?,這次課程設(shè)計讓我了解到了自己的不足之處,在以后的學(xué)習(xí)過程中,我會揚(yáng)長避短,再接再厲,認(rèn)真學(xué)習(xí)專業(yè)知識,為后續(xù)學(xué)習(xí)打下堅實(shí)的基礎(chǔ)。參考文獻(xiàn)1 張毅剛, MCS-51單片機(jī)原理及應(yīng)用M. 哈爾濱,哈爾濱工業(yè)大學(xué)出版社,2004.6. 2 劉文濤, MCS-51單片機(jī)培訓(xùn)教程. 北京:電子工業(yè)出版社,1996.3 張洪潤,易濤編著,單片機(jī)應(yīng)用技術(shù)教程(第二版). 北京:清華大學(xué)出版社,2003.4 李華等, MCS-51系列單片機(jī)實(shí)用接口技術(shù). 北京:北京航空航天大學(xué)出版社,1

32、993.5 周潤景,單片機(jī)電路設(shè)計、分析與制作. 北京:機(jī)械工業(yè)出版社,2010.6 譚浩強(qiáng), C程序設(shè)計M.北京:清華大學(xué)出版社,1999,12.7 曹巧媛,單片機(jī)原理及應(yīng)用. 北京:電子工業(yè)出版社,2002. 2.8 胡漢才,單片機(jī)原理及其接口技術(shù). 北京:清華大學(xué)出版社,2010.9 蔡明生, 電子設(shè)計M. 北京:高等教育出版社,2004.12.10 李群芳,單片微型計算機(jī)接口技術(shù)及應(yīng)用.北京:電子工業(yè)出版社,2005.1.11 石宗義,電路原理圖與電路板設(shè)計教程Protel 99SE.北京:北京希望電子出版社,2002.6.附件附件1 C程序/程序功能:通過DS18B20測試當(dāng)前環(huán)境溫

33、度, 并通過數(shù)碼管顯示當(dāng)前溫度值#include "reg52.h"#include<intrins.h>#include <math.H> /要用到取絕對值函數(shù)abs()#define uchar unsigned char #define uint unsigned intsbit we=P27;/數(shù)碼管位選sbit du=P26; /數(shù)碼管段選sbit dio=P25;sbit ds=P22;sbit pwm=P30; /PWM輸出sbit beep=P23;sbit key1=P34;sbit key2=P35;sbit key3=P36;s

34、bit key4=P37;int tempValue1;uint uk,kp; /*比例系數(shù)*/;float ki,kd ; /*積分系數(shù),微分系數(shù)*/unsigned int temp;bit startend;bit leftright;uchar code th0=(65535-3000)/256;uchar code tl0=(65535-3000)%256;uchar dispbuf6;uchar code disptab=0x3f,0x6,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x

35、0;uchar code disptabwithdot=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0xa7,0xff,0xef,0xf7,0xfc,0xb9,0xf9,0xf1;uchar code dispbit=0xfe,0xfd,0xfb,0xf7,0xef,0xdf;uchar ge,shi;/延時函數(shù), 對于11.0592MHz時鐘, 例i=10,則大概延時10ms. void delay(unsigned int i) unsigned int j; while(i-) for(j = 0; j < 125; j+); void dsInit()

36、/對于11.0592MHz時鐘, unsigned int型的i, 作一個i+操作的時間大于?us unsigned int i; ds = 0; i = 100; /拉低約800us, 符合協(xié)議要求的480us以上 while(i>0) i-; ds = 1; /產(chǎn)生一個上升沿, 進(jìn)入等待應(yīng)答狀態(tài) i = 4; while(i>0) i-; void dsWait() unsigned int i; while(ds); while(ds); /檢測到應(yīng)答脈沖 i = 4; while(i > 0) i-;/向DS18B20讀取一位數(shù)據(jù)/讀一位, 讓DS18B20一小周期低

37、電平, 然后兩小周期高電平,/之后DS18B20則會輸出持續(xù)一段時間的一位數(shù)據(jù)bit readBit() unsigned int i; bit b; ds = 0; i+; /延時約8us, 符合協(xié)議要求至少保持1us ds = 1; i+; i+; /延時約16us, 符合協(xié)議要求的至少延時15us以上 b = ds; i = 8; while(i>0) i-; /延時約64us, 符合讀時隙不低于60us要求 return b;/讀取一字節(jié)數(shù)據(jù), 通過調(diào)用readBit()來實(shí)現(xiàn)unsigned char readByte() unsigned int i; unsigned ch

38、ar j, dat; dat = 0; for(i=0; i<8; i+) j = readBit(); /最先讀出的是最低位數(shù)據(jù) dat = (j << 7) | (dat >> 1); return dat;/向DS18B20寫入一字節(jié)數(shù)據(jù)void writeByte(unsigned char dat) unsigned int i; unsigned char j; bit b; for(j = 0; j < 8; j+) b = dat & 0x01; dat >>= 1; /寫"1", 將DQ拉低15us后

39、, 在15us60us內(nèi)將DQ拉高, 即完成寫1 if(b) ds = 0; i+; i+; /拉低約16us, 符號要求1560us內(nèi) ds = 1; i = 8; while(i>0) i-; /延時約64us, 符合寫時隙不低于60us要求 else /寫"0", 將DQ拉低60us120us ds = 0; i = 8; while(i>0) i-; /拉低約64us, 符號要求 ds = 1; i+; i+; /整個寫0時隙過程已經(jīng)超過60us, 這里就不用像寫1那樣, 再延時64us了 /向DS18B20發(fā)送溫度轉(zhuǎn)換命令void sendChange

40、Cmd() dsInit(); /初始化DS18B20, 無論什么命令, 首先都要發(fā)起初始化 dsWait(); /等待DS18B20應(yīng)答 delay(1); /延時1ms, 因為DS18B20會拉低DQ 60240us作為應(yīng)答信號 writeByte(0xcc); /寫入跳過序列號命令字 Skip Rom writeByte(0x44); /寫入溫度轉(zhuǎn)換命令字 Convert T/向DS18B20發(fā)送讀取數(shù)據(jù)命令void sendReadCmd()EA=0;/關(guān)閉中斷是因為進(jìn)入顯示中斷會影響到DS18B20的讀寫時序 dsInit(); dsWait(); delay(1); writeBy

41、te(0xcc); /寫入跳過序列號命令字 Skip Rom writeByte(0xbe); /寫入讀取數(shù)據(jù)令字 Read ScratchpadEA=1;/獲取當(dāng)前溫度值uchar panduan(float w) uchar l;float b;b=shi*10+ge;if(b>w)l=1;else l=0;return l;int getTmpValue() unsigned int tmpvalue; int value; /存放溫度數(shù)值 float t; unsigned char low, high;EA=0; sendReadCmd(); /連續(xù)讀取兩個字節(jié)數(shù)據(jù) low =

42、 readByte(); high = readByte(); /將高低兩個字節(jié)合成一個整形變量 /計算機(jī)中對于負(fù)數(shù)是利用補(bǔ)碼來表示的 /若是負(fù)值, 讀取出來的數(shù)值是用補(bǔ)碼表示的, 可直接賦值給int型的value tmpvalue = high; tmpvalue <<= 8; tmpvalue |= low; value = tmpvalue; /使用DS18B20的默認(rèn)分辨率12位, 精確度為0.0625度, 即讀回數(shù)據(jù)的最低位代表0.0625度 t = value * 0.0625; /將它放大100倍, 使顯示時可顯示小數(shù)點(diǎn)后兩位, 并對小數(shù)點(diǎn)后第三進(jìn)行4舍5入 /如t=

43、11.0625, 進(jìn)行計數(shù)后, 得到value = 1106, 即11.06 度 /如t=-11.0625, 進(jìn)行計數(shù)后, 得到value = -1106, 即-11.06 度 value = t * 100 + (value > 0 ? 0.5 : -0.5); /大于0加0.5, 小于0減0.5 beep=panduan(t); return value;EA=1;/PID計算void pid(void)float ek, ek1, ek2,ek_sum; /本次偏差,上次偏差,上上一次偏差,偏差積分 ek=temp_set-temp; if(ek>15)|(ek=15) EA=0; pwm=1; if(ek<0)|(ek=0) EA=0; pwm=0; if(ek>0)&&(ek<15) EA=1; ek2=ek1; ek1=ek; ek_sum+=ek; uk=kp*ek+ki*ek_sum+kd*(ek1-ek2); void Init_timer0()TMOD=0x01;TH0=th0;TL0=tl0;EA=1;ET0=1;TR0=

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論