

版權(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ì)</b></p><p><b> 課程設(shè)計(jì)任務(wù)書(shū)</b></p><p> 題 目: 溫度控制系統(tǒng)設(shè)計(jì) </p><p> 要求完成的主要任務(wù): 被控對(duì)象為電爐,采用熱阻絲加熱,利用大功率可控硅控制器控制熱阻絲兩端所加的電壓大小,來(lái)改變流經(jīng)熱阻絲的電流,從而改變
2、電爐爐內(nèi)的溫度。可控硅控制器輸入為0-5伏時(shí)對(duì)應(yīng)電爐溫度0-300℃,溫度傳感器測(cè)量值對(duì)應(yīng)也為0-5伏,對(duì)象的特性為二階慣性系統(tǒng),慣性時(shí)間常數(shù)為T(mén)1=20秒,滯后時(shí)間常數(shù)為τ=10秒。</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>
3、 3)通過(guò)數(shù)據(jù)分析Ti改變時(shí)對(duì)系統(tǒng)超調(diào)量的影響。</p><p> 4)撰寫(xiě)設(shè)計(jì)說(shuō)明書(shū)。</p><p><b> 時(shí)間安排:</b></p><p> 6月9日 查閱和準(zhǔn)備相關(guān)技術(shù)資料,完成整體方案設(shè)計(jì)</p><p> 6月10日—6月12日完成硬件設(shè)計(jì)</p><p> 6月1
4、3日—6月15日編寫(xiě)調(diào)試程序</p><p> 6月16日—6月17日撰寫(xiě)課程設(shè)計(jì)說(shuō)明書(shū)</p><p> 6月18日 提交課程設(shè)計(jì)說(shuō)明書(shū)、圖紙、電子文檔</p><p> 指導(dǎo)教師簽名: 年 月 日</p><p> 系主任(或責(zé)任教師)簽名:
5、 年 月 日</p><p><b> 摘要</b></p><p> 本次課程設(shè)計(jì)我設(shè)計(jì)的題目是溫度控制系統(tǒng)。通過(guò)專業(yè)課程的學(xué)習(xí),我將引入計(jì)算機(jī),單片機(jī),傳感器,以及PID算法來(lái)實(shí)現(xiàn)電爐溫度的自動(dòng)控制,完成課程設(shè)計(jì)的任務(wù)。計(jì)算機(jī)的自動(dòng)控制是機(jī)器和儀表的發(fā)展趨勢(shì),它不僅解放了勞動(dòng)力,也比以往的人為監(jiān)控更準(zhǔn)確,更及時(shí)。一旦溫度發(fā)生變化,計(jì)算機(jī)
6、監(jiān)控系統(tǒng)可以立即檢測(cè)到并通過(guò)模擬量數(shù)字通道傳送到計(jì)算機(jī)。計(jì)算機(jī)接收到信號(hào)后通過(guò)與給定值進(jìn)行比較后,計(jì)算出偏差,再通過(guò)PID控制算法給出下一步將要執(zhí)行的指令。最后通過(guò)模擬量輸出通道將指令傳送到生產(chǎn)過(guò)程,實(shí)現(xiàn)機(jī)器儀表的智能控制。</p><p> 本次課程設(shè)計(jì)用到了MATLAB這一軟件,通過(guò)編寫(xiě)程序,將被控系統(tǒng)離散化。再通過(guò)MATLAB中的simulink仿真功能,可以看到隨著Ki,Kp,Kd改變波形發(fā)生的改變,從
7、而可以通過(guò)波形直觀地看出PID參數(shù)對(duì)系統(tǒng)動(dòng)態(tài)性能的影響。</p><p> 關(guān)鍵字:溫度控制 A/D轉(zhuǎn)換 D/A轉(zhuǎn)換 Simulink仿真</p><p><b> 目錄</b></p><p> 1.設(shè)計(jì)任務(wù)及分析1</p><p><b> 2.方案設(shè)計(jì)2</b>&l
8、t;/p><p> 3.系統(tǒng)硬件設(shè)計(jì)3</p><p> 3.1 系統(tǒng)硬件結(jié)構(gòu)3</p><p> 3.2系統(tǒng)硬件的選擇3</p><p> 3.3 系統(tǒng)硬件連接圖4</p><p> 4 系統(tǒng)軟件設(shè)計(jì)6</p><p> 4.1 確定程序流程6</p><
9、;p> 4.2 程序控制算法介紹8</p><p> 4.3 PID控制算法10</p><p><b> 5系統(tǒng)仿真11</b></p><p> 5.1 仿真程序及圖形設(shè)計(jì)11</p><p><b> 心得體會(huì)13</b></p><p>&
10、lt;b> 參考文獻(xiàn)14</b></p><p> 附錄1芯片資料15</p><p> 附錄2 程序清單17</p><p> 本科生課程設(shè)計(jì)成績(jī)?cè)u(píng)定表27</p><p><b> 溫度控制系統(tǒng)設(shè)計(jì)</b></p><p><b> 1.設(shè)計(jì)任務(wù)
11、及分析</b></p><p> 被控對(duì)象為電爐,采用熱阻絲加熱,利用大功率可控硅控制器控制熱阻絲兩端所加的電壓大小,來(lái)改變流經(jīng)熱阻絲的電流,從而改變電爐爐內(nèi)的溫度??煽毓杩刂破鬏斎霝?-5伏時(shí)對(duì)應(yīng)電爐溫度0-300℃,溫度傳感器測(cè)量值對(duì)應(yīng)也為0-5伏,對(duì)象的特性為二階慣性系統(tǒng),慣性時(shí)間常數(shù)為T(mén)1=20秒,滯后時(shí)間常數(shù)為τ=10秒。</p><p> 1)設(shè)計(jì)溫度控制系統(tǒng)的
12、計(jì)算機(jī)硬件系統(tǒng),畫(huà)出框圖;</p><p> 2)編寫(xiě)積分分離PID算法程序,從鍵盤(pán)接受Kp、Ti、Td、T及β的值;</p><p> 3)通過(guò)數(shù)據(jù)分析Ti改變時(shí)對(duì)系統(tǒng)超調(diào)量的影響。</p><p> 4)撰寫(xiě)設(shè)計(jì)說(shuō)明書(shū)。</p><p> 本次設(shè)計(jì)是對(duì)電爐的溫度控制,而電爐的溫度是通過(guò)放在其中的熱阻絲來(lái)控制的,而熱阻絲的電流由可控
13、硅控制器控制熱阻絲兩端所加電壓來(lái)控制。對(duì)電爐溫度的控制是個(gè)動(dòng)態(tài)的過(guò)程,不可能一下子就達(dá)到我們想要的溫度,需要用到一些儀器比如熱電偶來(lái)測(cè)量電路的溫度,通過(guò)傳感器將爐溫轉(zhuǎn)換成電壓信號(hào),送入A/D轉(zhuǎn)換器,通過(guò)采樣和模數(shù)轉(zhuǎn)換,所檢測(cè)到的電壓信號(hào)和爐溫給定值的電壓信號(hào)送入計(jì)算機(jī)程序中作比較,得出給定值與實(shí)際值之間的偏差,單片機(jī)對(duì)偏差進(jìn)行運(yùn)算,將運(yùn)算結(jié)果送給晶閘管調(diào)壓器來(lái)調(diào)節(jié)熱阻絲的電流,以此來(lái)調(diào)節(jié)電電爐的溫度。</p><p&
14、gt;<b> 2.方案設(shè)計(jì)</b></p><p> 電爐的溫度控制是個(gè)動(dòng)態(tài)的控制過(guò)程,需要借助計(jì)算機(jī),單片機(jī)等很多器件的硬件連接來(lái)實(shí)現(xiàn)。而電爐溫度的直接控制是通過(guò)熱阻絲的加熱來(lái)實(shí)現(xiàn)的,熱阻絲的加熱是由流經(jīng)熱阻絲的電流來(lái)控制的,而熱阻絲的電流是通過(guò)可控硅控制器控制熱阻絲兩端所加電壓來(lái)控制,電壓的調(diào)節(jié)是通過(guò)可控制硅控制。需要用到熱電偶時(shí)刻監(jiān)測(cè)電爐的溫度,通過(guò)傳感器將溫度信號(hào)轉(zhuǎn)化為電壓信號(hào)
15、,而電壓信號(hào)通過(guò)模數(shù)轉(zhuǎn)換送入到計(jì)算機(jī)進(jìn)行控制,計(jì)算機(jī)將轉(zhuǎn)換結(jié)果送到晶閘管來(lái)控制加到熱阻絲兩端的電壓,這樣達(dá)到調(diào)節(jié)電爐溫度的目的。</p><p> 圖2-1 溫度控制系統(tǒng)框圖</p><p><b> 3.系統(tǒng)硬件設(shè)計(jì)</b></p><p> 爐溫信號(hào)T通過(guò)溫度檢測(cè)及變送,變成電信號(hào),與溫度設(shè)定值進(jìn)行比較,計(jì)算溫度偏差e和溫度的變化率d
16、e/dt,再由智能控制算法進(jìn)行推理,并得控制量u,可控硅輸出部分根據(jù)調(diào)節(jié)電加熱爐的輸出功率,即改變可控硅管的接通時(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
17、的電壓表連接到可變電阻上,測(cè)量其電壓,再將其表盤(pán)改裝為溫度表盤(pán),即將原來(lái)的0-5V的刻度均勻分為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
18、> 微型計(jì)算機(jī)的選擇:選擇8051單片機(jī)構(gòu)成爐溫控制系統(tǒng)。它具有8位CPU,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ù)
19、據(jù)存儲(chǔ)器。 </p><p> 熱電偶的選擇:本設(shè)計(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輸出,輸出量控制可控硅控制器,從而改變電阻
20、絲兩端的電壓,使?fàn)t溫得到控制。</p><p> 3.3 系統(tǒng)硬件連接圖</p><p> 綜合以上分析,可以得出系統(tǒng)的硬件連接圖如圖3-1所示:</p><p> 圖3-1 系統(tǒng)硬件連接圖</p><p><b> 4 系統(tǒng)軟件設(shè)計(jì)</b></p><p> 4.1 確定程序流程<
21、;/p><p> 在微分控制中,控制器的輸出與輸入誤差信號(hào)的微分(即誤差的變化率)成正比關(guān)系。 自動(dòng)控制系統(tǒng)在克服誤差的調(diào)節(jié)過(guò)程中可能會(huì)出現(xiàn)振蕩甚至失穩(wěn)。其原因是由于存在有較大慣性組件(環(huán)節(jié))或有滯后組件,具有抑制誤差的作用,其變化總是落后于誤差的變化。解決的辦法是使抑制誤差的作用的變化“超前”,即在誤差接近零時(shí),抑制誤差的作用就應(yīng)該是零。這就是說(shuō),在控制器中僅引入“比例”項(xiàng)往往是不夠的,比例項(xiàng)的作用僅是放大誤差的
22、幅值,而目前需要增加的是“微分項(xiàng)”,它能預(yù)測(cè)誤差變化的趨勢(shì),這樣,具有比例+微分的控制器,就能夠提前使抑制誤差的控制作用等于零,甚至為負(fù)值,從而避免了被控量的嚴(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)生較
23、大的超調(diào)和長(zhǎng)時(shí)間的波動(dòng)。特別對(duì)于溫度等變化緩慢的過(guò)程,這一現(xiàn)象更為嚴(yán)重,為此,可采用積分分離措施,即偏差較大時(shí),取消積分作用;當(dāng)偏差較小時(shí)才將積分作用投入。亦即</p><p> 當(dāng)時(shí),采用PD控制;</p><p> 當(dāng)時(shí),采用PID控制。</p><p> 積分分離閾值應(yīng)根據(jù)具體對(duì)象及控制要求。若值過(guò)大時(shí),則達(dá)不到積分分離的目的;若值過(guò)小,則一旦被控量無(wú)法
24、跳出個(gè)積分分離區(qū),只進(jìn)行PD控制,將會(huì)出現(xiàn)殘差,為了實(shí)現(xiàn)積分分離,編寫(xiě)程序時(shí)必須從數(shù)字PID差分方程式中分離出積分項(xiàng),進(jìn)行特殊處理。</p><p> 根據(jù)設(shè)計(jì)要求及所選硬件,程序流程如圖4-1所示:</p><p> 圖4-1 程序主流程圖</p><p> 4.2 程序控制算法介紹</p><p> 由以上分析,本次設(shè)計(jì)采用的是積
25、分分離PID控制算法,PID調(diào)節(jié)時(shí)連續(xù)系統(tǒng)中技術(shù)中最成熟的,應(yīng)用廣泛的一種調(diào)節(jié)控制方式。在模擬控制系統(tǒng)中,</p><p> PID算法的表達(dá)為: </p><p> u:調(diào)節(jié)器的輸出信號(hào);</p><p><b> e:偏差信號(hào);</b></p><p> K:調(diào)節(jié)器的比例系數(shù);</p><
26、p> TI:調(diào)節(jié)器的積分時(shí)間;</p><p> TD:調(diào)節(jié)器的微分時(shí)間。</p><p> 在計(jì)算機(jī)控制中,為實(shí)現(xiàn)數(shù)字控制,必須對(duì)式上式進(jìn)行離散化處理。用數(shù)字形式的差分方程代替連續(xù)系統(tǒng)的微分方程。設(shè)系統(tǒng)的采樣周期為T(mén),在t=kT時(shí)刻進(jìn)行采樣,</p><p> 式中e(k):根據(jù)本次采樣值所得到的偏差;</p><p> e
27、(k-1):由上次采樣所得到的偏差。</p><p><b> 由以上可得:</b></p><p> 式中,T為采樣時(shí)間,項(xiàng)為積分項(xiàng)的開(kāi)關(guān)系數(shù)</p><p> 積分積分分離PID控制算法程序框圖如圖4-2所示:</p><p> Y N</p><p> 圖4-2
28、 積分分離PID控制算法圖</p><p> 4.3 PID控制算法</p><p> 實(shí)際運(yùn)行的經(jīng)驗(yàn)和理論的分析都表明,運(yùn)用這種控制規(guī)律對(duì)許多工業(yè)過(guò)程控制時(shí),都能得到滿意的效果。不過(guò)用計(jì)算機(jī)實(shí)現(xiàn)PID控制,不是簡(jiǎn)單得把模擬PID控制規(guī)律數(shù)字化,而是進(jìn)一步與計(jì)算機(jī)的邏輯判斷功能結(jié)合,使PID控制更加靈活,更能滿足生產(chǎn)過(guò)程提出的要求。</p><p> PID
29、算法推倒如下:</p><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> 對(duì)應(yīng)的
30、模擬PID調(diào)節(jié)器的傳遞函數(shù) </p><p> 其中為比例增益,與比例帶成倒數(shù)關(guān)系即=1/,TI為積分時(shí)間常數(shù),TD為微分時(shí)間常數(shù),u(t)為控制量,e(t)為偏差。</p><p> 在計(jì)算機(jī)控制中,為實(shí)現(xiàn)數(shù)字控制,必須對(duì)式上式進(jìn)行離散化處理。用數(shù)字形式的差分方程代替連續(xù)系統(tǒng)的微分方程。設(shè)系統(tǒng)的采樣周期為T(mén),在t=kT時(shí)刻進(jìn)行采樣,</p><p> 式中
31、e(k):根據(jù)本次采樣值所得到的偏差;</p><p> e(k-1):由上次采樣所得到的偏差。</p><p><b> T為采樣周期</b></p><p><b> K為采樣序號(hào)</b></p><p><b> 由以上可得:</b></p><
32、;p> 式中,T為采樣時(shí)間,項(xiàng)為積分項(xiàng)的開(kāi)關(guān)系數(shù)</p><p><b> 5系統(tǒng)仿真</b></p><p> 5.1 仿真程序及圖形設(shè)計(jì)</p><p><b> 被控對(duì)象為:</b></p><p><b> G(S)= </b></p>&
33、lt;p> 采用simulink仿真,通過(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;
34、 %采樣時(shí)間2s</p><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
35、> kp=10;</b></p><p><b> ki=0.25;</b></p><p><b> kd=5;</b></p><p> Simulink仿真圖如圖5-1所示:</p><p> 圖5-1 simulink仿真圖</p><p>
36、;<b> 心得體會(huì)</b></p><p> 本次計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)我的題目是電爐溫度控制系統(tǒng)。</p><p> 通過(guò)本學(xué)期專業(yè)課程的學(xué)習(xí),我打算通過(guò)傳感器,單片機(jī),計(jì)算機(jī)來(lái)實(shí)現(xiàn)爐溫的自動(dòng)控制系統(tǒng)。最后通過(guò)simulink仿真波形,觀察PID參數(shù)變化對(duì)系統(tǒng)結(jié)果的影響,從而對(duì)計(jì)算機(jī)控在技術(shù)中的PID控制有更深刻的理解和認(rèn)識(shí)。</p><
37、p> 拿到題目后,首先我綱舉目張地初步將我的整個(gè)報(bào)告完成過(guò)程分為了六個(gè)步驟:分析題目要求,列出報(bào)告提綱,查找資料,設(shè)計(jì)硬件和軟件,進(jìn)行Matlab仿真,撰寫(xiě)課程設(shè)計(jì)說(shuō)明書(shū)。</p><p> 通過(guò)計(jì)算機(jī)控制技術(shù)這門(mén)專業(yè)課的學(xué)習(xí),已經(jīng)對(duì)整個(gè)控制系統(tǒng)的組成和原理有了初步認(rèn)識(shí),所以題目理解起來(lái)并不困難,主要就是用到了A/D和D/A轉(zhuǎn)換,以及單片機(jī)編程實(shí)現(xiàn)。</p><p> 接下來(lái)就
38、是查閱資料和列提綱了,這兩步基本是同時(shí)進(jìn)行。緊接著就是根據(jù)手頭上已有的課本和網(wǎng)絡(luò)上找到的資源進(jìn)行軟硬件設(shè)計(jì),在理解了課本上的知識(shí)后,設(shè)計(jì)起來(lái)也并不復(fù)雜。整個(gè)爐溫控制系統(tǒng)大致工作流程是這樣的:采集當(dāng)前溫度數(shù)據(jù)進(jìn)行A/D轉(zhuǎn)換后送至計(jì)算機(jī)系統(tǒng),與給定標(biāo)準(zhǔn)溫度進(jìn)行偏差計(jì)算,通過(guò)控制算法給出下一步執(zhí)行決策,并通過(guò)D/A轉(zhuǎn)換器送出至控制系統(tǒng),控制系統(tǒng)根據(jù)指令進(jìn)行人為或自動(dòng)控制處理,這樣整個(gè)控制流程就比較清晰了。</p><p&g
39、t; 下一步是進(jìn)行simulink仿真。不得不說(shuō)對(duì)simulink的學(xué)習(xí)仍需加強(qiáng),對(duì)整個(gè)軟件不是很了解的情況下就去做仿真的結(jié)果就是浪費(fèi)大量時(shí)間做無(wú)用功,而且還得不出結(jié)果。</p><p> 最后是撰寫(xiě)課程設(shè)計(jì)報(bào)告。其實(shí)這個(gè)過(guò)程考驗(yàn)的是自己的細(xì)心和耐心,格式方面的修改有時(shí)候確實(shí)讓人頭疼,但一旦你這一次做到了這些,下次再寫(xiě)報(bào)告的時(shí)候就會(huì)事半功倍,為人處世也會(huì)學(xué)著更加細(xì)致謹(jǐn)慎。</p><p&g
40、t;<b> 參考文獻(xiàn)</b></p><p> [1]李建忠.單片機(jī)原理及應(yīng)用.西安:西安電子科技大學(xué)出版社,2001.</p><p> [2]潘新民.王燕芳.微型計(jì)算機(jī)控制技術(shù).北京:高等教育出版社,2001. </p><p> [3]何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)出版社,2000.</p>
41、<p> [4]韓志軍,沈晉源,王振波.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京:機(jī)械工業(yè)出版社,2005.</p><p> [5]周航慈.單片機(jī)程序設(shè)計(jì)基礎(chǔ).北京:北京航空航天大學(xué)出版社,2000.</p><p><b> 附錄1芯片資料</b></p><p><b> ADC0809芯片</b></
42、p><p> 圖 ADC0809芯片</p><p> ADC0809各腳功能如下: D7-D0:8位數(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)
43、輸出引腳,開(kāi)始轉(zhuǎn)換時(shí)為低電平,當(dāng)轉(zhuǎn)換結(jié)束時(shí)為高電平。OE:輸出允許控制端,用以打開(kāi)三態(tài)數(shù)據(jù)輸出鎖存器。CLK:時(shí)鐘信號(hào)輸入端(一般為500KHz)。A、B、C:地址輸入線。DAC0832芯片:</p><p> 圖 DAC0832芯片</p><p> DAC0832芯片為20引腳,雙列直插式封裝。其引腳排列如圖6所示。</p><p> ?。?)數(shù)字量輸
44、入線D7~D0(8條) </p><p> ?。?)控制線(5條) </p><p> ?。?)輸出線(3條) </p><p> ?。?)電源線(4條)</p><p> DAC0832的技術(shù)指標(biāo)</p><p> ?。?)分辨率:8位</p><p> ?。?)電流建立時(shí)間:1
45、1;S</p><p> (3)線性度(在整個(gè)溫度范圍內(nèi))8、9或10位</p><p> ?。?)增益溫度系數(shù):0.0002% FS/℃</p><p> ?。?)低功耗:20mW</p><p> (6)單一電源:+5 ~ +15V</p><p><b> 附錄2 程序清單</b>
46、</p><p> 積分分離PID控制算法子程序:</p><p> START:MOV 68H,KP ;分別將KP ,TI ,TD, T,β送入指定的存儲(chǔ)單元</p><p> MOV 54H,TI</p><p> MOV 55H,TD</p><p><b> MOV
47、 56H,T</b></p><p><b> MOV 57H,β</b></p><p> MOV A,68H ;計(jì)算KI=KP*T/TI</p><p><b> MOV B,56H</b></p><p><b> MUL AB<
48、/b></p><p><b> MOV B,54H</b></p><p><b> DIV AB</b></p><p><b> MOV 69H,A</b></p><p> MOV A,68H ;計(jì)算KD=KP*TD/T<
49、/p><p><b> MOV B,55H</b></p><p><b> MUL AB</b></p><p><b> MOV B,56H</b></p><p><b> DIV AB</b></p><p><b
50、> MOV 6AH,A</b></p><p> LOOP0: 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ù)</
51、p><p> MOVX A,@DPTR ;讀取ADC0809的IN0口轉(zhuǎn)換后的數(shù)據(jù)</p><p> MOV 5CH,A ;將預(yù)定值數(shù)據(jù)放入指定的存儲(chǔ)單元</p><p> MOV DPTR,#7FF1H ;讀取采樣溫度值,送ADC0809的IN1口地址</p><p> MOVX
52、@DPTR,A ;啟動(dòng)A/D轉(zhuǎn)換</p><p> LOOP2: 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ǔ)單元</
53、p><p> MOV A,5CH ;計(jì)算e(i),先取溫度給定值</p><p><b> CLR C</b></p><p> SUBB A,50H ;溫度給定值-采樣值</p><p> JNC AA0 ;判斷e(i)的正負(fù),如果
54、為正,跳至AA0</p><p> CPL A ;e(i)為負(fù),下兩條指令求補(bǔ)</p><p> ADD A,#01H</p><p> AA0: MOV R0,57H</p><p> SUBB A,57H ;|e(i)|-β</p><p&g
55、t; JNC AA1 ;|e(i)|>β跳至AA1</p><p> SJMP AA2 ;|e(i)|<β跳至AA2</p><p> AA1: LCALL PD ;調(diào)用PD算法</p><p> AA2: LCALL PID
56、 ;調(diào)用PID算法</p><p> MOV A,7CH ;將△Ui通過(guò)DAC0832輸出</p><p> MOV DPTR,#7FF2H</p><p> MOVX @DPTR,A</p><p><b> INC DPTR</b></p><
57、p> MOVX @DPTR,A</p><p> LCALL DELAY ;調(diào)用延時(shí)子程序,等待下一次采樣計(jì)算</p><p> SJMP LOOP0 ;進(jìn)入下一次控制計(jì)算</p><p> DELAY PROC NEAR</p><p> DL0: MOV R6,#FFH
58、</p><p> DL1: MOV R7,#FFH</p><p> DL2: MOV R5,#FFH</p><p> DLS: DJNZ R5,DLS</p><p> DJNZ R7,DL2</p><p> DJNZ R6 DL1</p><p><b>
59、RET</b></p><p> DELAY ENDP</p><p> PID PROC NEAR</p><p> PID:MOV A,5CH ;計(jì)算e(i),先取溫度給定值</p><p><b> CLR C</b></p><p&g
60、t; SUBB A,50H ;溫度給定值-溫度檢測(cè)值</p><p> JNC PID1 ;判斷e(i)正負(fù),如果為正,跳至PID1</p><p> CPL A ;e(i)為負(fù),下兩條指令求補(bǔ)</p><p> ADD
61、A,#01H</p><p> SETB 30H ;e(i)為負(fù),符號(hào)位置1</p><p><b> SJMP PID2</b></p><p> PID1:CLR 30H ;e(i)為正,符號(hào)位置0</p><p>
62、PID2:MOV 6BH,A ;e(i)值存放在6BH單位元中</p><p> MOV R1,6BH ;計(jì)算ei-ei-1,先將ei值,送R1</p><p> MOV C,30H ;將ei的符號(hào)位值送20H位</p><p><b&
63、gt; MOV 20H,C</b></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></p>
64、;<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位</p>&l
65、t;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><b> MOV 2
66、0H,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></p><p&
67、gt; 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位</p><
68、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位</p><p>
69、;<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> MOV 21H,C&l
70、t;/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
71、 ;將差值(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
72、 ;將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>
73、<p> MOV A,69H ;計(jì)算KI*ei,將KI值送A</p><p> MOV B,6BH ;將ei值送B</p><p> MUL AB ;兩數(shù)相乘</p><p> MOV 73H,B
74、 ;KI*ei值存73H,74H單元</p><p><b> MOV 74H,A</b></p><p> MOV A,6AH ;計(jì)算KD*[(ei-ei-1)-(ei-1-ei-2)],將KD送A</p><p> MOV B,70H
75、 ;將(ei-ei-1)-(ei-1-ei-2)值送B</p><p> MUL AB ;兩數(shù)相乘</p><p> MOV 75H,B ;KD*[(ei-ei-1)-(ei-1-ei-2)]值存75H,76H單元</p><p&g
76、t;<b> MOV 76H,A</b></p><p> MOV R1,71H ;計(jì)算Kp*(ei-ei-1)+KI*ei,將Kp*(ei-ei-1)值送R1,R2</p><p> MOV R2,72H</p><p> MOV C,33H
77、 ;將Kp*(ei-ei-1)的符號(hào)位值送23H位</p><p><b> MOV 23H,C</b></p><p> MOV R3,73H ;將KI*ei值送R3,R4</p><p> MOV R4,74H </p><p> MOV C,30H
78、 ;將KI*ei值的符號(hào)位懂24H位</p><p><b> MOV 24H,C</b></p><p> LCALL SJF ;調(diào)用雙字節(jié)帶符號(hào)加法子程序</p><p> MOV 77H,R5 ;將Kp*
79、(ei-ei-1)+KI*ei值送77H,78H</p><p> MOV 78H,R6</p><p> MOV C,25H ;將Kp*(ei-ei-1)+KI*ei值的符號(hào)位送36H位</p><p><b> MOV 36H,C</b></p><p> MOV R
80、1,77H ;計(jì)算△Ui,將將Kp*(ei-ei-1)+KI*ei值送R1,R2</p><p> MOV R2,78H </p><p> MOV C,36H ;將Kp*(ei-ei-1)+KI*ei值的符號(hào)位送23H位</p><p><b> MOV 23H,C&
81、lt;/b></p><p> MOV R3,75H ;將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)位送2
82、3H位</p><p><b> MOV 24H,C</b></p><p> LCALL SJF ;調(diào)用雙字節(jié)帶符號(hào)加法子程序</p><p> MOV 79H,R5 ;將△Ui值送79H,7AH</p><p> MOV 7A
83、H,R6</p><p> MOV C,25H ;將△Ui值的符號(hào)位送37H</p><p><b> MOV 37H,C</b></p><p> MOV R1,7DH ;計(jì)算Ui,將Ui-1值送R1,R2</p><p> MO
84、V R2,7EH</p><p> CLR 23H ;Ui-1值的符號(hào)位值恒為0</p><p> MOV R3,79H ;將△Ui值送R3,R4</p><p> MOV R4,7AH</p><p> MOV C,37H
85、 ;將△Ui值的符號(hào)位送24H</p><p><b> MOV 24H,C</b></p><p> LCALL SJF ;調(diào)用雙字節(jié)帶符號(hào)加法子程序</p><p> JNB 25H,PID3 ;判斷計(jì)算結(jié)果是否為負(fù)</p
86、><p> MOV 7BH,#00H ;如果是負(fù)數(shù),則輸出電壓為0</p><p> MOV 7CH,#00H</p><p><b> SJMP PID4</b></p><p> PID3:MOV 7BH,R5 ;否則,將計(jì)算得到的Ui值置
87、7BH,7CH</p><p> MOV 7CH,R6</p><p> PID4:MOV 6DH,6CH ;數(shù)據(jù)迭代,ei-1值送ei-2存儲(chǔ)單元</p><p> MOV 6CH,6BH ;ei值送ei-1存儲(chǔ)單元</p><p> MOV 7DH,7BH
88、 ;Ui值送Ui-1存儲(chǔ)單元</p><p> MOV 7EH,7CH</p><p><b> RET</b></p><p><b> PID ENDP</b></p><p> PD PROC NEAR</p><p> P
89、D:MOV A,5CH ;計(jì)算ei,先取溫度給定值</p><p><b> CLR C</b></p><p> SUBB A,50H ;溫度給定值-溫度檢測(cè)值</p><p> JNC PD1 ;判斷e
90、i正負(fù),如果為正,跳至PID1</p><p> CPL A ;ei為負(fù),下兩條指令求補(bǔ)</p><p> ADD A,#01H</p><p> SETB 30H ;ei為負(fù),符號(hào)位置1</p><p><b> SJMP
91、PD2</b></p><p> PD1:CLR 30H ;ei為正,符號(hào)位置0</p><p> PD2:MOV 6BH,A ;ei值存放在6BH單位元中</p><p> MOV R1,6BH ;計(jì)算ei-ei-1,
92、先將ei值,送R1</p><p> MOV C,30H ;將ei的符號(hào)位值送20H位</p><p> MOV 20H,C;</p><p> MOV R2,6CH ;將ei-1值送R2</p><p> MOV C,31H
93、 ;將 ei-1的符號(hào)位值送21H位</p><p><b> MOV 21H,C</b></p><p> LCALL DJF ;調(diào)用單字節(jié)帶符號(hào)的減法子程序</p><p> MOV 6EH,R3 ;將差值ei-ei-1送6EH單元&
94、lt;/p><p> MOV C,22H ;將差值ei-ei-1的符號(hào)位送33H位</p><p><b> MOV 33H,C</b></p><p> MOV R1,6CH ;計(jì)算ei-1-ei-2,先將ei-1值送R1</p><p&
95、gt; MOV C,31H ;將ei-1符號(hào)位送20H位</p><p><b> MOV 20H,C</b></p><p> MOV R2,6DH ;將ei-2的值送R2</p><p> MOV C,32H
96、 ;將 ei-2的符號(hào)位值送21H位</p><p><b> MOV 21H,C</b></p><p> LCALL DJF ;調(diào)用單字節(jié)帶符號(hào)的減法子程序</p><p> MOV 6FH,R3 ;將差值ei-1-ei-2送6FH單元&l
97、t;/p><p> MOV C,22H ;將差值ei-1-ei-2的符號(hào)位送34H位</p><p><b> MOV 34H,C</b></p><p> MOV R1,6EH ;計(jì)算(ei-ei-1)-(ei-1-ei-2),將ei-ei-1值送R1&
98、lt;/p><p> MOV C,33H ;將ei-ei-1符號(hào)位送20H位</p><p><b> MOV 20H,C</b></p><p> MOV R2,6FH ;將ei-1-ei-2值送R2</p><p> MOV
99、 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)的減法子程序</p><p> MOV 70H,R3
100、 ;將差值(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 35H,C</b></p><p> MOV A,68H
101、 ;計(jì)算Kp*(ei-ei-1),將Kp值送A</p><p> MOV B,6EH ;將ei-ei-1值送B</p><p> MUL AB ;兩數(shù)相乘</p><p> MOV 71H,B ;Kp*(ei-ei-1
102、)值存71H,72H單元</p><p><b> MOV 72H.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-
103、ei-2)值送B</p><p> MUL AB ;兩數(shù)相乘</p><p> MOV 75H,B ;KD*[(ei-ei-1)-(ei-1-ei-2)]值存75H,76H單元</p><p><b> MOV 76H,A</b></p>&
104、lt;p> MOV R1,71H ;計(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&g
105、t; MOV 23H,C</b></p><p> MOV R3,75H ;將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
106、-ei-2)]值的符號(hào)位送24H位</p><p><b> MOV 24H,C</b></p><p> LCALL SJF ;調(diào)用雙字節(jié)帶符號(hào)加法子程序</p><p> MOV 79H,R5 ;將△Ui值送79H,7AH</p>&l
107、t;p> MOV 7AH,R6</p><p> MOV C,25H ;將△Ui值的符號(hào)位送37H</p><p><b> MOV 37H,C</b></p><p> MOV R1,7DH ;計(jì)算Ui,將Ui-1值送R1,R2</p&g
108、t;<p> MOV R2,7EH</p><p> CLR 23H ;Ui-1值的符號(hào)位值恒為0</p><p> MOV R3,79H ;將△Ui值送R3,R4</p><p> MOV R4,7AH</p><p> M
109、OV C,37H ;將△Ui值的符號(hào)位送24H</p><p><b> MOV 24H,C</b></p><p> LCALL SJF ;調(diào)用雙字節(jié)帶符號(hào)加法子程序</p><p> JNB 25H,PD3
110、 ;判斷計(jì)算結(jié)果是否為負(fù)</p><p> MOV 7BH,#00H ;如果是負(fù)數(shù),則輸出電壓為0</p><p> MOV 7CH,#00H</p><p><b> SJMP PID4</b></p><p> PD3:MOV 7BH,R5
111、 ;否則,將計(jì)算得到的Ui值置7BH,7CH</p><p> MOV 7CH,R6</p><p> PD4:MOV 6DH,6CH ;數(shù)據(jù)迭代,ei-1值送ei-2存儲(chǔ)單元</p><p> MOV 6CH,6BH ;ei值送ei-1存儲(chǔ)單元</p>
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 溫度控制系統(tǒng)設(shè)計(jì)——計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)
- 計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)-溫度控制系統(tǒng)設(shè)計(jì)
- 計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)-電阻爐溫度控制系統(tǒng)設(shè)計(jì)
- 計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)-溫度采集
- 計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)電加熱爐溫度控制系統(tǒng)
- 計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)之電阻爐溫度控制系統(tǒng)
- 控制系統(tǒng)設(shè)計(jì)與仿真-計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)
- 計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)--電加熱爐溫度控制系統(tǒng)
- 計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)
- 溫度控制系統(tǒng)計(jì)算機(jī)控制課程設(shè)計(jì)
- 計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)
- 計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)
- 計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)
- 計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)--電阻加熱爐溫度控制系統(tǒng)設(shè)計(jì)
- 計(jì)算機(jī)控制課程設(shè)計(jì)--啤酒發(fā)酵計(jì)算機(jī)溫度控制系統(tǒng)設(shè)計(jì)
- 計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)-計(jì)算機(jī)控制技術(shù)及工程應(yīng)用步進(jìn)電機(jī)控制系統(tǒng)
- 計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)---控制系統(tǒng)的狀態(tài)空間設(shè)計(jì)
- 計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì) (2)
- 計(jì)算機(jī)控制技術(shù)溫度控制系統(tǒng)設(shè)計(jì)
- 計(jì)算機(jī)控制技術(shù)溫度控制系統(tǒng)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論