版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)任務(wù)書(shū)</b></p><p> 題 目: 溫度控制系統(tǒng)設(shè)計(jì)</p><p><b> 初始條件:</b></p><p> 被控對(duì)象為電爐,采用熱阻絲加熱,利用大功率可控硅控制器控制熱阻絲兩端所加的電壓大小,來(lái)改變流經(jīng)熱阻絲的電流,從而改變電爐爐內(nèi)的溫度??煽毓杩刂破鬏斎霝?/p>
2、0~5伏時(shí)對(duì)應(yīng)電爐溫度0-300℃,溫度傳感器測(cè)量值對(duì)應(yīng)也為0~5伏,對(duì)象的特性為二階慣性系統(tǒng),慣性時(shí)間常數(shù)為T(mén)=20秒。</p><p> 要求完成的主要任務(wù): (包括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說(shuō)明書(shū)撰寫(xiě)等具體要求)</p><p> 1.設(shè)計(jì)溫度控制系統(tǒng)的計(jì)算機(jī)硬件系統(tǒng),畫(huà)出框圖;</p><p> 2.編寫(xiě)積分分離PID算法程序,從鍵盤(pán)接受Kp、T
3、i、Td、T及β的值;</p><p> 3.計(jì)算機(jī)仿真被控對(duì)象,編寫(xiě)仿真程序;</p><p> 4.通過(guò)數(shù)據(jù)分析β改變時(shí)對(duì)系統(tǒng)超調(diào)量的影響。</p><p> 5. 撰寫(xiě)設(shè)計(jì)說(shuō)明書(shū)。課程設(shè)計(jì)說(shuō)明書(shū)應(yīng)包括:設(shè)計(jì)任務(wù)及要求;方案比較及認(rèn)證;系統(tǒng)濾波原理、硬件原理,電路圖,采用器件的功能說(shuō)明;軟件思想,流程,源程序;調(diào)試記錄及結(jié)果分析;參考資料;附錄:芯片資料,
4、程序清單;總結(jié)。</p><p><b> 時(shí)間安排:</b></p><p> 6月22日查閱和準(zhǔn)備相關(guān)技術(shù)資料,完成整體方案設(shè)計(jì)</p><p> 6月23日—6月24日完成硬件設(shè)計(jì)</p><p> 6月25日—6月26日編寫(xiě)調(diào)試程序</p><p> 6月29日—6月30日
5、撰寫(xiě)課程設(shè)計(jì)說(shuō)明書(shū)</p><p> 7月1日提交課程設(shè)計(jì)說(shuō)明書(shū)、圖紙、電子文檔</p><p> 指導(dǎo)教師簽名: 年 月 </p><p> 系主任(或責(zé)任教師)簽名: 年 月 日</p><p><b> 摘要</b&
6、gt;</p><p> 溫度是工業(yè)生產(chǎn)中常見(jiàn)的工藝參數(shù)之一,任何物理變化和化學(xué)反應(yīng)過(guò)程都與溫度密切相關(guān),因此溫度控制是生產(chǎn)自動(dòng)化的重要任務(wù)。對(duì)于不同生產(chǎn)情況和工藝要求下的溫度控制,所采用的加熱方式,燃料,控制方案也有所不同。隨著集成電路技術(shù)的發(fā)展,單片微型計(jì)算機(jī)的功能也不斷增強(qiáng),許多高性能的新型機(jī)種不斷涌現(xiàn)出來(lái)。</p><p> 本文主要介紹了利用8051為主控制電路實(shí)現(xiàn)的爐溫調(diào)節(jié)
7、控制系統(tǒng),詳細(xì)闡述了系統(tǒng)的功能,硬件組成以及軟件設(shè)計(jì),利用熱電偶采集溫度信號(hào)經(jīng)A/D轉(zhuǎn)換器轉(zhuǎn)化后與給定信號(hào)送入微機(jī)系統(tǒng),系統(tǒng)分析控制算法,信號(hào)再經(jīng)D/A轉(zhuǎn)換后控制調(diào)節(jié)可控硅控制器來(lái)改變爐內(nèi)的溫度。</p><p> 關(guān)鍵字:8051; PID;二階系統(tǒng);積分分離;仿真目錄</p><p> 1 設(shè)計(jì)任務(wù)及要求1</p><p> 2 方案比較論證2<
8、/p><p> 3 系統(tǒng)硬件設(shè)計(jì)4</p><p> 3.1 系統(tǒng)硬件結(jié)構(gòu)4</p><p> 3.2系統(tǒng)硬件的選擇4</p><p> 3.3 系統(tǒng)硬件連接圖5</p><p> 4 系統(tǒng)軟件設(shè)計(jì)6</p><p> 4.1 確定程序流程6</p><p
9、> 4.2 程序控制算法介紹7</p><p><b> 5 系統(tǒng)仿真10</b></p><p> 6 心得與體會(huì)13</p><p><b> 參考資料14</b></p><p> 附錄1芯片資料15</p><p> 附錄2 程序清單16
10、</p><p><b> 溫度控制系統(tǒng)設(shè)計(jì)</b></p><p><b> 1 設(shè)計(jì)任務(wù)及要求</b></p><p> 被控對(duì)象為電爐,采用熱阻絲加熱,利用大功率可控硅控制器控制熱阻絲兩端所加的電壓大小,來(lái)改變流經(jīng)熱阻絲的電流,從而改變電爐爐內(nèi)的溫度??煽毓杩刂破鬏斎霝?~5伏時(shí)對(duì)應(yīng)電爐溫度0-300℃,溫度傳
11、感器測(cè)量值對(duì)應(yīng)也為0~5伏,對(duì)象的特性為二階慣性系統(tǒng),慣性時(shí)間常數(shù)為T(mén)=20秒。</p><p><b> 要求完成的主要任務(wù)</b></p><p> (1)設(shè)計(jì)溫度控制系統(tǒng)的計(jì)算機(jī)硬件系統(tǒng),畫(huà)出框圖;</p><p> (2)編寫(xiě)積分分離PID算法程序,從鍵盤(pán)接受Kp、Ti、Td、T及β的值;</p><p>
12、 (3)計(jì)算機(jī)仿真被控對(duì)象,編寫(xiě)仿真程序;</p><p> (4)通過(guò)數(shù)據(jù)分析β改變時(shí)對(duì)系統(tǒng)超調(diào)量的影響。</p><p><b> 2 方案比較論證</b></p><p> 用溫度傳感器來(lái)檢測(cè)爐的溫度,將爐溫轉(zhuǎn)變成毫伏級(jí)的電壓信號(hào),經(jīng)溫度變送器放大并轉(zhuǎn)換成電流信號(hào)。由電阻網(wǎng)絡(luò)講電流信號(hào)變成電壓信號(hào),送入A/D轉(zhuǎn)換器,通過(guò)采樣和模數(shù)
13、轉(zhuǎn)換,所檢測(cè)到的電壓信號(hào)和爐溫給定值的電壓信號(hào)送入計(jì)算機(jī)程序中作比較,得出給定值與實(shí)際值之間的偏差,并與β進(jìn)行比較,從而確定算法。計(jì)算得到的控制量輸出給可控硅控制器,改變可控硅的導(dǎo)通角,達(dá)到調(diào)壓的目的,是電阻絲兩端的電壓增大或較小,進(jìn)而實(shí)現(xiàn)對(duì)爐溫的控制。</p><p> 方案一:熱電偶溫度自動(dòng)控制系統(tǒng)。 方案二:數(shù)字溫度傳感器溫度控制系統(tǒng)。</p><p> 這兩個(gè)方案都是采
14、用單片機(jī)控制,兩個(gè)方案的比較部分為溫度檢測(cè)部分。</p><p> 方案一溫度檢測(cè)部分檢測(cè)部分采用熱電偶,它需要冷端補(bǔ)償電路與其配套,并且熱電偶輸出電壓只有幾毫負(fù),必須經(jīng)過(guò)放大處理才能A/D轉(zhuǎn)換和D/A轉(zhuǎn)換器接口,若采用8位A/D轉(zhuǎn)換器,ADC0809則輸人端需采用儀用放大器,把幾毫伏的電壓信號(hào)放大到5伏左右。由于熱電偶屬于非線性器件,因此每個(gè)溫度值都必須通過(guò)分度表,查表才能獲得,這給軟件編程和數(shù)據(jù)處理增加了難
15、度。這種系統(tǒng)具有測(cè)量溫度范圍可以從零下一百度到早上千攝氏度,而且有很多熱電偶精度非常高這是這種測(cè)量系統(tǒng)的優(yōu)點(diǎn)。但構(gòu)成系統(tǒng)復(fù)雜,抗干擾能力不強(qiáng)。</p><p> 方案二采用數(shù)字溫度傳感器DS18B20,它的最高分辨率為12位,可識(shí)別0.0625攝氏度的溫度。它具有直接輸出數(shù)字信號(hào)和數(shù)據(jù)處理,并且它和單片機(jī)接口只需要一位I/O口,因此由它構(gòu)成的系統(tǒng)簡(jiǎn)單使用,由于DS18B20,按照工業(yè)設(shè)計(jì)要求設(shè)計(jì),抗干擾性能強(qiáng)。
16、但溫度測(cè)量范圍從。</p><p> 根據(jù)設(shè)計(jì)要求,綜合考慮選擇方案一。</p><p> 控制芯片采用8051,要求傳感器測(cè)量的電壓范圍和可控硅控制器的電壓在0-5℃,所以A/D與D/A轉(zhuǎn)換芯片采用ADC080和9DAC0832。爐溫控制在0-300℃內(nèi),因此采用鎳鉻-銅鎳熱電偶,同時(shí)選用運(yùn)算放大器將信號(hào)放大。</p><p> 由以上分析控制過(guò)程,可以得到
17、如圖1的設(shè)計(jì)框圖:</p><p><b> 圖1 系統(tǒng)結(jié)構(gòu)框圖</b></p><p><b> 3 系統(tǒng)硬件設(shè)計(jì)</b></p><p> 爐溫信號(hào)T通過(guò)溫度檢測(cè)及變送,變成電信號(hào),與溫度設(shè)定值進(jìn)行比較,計(jì)算溫度偏差e和溫度的變化率de/dt,再由智能控制算法進(jìn)行推理,并得控制量u,可控硅輸出部分根據(jù)調(diào)節(jié)電加熱爐
18、的輸出功率,即改變可控硅管的接通時(shí)間,使電加熱爐輸出溫度達(dá)到理想的設(shè)定值。</p><p> 3.1 系統(tǒng)硬件結(jié)構(gòu)</p><p> ADC0809的INT0端口所連接的電阻起到給定預(yù)定值的作用,通過(guò)調(diào)節(jié)滑動(dòng)變阻器劃片的位置,改變INT0端口的電壓,該電壓通過(guò)0809轉(zhuǎn)換為數(shù)字量被計(jì)算機(jī)讀取。將一個(gè)0-5V的電壓表連接到可變電阻上,測(cè)量其電壓,再將其表盤(pán)改裝為溫度表盤(pán),即將原來(lái)的0-5
19、V的刻度均勻分為300份,每一份代表1℃,則可以讀取預(yù)定的溫度值。ADC0809的INT1端口與熱電偶相連。由8051構(gòu)成的核心控制器按智能控制算法進(jìn)行推算,得出所需要的控制量。由單片機(jī)的輸出通過(guò)調(diào)節(jié)可控硅管的接通時(shí)間,改變電爐的輸出功率,起到調(diào)溫的作用 。 </p><p> 3.2系統(tǒng)硬件的選擇</p><p> 微型計(jì)算機(jī)的選擇:選擇8051單片機(jī)構(gòu)成爐溫控制系統(tǒng)。它具有8位CP
20、U,3 2根I/O線,4 kB片內(nèi)ROM存儲(chǔ)器,128 kB的RAM存儲(chǔ)器。8051對(duì)溫度是通過(guò)可控硅調(diào)節(jié)器實(shí)現(xiàn)的。在系統(tǒng)開(kāi)發(fā)過(guò)程中修改程序容易,可以大大縮短開(kāi)發(fā)周期。同時(shí),系統(tǒng)工作過(guò)程中能有效地保存一些數(shù)據(jù)信息,不受系統(tǒng)掉電或斷電等突發(fā)情況的影響。8051單片機(jī)內(nèi)部有128 B的RAM存儲(chǔ)器,不夠本系統(tǒng)使用,因此,采用6264(8 kB)的RAM作為外部數(shù)據(jù)存儲(chǔ)器。 </p><p> 熱電偶的選擇:本設(shè)
21、計(jì)采用熱電偶--鎳絡(luò)-銅硅熱電偶(線性度較好,熱電勢(shì)較大,靈敏度較高,穩(wěn)定性和復(fù)現(xiàn)性較好,抗氧化性強(qiáng),價(jià)格便宜)對(duì)溫度進(jìn)行檢測(cè)。鎳鉻-銅鎳熱電偶在300℃時(shí)的熱點(diǎn)勢(shì)21.033mV,為滿足0-5V的要求,需將其放大238倍,再通過(guò)0809將其轉(zhuǎn)換為數(shù)字量被計(jì)算機(jī)讀取,通過(guò)軟件程序?qū)?shù)據(jù)進(jìn)行處理,將處理的結(jié)果經(jīng)0832輸出,輸出量控制可控硅控制器,從而改變電阻絲兩端的電壓,使?fàn)t溫得到控制。</p><p> 3.
22、3 系統(tǒng)硬件連接圖</p><p> 綜合以上分析,可以得出系統(tǒng)的硬件連接圖如圖2所示:</p><p><b> 4 系統(tǒng)軟件設(shè)計(jì)</b></p><p> 4.1 確定程序流程</p><p> 在微分控制中,控制器的輸出與輸入誤差信號(hào)的微分(即誤差的變化率)成正比關(guān)系。 自動(dòng)控制系統(tǒng)在克服誤差的調(diào)節(jié)過(guò)程中可
23、能會(huì)出現(xiàn)振蕩甚至失穩(wěn)。其原因是由于存在有較大慣性組件(環(huán)節(jié))或有滯后組件,具有抑制誤差的作用,其變化總是落后于誤差的變化。解決的辦法是使抑制誤差的作用的變化“超前”,即在誤差接近零時(shí),抑制誤差的作用就應(yīng)該是零。這就是說(shuō),在控制器中僅引入“比例”項(xiàng)往往是不夠的,比例項(xiàng)的作用僅是放大誤差的幅值,而目前需要增加的是“微分項(xiàng)”,它能預(yù)測(cè)誤差變化的趨勢(shì),這樣,具有比例+微分的控制器,就能夠提前使抑制誤差的控制作用等于零,甚至為負(fù)值,從而避免了被控
24、量的嚴(yán)重超調(diào)。所以對(duì)有較大慣性或滯后的被控對(duì)象,比例+微分(PD)控制器能改善系統(tǒng)在調(diào)節(jié)過(guò)程中的動(dòng)態(tài)特性。</p><p> 在一般的PID控制中,當(dāng)有較大的擾動(dòng)或大幅度改變給定值時(shí),由于此時(shí)有較大的偏差,以及系統(tǒng)有慣性和滯后,故在積分項(xiàng)的作用下,往往會(huì)產(chǎn)生較大的超調(diào)和長(zhǎng)時(shí)間的波動(dòng)。特別對(duì)于溫度等變化緩慢的過(guò)程,這一現(xiàn)象更為嚴(yán)重,為此,可采用積分分離措施,即偏差較大時(shí),取消積分作用;當(dāng)偏差較小時(shí)才將積分作用投入
25、。亦即</p><p> 當(dāng)時(shí),采用PD控制;</p><p> 當(dāng)時(shí),采用PID控制。</p><p> 積分分離閾值應(yīng)根據(jù)具體對(duì)象及控制要求。若值過(guò)大時(shí),則達(dá)不到積分分離的目的;若值過(guò)小,則一旦被控量無(wú)法跳出個(gè)積分分離區(qū),只進(jìn)行PD控制,將會(huì)出現(xiàn)殘差,為了實(shí)現(xiàn)積分分離,編寫(xiě)程序時(shí)必須從數(shù)字PID差分方程式中分離出積分項(xiàng),進(jìn)行特殊處理。</p>
26、<p> 根據(jù)設(shè)計(jì)要求及所選硬件,程序流程如圖3所示:</p><p> 圖3 程序的主流程圖</p><p> 4.2 程序控制算法介紹</p><p> 由以上分析,本次設(shè)計(jì)采用的是積分分離PID控制算法,PID調(diào)節(jié)時(shí)連續(xù)系統(tǒng)中技術(shù)中最成熟的,應(yīng)用廣泛的一種調(diào)節(jié)控制方式。在模擬控制系統(tǒng)中,PID算法的表達(dá)為: </p><
27、p> u:調(diào)節(jié)器的輸出信號(hào);</p><p><b> e:偏差信號(hào);</b></p><p> K:調(diào)節(jié)器的比例系數(shù);</p><p> TI:調(diào)節(jié)器的積分時(shí)間;</p><p> TD:調(diào)節(jié)器的微分時(shí)間。</p><p> 在計(jì)算機(jī)控制中,為實(shí)現(xiàn)數(shù)字控制,必須對(duì)式上式進(jìn)行離散
28、化處理。用數(shù)字形式的差分方程代替連續(xù)系統(tǒng)的微分方程。設(shè)系統(tǒng)的采樣周期為T(mén),在t=kT時(shí)刻進(jìn)行采樣,</p><p> 式中e(k):根據(jù)本次采樣值所得到的偏差;</p><p> e(k-1):由上次采樣所得到的偏差。</p><p><b> 由以上可得:</b></p><p> 式中,T為采樣時(shí)間,項(xiàng)為積分
29、項(xiàng)的開(kāi)關(guān)系數(shù)</p><p> 積分積分分離PID控制算法程序框圖如圖4所示:</p><p> 圖4 積分分離PID控制算法程序框圖</p><p><b> 5 系統(tǒng)仿真</b></p><p><b> 被控對(duì)象為:</b></p><p> 采用simuli
30、nk仿真,通過(guò)simulink模塊實(shí)現(xiàn)積分分離PID控制算法。</p><p> 選擇合適的Kp,Ki,Kd是系統(tǒng)的仿真效果趨于理想狀態(tài)。MATLAB編寫(xiě)程序如下:</p><p> clear all;</p><p> close all;</p><p> ts=2; %采樣時(shí)間2s</p
31、><p> sys=tf([1],[400,40,1]);</p><p> dsys=c2d(sys,ts,'zoh'); %將sys離散化</p><p> [num,den]=tfdata(dsys,'v'); %求sys多項(xiàng)式模型參數(shù)</p><p><b> kp=10;</b
32、></p><p><b> ki=0.25;</b></p><p><b> kd=5;</b></p><p> Simulink仿真圖如下:</p><p> 圖6 Simulink仿真圖</p><p> 經(jīng)仿真后,當(dāng)β=0.02時(shí)的仿真圖如下所示:
33、</p><p> 圖7 β=0.02時(shí)的仿真圖</p><p> 當(dāng)β=0.05時(shí)的仿真圖如下所示:</p><p> 圖8 β=0.05時(shí)的仿真圖</p><p> 當(dāng)β=1.0時(shí)的仿真圖如下所示:</p><p> 圖9 β=1.0時(shí)的仿真圖</p><p> 由以上可得,當(dāng)β
34、值過(guò)大時(shí),達(dá)不到積分分離的目的,若β值過(guò)小,則一旦被控量無(wú)法跳出各積分分離區(qū),只進(jìn)行PD控制,將會(huì)出現(xiàn)殘差。</p><p><b> 6 心得與體會(huì)</b></p><p> 通過(guò)本次設(shè)計(jì),我了解了微機(jī)控制中PID積分分離法的基本概念及其對(duì)系統(tǒng)設(shè)計(jì)的相關(guān)應(yīng)用,通過(guò)對(duì)初步知識(shí)的了解,對(duì)系統(tǒng)各種方案的比較,進(jìn)一步了解了微機(jī)控制系統(tǒng)的合理性和實(shí)用性。什么樣的課程設(shè)計(jì)都
35、離不開(kāi)理論與實(shí)際相結(jié)合的真理,設(shè)計(jì)過(guò)程中的方案選擇和參數(shù)設(shè)定使我進(jìn)一步深刻認(rèn)識(shí)到算法的控制對(duì)整個(gè)系統(tǒng)的重要作用。一個(gè)細(xì)小的參數(shù)設(shè)定出現(xiàn)偏差,可能導(dǎo)致最后的性能指標(biāo)不和標(biāo)準(zhǔn)。所以選擇一個(gè)優(yōu)良的方案結(jié)于實(shí)驗(yàn)至關(guān)重要。</p><p> 我認(rèn)為,在設(shè)計(jì)時(shí)應(yīng)該怎樣少走一些彎路,怎樣能夠非常透徹的理解系統(tǒng)并用簡(jiǎn)單方法設(shè)計(jì)一個(gè)微機(jī)控制系統(tǒng),我想這是這次課程設(shè)計(jì)最鍛煉人的地方。然而這也要求我們有相當(dāng)厚實(shí)的理論基礎(chǔ),并能很好地
36、運(yùn)用到實(shí)際中去。這是我們學(xué)習(xí)和掌握好自控原理最重要的。我們運(yùn)用Matlab軟件進(jìn)行系統(tǒng)仿真驗(yàn)證,這不僅對(duì)我們?cè)O(shè)計(jì)帶來(lái)了方便,也能很準(zhǔn)確地為我們改動(dòng)參數(shù)提供依據(jù),同時(shí)也讓我們對(duì)Matlab軟件進(jìn)行了又一步的學(xué)習(xí),也為我們?cè)俅问炀氝\(yùn)用Matlab打下了基礎(chǔ)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]李建忠.單片機(jī)原理及應(yīng)用.西安:西安電子科
37、技大學(xué)出版社,2001.</p><p> [2]潘新民.王燕芳.微型計(jì)算機(jī)控制技術(shù).北京:高等教育出版社,2001. </p><p> [3]何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)出版社,2000.</p><p> [4]韓志軍,沈晉源,王振波.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京:機(jī)械工業(yè)出版社,2005.</p><p&g
38、t; [5]周航慈.單片機(jī)程序設(shè)計(jì)基礎(chǔ).北京:北京航空航天大學(xué)出版社,2000.</p><p><b> 附錄1芯片資料</b></p><p><b> ADC0809芯片</b></p><p> 圖 ADC0809芯片</p><p> ADC0809各腳功能如下:D7-D0:8
39、位數(shù)字量輸出引腳。IN0-IN7:8位模擬量輸入引腳。VCC:+5V工作電壓。GND:地。REF(+):參考電壓正端。REF(-):參考電壓負(fù)端。START:A/D轉(zhuǎn)換啟動(dòng)信號(hào)輸入端。ALE:地址鎖存允許信號(hào)輸入端。(以上兩種信號(hào)用于啟動(dòng)A/D轉(zhuǎn)換).EOC:轉(zhuǎn)換結(jié)束信號(hào)輸出引腳,開(kāi)始轉(zhuǎn)換時(shí)為低電平,當(dāng)轉(zhuǎn)換結(jié)束時(shí)為高電平。OE:輸出允許控制端,用以打開(kāi)三態(tài)數(shù)據(jù)輸出鎖存器。CLK:時(shí)鐘信號(hào)輸入端(一般為500KHz)
40、。A、B、C:地址輸入線。</p><p> DAC0832芯片:</p><p> 圖 DAC0832芯片</p><p> DAC0832芯片為20引腳,雙列直插式封裝。其引腳排列如圖6所示。</p><p> ?。?)數(shù)字量輸入線D7~D0(8條) </p><p> ?。?)控制線(5條) </p
41、><p> ?。?)輸出線(3條) </p><p> ?。?)電源線(4條)</p><p> DAC0832的技術(shù)指標(biāo)</p><p> ?。?)分辨率:8位</p><p> ?。?)電流建立時(shí)間:1µS</p><p> ?。?)線性度(在整個(gè)溫度范圍內(nèi))8、9或10位<
42、;/p><p> ?。?)增益溫度系數(shù):0.0002% FS/℃</p><p> (5)低功耗:20mW</p><p> ?。?)單一電源:+5 ~ +15V</p><p><b> 附錄2 程序清單</b></p><p> 積分分離PID控制算法子程序:</p>&
43、lt;p> START:MOV 68H,KP ;分別將KP ,TI ,TD, T,β送入指定的存儲(chǔ)單元</p><p> MOV 54H,TI</p><p> MOV 55H,TD</p><p><b> MOV 56H,T</b></p><p><b> MOV
44、 57H,β</b></p><p> MOV A,68H ;計(jì)算KI=KP*T/TI</p><p><b> MOV B,56H</b></p><p><b> MUL AB</b></p><p><b> MOV B,54H<
45、/b></p><p><b> DIV AB</b></p><p><b> MOV 69H,A</b></p><p> MOV A,68H ;計(jì)算KD=KP*TD/T</p><p><b> MOV B,55H</b><
46、/p><p><b> MUL AB</b></p><p><b> MOV B,56H</b></p><p><b> DIV AB</b></p><p><b> MOV 6AH,A</b></p><p> LOO
47、P0: MOV DPTR #7FF0H ;讀取預(yù)定溫度值,送ADC0809的IN0口地址</p><p> MOV @DPTR,A ;啟動(dòng)A/D轉(zhuǎn)換</p><p> LOOP1 JB P3.3,LOOP1 ;等待轉(zhuǎn)換數(shù)據(jù)</p><p> MOVX A,@DPTR ;讀取ADC0809的
48、IN0口轉(zhuǎn)換后的數(shù)據(jù)</p><p> MOV 5CH,A ;將預(yù)定值數(shù)據(jù)放入指定的存儲(chǔ)單元</p><p> MOV DPTR,#7FF1H ;讀取采樣溫度值,送ADC0809的IN1口地址</p><p> MOVX @DPTR,A ;啟動(dòng)A/D轉(zhuǎn)換</p><p> LOO
49、P2: JB P3.3,LOOP2 ;等待轉(zhuǎn)換數(shù)據(jù)</p><p> MOVX A,@DPTR ;讀取ADC0809的IN1口轉(zhuǎn)換后的數(shù)據(jù)</p><p> MOV 49H,A ;將采樣值數(shù)據(jù)放入指定的存儲(chǔ)單元</p><p> MOV A,5CH ;計(jì)算ei,先取溫度
50、給定值</p><p><b> CLR C</b></p><p> SUBB A,50H ;溫度給定值-采樣值</p><p> JNC AA0 ;判斷ei的正負(fù),如果為正,跳至AA0</p><p> CPL A
51、 ;ei為負(fù),下兩條指令求補(bǔ)</p><p> ADD A,#01H</p><p> AA0: MOV R0,57H</p><p> SUBB A,57H ;|ei|-β</p><p> JNC AA1 ;|ei|>β跳至AA1</p><
52、p> SJMP AA2 ;|ei|<β跳至AA2</p><p> AA1: LCALL PD ;調(diào)用PD算法</p><p> AA2: LCALL PID ;調(diào)用PID算法</p><p> MOV A,7CH
53、 ;將△Ui通過(guò)DAC0832輸出</p><p> MOV DPTR,#7FF2H</p><p> MOVX @DPTR,A</p><p><b> INC DPTR</b></p><p> MOVX @DPTR,A</p><p> LCALL DELAY
54、 ;調(diào)用延時(shí)子程序,等待下一次采樣計(jì)算</p><p> SJMP LOOP0 ;進(jìn)入下一次控制計(jì)算</p><p> DELAY PROC NEAR</p><p> DL0: MOV R6,#FFH</p><p> DL1: MOV R7,#FFH</p><p>
55、DL2: MOV R5,#FFH</p><p> DLS: DJNZ R5,DLS</p><p> DJNZ R7,DL2</p><p> DJNZ R6 DL1</p><p><b> RET</b></p><p> DELAY ENDP</p><p
56、> PID PROC NEAR</p><p> PID:MOV A,5CH ;計(jì)算ei,先取溫度給定值</p><p><b> CLR C</b></p><p> SUBB A,50H ;溫度給定值-溫度檢測(cè)值</p><p&
57、gt; JNC PID1 ;判斷ei正負(fù),如果為正,跳至PID1</p><p> CPL A ;ei為負(fù),下兩條指令求補(bǔ)</p><p> ADD A,#01H</p><p> SETB 30H ;ei為負(fù),符號(hào)
58、位置1</p><p><b> SJMP PID2</b></p><p> PID1:CLR 30H ;ei為正,符號(hào)位置0</p><p> PID2:MOV 6BH,A ;ei值存放在6BH單位元中</p><p> M
59、OV R1,6BH ;計(jì)算ei-ei-1,先將ei值,送R1</p><p> MOV C,30H ;將ei的符號(hào)位值送20H位</p><p><b> MOV 20H,C</b></p><p> MOV R2,6CH
60、 ;將ei-1值送R2</p><p> MOV C,31H ;將 ei-1的符號(hào)位值送21H位</p><p><b> MOV 21H,C</b></p><p> LCALL DJF ;調(diào)用單字節(jié)帶符號(hào)的減法子程序</p>&l
61、t;p> MOV 6EH,R3 ;將差值ei-ei-1送6EH單元</p><p> MOV C,22H ;將差值ei-ei-1的符號(hào)位送33H位</p><p><b> MOV 33H,C</b></p><p> MOV R1,6CH
62、 ;計(jì)算ei-1-ei-2,先將ei-1值送R1</p><p> MOV C,31H ;將ei-1符號(hào)位送20H位</p><p><b> MOV 20H,C</b></p><p> MOV R2,6DH ;將ei-2的
63、值送R2</p><p> MOV C,32H ;將 ei-2的符號(hào)位值送21H位</p><p><b> MOV 21H,C</b></p><p> LCALL DJF ;調(diào)用單字節(jié)帶符號(hào)的減法子程序</p><p>
64、MOV 6FH,R3 ;將差值ei-1-ei-2送6FH單元</p><p> MOV C,22H ;將差值ei-1-ei-2的符號(hào)位送34H位</p><p><b> MOV 34H,C</b></p><p> MOV R1,6EH
65、 ;計(jì)算(ei-ei-1)-(ei-1-ei-2),將ei-ei-1值送R1</p><p> MOV C,33H ;將ei-ei-1符號(hào)位送20H位</p><p><b> MOV 20H,C</b></p><p> MOV R2,6FH
66、 ;將ei-1-ei-2值送R2</p><p> MOV C,34H ;將ei-1-ei-2符號(hào)位送21H位</p><p><b> MOV 21H,C</b></p><p> LCALL DJF ;調(diào)用單字節(jié)帶符號(hào)的
67、減法子程序</p><p> MOV 70H,R3 ;將差值(ei-ei-1)-(ei-1-ei-2)送70H單元</p><p> MOV C,22H ;將差值(ei-ei-1)-(ei-1-ei-2)的符號(hào)位值送35H位</p><p><b> MOV 3
68、5H,C</b></p><p> MOV A,68H ;計(jì)算Kp*(ei-ei-1),將Kp值送A</p><p> MOV B,6EH ;將ei-ei-1值送B</p><p> MUL AB ;兩數(shù)
69、相乘</p><p> MOV 71H,B ;Kp*(ei-ei-1)值存71H,72H單元</p><p><b> MOV 72H.A</b></p><p> MOV A,69H ;計(jì)算KI*ei,將KI值送A</p><
70、;p> MOV B,6BH ;將ei值送B</p><p> MUL AB ;兩數(shù)相乘</p><p> MOV 73H,B ;KI*ei值存73H,74H單元</p><p><b> MOV
71、 74H,A</b></p><p> MOV A,6AH ;計(jì)算KD*[(ei-ei-1)-(ei-1-ei-2)],將KD送A</p><p> MOV B,70H ;將(ei-ei-1)-(ei-1-ei-2)值送B</p><p> MUL AB
72、 ;兩數(shù)相乘</p><p> MOV 75H,B ;KD*[(ei-ei-1)-(ei-1-ei-2)]值存75H,76H單元</p><p><b> MOV 76H,A</b></p><p> MOV R1,71H
73、 ;計(jì)算Kp*(ei-ei-1)+KI*ei,將Kp*(ei-ei-1)值送R1,R2</p><p> MOV R2,72H</p><p> MOV C,33H ;將Kp*(ei-ei-1)的符號(hào)位值送23H位</p><p><b> MOV 23H,C</b&g
74、t;</p><p> MOV R3,73H ;將KI*ei值送R3,R4</p><p> MOV R4,74H </p><p> MOV C,30H ;將KI*ei值的符號(hào)位懂24H位</p><p><b> MOV 2
75、4H,C</b></p><p> LCALL SJF ;調(diào)用雙字節(jié)帶符號(hào)加法子程序</p><p> MOV 77H,R5 ;將Kp*(ei-ei-1)+KI*ei值送77H,78H</p><p> MOV 78H,R6</p><p&
76、gt; MOV C,25H ;將Kp*(ei-ei-1)+KI*ei值的符號(hào)位送36H位</p><p><b> MOV 36H,C</b></p><p> MOV R1,77H ;計(jì)算△Ui,將將Kp*(ei-ei-1)+KI*ei值送R1,R2</p><
77、;p> MOV R2,78H </p><p> MOV C,36H ;將Kp*(ei-ei-1)+KI*ei值的符號(hào)位送23H位</p><p><b> MOV 23H,C</b></p><p> MOV R3,75H ;將KD*[(ei-ei
78、-1)-(ei-1-ei-2)]的值送R3,R4</p><p> MOV R4,76H</p><p> MOV C,35H ;將KD*[(ei-ei-1)-(ei-1-ei-2)]的符號(hào)位送23H位</p><p><b> MOV 24H,C</b></p><p>
79、 LCALL SJF ;調(diào)用雙字節(jié)帶符號(hào)加法子程序</p><p> MOV 79H,R5 ;將△Ui值送79H,7AH</p><p> MOV 7AH,R6</p><p> MOV C,25H ;將△Ui值的符號(hào)位送37H<
80、;/p><p><b> MOV 37H,C</b></p><p> MOV R1,7DH ;計(jì)算Ui,將Ui-1值送R1,R2</p><p> MOV R2,7EH</p><p> CLR 23H ;Ui-1值的符號(hào)位值恒
81、為0</p><p> MOV R3,79H ;將△Ui值送R3,R4</p><p> MOV R4,7AH</p><p> MOV C,37H ;將△Ui值的符號(hào)位送24H</p><p><b> MOV 24H,C</b&g
82、t;</p><p> LCALL SJF ;調(diào)用雙字節(jié)帶符號(hào)加法子程序</p><p> JNB 25H,PID3 ;判斷計(jì)算結(jié)果是否為負(fù)</p><p> MOV 7BH,#00H ;如果是負(fù)數(shù),則輸出電壓為0</p>&
83、lt;p> MOV 7CH,#00H</p><p><b> SJMP PID4</b></p><p> PID3:MOV 7BH,R5 ;否則,將計(jì)算得到的Ui值置7BH,7CH</p><p> MOV 7CH,R6</p><p> PID4:MOV 6DH
84、,6CH ;數(shù)據(jù)迭代,ei-1值送ei-2存儲(chǔ)單元</p><p> MOV 6CH,6BH ;ei值送ei-1存儲(chǔ)單元</p><p> MOV 7DH,7BH ;Ui值送Ui-1存儲(chǔ)單元</p><p> MOV 7EH,7CH</p>
85、;<p><b> RET</b></p><p><b> PID ENDP</b></p><p> PD PROC NEAR</p><p> PD:MOV A,5CH ;計(jì)算ei,先取溫度給定值</p><p><b&g
86、t; CLR C</b></p><p> SUBB A,50H ;溫度給定值-溫度檢測(cè)值</p><p> JNC PD1 ;判斷ei正負(fù),如果為正,跳至PID1</p><p> CPL A ;ei為
87、負(fù),下兩條指令求補(bǔ)</p><p> ADD A,#01H</p><p> SETB 30H ;ei為負(fù),符號(hào)位置1</p><p><b> SJMP PD2</b></p><p> PD1:CLR 30H ;ei
88、為正,符號(hào)位置0</p><p> PD2:MOV 6BH,A ;ei值存放在6BH單位元中</p><p> MOV R1,6BH ;計(jì)算ei-ei-1,先將ei值,送R1</p><p> MOV C,30H ;將ei的符號(hào)位值送20
89、H位</p><p> MOV 20H,C;</p><p> MOV R2,6CH ;將ei-1值送R2</p><p> MOV C,31H ;將 ei-1的符號(hào)位值送21H位</p><p><b> MOV 21H,C</b&g
90、t;</p><p> LCALL DJF ;調(diào)用單字節(jié)帶符號(hào)的減法子程序</p><p> MOV 6EH,R3 ;將差值ei-ei-1送6EH單元</p><p> MOV C,22H ;將差值ei-ei-1的符號(hào)位送33H位&
91、lt;/p><p><b> MOV 33H,C</b></p><p> MOV R1,6CH ;計(jì)算ei-1-ei-2,先將ei-1值送R1</p><p> MOV C,31H ;將ei-1符號(hào)位送20H位</p><p><
92、;b> MOV 20H,C</b></p><p> MOV R2,6DH ;將ei-2的值送R2</p><p> MOV C,32H ;將 ei-2的符號(hào)位值送21H位</p><p><b> MOV 21H,C</b><
93、;/p><p> LCALL DJF ;調(diào)用單字節(jié)帶符號(hào)的減法子程序</p><p> MOV 6FH,R3 ;將差值ei-1-ei-2送6FH單元</p><p> MOV C,22H ;將差值ei-1-ei-2的符號(hào)位送34H
94、位</p><p><b> MOV 34H,C</b></p><p> MOV R1,6EH ;計(jì)算(ei-ei-1)-(ei-1-ei-2),將ei-ei-1值送R1</p><p> MOV C,33H ;將ei-ei-1符號(hào)位送20H位<
95、;/p><p><b> MOV 20H,C</b></p><p> MOV R2,6FH ;將ei-1-ei-2值送R2</p><p> MOV C,34H ;將ei-1-ei-2符號(hào)位送21H位</p><p><b
96、> MOV 21H,C</b></p><p> LCALL DJF ;調(diào)用單字節(jié)帶符號(hào)的減法子程序</p><p> MOV 70H,R3 ;將差值(ei-ei-1)-(ei-1-ei-2)送70H單元</p><p> MOV C,22H
97、 ;將差值(ei-ei-1)-(ei-1-ei-2)的符號(hào)位值送35H位</p><p><b> MOV 35H,C</b></p><p> MOV A,68H ;計(jì)算Kp*(ei-ei-1),將Kp值送A</p><p> MOV B,6EH
98、 ;將ei-ei-1值送B</p><p> MUL AB ;兩數(shù)相乘</p><p> MOV 71H,B ;Kp*(ei-ei-1)值存71H,72H單元</p><p><b> MOV 72H.A</b></p>
99、<p> MOV A,6AH ;計(jì)算KD*[(ei-ei-1)-(ei-1-ei-2)],將KD送A</p><p> MOV B,70H ;將(ei-ei-1)-(ei-1-ei-2)值送B</p><p> MUL AB ;兩數(shù)相乘</p>
100、;<p> MOV 75H,B ;KD*[(ei-ei-1)-(ei-1-ei-2)]值存75H,76H單元</p><p><b> MOV 76H,A</b></p><p> MOV R1,71H ;計(jì)算Kp*(ei-ei-1)+KI*ei,將Kp*(ei-ei-1)
101、值送R1,R2</p><p> MOV R2,72H</p><p> MOV C,33H ;將Kp*(ei-ei-1)的符號(hào)位值送23H位</p><p><b> MOV 23H,C</b></p><p> MOV R3,75H
102、 ;將KD*[(ei-ei-1)-(ei-1-ei-2)]值送R3,R4</p><p> MOV R4,76H </p><p> MOV C,35H ;將KD*[(ei-ei-1)-(ei-1-ei-2)]值的符號(hào)位送24H位</p><p><b> MOV 24H,C</b></p&
103、gt;<p> LCALL SJF ;調(diào)用雙字節(jié)帶符號(hào)加法子程序</p><p> MOV 79H,R5 ;將△Ui值送79H,7AH</p><p> MOV 7AH,R6</p><p> MOV C,25H ;
104、將△Ui值的符號(hào)位送37H</p><p><b> MOV 37H,C</b></p><p> MOV R1,7DH ;計(jì)算Ui,將Ui-1值送R1,R2</p><p> MOV R2,7EH</p><p> CLR 23H
105、 ;Ui-1值的符號(hào)位值恒為0</p><p> MOV R3,79H ;將△Ui值送R3,R4</p><p> MOV R4,7AH</p><p> MOV C,37H ;將△Ui值的符號(hào)位送24H</p><p><b>
106、; MOV 24H,C</b></p><p> LCALL SJF ;調(diào)用雙字節(jié)帶符號(hào)加法子程序</p><p> JNB 25H,PD3 ;判斷計(jì)算結(jié)果是否為負(fù)</p><p> MOV 7BH,#00H ;如果是
107、負(fù)數(shù),則輸出電壓為0</p><p> MOV 7CH,#00H</p><p><b> SJMP PID4</b></p><p> PD3:MOV 7BH,R5 ;否則,將計(jì)算得到的Ui值置7BH,7CH</p><p> MOV 7CH,R6</p>
108、<p> PD4:MOV 6DH,6CH ;數(shù)據(jù)迭代,ei-1值送ei-2存儲(chǔ)單元</p><p> MOV 6CH,6BH ;ei值送ei-1存儲(chǔ)單元</p><p> MOV 7DH,7BH ;Ui值送Ui-1存儲(chǔ)單元</p><p&g
109、t; MOV 7EH,7CH</p><p><b> RET</b></p><p><b> PD ENDP</b></p><p> 本科生課程設(shè)計(jì)成績(jī)?cè)u(píng)定表</p><p> 指導(dǎo)教師簽字: </p><p> 2009年
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)---溫度控制系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)---溫度控制系統(tǒng)設(shè)計(jì)
- 溫度控制系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)
- 微機(jī)課程設(shè)計(jì)---溫度控制系統(tǒng)
- 溫度顯示控制系統(tǒng)課程設(shè)計(jì)
- 溫度顯示控制系統(tǒng)課程設(shè)計(jì)
- 溫度控制系統(tǒng)課程設(shè)計(jì)--儲(chǔ)液罐溫度控制系統(tǒng)
- plc課程設(shè)計(jì)----爐窯溫度控制系統(tǒng)設(shè)計(jì)
- 【課程設(shè)計(jì)】烤箱溫度控制系統(tǒng)進(jìn)行設(shè)計(jì)
- 溫度顯示控制系統(tǒng)課程設(shè)計(jì).doc
- 建筑智能溫度控制系統(tǒng)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--溫度控制系統(tǒng)設(shè)計(jì)
- 單片機(jī)溫度控制系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)-鍋爐過(guò)熱蒸汽溫度控制系統(tǒng)
- 課程設(shè)計(jì)--單片機(jī)溫度控制系統(tǒng)
- 計(jì)算機(jī)溫度控制系統(tǒng)課程設(shè)計(jì)
- 微機(jī)控制課程設(shè)計(jì)--電阻爐溫度控制系統(tǒng)設(shè)計(jì)
- 計(jì)算機(jī)溫度控制系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)----電阻爐溫度控制系統(tǒng)
- 課程設(shè)計(jì)---鍋爐過(guò)熱蒸汽溫度控制系統(tǒng)
評(píng)論
0/150
提交評(píng)論