




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué) 號(hào): 課 程 設(shè) 計(jì)題 目溫度控制系統(tǒng)的設(shè)計(jì)學(xué) 院自動(dòng)化學(xué)院專 業(yè)自動(dòng)化專業(yè)班 級(jí)自動(dòng)化1005班 姓 名柳元輝指導(dǎo)教師向馗 副教授2013年6月23日課程設(shè)計(jì)任務(wù)書學(xué)生姓名: 柳元輝 專業(yè)班級(jí): 自動(dòng)化1005班 指導(dǎo)教師: 向馗 副教授 工作單位: 自動(dòng)化學(xué)院 題 目: 溫度控制系統(tǒng)設(shè)計(jì) 初始條件:被控對(duì)象為電爐,采用熱阻絲加熱,利用大功率可控硅控制器控制熱阻絲兩端所加的電壓大小,來改變流經(jīng)熱阻絲的電流,從而改變電爐爐內(nèi)的溫度??煽毓杩刂破鬏斎霝?5伏時(shí)對(duì)應(yīng)電爐溫度0300,溫度傳感器測(cè)量值對(duì)應(yīng)也為05伏,對(duì)象特性為二階慣性系統(tǒng),慣性時(shí)間常數(shù)均為20秒。要求完成的主要任務(wù): (包括課程
2、設(shè)計(jì)工作量及其技術(shù)要求,以及說明書撰寫等具體要求)1設(shè)計(jì)溫度控制系統(tǒng)的計(jì)算機(jī)硬件系統(tǒng),畫出框圖;2編寫積分分離PID算法程序,從鍵盤接受Kp、Ti、Td、T及的值;3通過數(shù)據(jù)分析Td改變時(shí)對(duì)系統(tǒng)超調(diào)量的影響。4撰寫設(shè)計(jì)說明書。時(shí)間安排:6月26日查閱和準(zhǔn)備相關(guān)技術(shù)資料,完成整體方案設(shè)計(jì)6月27日6月28日完成硬件設(shè)計(jì)6月29日6月30日編寫調(diào)試程序7月1日7月4日撰寫課程設(shè)計(jì)說明書7月5日提交課程設(shè)計(jì)說明書、圖紙、電子文檔指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日目錄1 設(shè)計(jì)任務(wù)及要求22方案比較論證33 系統(tǒng)硬件設(shè)計(jì)53.1 系統(tǒng)硬件結(jié)構(gòu)53.2 系統(tǒng)硬件的選擇53.3
3、 系統(tǒng)硬件連接圖64 系統(tǒng)軟件設(shè)計(jì)74.1 確定程序流程74.2 程序控制算法介紹85系統(tǒng)仿真116心得體會(huì)15摘要 溫度是工業(yè)生產(chǎn)中常見的工藝參數(shù)之一,任何物理變化和化學(xué)反應(yīng)過程都與溫度密切相關(guān),因此溫度控制是生產(chǎn)自動(dòng)化的重要任務(wù)。對(duì)于不同生產(chǎn)情況和工藝要求下的溫度控制,所采用的加熱方式,燃料,控制方案也有所不同。隨著集成電路技術(shù)的發(fā)展,單片微型計(jì)算機(jī)的功能也不斷增強(qiáng),許多高性能的新型機(jī)種不斷涌現(xiàn)出來。 本文主要介紹了利用8051為主控制電路實(shí)現(xiàn)的爐溫調(diào)節(jié)控制系統(tǒng),詳細(xì)闡述了系統(tǒng)的功能,硬件組成以及軟件設(shè)計(jì),利用熱電偶采集溫度信號(hào)經(jīng) A/D 轉(zhuǎn)換器轉(zhuǎn)化后與給定信號(hào)送入微機(jī)系統(tǒng),系統(tǒng)分析控制算
4、法,信號(hào)再經(jīng) D/A 轉(zhuǎn)換后控制調(diào)節(jié)可控硅控制器來改變爐內(nèi)的溫度。 關(guān)鍵字:8051; PID;二階系統(tǒng);積分分離;仿真 溫度控制系統(tǒng)設(shè)計(jì) 1 設(shè)計(jì)任務(wù)及要求 被控對(duì)象為電爐,采用熱阻絲加熱,利用大功率可控硅控制器控制熱阻絲兩端所加的電壓大小,來改變流經(jīng)熱阻絲的電流,從而改變電爐爐內(nèi)的溫度??煽毓杩刂破鬏斎霝?5伏時(shí)對(duì)應(yīng)電爐溫度0300,溫度傳感器測(cè)量值對(duì)應(yīng)也為05伏,對(duì)象的特性為二階慣性系統(tǒng),慣性時(shí)間常數(shù)為T20秒。 要求完成的主要任務(wù) (1)設(shè)計(jì)溫度控制系統(tǒng)的計(jì)算機(jī)硬件系統(tǒng),畫出框圖; (2)編寫積分分離PID算法程序,從鍵盤接受Kp、Ti、Td、T及的值; (3)通過數(shù)據(jù)分析Td改變時(shí)對(duì)
5、系統(tǒng)超調(diào)量的影響。 2方案比較論證 用溫度傳感器來檢測(cè)爐的溫度,將爐溫轉(zhuǎn)變成毫伏級(jí)的電壓信號(hào),經(jīng)溫度變送器放大并轉(zhuǎn)換成電流信號(hào)。由電阻網(wǎng)絡(luò)講電流信號(hào)變成電壓信號(hào),送入A/D轉(zhuǎn)換器,通過采樣和模數(shù)轉(zhuǎn)換,所檢測(cè)到的電壓信號(hào)和爐溫給定值的電壓信號(hào)送入計(jì)算機(jī)程序中作比較,得出給定值與實(shí)際值之間的偏差,并與進(jìn)行比較,從而確定算法。計(jì)算得到的控制量輸出給可控硅控制器,改變可控硅的導(dǎo)通角,達(dá)到調(diào)壓的目的,是電阻絲兩端的電壓增大或較小,進(jìn)而實(shí)現(xiàn)對(duì)爐溫的控制。下面有兩個(gè)方案:方案一:熱電偶溫度自動(dòng)控制系統(tǒng)。 方案二:數(shù)字溫度傳感器溫度控制系統(tǒng)。 這兩個(gè)方案都是采用單片機(jī)控制,兩個(gè)方案的比較部分為溫度檢測(cè)部分。
6、方案一溫度檢測(cè)部分檢測(cè)部分采用熱電偶,它需要冷端補(bǔ)償電路與其配套,并且熱電偶輸出電壓只有幾毫負(fù),必須經(jīng)過放大處理才能A/D轉(zhuǎn)換和D/A轉(zhuǎn)換器接口,若采用8位A/D轉(zhuǎn)換器,ADC0809則輸人端需采用儀用放大器,把幾毫伏的電壓信號(hào)放大到5伏左右。由于熱電偶屬于非線性器件,因此每個(gè)溫度值都必須通過分度表,查表才能獲得,這給軟件編程和數(shù)據(jù)處理增加了難度。這種系統(tǒng)具有測(cè)量溫度范圍可以從零下一百度到早上千攝氏度,而且有很多熱電偶精度非常高這是這種測(cè)量系統(tǒng)的優(yōu)點(diǎn)。但構(gòu)成系統(tǒng)復(fù)雜,抗干擾能力不強(qiáng)。 方案二采用數(shù)字溫度傳感器DS18B20,它的最高分辨率為12位,可識(shí)別0.0625攝氏度的溫度。它具有直接輸出
7、數(shù)字信號(hào)和數(shù)據(jù)處理,并且它和單片機(jī)接口只需要一位I/O口,因此由它構(gòu)成的系統(tǒng)簡(jiǎn)單使用,由于DS18B20,按照工業(yè)設(shè)計(jì)要求設(shè)計(jì),抗干擾性能強(qiáng)。但溫度測(cè)量范圍從-55攝氏度-125攝氏度。 根據(jù)設(shè)計(jì)要求,綜合考慮選擇方案一。 主要的控制芯片采用 8051,要求傳感器測(cè)量的電壓范圍和可控硅控制器的電壓在 0-5,所以 A/D 與 D/A 轉(zhuǎn)換芯片采用 ADC0809 和DAC0832。爐溫控制在 0300內(nèi),因此采用鎳鉻-銅鎳熱電偶,同時(shí)選用運(yùn)算放大器將信號(hào)放大。 由以上分析控制過程,可以得到如圖1的系統(tǒng)結(jié)構(gòu)框圖:傳 感 器數(shù)據(jù)采集計(jì)算機(jī)顯示電路鍵盤控制控制電路電 爐圖1 系統(tǒng)結(jié)構(gòu)框圖3 系統(tǒng)硬件
8、設(shè)計(jì) 爐溫信號(hào) T 通過溫度檢測(cè)及變送,變成電信號(hào),與溫度設(shè)定值進(jìn)行比較,計(jì)算溫度偏差 e 和溫度的變化率 de/dt,再由智能控制算法進(jìn)行推理,并得控制量 u,可控硅輸出部分根據(jù)調(diào)節(jié)電加熱爐的輸出功率,即改變可控硅管的接通時(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è)量其電壓,再將其表盤改裝為溫度表盤,即將原來的 0-5V的刻度均勻分為 300 份,每一份代表
9、 1,則可以讀取預(yù)定的溫度值。ADC0809 的 INT1 端口與熱電偶相連。由 8051 構(gòu)成的核心控制器按智能控制算法進(jìn)行推算,得出所需要的控制量。由單片機(jī)的輸出通過調(diào)節(jié)可控硅管的接通時(shí)間,改變電爐的輸出功率,起到調(diào)溫的作用 。3.2 系統(tǒng)硬件的選擇 微型計(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ì)溫度是通過可控硅調(diào)節(jié)器實(shí)現(xiàn)的。在系統(tǒng)開發(fā)過程中修改程序容易,可以大大縮短開發(fā)周期。同時(shí),系統(tǒng)工作過程中能有效地保存一些數(shù)據(jù)信息,不受系統(tǒng)掉電或斷電等突發(fā)情況的影響
10、。8051 單片機(jī)內(nèi)部有128 B 的 RAM 存儲(chǔ)器,不夠本系統(tǒng)使用,因此,采用 62648 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 倍,再通過 ADC0809將其轉(zhuǎn)換為數(shù)字量被計(jì)算機(jī)讀取,通過軟件程序?qū)?shù)據(jù)進(jìn)行處理,將處理的結(jié)果經(jīng) DAC0832 輸出量控制可控硅控制器,從而改變電阻絲兩端的電壓,使?fàn)t溫得到控制。3.3 系統(tǒng)硬件連接圖綜合以上分析,可以得
11、出系統(tǒng)的硬件連接圖如圖 2 所示:4 系統(tǒng)軟件設(shè)計(jì)4.1 確定程序流程 比例控制能迅速反應(yīng)誤差,從而減小誤差,但比例積分不能消除誤差,Kp的加大會(huì)引起系統(tǒng)的不穩(wěn)定;積分控制的作用是:只要系統(tǒng)存在誤差,積分控制作用就不斷地積累,輸出控制量以消除誤差,因而,只要時(shí)間足夠,積分控制將能完全消除誤差,積分作用太強(qiáng)會(huì)使系統(tǒng)超調(diào)加大,甚至使系統(tǒng)出現(xiàn)振蕩;微分控制可以減小超調(diào)量,克服振蕩,使系統(tǒng)穩(wěn)定性提高,同時(shí)加快系統(tǒng)的動(dòng)態(tài)響應(yīng)速度,減小調(diào)整時(shí)間,從而改善系統(tǒng)的動(dòng)態(tài)性能。在微分控制中,控制器的輸出與輸入誤差信號(hào)的微分(即誤差的變化率)成正比關(guān)系。自動(dòng)控制系統(tǒng)在克服誤差的調(diào)節(jié)過程中可能會(huì)出現(xiàn)振蕩甚至失穩(wěn)。其原
12、因是由于存在有較大慣性組件(環(huán)節(jié))或有滯后組件,具有抑制誤差的作用,其變化總是落后于誤差的變化。解決的辦法是使抑制誤差的作用的變化“超前”,即在誤差接近零時(shí),抑制誤差的作用就應(yīng)該是零。這就是說,在控制器中僅引入“比例”項(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í)有較大的偏差,以
13、及系統(tǒng)有慣性和滯后,故在積分項(xiàng)的作用下,往往會(huì)產(chǎn)生較大的超調(diào)和長(zhǎng)時(shí)間的波動(dòng)。特別對(duì)于溫度等變化緩慢的過程,這一現(xiàn)象更為嚴(yán)重,為此,可采用積分分離措施,即偏差 ek 較大時(shí),取消積分作用;當(dāng)偏差較小時(shí)才將積分作用投入。亦即 當(dāng) ek 時(shí),采用 PD 控制; 當(dāng) ek 時(shí),采用 PID 控制。 積分分離閾值 應(yīng)根據(jù)具體對(duì)象及控制要求。若 值過大時(shí),則達(dá)不到積分分離的目的;若 值過小,則一旦被控量 y t 無法跳出個(gè)積分分離區(qū),只進(jìn)行 PD 控制,將會(huì)出現(xiàn)殘差,為了實(shí)現(xiàn)積分分離,編寫程序時(shí)必須從數(shù)字 PID 差分方程式中分離出積分項(xiàng),進(jìn)行特殊處理。 根據(jù)設(shè)計(jì)要求及所選硬件,程序流程如圖 3 所示 開
14、 始系統(tǒng)初始化設(shè)置 數(shù)據(jù)采集 A/D轉(zhuǎn)換 求出溫度值與給定值比較 PD/PID控制 可控硅調(diào)節(jié) 加熱爐圖3 程序的主流程圖4.2 程序控制算法介紹 由以上分析, P 本次設(shè)計(jì)采用的是積分分離 PID 控制算法, ID 調(diào)節(jié)時(shí)連續(xù)系統(tǒng)中技術(shù)中最成熟的,應(yīng)用廣泛的一種調(diào)節(jié)控制方式。在模擬控制系統(tǒng)中,PID 算法的表達(dá)為: 式中, :調(diào)節(jié)器的輸出信號(hào) :調(diào)節(jié)器的偏差信號(hào) :調(diào)節(jié)器的比例系數(shù) 調(diào)節(jié)器的積分時(shí)間 調(diào)節(jié)器的微分時(shí)間在計(jì)算機(jī)控制系統(tǒng)中,PID控制規(guī)律的實(shí)現(xiàn)必須用數(shù)值逼近的方法。當(dāng)采樣周期相當(dāng)短時(shí),用求和代替積分、用后向差分代替微分,使模擬PID離散化變?yōu)椴罘址匠?。用?shù)字形式的差分方程代替連續(xù)
15、系統(tǒng)的微分方程。設(shè)系統(tǒng)的采樣周期為T,在t=kT時(shí)刻進(jìn)行采樣,式中e(k):根據(jù)本次采樣值所得到的偏差; e(k-1):由上次采樣所得到的偏差。由以上可得: 式中,T為采樣時(shí)間,項(xiàng)為積分項(xiàng)的開關(guān)系數(shù)積分積分分離PID控制算法程序框圖如圖4所示: 圖4 積分分離PID控制算法程序框圖5系統(tǒng)仿真又已知慣性常數(shù)T=20秒,所以被控對(duì)象的傳遞函數(shù)為: 采用simulink仿真,通過simulink模塊實(shí)現(xiàn)積分分離PID控制算法。選擇合適的Kp,是系統(tǒng)的仿真效果趨于理想狀態(tài)。MATLAB編寫程序如下:clear all;close all;ts=2; %采樣時(shí)間2ssys=tf(1,400,40,1);
16、dsys=c2d(sys,ts,zoh); %將sys離散化num,den=tfdata(dsys,v); %求sys多項(xiàng)式模型參數(shù)kp=5;ki=0.25; %即kd=5; %即當(dāng)值過大時(shí),達(dá)不到積分分離的目的,若值過小,則一旦被控量無法跳出各積分分離區(qū),只進(jìn)行PD控制,將會(huì)出現(xiàn)殘差。根據(jù)題意,故選取=0.2為積分分離閾值。運(yùn)用湊試法確定較合適的PID參數(shù),可以得到kp=5、ki=0.25、kd=5較合適的參數(shù)值。當(dāng)kd=5時(shí),據(jù),此時(shí)=2。保持其他參數(shù)不變,只改變。Simulink仿真圖如下: 圖4 Simulink仿真圖 (1)當(dāng)kd=5時(shí),即=2時(shí)的仿真圖如下: 圖5 =2時(shí)的仿真圖(
17、2)當(dāng)kd=0.5時(shí),即=0.2的仿真圖如下: 圖6 =0.2的仿真圖(3)當(dāng)kd=10時(shí),即=4的仿真圖如下: 圖7即=4的仿真圖(4)當(dāng)kd=20時(shí),即=8的仿真圖如下: 圖8 =8的仿真圖微分調(diào)節(jié)的動(dòng)作與偏差的變化速度成正比。其效果是阻止被調(diào)參數(shù)的一切變化,有超前調(diào)節(jié)的作用。對(duì)滯后大的對(duì)象有很好的效果,但不能克服純滯后。適用于溫度調(diào)節(jié)。使用微分調(diào)節(jié)可使系統(tǒng)收斂周期的時(shí)間縮短。但微分時(shí)間太長(zhǎng)也會(huì)引起振蕩。6心得體會(huì)通過本次設(shè)計(jì),我了解了微機(jī)控制中PID積分分離法的基本概念及其對(duì)系統(tǒng)設(shè)計(jì)的相關(guān)應(yīng)用,通過對(duì)初步知識(shí)的了解,對(duì)系統(tǒng)各種方案的比較,進(jìn)一步了解了微機(jī)控制系統(tǒng)的合理性和實(shí)用性。什么樣的
18、課程設(shè)計(jì)都離不開理論與實(shí)際相結(jié)合的真理,設(shè)計(jì)過程中的方案選擇和參數(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)重要。我認(rèn)為,在設(shè)計(jì)時(shí)應(yīng)該怎樣少走一些彎路,怎樣能夠非常透徹的理解系統(tǒng)并用簡(jiǎn)單方法設(shè)計(jì)一個(gè)微機(jī)控制系統(tǒng),我想這是這次課程設(shè)計(jì)最鍛煉人的地方。然而這也要求我們有相當(dāng)厚實(shí)的理論基礎(chǔ),并能很好地運(yùn)用到實(shí)際中去。這是我們學(xué)習(xí)和掌握好自控原理最重要的。我們運(yùn)用Matlab軟件進(jìn)行系統(tǒng)仿真驗(yàn)證,這不僅對(duì)我們?cè)O(shè)計(jì)帶來了方便,也能很準(zhǔn)確地為我們改動(dòng)參數(shù)提供依據(jù),同時(shí)也讓我們對(duì)Matlab軟件進(jìn)行了
19、又一步的學(xué)習(xí),也為我們?cè)俅问炀氝\(yùn)用Matlab打下了基礎(chǔ)。參考文獻(xiàn)1李建忠.單片機(jī)原理及應(yīng)用.西安:西安電子科技大學(xué)出版社,2001.2潘新民.王燕芳.微型計(jì)算機(jī)控制技術(shù).北京:高等教育出版社,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.附錄一兩個(gè)重要芯片 圖9 DAC0832引腳圖DAC0832芯片為20引腳,雙列直插式封裝。其引腳排列如圖10所示。(1)數(shù)字量輸入線D7D0(8條) (2)控制線(5條) (
20、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 圖10 ADC0809的引腳圖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)輸出引腳,開
21、始轉(zhuǎn)換時(shí)為低電平,當(dāng)轉(zhuǎn)換結(jié)束時(shí)為高電平。OE:輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸出鎖存器。CLK:時(shí)鐘信號(hào)輸入端(一般為500KHz)。A、B、C:地址輸入線。附錄二 程序清單積分分離PID控制算法子程序:START:MOV 68H,KP ;分別將KP ,TI ,TD, T,送入指定的存儲(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 ABM
22、OV 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 5CH,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 ;將采
23、樣值數(shù)據(jù)放入指定的存儲(chǔ)單元 MOV A,5CH ;計(jì)算ei,先取溫度給定值 CLR C SUBB A,50H ;溫度給定值-采樣值 JNC AA0 ;判斷ei的正負(fù),如果為正,跳至AA0 CPL A ;ei為負(fù),下兩條指令求補(bǔ) ADD A,#01HAA0: MOV R0,57H SUBB A,57H ;|ei|- JNC AA1 ;|ei|跳至AA1 SJMP AA2 ;|ei|跳至AA2AA1: LCALL PD ;調(diào)用PD算法AA2: LCALL PID ;調(diào)用PID算法 MOV A,7CH ;將Ui通過DAC0832輸出 MOV DPTR,#7FF2H MOVX DPTR,A INC D
24、PTR MOVX DPTR,A LCALL DELAY ;調(diào)用延時(shí)子程序,等待下一次采樣計(jì)算 SJMP LOOP0 ;進(jìn)入下一次控制計(jì)算DELAY PROC NEARDL0: MOV R6,#FFHDL1: MOV R7,#FFHDL2: MOV R5,#FFHDLS: DJNZ R5,DLSDJNZ R7,DL2DJNZ R6 DL1RETDELAY ENDPPID PROC NEARPID:MOV A,5CH ;計(jì)算ei,先取溫度給定值CLR CSUBB A,50H ;溫度給定值-溫度檢測(cè)值JNC PID1 ;判斷ei正負(fù),如果為正,跳至PID1CPL A ;ei為負(fù),下兩條指令求補(bǔ)ADD
25、 A,#01HSETB 30H ;ei為負(fù),符號(hào)位置1SJMP PID2PID1:CLR 30H ;ei為正,符號(hào)位置0PID2:MOV 6BH,A ;ei值存放在6BH單位元中MOV R1,6BH ;計(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
26、,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位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位MO
27、V 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單元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.
28、AMOV A,69H ;計(jì)算KI*ei,將KI值送AMOV B,6BH ;將ei值送BMUL AB ;兩數(shù)相乘MOV 73H,B ;KI*ei值存73H,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,72H
29、MOV C,33H ;將Kp*(ei-ei-1)的符號(hào)位值送23H位MOV 23H,CMOV R3,73H ;將KI*ei值送R3,R4MOV R4,74H MOV C,30H ;將KI*ei值的符號(hào)位懂24H位MOV 24H,CLCALL SJF ;調(diào)用雙字節(jié)帶符號(hào)加法子程序MOV 77H,R5 ;將Kp*(ei-ei-1)+KI*ei值送77H,78HMOV 78H,R6MOV C,25H ;將Kp*(ei-ei-1)+KI*ei值的符號(hào)位送36H位MOV 36H,CMOV R1,77H ;計(jì)算Ui,將將Kp*(ei-ei-1)+KI*ei值送R1,R2MOV R2,78H MOV C,3
30、6H ;將Kp*(ei-ei-1)+KI*ei值的符號(hào)位送23H位MOV 23H,CMOV R3,75H ;將KD*(ei-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)位值恒
31、為0MOV R3,79H ;將Ui值送R3,R4MOV R4,7AHMOV C,37H ;將Ui值的符號(hào)位送24HMOV 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
32、7EH,7CHRETPID ENDPPD PROC NEARPD:MOV A,5CH ;計(jì)算ei,先取溫度給定值CLR CSUBB A,50H ;溫度給定值-溫度檢測(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-
33、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,32H ;將 ei-2的符號(hào)位值送21H位MOV 21H,CLCALL DJF ;調(diào)用單字節(jié)帶符號(hào)的減法子程序MOV 6FH,R3 ;將差值ei
34、-1-ei-2送6FH單元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 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 ;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 培訓(xùn)師師資課件
- 教育中的社會(huì)心理學(xué)促進(jìn)學(xué)生群體的積極互動(dòng)與成長(zhǎng)
- 兒童成長(zhǎng)記錄與教育心理學(xué)的結(jié)合
- 應(yīng)急安全知識(shí)培訓(xùn)課件
- 企業(yè)品牌形象與智慧零售的發(fā)展策略
- 2025年中國(guó)兩輪流動(dòng)垃圾箱數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 從教育技術(shù)到用戶體驗(yàn)俯臥式學(xué)習(xí)的未來趨勢(shì)
- 教育革新之光區(qū)塊鏈在學(xué)歷認(rèn)證的應(yīng)用案例
- 學(xué)校校園電動(dòng)自行車管理辦法
- 全球鈾礦資源分布與2025年核能產(chǎn)業(yè)節(jié)能減排報(bào)告
- 10kV試驗(yàn)報(bào)告模板-大全
- 2024年九三學(xué)社學(xué)社章社史做合格社員知識(shí)競(jìng)賽題庫(kù)及答案(共80題)
- 注冊(cè)消防工程師2023年繼續(xù)教育石油化工試題(含答案)
- 《尋找快樂》教案
- 動(dòng)物疫病預(yù)防與控制中心工作總結(jié)
- 低應(yīng)力PECVD氮化硅薄膜的制備
- 重慶商墅市場(chǎng)研究
- GB/T 33855-2017母嬰保健服務(wù)場(chǎng)所通用要求
- 支架植入知情同意書模板
- 人教版四年級(jí)上冊(cè)語(yǔ)文生字組詞
- 茶文化講座優(yōu)選ppt資料
評(píng)論
0/150
提交評(píng)論