版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、武漢理工大學(xué)計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)說明書學(xué) 號(hào): 課 程 設(shè) 計(jì)題 目溫度控制系統(tǒng)設(shè)計(jì)學(xué) 院自動(dòng)化學(xué)院專 業(yè)自動(dòng)化專業(yè)班 級(jí)姓 名指導(dǎo)教師2014年6月24日課程設(shè)計(jì)任務(wù)書學(xué)生(xu sheng)姓名: 專業(yè)(zhuny)班級(jí): 指導(dǎo)(zhdo)教師: 陳靜 教授 工作單位: 自動(dòng)化學(xué)院 題 目: 溫度控制系統(tǒng)設(shè)計(jì) 要求完成的主要任務(wù): 被控對(duì)象為電爐,采用熱阻絲加熱,利用大功率可控硅控制器控制熱阻絲兩端所加的電壓大小,來改變流經(jīng)熱阻絲的電流,從而改變電爐爐內(nèi)的溫度??煽毓杩刂破鬏斎霝?5伏時(shí)對(duì)應(yīng)電爐溫度0300,溫度傳感器測(cè)量值對(duì)應(yīng)也為05伏,對(duì)象的特性為二階慣性系統(tǒng),慣性時(shí)間常數(shù)為T120
2、秒,滯后時(shí)間常數(shù)為10秒。 1)設(shè)計(jì)溫度控制系統(tǒng)的計(jì)算機(jī)硬件系統(tǒng),畫出框圖; 2)編寫積分分離PID算法程序,從鍵盤接受Kp、Ti、Td、T及的值; 3)通過數(shù)據(jù)分析Ti改變時(shí)對(duì)系統(tǒng)超調(diào)量的影響。 4)撰寫設(shè)計(jì)說明書。時(shí)間安排:6月9日 查閱和準(zhǔn)備相關(guān)技術(shù)資料,完成整體方案設(shè)計(jì)6月10日6月12日完成硬件設(shè)計(jì)6月13日6月15日編寫調(diào)試程序6月16日6月17日撰寫課程設(shè)計(jì)說明書 6月18日 提交課程設(shè)計(jì)說明書、圖紙、電子文檔指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日摘要(zhiyo)本次課程設(shè)計(jì)我設(shè)計(jì)的題目是溫度控制系統(tǒng)。通過專業(yè)課程的學(xué)習(xí),我將引入計(jì)算機(jī),單片機(jī),傳感器
3、,以及PID算法來實(shí)現(xiàn)電爐溫度的自動(dòng)控制,完成課程設(shè)計(jì)的任務(wù)。計(jì)算機(jī)的自動(dòng)控制是機(jī)器和儀表的發(fā)展趨勢(shì),它不僅解放了勞動(dòng)力,也比以往(ywng)的人為監(jiān)控更準(zhǔn)確,更及時(shí)。一旦溫度發(fā)生變化,計(jì)算機(jī)監(jiān)控系統(tǒng)可以立即檢測(cè)到并通過模擬量數(shù)字通道傳送到計(jì)算機(jī)。計(jì)算機(jī)接收到信號(hào)后通過與給定值進(jìn)行比較后,計(jì)算出偏差,再通過PID控制算法給出下一步將要執(zhí)行的指令。最后通過模擬量輸出通道將指令傳送到生產(chǎn)過程,實(shí)現(xiàn)機(jī)器儀表的智能控制。本次(bn c)課程設(shè)計(jì)用到了MATLAB這一軟件,通過編寫程序,將被控系統(tǒng)離散化。再通過MATLAB中的simulink仿真功能,可以看到隨著Ki,Kp,Kd改變波形發(fā)生的改變,從而
4、可以通過波形直觀地看出PID參數(shù)對(duì)系統(tǒng)動(dòng)態(tài)性能的影響。關(guān)鍵字:溫度控制 A/D轉(zhuǎn)換 D/A轉(zhuǎn)換 Simulink仿真目錄(ml) TOC o 1-3 h z u HYPERLINK l _Toc391287983 1.設(shè)計(jì)(shj)任務(wù)及分析 溫度(wnd)控制系統(tǒng)設(shè)計(jì)1.設(shè)計(jì)任務(wù)(rn wu)及分析被控對(duì)象為電爐,采用熱阻絲加熱,利用大功率可控硅控制(kngzh)器控制熱阻絲兩端所加的電壓大小,來改變流經(jīng)熱阻絲的電流,從而改變電爐爐內(nèi)的溫度??煽毓杩刂破鬏斎霝?5伏時(shí)對(duì)應(yīng)電爐溫度0300,溫度傳感器測(cè)量值對(duì)應(yīng)也為05伏,對(duì)象的特性為二階慣性系統(tǒng),慣性時(shí)間常數(shù)為T120秒,滯后時(shí)間常數(shù)為10秒
5、。 1)設(shè)計(jì)溫度控制系統(tǒng)的計(jì)算機(jī)硬件系統(tǒng),畫出框圖; 2)編寫積分分離PID算法程序,從鍵盤接受Kp、Ti、Td、T及的值; 3)通過數(shù)據(jù)分析Ti改變時(shí)對(duì)系統(tǒng)超調(diào)量的影響。 4)撰寫設(shè)計(jì)說明書。本次設(shè)計(jì)是對(duì)電爐的溫度控制,而電爐的溫度是通過放在其中的熱阻絲來控制的,而熱阻絲的電流由可控硅控制器控制熱阻絲兩端所加電壓來控制。對(duì)電爐溫度的控制是個(gè)動(dòng)態(tài)的過程,不可能一下子就達(dá)到我們想要的溫度,需要用到一些儀器比如熱電偶來測(cè)量電路的溫度,通過傳感器將爐溫轉(zhuǎn)換成電壓信號(hào),送入A/D轉(zhuǎn)換器,通過采樣和模數(shù)轉(zhuǎn)換,所檢測(cè)到的電壓信號(hào)和爐溫給定值的電壓信號(hào)送入計(jì)算機(jī)程序中作比較,得出給定值與實(shí)際值之間的偏差,單
6、片機(jī)對(duì)偏差進(jìn)行運(yùn)算,將運(yùn)算結(jié)果送給晶閘管調(diào)壓器來調(diào)節(jié)熱阻絲的電流,以此來調(diào)節(jié)電電爐的溫度。2.方案設(shè)計(jì)電爐的溫度控制是個(gè)動(dòng)態(tài)的控制過程,需要借助計(jì)算機(jī),單片機(jī)等很多器件的硬件連接來實(shí)現(xiàn)。而電爐溫度的直接控制是通過熱阻絲的加熱來實(shí)現(xiàn)的,熱阻絲的加熱是由流經(jīng)熱阻絲的電流來控制的,而熱阻絲的電流是通過可控硅控制器控制熱阻絲兩端所加電壓來控制,電壓的調(diào)節(jié)是通過可控制硅控制。需要用到熱電偶時(shí)刻監(jiān)測(cè)電爐的溫度,通過傳感器將溫度信號(hào)轉(zhuǎn)化為電壓信號(hào),而電壓信號(hào)通過模數(shù)轉(zhuǎn)換送入到計(jì)算機(jī)進(jìn)行控制,計(jì)算機(jī)將轉(zhuǎn)換結(jié)果送到晶閘管來控制加到熱阻絲兩端的電壓,這樣達(dá)到調(diào)節(jié)電爐溫度的目的。 傳感器 電爐 數(shù)據(jù)采集 控制電路
7、D/A轉(zhuǎn)換 A/D轉(zhuǎn)換 計(jì)算機(jī) 顯示電路 鍵盤控制圖2-1 溫度(wnd)控制系統(tǒng)框圖3.系統(tǒng)(xtng)硬件設(shè)計(jì)爐溫信號(hào)T通過溫度檢測(cè)及變送,變成電信號(hào),與溫度設(shè)定值進(jìn)行比較,計(jì)算溫度偏差e和溫度的變化率de/dt,再由智能控制算法進(jìn)行推理,并得控制量u,可控硅輸出部分根據(jù)調(diào)節(jié)電加熱爐的輸出功率,即改變可控硅管的接通(ji tn)時(shí)間,使電加熱爐輸出溫度達(dá)到理想的設(shè)定值。3.1 系統(tǒng)硬件結(jié)構(gòu)ADC0809的INT0端口所連接的電阻起到給定預(yù)定值的作用,通過調(diào)節(jié)滑動(dòng)變阻器劃片的位置,改變INT0端口的電壓,該電壓通過0809轉(zhuǎn)換為數(shù)字量被計(jì)算機(jī)讀取。將一個(gè)0-5V的電壓表連接到可變電阻上,測(cè)量
8、其電壓,再將其表盤改裝為溫度表盤,即將原來的0-5V的刻度均勻分為300份,每一份代表1,則可以讀取預(yù)定的溫度值。ADC0809的INT1端口與熱電偶相連。由8051構(gòu)成的核心控制器按智能控制算法進(jìn)行推算,得出所需要的控制量。由單片機(jī)的輸出通過調(diào)節(jié)可控硅管的接通時(shí)間,改變電爐的輸出功率,起到調(diào)溫的作用 。 3.2系統(tǒng)硬件(yn jin)的選擇微型(wixng)計(jì)算機(jī)的選擇:選擇8051單片機(jī)構(gòu)成爐溫控制系統(tǒng)(kn zh x tn)。它具有8位CPU,3 2根I/O線,4 kB片內(nèi)ROM存儲(chǔ)器,128 kB的RAM存儲(chǔ)器。8051對(duì)溫度是通過可控硅調(diào)節(jié)器實(shí)現(xiàn)的。在系統(tǒng)開發(fā)過程中修改程序容易,可以
9、大大縮短開發(fā)周期。同時(shí),系統(tǒng)工作過程中能有效地保存一些數(shù)據(jù)信息,不受系統(tǒng)掉電或斷電等突發(fā)情況的影響。8051單片機(jī)內(nèi)部有128 B的RAM存儲(chǔ)器,不夠本系統(tǒng)使用,因此,采用6264(8 kB)的RAM作為外部數(shù)據(jù)存儲(chǔ)器。 熱電偶的選擇:本設(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倍,再通過0809將其轉(zhuǎn)換為數(shù)字量被計(jì)算機(jī)讀取,通過軟件程序?qū)?shù)據(jù)進(jìn)行處理,將處理的結(jié)果經(jīng)0832輸出,輸出量控制可控硅控制器,從而改變電阻絲兩
10、端的電壓,使?fàn)t溫得到控制。3.3 系統(tǒng)硬件(yn jin)連接圖 綜合以上分析,可以得出系統(tǒng)(xtng)的硬件連接圖如圖3-1所示:圖3-1 系統(tǒng)(xtng)硬件連接圖4 系統(tǒng)軟件(x tn run jin)設(shè)計(jì)4.1 確定(qudng)程序流程在微分控制中,控制器的輸出與輸入誤差信號(hào)的微分(即誤差的變化率)成正比關(guān)系。 自動(dòng)控制系統(tǒng)在克服誤差的調(diào)節(jié)過程中可能會(huì)出現(xiàn)振蕩甚至失穩(wěn)。其原因(yunyn)是由于存在有較大慣性組件(環(huán)節(jié))或有滯后組件,具有抑制誤差的作用,其變化總是落后于誤差的變化。解決的辦法是使抑制誤差的作用的變化“超前”,即在誤差接近零時(shí),抑制誤差的作用就應(yīng)該是零。這就是說,在控制
11、器中僅引入“比例”項(xiàng)往往是不夠的,比例項(xiàng)的作用僅是放大誤差的幅值,而目前需要增加的是“微分項(xiàng)”,它能預(yù)測(cè)誤差變化的趨勢(shì),這樣,具有比例+微分的控制器,就能夠提前使抑制誤差的控制作用等于零,甚至為負(fù)值,從而避免了被控量的嚴(yán)重超調(diào)。所以對(duì)有較大慣性或滯后的被控對(duì)象,比例+微分(PD)控制器能改善系統(tǒng)在調(diào)節(jié)過程中的動(dòng)態(tài)特性。在一般的PID控制中,當(dāng)有較大的擾動(dòng)或大幅度改變給定值時(shí),由于此時(shí)有較大的偏差,以及系統(tǒng)有慣性和滯后,故在積分項(xiàng)的作用下,往往會(huì)產(chǎn)生較大的超調(diào)和長時(shí)間的波動(dòng)。特別對(duì)于溫度等變化緩慢的過程,這一現(xiàn)象更為嚴(yán)重,為此,可采用積分分離措施,即偏差較大時(shí),取消積分作用;當(dāng)偏差較小時(shí)才將積分
12、作用投入。亦即當(dāng)時(shí),采用PD控制;當(dāng)時(shí),采用PID控制。積分分離閾值應(yīng)根據(jù)具體對(duì)象及控制要求。若值過大時(shí),則達(dá)不到積分分離的目的;若值過小,則一旦被控量無法跳出個(gè)積分分離區(qū),只進(jìn)行PD控制,將會(huì)出現(xiàn)殘差,為了實(shí)現(xiàn)積分分離,編寫程序時(shí)必須從數(shù)字PID差分方程式中分離出積分項(xiàng),進(jìn)行特殊處理。根據(jù)設(shè)計(jì)要求及所選硬件,程序流程如圖4-1所示:開始系統(tǒng)初始化設(shè)置數(shù)據(jù)采集A/D轉(zhuǎn)換求出溫度值信號(hào)比較PID調(diào)節(jié)可控硅調(diào)節(jié)加熱爐圖4-1 程序(chngx)主流程圖4.2 程序控制算法(sun f)介紹 由以上分析,本次(bn c)設(shè)計(jì)采用的是積分分離PID控制算法,PID調(diào)節(jié)時(shí)連續(xù)系統(tǒng)中技術(shù)中最成熟的,應(yīng)用廣
13、泛的一種調(diào)節(jié)控制方式。在模擬控制系統(tǒng)中,PID算法的表達(dá)為: u:調(diào)節(jié)器的輸出信號(hào);e:偏差信號(hào);K:調(diào)節(jié)器的比例系數(shù);TI:調(diào)節(jié)器的積分時(shí)間;TD:調(diào)節(jié)器的微分時(shí)間。 在計(jì)算機(jī)控制中,為實(shí)現(xiàn)數(shù)字控制,必須對(duì)式上式進(jìn)行離散化處理。用數(shù)字形式的差分方程代替連續(xù)系統(tǒng)的微分方程。設(shè)系統(tǒng)的采樣周期為T,在t=kT時(shí)刻進(jìn)行采樣,式中e(k):根據(jù)(gnj)本次采樣值所得到的偏差; e(k-1):由上次(shn c)采樣所得到的偏差。由以上(yshng)可得: 式中,T為采樣時(shí)間,項(xiàng)為積分項(xiàng)的開關(guān)系數(shù)積分積分分離PID控制算法程序框圖如圖4-2所示: 開始 初始化 數(shù)據(jù)采集 Y N PID控制 PD控制
14、控制器輸出 更新參數(shù) 返回圖4-2 積分(jfn)分離PID控制算法圖4.3 PID控制算法實(shí)際運(yùn)行的經(jīng)驗(yàn)和理論(lln)的分析都表明,運(yùn)用這種控制規(guī)律對(duì)許多工業(yè)過程控制時(shí),都能得到滿意的效果。不過用計(jì)算機(jī)實(shí)現(xiàn)PID控制,不是簡單得把模擬PID控制規(guī)律數(shù)字化,而是進(jìn)一步與計(jì)算機(jī)的邏輯判斷功能結(jié)合,使PID控制更加靈活,更能滿足生產(chǎn)過程提出的要求。PID算法(sun f)推倒如下: u:調(diào)節(jié)器的輸出信號(hào);e:偏差信號(hào);K:調(diào)節(jié)器的比例系數(shù);TI:調(diào)節(jié)器的積分時(shí)間;TD:調(diào)節(jié)器的微分時(shí)間。對(duì)應(yīng)的模擬PID調(diào)節(jié)器的傳遞函數(shù) 其中為比例增益,與比例帶成倒數(shù)關(guān)系即=1/,TI為積分時(shí)間常數(shù),TD為微分時(shí)
15、間常數(shù),u(t)為控制量,e(t)為偏差。在計(jì)算機(jī)控制中,為實(shí)現(xiàn)數(shù)字控制,必須對(duì)式上式進(jìn)行離散化處理。用數(shù)字形式的差分方程代替連續(xù)系統(tǒng)的微分方程。設(shè)系統(tǒng)的采樣周期為T,在t=kT時(shí)刻進(jìn)行采樣,式中e(k):根據(jù)本次采樣(ci yn)值所得到的偏差;e(k-1):由上次采樣(ci yn)所得到的偏差。T為采樣(ci yn)周期K為采樣序號(hào)由以上可得: 式中,T為采樣時(shí)間,項(xiàng)為積分項(xiàng)的開關(guān)系數(shù)5系統(tǒng)仿真5.1 仿真程序及圖形設(shè)計(jì)被控對(duì)象為:G(S)= 采用simulink仿真,通過simulink模塊實(shí)現(xiàn)積分分離PID控制算法。選擇合適的Kp,Ki,Kd是系統(tǒng)的仿真效果趨于理想狀態(tài)。MATLAB編
16、寫程序如下:clear all;close all;ts=2; %采樣時(shí)間2ssys=tf(1,400,40,1);dsys=c2d(sys,ts,zoh); %將sys離散化num,den=tfdata(dsys,v); %求sys多項(xiàng)式模型參數(shù)kp=10;ki=0.25;kd=5;Simulink仿真(fn zhn)圖如圖5-1所示:圖5-1 simulink仿真(fn zhn)圖心得體會(huì)本次(bn c)計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)我的題目是電爐溫度控制系統(tǒng)。通過本學(xué)期專業(yè)課程的學(xué)習(xí),我打算通過傳感器,單片機(jī),計(jì)算機(jī)來實(shí)現(xiàn)爐溫的自動(dòng)控制系統(tǒng)。最后通過simulink仿真波形(b xn),觀察PI
17、D參數(shù)變化對(duì)系統(tǒng)結(jié)果的影響,從而對(duì)計(jì)算機(jī)控在技術(shù)中的PID控制有更深刻的理解和認(rèn)識(shí)。拿到題目后,首先我綱舉目張(gng j m zhng)地初步將我的整個(gè)報(bào)告完成過程分為了六個(gè)步驟:分析題目要求,列出報(bào)告提綱,查找資料,設(shè)計(jì)硬件和軟件,進(jìn)行Matlab仿真,撰寫課程設(shè)計(jì)說明書。通過計(jì)算機(jī)控制技術(shù)這門專業(yè)課的學(xué)習(xí),已經(jīng)對(duì)整個(gè)控制系統(tǒng)的組成和原理有了初步認(rèn)識(shí),所以題目理解起來并不困難,主要就是用到了A/D和D/A轉(zhuǎn)換,以及單片機(jī)編程實(shí)現(xiàn)。接下來就是查閱資料和列提綱了,這兩步基本是同時(shí)進(jìn)行。緊接著就是根據(jù)手頭上已有的課本和網(wǎng)絡(luò)上找到的資源進(jìn)行軟硬件設(shè)計(jì),在理解了課本上的知識(shí)后,設(shè)計(jì)起來也并不復(fù)雜。整
18、個(gè)爐溫控制系統(tǒng)大致工作流程是這樣的:采集當(dāng)前溫度數(shù)據(jù)進(jìn)行A/D轉(zhuǎn)換后送至計(jì)算機(jī)系統(tǒng),與給定標(biāo)準(zhǔn)溫度進(jìn)行偏差計(jì)算,通過控制算法給出下一步執(zhí)行決策,并通過D/A轉(zhuǎn)換器送出至控制系統(tǒng),控制系統(tǒng)根據(jù)指令進(jìn)行人為或自動(dòng)控制處理,這樣整個(gè)控制流程就比較清晰了。下一步是進(jìn)行simulink仿真。不得不說對(duì)simulink的學(xué)習(xí)仍需加強(qiáng),對(duì)整個(gè)軟件不是很了解的情況下就去做仿真的結(jié)果就是浪費(fèi)大量時(shí)間做無用功,而且還得不出結(jié)果。最后是撰寫課程設(shè)計(jì)報(bào)告。其實(shí)這個(gè)過程考驗(yàn)的是自己的細(xì)心和耐心,格式方面的修改有時(shí)候確實(shí)讓人頭疼,但一旦你這一次做到了這些,下次再寫報(bào)告的時(shí)候就會(huì)事半功倍,為人處世也會(huì)學(xué)著更加細(xì)致謹(jǐn)慎。參考
19、文獻(xiàn)1李建忠.單片機(jī)原理(yunl)及應(yīng)用.西安:西安 HYPERLINK /dianzijixie/ 電子(dinz)科技(kj)大學(xué)出版社,2001.2潘新民.王燕芳.微型 HYPERLINK /pc/ 計(jì)算機(jī)控制技術(shù).北京:高等 HYPERLINK /jiaoyu/ 教育出版社,2001. 3何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)出版社,2000.4韓志軍,沈晉源,王振波.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京:機(jī)械工業(yè)出版社,2005.5周航慈.單片機(jī)程序設(shè)計(jì)基礎(chǔ).北京:北京航空航天大學(xué)出版社,2000.附錄(fl)1芯片(xn pin)資料ADC0809芯片(xn pin)圖 ADC0
20、809芯片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)換) HYPERLINK /dz/analog/0/analog-372-1.html .EOC:轉(zhuǎn)換結(jié)束信號(hào)輸出引腳,開始轉(zhuǎn)換時(shí)為低電平,當(dāng)轉(zhuǎn)換結(jié)束時(shí)為高電平。OE:輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸出鎖存器。CLK:時(shí)鐘信號(hào)輸入端(一般為500KHz)。A、B、C:地址輸入線。DAC0832芯片
21、:圖 DAC0832芯片(xn pin)DAC0832芯片(xn pin)為20引腳,雙列直插式封裝。其引腳排列如圖6所示。(1)數(shù)字(shz)量輸入線D7D0(8條) (2)控制線(5條) (3)輸出線(3條) (4)電源線(4條)DAC0832的技術(shù)指標(biāo)(1)分辨率:8位(2)電流建立時(shí)間:1S(3)線性度(在整個(gè)溫度范圍內(nèi))8、9或10位(4)增益溫度系數(shù):00002 FS/(5)低功耗:20mW(6)單一電源:+5 +15V 附錄2 程序清單積分(jfn)分離PID控制算法子程序:START:MOV 68H,KP ;分別(fnbi)將KP ,TI ,TD, T,送入指定(zhdng)的
22、存儲(chǔ)單元MOV 54H,TIMOV 55H,TDMOV 56H,TMOV 57H,MOV A,68H ;計(jì)算KI=KP*T/TIMOV B,56HMUL ABMOV B,54HDIV ABMOV 69H,AMOV A,68H ;計(jì)算KD=KP*TD/TMOV B,55HMUL ABMOV B,56HDIV ABMOV 6AH,ALOOP0: MOV DPTR #7FF0H ;讀取預(yù)定溫度值,送ADC0809的IN0口地址 MOV DPTR,A ;啟動(dòng)A/D轉(zhuǎn)換LOOP1 JB P3.3,LOOP1 ;等待轉(zhuǎn)換數(shù)據(jù) MOVX A,DPTR ;讀取ADC0809的IN0口轉(zhuǎn)換后的數(shù)據(jù) MOV 5C
23、H,A ;將預(yù)定值數(shù)據(jù)放入指定的存儲(chǔ)單元MOV DPTR,#7FF1H ;讀取采樣溫度值,送ADC0809的IN1口地址 MOVX DPTR,A ;啟動(dòng)A/D轉(zhuǎn)換LOOP2: JB P3.3,LOOP2 ;等待轉(zhuǎn)換數(shù)據(jù) MOVX A,DPTR ;讀取ADC0809的IN1口轉(zhuǎn)換后的數(shù)據(jù) MOV 49H,A ;將采樣值數(shù)據(jù)放入指定的存儲(chǔ)單元 MOV A,5CH ;計(jì)算e(i),先取溫度給定值 CLR C SUBB A,50H ;溫度給定值-采樣值 JNC AA0 ;判斷e(i)的正負(fù),如果為正,跳至AA0 CPL A ;e(i)為負(fù),下兩條指令求補(bǔ) ADD A,#01HAA0: MOV R0,5
24、7H SUBB A,57H ;|e(i)|- JNC AA1 ;|e(i)|跳至AA1 SJMP AA2 ;|e(i)|跳至AA2AA1: LCALL PD ;調(diào)用PD算法AA2: LCALL PID ;調(diào)用(dioyng)PID算法 MOV A,7CH ;將Ui通過(tnggu)DAC0832輸出 MOV DPTR,#7FF2H MOVX DPTR,A INC DPTR MOVX DPTR,A LCALL DELAY ;調(diào)用延時(shí)子程序,等待下一次采樣(ci yn)計(jì)算 SJMP LOOP0 ;進(jìn)入下一次控制計(jì)算DELAY PROC NEARDL0: MOV R6,#FFHDL1: MOV R
25、7,#FFHDL2: MOV R5,#FFHDLS: DJNZ R5,DLSDJNZ R7,DL2DJNZ R6 DL1RETDELAY ENDPPID PROC NEARPID:MOV A,5CH ;計(jì)算e(i),先取溫度給定值CLR CSUBB A,50H ;溫度給定值-溫度檢測(cè)值JNC PID1 ;判斷e(i)正負(fù),如果為正,跳至PID1CPL A ;e(i)為負(fù),下兩條指令求補(bǔ)ADD A,#01HSETB 30H ;e(i)為負(fù),符號(hào)位置1SJMP PID2PID1:CLR 30H ;e(i)為正,符號(hào)位置0PID2:MOV 6BH,A ;e(i)值存放在6BH單位元中MOV R1,6
26、BH ;計(jì)算ei-ei-1,先將ei值,送R1MOV C,30H ;將ei的符號(hào)位值送20H位MOV 20H,CMOV R2,6CH ;將ei-1值送R2MOV C,31H ;將 ei-1的符號(hào)位值送21H位MOV 21H,CLCALL DJF ;調(diào)用單字節(jié)帶符號(hào)的減法子程序MOV 6EH,R3 ;將差值ei-ei-1送6EH單元MOV C,22H ;將差值ei-ei-1的符號(hào)位送33H位MOV 33H,CMOV R1,6CH ;計(jì)算ei-1-ei-2,先將ei-1值送R1MOV C,31H ;將ei-1符號(hào)位送20H位MOV 20H,CMOV R2,6DH ;將ei-2的值送R2MOV C,
27、32H ;將 ei-2的符號(hào)(fho)位值送21H位MOV 21H,CLCALL DJF ;調(diào)用(dioyng)單字節(jié)帶符號(hào)的減法子程序MOV 6FH,R3 ;將差值ei-1-ei-2送6FH單元(dnyun)MOV C,22H ;將差值ei-1-ei-2的符號(hào)位送34H位MOV 34H,CMOV R1,6EH ;計(jì)算(ei-ei-1)-(ei-1-ei-2),將ei-ei-1值送R1MOV C,33H ;將ei-ei-1符號(hào)位送20H位MOV 20H,CMOV R2,6FH ;將ei-1-ei-2值送R2MOV C,34H ;將ei-1-ei-2符號(hào)位送21H位MOV 21H,CLCALL
28、DJF ;調(diào)用單字節(jié)帶符號(hào)的減法子程序MOV 70H,R3 ;將差值(ei-ei-1)-(ei-1-ei-2)送70H單元MOV C,22H ;將差值(ei-ei-1)-(ei-1-ei-2)的符號(hào)位值送35H位MOV 35H,CMOV A,68H ;計(jì)算Kp*(ei-ei-1),將Kp值送AMOV B,6EH ;將ei-ei-1值送BMUL AB ;兩數(shù)相乘MOV 71H,B ;Kp*(ei-ei-1)值存71H,72H單元MOV 72H.AMOV A,69H ;計(jì)算KI*ei,將KI值送AMOV B,6BH ;將ei值送BMUL AB ;兩數(shù)相乘MOV 73H,B ;KI*ei值存73H,
29、74H單元MOV 74H,AMOV A,6AH ;計(jì)算KD*(ei-ei-1)-(ei-1-ei-2),將KD送AMOV B,70H ;將(ei-ei-1)-(ei-1-ei-2)值送BMUL AB ;兩數(shù)相乘MOV 75H,B ;KD*(ei-ei-1)-(ei-1-ei-2)值存75H,76H單元MOV 76H,AMOV R1,71H ;計(jì)算Kp*(ei-ei-1)+KI*ei,將Kp*(ei-ei-1)值送R1,R2MOV R2,72HMOV C,33H ;將Kp*(ei-ei-1)的符號(hào)位值送23H位MOV 23H,CMOV R3,73H ;將KI*ei值送R3,R4MOV R4,74
30、H MOV C,30H ;將KI*ei值的符號(hào)(fho)位懂24H位MOV 24H,CLCALL SJF ;調(diào)用雙字節(jié)帶符號(hào)加法子(f zi)程序MOV 77H,R5 ;將Kp*(ei-ei-1)+KI*ei值送77H,78HMOV 78H,R6MOV C,25H ;將Kp*(ei-ei-1)+KI*ei值的符號(hào)(fho)位送36H位MOV 36H,CMOV R1,77H ;計(jì)算Ui,將將Kp*(ei-ei-1)+KI*ei值送R1,R2MOV R2,78H MOV C,36H ;將Kp*(ei-ei-1)+KI*ei值的符號(hào)位送23H位MOV 23H,CMOV R3,75H ;將KD*(ei
31、-ei-1)-(ei-1-ei-2)的值送R3,R4MOV R4,76HMOV C,35H ;將KD*(ei-ei-1)-(ei-1-ei-2)的符號(hào)位送23H位MOV 24H,CLCALL SJF ;調(diào)用雙字節(jié)帶符號(hào)加法子程序MOV 79H,R5 ;將Ui值送79H,7AHMOV 7AH,R6MOV C,25H ;將Ui值的符號(hào)位送37HMOV 37H,CMOV R1,7DH ;計(jì)算Ui,將Ui-1值送R1,R2MOV R2,7EHCLR 23H ;Ui-1值的符號(hào)位值恒為0MOV R3,79H ;將Ui值送R3,R4MOV R4,7AHMOV C,37H ;將Ui值的符號(hào)位送24HMOV
32、24H,CLCALL SJF ;調(diào)用雙字節(jié)帶符號(hào)加法子程序JNB 25H,PID3 ;判斷計(jì)算結(jié)果是否為負(fù)MOV 7BH,#00H ;如果是負(fù)數(shù),則輸出電壓為0MOV 7CH,#00HSJMP PID4PID3:MOV 7BH,R5 ;否則,將計(jì)算得到的Ui值置7BH,7CHMOV 7CH,R6PID4:MOV 6DH,6CH ;數(shù)據(jù)迭代,ei-1值送ei-2存儲(chǔ)單元MOV 6CH,6BH ;ei值送ei-1存儲(chǔ)單元MOV 7DH,7BH ;Ui值送Ui-1存儲(chǔ)單元MOV 7EH,7CHRETPID ENDPPD PROC NEARPD:MOV A,5CH ;計(jì)算(j sun)ei,先取溫度(
33、wnd)給定值CLR CSUBB A,50H ;溫度(wnd)給定值-溫度檢測(cè)值JNC PD1 ;判斷ei正負(fù),如果為正,跳至PID1CPL A ;ei為負(fù),下兩條指令求補(bǔ)ADD A,#01HSETB 30H ;ei為負(fù),符號(hào)位置1SJMP PD2PD1:CLR 30H ;ei為正,符號(hào)位置0PD2:MOV 6BH,A ;ei值存放在6BH單位元中MOV R1,6BH ;計(jì)算ei-ei-1,先將ei值,送R1MOV C,30H ;將ei的符號(hào)位值送20H位MOV 20H,C;MOV R2,6CH ;將ei-1值送R2MOV C,31H ;將 ei-1的符號(hào)位值送21H位MOV 21H,CLCA
34、LL DJF ;調(diào)用單字節(jié)帶符號(hào)的減法子程序MOV 6EH,R3 ;將差值ei-ei-1送6EH單元MOV C,22H ;將差值ei-ei-1的符號(hào)位送33H位MOV 33H,CMOV R1,6CH ;計(jì)算ei-1-ei-2,先將ei-1值送R1MOV C,31H ;將ei-1符號(hào)位送20H位MOV 20H,CMOV R2,6DH ;將ei-2的值送R2MOV C,32H ;將 ei-2的符號(hào)位值送21H位MOV 21H,CLCALL DJF ;調(diào)用單字節(jié)帶符號(hào)的減法子程序MOV 6FH,R3 ;將差值ei-1-ei-2送6FH單元MOV C,22H ;將差值ei-1-ei-2的符號(hào)位送34H
35、位MOV 34H,CMOV R1,6EH ;計(jì)算(ei-ei-1)-(ei-1-ei-2),將ei-ei-1值送R1MOV C,33H ;將ei-ei-1符號(hào)位送20H位MOV 20H,CMOV R2,6FH ;將ei-1-ei-2值送R2MOV C,34H ;將ei-1-ei-2符號(hào)位送21H位MOV 21H,CLCALL DJF ;調(diào)用單字節(jié)帶符號(hào)的減法子程序MOV 70H,R3 ;將差值(ei-ei-1)-(ei-1-ei-2)送70H單元(dnyun)MOV C,22H ;將差值(ei-ei-1)-(ei-1-ei-2)的符號(hào)(fho)位值送35H位MOV 35H,CMOV A,68H ;計(jì)算
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度印刷品質(zhì)量監(jiān)控與售后服務(wù)合同3篇
- 2025年度甲乙丙三方知識(shí)產(chǎn)權(quán)許可合同范本3篇
- 2024版特定客戶柴油購買中介協(xié)議版B版
- 二零二五年度汽車租賃居間合同模板2篇
- 2024淘寶店鋪店鋪設(shè)計(jì)創(chuàng)新與用戶體驗(yàn)提升合同3篇
- 2024新專車司機(jī)勞動(dòng)勞務(wù)合同
- 小學(xué)美術(shù)課堂中的創(chuàng)意教學(xué)方法探討
- 2024版招標(biāo)合同委托書格式
- 4-2-酶催化細(xì)胞的化學(xué)反應(yīng)(分層練)高一生物(滬科版2020必修1)(原卷版)
- 2025年度股權(quán)轉(zhuǎn)讓合同:某科技企業(yè)股東之間的股權(quán)轉(zhuǎn)讓3篇
- 常見酸和堿說課課件
- 2023-2024學(xué)年湖北省利川市小學(xué)語文六年級(jí)期末通關(guān)測(cè)試題詳細(xì)參考答案解析
- 礦大畢業(yè)設(shè)計(jì)-固定式帶式輸送機(jī)設(shè)計(jì)
- 高考地理一輪復(fù)習(xí)課件+湖泊的水文特征
- 熱動(dòng)復(fù)習(xí)題材料熱力學(xué)與動(dòng)力學(xué)
- GB/T 19405.1-2003表面安裝技術(shù)第1部分:表面安裝元器件(SMDS)規(guī)范的標(biāo)準(zhǔn)方法
- GB/T 13275-1991一般用途離心通風(fēng)機(jī)技術(shù)條件
- 彈塑性力學(xué)(浙江大學(xué)課件)
- 千年菩提路解說詞
- 濰柴天然氣發(fā)動(dòng)機(jī)維修手冊(cè)
- 配氣機(jī)構(gòu)的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論