溫度控制系統(tǒng)設(shè)計(jì)計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)Word版_第1頁
溫度控制系統(tǒng)設(shè)計(jì)計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)Word版_第2頁
溫度控制系統(tǒng)設(shè)計(jì)計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)Word版_第3頁
溫度控制系統(tǒng)設(shè)計(jì)計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)Word版_第4頁
溫度控制系統(tǒng)設(shè)計(jì)計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)Word版_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!學(xué) 號: 計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)題 目溫度控制系統(tǒng)設(shè)計(jì)學(xué) 院專 業(yè)班 級姓 名指導(dǎo)教師2016年月日課程設(shè)計(jì)任務(wù)書學(xué)生姓名: _ 專業(yè)班級: _ 指導(dǎo)教師: 周申培 工作單位: _ 題 目: 溫度控制系統(tǒng)設(shè)計(jì)初始條件:被控對象為電爐,采用熱阻絲加熱,利用大功率可控硅控制器控制熱阻絲兩端所加的電壓大小,來改變流經(jīng)熱阻絲的電流,從而改變電爐爐內(nèi)的溫度??煽毓杩刂破鬏斎霝?5伏時(shí)對應(yīng)電爐溫度0300,溫度傳感器測量值對應(yīng)也為05伏,對象的特性為積分加慣性系統(tǒng),慣性時(shí)間常數(shù)為t140秒。要求完成的主要任務(wù): (包括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說

2、明書撰寫等具體要求)1設(shè)計(jì)溫度控制系統(tǒng)的計(jì)算機(jī)硬件系統(tǒng),畫出框圖;2編寫積分分離pid算法程序,從鍵盤接受kp、ti、td、t及的值;3計(jì)算機(jī)仿真被控對象,編寫仿真程序;4通過數(shù)據(jù)分析td改變時(shí)對系統(tǒng)超調(diào)量的影響。5. 撰寫設(shè)計(jì)說明書。課程設(shè)計(jì)說明書應(yīng)包括:設(shè)計(jì)任務(wù)及要求;方案比較及認(rèn)證;系統(tǒng)濾波原理、硬件原理,電路圖,采用器件的功能說明;軟件思想,流程,源程序;調(diào)試記錄及結(jié)果分析;參考資料;附錄:芯片資料,程序清單;總結(jié)。時(shí)間安排:2016年5月23日2016年6月3日摘要比例-積分-微分控制(簡稱pid控制),是控制系統(tǒng)中應(yīng)用最為廣泛的一種控制規(guī)律。實(shí)際運(yùn)行的經(jīng)驗(yàn)和理論的分析都表明,這種控

3、制規(guī)律對許多工業(yè)過程進(jìn)行控制時(shí),都能得到滿意的效果。利用計(jì)算機(jī)可以很好地使用pid算法對控制對象進(jìn)行控制,具有較高的精度,并且可以很方便的改變pid參數(shù),以達(dá)到不同的控制效果。本設(shè)計(jì)的控制對象為電爐,控制量為電爐溫度,利用單片機(jī)對大功率可控硅導(dǎo)通角的控制,可以很方便地改變電熱絲兩端的電壓,從而起到調(diào)節(jié)溫度的作用。而熱電偶配合單片機(jī)編程,能夠較精確地得到爐溫,使單片機(jī)能夠?qū)崟r(shí)發(fā)出控制信號,快速將爐溫調(diào)節(jié)為給定值。當(dāng)外界出現(xiàn)干擾使?fàn)t溫發(fā)生變化時(shí),單片機(jī)能夠通過pid算法快速使?fàn)t溫回到給定值。為了使pid控制更加穩(wěn)定可靠,本設(shè)計(jì)加入了積分分離的改進(jìn)措施,當(dāng)偏差較大時(shí)取消積分作用,利用pd控制快速使系

4、統(tǒng)趨于穩(wěn)定;當(dāng)偏差小于某一個(gè)值時(shí),加入積分作用,以消除靜差。利用matlab軟件,可以通過仿真得到td改變對系統(tǒng)超調(diào)量的影響。關(guān)鍵詞:pid控制;matlab;系統(tǒng)超調(diào)量目錄1 設(shè)計(jì)任務(wù)及要求11.1 設(shè)計(jì)任務(wù)要求11.2 任務(wù)要求分析12 方案比較及認(rèn)證22.1 方案設(shè)計(jì)22.2 方案認(rèn)證33 系統(tǒng)軟件設(shè)計(jì)43.1 pid控制算法43.2 積分分離的pid控制控制算法54 系統(tǒng)硬件設(shè)計(jì)64.1 系統(tǒng)濾波原理64.2 硬件設(shè)計(jì)原理65 系統(tǒng)仿真85.1 仿真程序及圖形85.2 仿真結(jié)果95.3 結(jié)果分析126 心得體會13參考文獻(xiàn)14附錄a 芯片資料15附a1 adc0809芯片功能15附a2

5、 dac0832芯片功能16附a3 at89c51單片機(jī)18附錄b 程序清單20附b1 單片機(jī)程序代碼20附b2 仿真程序代碼27本科生課程設(shè)計(jì)成績評定表281 設(shè)計(jì)任務(wù)及要求 1.1 設(shè)計(jì)任務(wù)要求被控對象為電爐,采用熱阻絲加熱,利用大功率可控硅控制器控制熱阻絲兩端所加的電壓大小,來改變流經(jīng)熱阻絲的電流,從而改變電爐爐內(nèi)的溫度。可控硅控制器輸入為05伏時(shí)對應(yīng)電爐溫度0300,溫度傳感器測量值對應(yīng)也為05伏,對象的特性為積分加慣性系統(tǒng),慣性時(shí)間常數(shù)為t140秒。要求完成的主要任務(wù):1設(shè)計(jì)溫度控制系統(tǒng)的計(jì)算機(jī)硬件系統(tǒng),畫出框圖;2編寫積分分離pid算法程序,從鍵盤接受kp、ti、td、t及的值;3

6、計(jì)算機(jī)仿真被控對象,編寫仿真程序;4通過數(shù)據(jù)分析td改變時(shí)對系統(tǒng)超調(diào)量的影響。5. 撰寫設(shè)計(jì)說明書。1.2 任務(wù)要求分析本系統(tǒng)的控制對象為電爐,被控量為溫度,利用溫度傳感器實(shí)時(shí)檢測電爐溫度;將測得的數(shù)據(jù)經(jīng)過a/d轉(zhuǎn)換后送入計(jì)算機(jī);計(jì)算機(jī)系統(tǒng)將檢測得到的溫度與爐溫給定值進(jìn)行比較,并計(jì)算偏差;按照預(yù)置的控制算法,對可控硅控制器的導(dǎo)通角進(jìn)行調(diào)節(jié),從而可以控制熱阻絲兩端的電壓,起到溫度調(diào)節(jié)的作用。為了實(shí)現(xiàn)數(shù)據(jù)采集、轉(zhuǎn)換、處理以及pid算法控制,并通過鍵盤對溫度設(shè)定值和pid控制參數(shù)進(jìn)行修正,因此可以使用單片機(jī)或plc。由于本次控制對象為電爐,其時(shí)間常數(shù)較大,因此采用周期不宜過小,避免系統(tǒng)響應(yīng)過于頻繁,

7、降低計(jì)算機(jī)系統(tǒng)的效率并使控制品質(zhì)變壞;但也不能太大,否則會使誤差不能及時(shí)消除。2 方案比較及認(rèn)證2.1 方案設(shè)計(jì)用溫度傳感器來檢測爐的溫度,將爐溫轉(zhuǎn)變成毫伏級的電壓信號,經(jīng)溫度變送器放大并轉(zhuǎn)換成電流信號。由電阻網(wǎng)絡(luò)將電流信號變成電壓信號,送入a/d轉(zhuǎn)換器,通過采樣和模數(shù)轉(zhuǎn)換,所檢測到的電壓信號和爐溫給定值的電壓信號送入計(jì)算機(jī)程序中作比較,得出給定值與實(shí)際值之間的偏差,并與進(jìn)行比較,從而確定算法。計(jì)算得到的控制量輸出給可控硅控制器,改變可控硅的導(dǎo)通角,達(dá)到調(diào)壓的目的,是電阻絲兩端的電壓增大或較小,進(jìn)而實(shí)現(xiàn)對爐溫的控制。方案一:使用plc直接對鐵塊溫度進(jìn)行pid調(diào)節(jié)。其基本思想為,觸摸屏要設(shè)定溫度

8、給plc,plc控制光耦電路,然后對電阻絲進(jìn)行控制加熱。具體流程為,由觸摸屏設(shè)定溫度給plc,由plc通過電路控制鐵塊的加熱或不加熱,熱電偶把溫度以電壓的方式經(jīng)過ad轉(zhuǎn)換反饋給plc,plc再經(jīng)過pid來控制溫度。其結(jié)構(gòu)框圖如圖2-1所示。圖2-1 方案一設(shè)計(jì)結(jié)構(gòu)圖方案二:單片機(jī)熱電偶溫度自動(dòng)控制。主要的控制芯片采用at89c51,要求傳感器測量的電壓范圍和可控硅控制器的電壓在0-5,所以a/d與d/a轉(zhuǎn)換芯片采用adc0809和dac0832。爐溫控制在0300內(nèi),因此采用鎳鉻-銅鎳熱電偶,同時(shí)選用運(yùn)算放大器將信號放大。圖2-2 方案二設(shè)計(jì)結(jié)構(gòu)圖2.2 方案認(rèn)證根據(jù)設(shè)計(jì)要求,綜合考慮選擇方案

9、二。在系統(tǒng)中,利用熱電偶測得電阻爐實(shí)際溫度并轉(zhuǎn)換成毫伏級電壓信號。該電壓信號經(jīng)過溫度檢測電路轉(zhuǎn)換成與爐溫相對應(yīng)的數(shù)字信號進(jìn)入單片機(jī),單片機(jī)進(jìn)行數(shù)據(jù)處理后,通過液晶顯示器顯示溫度,同時(shí)將溫度與設(shè)定溫度比較,根據(jù)設(shè)定計(jì)算出控制量,根據(jù)控制量通過控制繼電器的導(dǎo)通和關(guān)閉從而控制電阻絲的導(dǎo)通時(shí)間,以實(shí)現(xiàn)對爐溫的控制。程序流程圖如圖2-3所示。圖2-3 程序流程圖3 系統(tǒng)軟件設(shè)計(jì)3.1 pid控制算法模擬pid控制器的控制規(guī)律為(3-1)在pid調(diào)節(jié)中,比例控制能迅速反應(yīng)誤差,從而減小誤差,但比例控制不能消除穩(wěn)態(tài)誤差,kp的加大,會引起系統(tǒng)的不穩(wěn)定;積分控制的作用是:只要系統(tǒng)存在誤差,積分控制作用就不斷地

10、積累,輸出控制量以消除誤差,因而,只要有足夠的時(shí)間,積分控制將能完全消除誤差,積分作用太強(qiáng)就會使系統(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)節(jié)時(shí)間,從而改善系統(tǒng)的動(dòng)態(tài)性能。為了便于計(jì)算機(jī)實(shí)現(xiàn)pid控制算法,必須將式(3-1)變換成差分方程,以得到數(shù)字pid位置型控制算式(3-2)根據(jù)式(3-2)可寫出u(k-1)的表達(dá)式 (3-3)將式(3-2)與式(3-3)相減,可以得到數(shù)字pid增量型控制算式為(3-4)式中,kp為比例增益;ki=kp*t/ti為積分系數(shù);kd=kd*td/t為微分系數(shù)。相對于位置型算法,增量型

11、算法不需要做累加,計(jì)算誤差或計(jì)算精度對控制量的計(jì)算影響較小,而位置型算法要用到過去的累加值,容易產(chǎn)生較大的累加誤差。位置型算法不僅要占用較多的內(nèi)存單元,而且不便于編寫程序,并且逐漸增大的累加誤差可能引起系統(tǒng)沖擊,嚴(yán)重影響系統(tǒng)的穩(wěn)定性。綜合考慮,應(yīng)該使用增量型數(shù)字pid控制算法來增加系統(tǒng)的穩(wěn)定性以及控制精度。3.2 積分分離的pid控制控制算法在一般的pid控制中,當(dāng)有較大的擾動(dòng)或大幅度改變給定值時(shí),由于此時(shí)有較大的偏 差,以及系統(tǒng)有慣性和滯后,故在積分項(xiàng)的作用下,往往會產(chǎn)生較大的超調(diào)和長時(shí)間的波動(dòng)。特別對于溫度等變化緩慢的過程,這一現(xiàn)象更為嚴(yán)重,為此,可采用積分分離措施,即偏差e(k)較大時(shí),

12、取消積分作用;當(dāng)偏差較小時(shí)才將積分作用投入。亦即當(dāng)時(shí),采用pd控制;當(dāng)時(shí),采用pid控制。積分分離閾值應(yīng)根據(jù)具體對象及控制要求。若值過大時(shí),則達(dá)不到積分分離的目的;若值過小,則一旦被控量y(t)無法跳出個(gè)積分分離區(qū),只進(jìn)行pd控制,將會出現(xiàn)殘差,為了實(shí)現(xiàn)積分分離,編寫程序時(shí)必須從數(shù)字pid差分方程式中分離出積分項(xiàng),進(jìn)行特殊處理。積分分離pid控制算法流程圖如圖3-1所示。圖3-1 積分分離pid控制算法流程圖4 系統(tǒng)硬件設(shè)計(jì)4.1 系統(tǒng)濾波原理一般微機(jī)應(yīng)用系統(tǒng)的模擬輸入信號中,均含有種種噪音和干擾,它們來自信號源本身、傳感器、外界干擾等。噪音有兩大類:一類為周期性的,另一類為不規(guī)則的。前者可采

13、用雙積分a/d轉(zhuǎn)換器,有效地消除其影響。后者為隨機(jī)信號,可用數(shù)字濾波方法予以消除。 算術(shù)平均值法式要按輸入的n個(gè)采樣為周期ix(i=1n),尋找這樣一個(gè)y,使y與各采樣值間的偏差的平方和為最小,使 由一元函數(shù)求值原理可得4.2 硬件設(shè)計(jì)原理該溫度控制硬件設(shè)計(jì)采用了單片機(jī)at89c52,a/d轉(zhuǎn)換器adc0809與d/a轉(zhuǎn)換器dac0832。其設(shè)計(jì)思想為:用熱電偶來檢測爐的溫度,將爐溫轉(zhuǎn)變成毫伏級的電壓信號,經(jīng)溫度變送器放大并轉(zhuǎn)換成電流信號。由電阻網(wǎng)絡(luò)講電流信號變成電壓信號,送入a/d轉(zhuǎn)換器adc0809,通過采樣和模數(shù)轉(zhuǎn)換,所檢測到的電壓信號和爐溫給定值的電壓信號都轉(zhuǎn)換成數(shù)字量送入單片機(jī)at8

14、0c52進(jìn)行比較,其差值即為實(shí)際爐溫和給定爐溫的偏差,以單片機(jī)為核心的數(shù)字pid控制器對偏差按照給定的方法運(yùn)算,運(yùn)算結(jié)果送入d/a轉(zhuǎn)換器dac0832轉(zhuǎn)換成模擬電壓,經(jīng)功率放大器放大后送入晶閘管調(diào)壓器,觸發(fā)晶閘管并改變其導(dǎo)通角的大小,從而控制電阻爐的加溫電壓,起到爐溫調(diào)節(jié)的作用。其電路圖如圖4-1所示。圖4-1 硬件設(shè)計(jì)電路圖5 系統(tǒng)仿真5.1 仿真程序及圖形被控對象為采用simulink仿真,通過simulink模塊實(shí)現(xiàn)積分分離pid控制算法。 選擇合適的kp,ki,kd是系統(tǒng)的仿真效果趨于理想狀態(tài)。matlab程序如下所示。clear all;close all;ts=2; %采樣時(shí)間2s

15、sys=tf(1,40,1,0); %令sys為系統(tǒng)傳遞函數(shù) dsys=c2d(sys,ts,'zoh'); %將sys離散化并加零階保持器num,den=tfdata(dsys,'v'); %求sys多項(xiàng)式模型參數(shù)kp=1;ti=50;td=1;beta=0.1;ki=kp*ts/ti;kd=kp*td/ts;simulink仿真圖如圖5-1所示。圖5-1 simulink仿真圖5.2 仿真結(jié)果(1) 當(dāng)td=0.1時(shí),仿真波形圖如圖5-2所示。圖5-2 當(dāng)td=0.1時(shí)的仿真波形圖(2) 當(dāng)td=1時(shí),仿真波形圖如圖5-3所示。圖5-3 當(dāng)td=1時(shí)的仿真波

16、形圖(3) 當(dāng)td=10時(shí),仿真波形圖如圖5-4所示。圖5-4 當(dāng)td=10時(shí)的仿真波形圖(4) 當(dāng)td=15時(shí),仿真波形圖如圖5-5所示。圖5-5 當(dāng)td=15時(shí)的仿真波形圖(5) 當(dāng)td=20時(shí),仿真波形圖如圖5-6所示。圖5-6 當(dāng)td=20時(shí)的仿真波形圖(6) 當(dāng)td=30時(shí),仿真波形圖如圖5-6所示。圖5-7 當(dāng)td=30時(shí)的仿真波形圖(7) 當(dāng)td=40時(shí),仿真波形圖如圖5-8所示。此時(shí)系統(tǒng)出現(xiàn)振蕩,系統(tǒng)不穩(wěn)定。圖5-7 當(dāng)td=40時(shí)的仿真波形圖5.3 結(jié)果分析增大微分時(shí)間td,有利于加快系統(tǒng)響應(yīng),使超調(diào)量減小,穩(wěn)定性增加,但系統(tǒng)對擾動(dòng)的抑制能力減弱,對擾動(dòng)有較敏感的響應(yīng)。通過仿

17、真可以看出,當(dāng)k,td,t,取了合適的值后,改變td既會改變系統(tǒng)的超調(diào)量,又會使系統(tǒng)的穩(wěn)定時(shí)間發(fā)生較大的改變。在一定范圍內(nèi)td增大,而相應(yīng)的系統(tǒng)超調(diào)量減小,說明此時(shí)微分作用會使系統(tǒng)超調(diào)量減小。但超過該范圍,隨td增大超調(diào)量增大。仿真結(jié)果中,當(dāng)td=40時(shí),系統(tǒng)甚至出現(xiàn)不穩(wěn)定的情況。因此,積分時(shí)間常數(shù)td必須取恰當(dāng)值,微分作用過強(qiáng),會使系統(tǒng)超調(diào)過大,甚至不穩(wěn)定。因此,td增大即微分作用的增強(qiáng)有助于增加系統(tǒng)的穩(wěn)定性,還可以改善系統(tǒng)的動(dòng)態(tài)特性,如可以明顯減少超調(diào)量,縮短調(diào)節(jié)時(shí)間等,提高控制精度。但td值偏大都會適得其反。6 心得體會通過本次溫度控制系統(tǒng)設(shè)計(jì),個(gè)人有了很多獲得:一,了解了自身各種理論知

18、識的不足之處,強(qiáng)化了自身知識水平;二,知道了理論必須與實(shí)踐結(jié)合,各種技術(shù)才能真正達(dá)到熟練運(yùn)用的程度;三,科學(xué)技術(shù)是嚴(yán)密謹(jǐn)慎的,不能有一絲馬虎,否則可能會出現(xiàn)較大誤差;四,通過本次溫度控制設(shè)計(jì),進(jìn)一步學(xué)習(xí)了單片機(jī)設(shè)計(jì)與matlab仿真設(shè)計(jì)。也學(xué)習(xí)了數(shù)字pid控制,比較了數(shù)字pid位置型控制算法與數(shù)字pid增量型控制算法。同時(shí)了解了數(shù)字pid控制器改進(jìn)的方法,如積分分離。為了實(shí)現(xiàn)積分分離,編寫程序時(shí)必須從數(shù)字pid差分方程式中分離出積分項(xiàng),進(jìn)行特殊處理。參考文獻(xiàn)1 于海生. 計(jì)算機(jī)控制技術(shù)m. 北京:機(jī)械工業(yè)出版社,2014:101-111.2 張毅剛,彭喜元. 單片機(jī)原理及應(yīng)用m. 北京:高等教

19、育出版社,2010:43-82.3 劉教瑜. plc應(yīng)用技術(shù)m. 北京:人民郵電出版社,2013:276-278.4 劉紅麗. 傳感與檢測技術(shù)m. 北京:國防工業(yè)出版社,2012:73-81.5 王孝武,方敏,葛鎖良. 自動(dòng)控制理論m. 北京:機(jī)械工業(yè)出版社,2012:117-118.附錄a 芯片資料附a1 adc0809芯片功能a/d轉(zhuǎn)換器是將模擬電壓或電流轉(zhuǎn)換成數(shù)字量的期間或裝置,它是一種模擬系統(tǒng)和計(jì)算機(jī)之間的接口,它在數(shù)據(jù)采集和控制系統(tǒng)中,得到了廣泛的應(yīng)用,常用的a/d轉(zhuǎn)換器有adc0809. 它是一種帶有8通道模擬開關(guān)的8位逐次逼近式a/d轉(zhuǎn)換器,轉(zhuǎn)換時(shí)間為100us左右,線性誤差為&

20、#177;1/2lsb,采用28腳雙立直插式封裝,adc0809由8通道模擬開關(guān)、通道選擇邏輯、8位a/d轉(zhuǎn)換器及三態(tài)輸出鎖存緩沖器組成。(1)8通道模擬開關(guān)及通道選擇邏輯該部分的功能是實(shí)現(xiàn)8選1操作,通道選擇信號c、b、a與所選通道的關(guān)系如下:表a-1 adc0809模擬開關(guān)及通道選擇邏輯 地址鎖存允許信號(ale、正脈沖)用于通道選擇信號c、b、a的鎖存。加至c、b、a上的通道選擇信號在ale的作用下送入通道選擇邏輯后,通道i上的模擬輸入被送至a/d轉(zhuǎn)換器轉(zhuǎn)換。(2)8位a/d轉(zhuǎn)換器圖a-1 adc0809引腳圖如圖a-1所示。in0in7為模擬信號的8個(gè)輸入通道。vref,vref為基準(zhǔn)

21、電壓的正極和負(fù)極。 adda 、addb和addc為模擬信號輸入通道的地址選擇線。ale為地址鎖存信號,由低電平到高電平正跳變時(shí)講地址選擇線的狀態(tài)鎖存,一選通相應(yīng)的輸入通道。 start為啟動(dòng)信號,正脈沖的上升沿使內(nèi)部寄存器清零,從下降沿開始進(jìn)行a/d轉(zhuǎn)換。 oec為轉(zhuǎn)換結(jié)束信號,在start信號之后變低,轉(zhuǎn)換結(jié)束為高電平,用來申請中斷。oe為輸出允許信號,有效時(shí)將輸出寄存器中的數(shù)據(jù)放到數(shù)據(jù)總線上。2-82-1為數(shù)碼輸出端,2-8為最低有效位,2-1為最高有效位。附a2 dac0832芯片功能d/a轉(zhuǎn)換器的功能是把二進(jìn)制數(shù)字量電信號轉(zhuǎn)換為與其數(shù)值成正比的模擬量電信號。常用d/a轉(zhuǎn)換器為dac0

22、832芯片。dac0832工作在單緩沖寄存器方式,即當(dāng)cs信號來時(shí),d0d7數(shù)據(jù)線送來的數(shù)據(jù)直通進(jìn)行d/a轉(zhuǎn)換,當(dāng)iow變高時(shí),則此數(shù)據(jù)便被鎖存在寄存器中,因此d/a轉(zhuǎn)換的輸出也保持不變。dac0832講輸入的數(shù)字量轉(zhuǎn)換成差動(dòng)的電流輸出(iout1和iout2),為了將其編程電壓輸出,須經(jīng)過運(yùn)算放大器,使其輸出05v(vref為-5v)或010v(vref為-10v),若要形成負(fù)電壓輸出,則vref需接正的基準(zhǔn)電壓。圖a-2 dac0832引腳圖如圖a-2 所示,dac0832是雙列直插式8位d/a轉(zhuǎn)換器。能完成數(shù)字量輸入到模擬量(電流)輸出的轉(zhuǎn)換。圖4為dac0832的引腳圖。其主要參數(shù)如下

23、:分辨率為8位,轉(zhuǎn)換時(shí)間為1s,滿量程誤差為±1lsb,參考電壓為(+10/span>-10)v,供電電源為(+5+15)v,邏輯電平輸入與ttl兼容。在dac0832中有兩級鎖存器,第一級鎖存器稱為輸入寄存器,它的允許鎖存信號為ile,第二級鎖存器稱為dac寄存器,它的鎖存信號也稱為通道控制信號xfer。當(dāng)ile為高電平,片選信號 cs和寫信號 wr1為低電平時(shí),輸入寄存器控制信號為1,這種情況下,輸入寄存器的輸出隨輸入而變化。此后,當(dāng)wr1由低電平變高時(shí),控制信號成為低電平,此時(shí),數(shù)據(jù)被鎖存到輸入寄存器中,這樣輸入寄存器的輸出端不再隨外部數(shù)據(jù)db的變化而變化。對第二級鎖存來

24、說,傳送控制信號xfer和寫信號wr2同時(shí)為低電平時(shí),二級鎖存控制信號為高電平,8位的dac寄存器的輸出隨輸入而變化,此后,當(dāng)wr2由低電平變高時(shí),控制信號變?yōu)榈碗娖?,于是將輸入寄存器的信息鎖存到dac寄存器中。其余各引腳的功能定義如下: di7di0:8位的數(shù)據(jù)輸入端,di7為最高位。iout1:模擬電流輸出端1,當(dāng)dac寄存器中數(shù)據(jù)全為1時(shí),輸出電流最大,當(dāng) dac寄存器中數(shù)據(jù)全為0時(shí),輸出電流為0。iout2:模擬電流輸出端2,iout2與iout1的和為一個(gè)常數(shù)。rfb:反饋電阻引出端,dac0832內(nèi)部已有反饋電阻,所以 rfb端可以直接接到外部運(yùn)算放大器的輸出端,相當(dāng)于將一個(gè)反饋電

25、阻接在運(yùn)算放大器的輸出端和輸入端之間。 vref:參考電壓輸入端,此端可接一個(gè)正電壓,也可接一個(gè)負(fù)電壓,它決定0至255的數(shù)字量轉(zhuǎn)化出來的模擬量電壓值的幅度,vref范圍為+10。vref端與d/a內(nèi)部t形電阻網(wǎng)絡(luò)相連。vcc:芯片供電電壓,范圍為5v15v。gnd :模擬量地/數(shù)字量地,即模擬/數(shù)字電路接地端。附a3 at89c51單片機(jī) at89c51提供以下的功能標(biāo)準(zhǔn):4k字節(jié)閃爍存儲器,128字節(jié)隨機(jī)存儲器,32個(gè)i/o口,2個(gè)16位定時(shí)/計(jì)數(shù)器,1個(gè)5向量兩級中斷結(jié)構(gòu),1個(gè)串行通信口,片內(nèi)震蕩器和時(shí)鐘電路。另外,at89c51還可以進(jìn)行0hz的靜態(tài)邏輯操作,并支持兩種軟件的節(jié)電模式。

26、8051單片機(jī)的內(nèi)部結(jié)構(gòu)十分復(fù)雜,但封裝之后,只有引腳是面向用戶的,所以使用者需要熟悉各引腳的用途。常用的8051芯片是用雙列直插40腳封裝。如圖a-3所示。圖a-3 at89c51引腳圖其各引腳功能如下所示:vcc:供電電壓。 gnd:接地。 p0口:p0口為一個(gè)8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p0口的管腳第一次寫1時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時(shí),p0口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0口外部必須被拉高。p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩

27、沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為第八位地址接收。p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門電流,當(dāng)p2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流,這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時(shí),p2口輸出其特

28、殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。p3口也可作為at89c51的一些特殊功能口,p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號。rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。ale/prog:當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6,可

29、用作對外部輸出的脈沖或用于定時(shí)目的。 :外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個(gè)機(jī)器周期兩次psen有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的信號將不出現(xiàn)。 /vpp:當(dāng)保持低電平時(shí),則在此期間外部程序存儲器(0000h-ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式1時(shí),將內(nèi)部鎖定為reset;當(dāng)端保持高電平時(shí),此間內(nèi)部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。附錄b 程序清單附b1 單片機(jī)程序代碼單片機(jī)程序代碼如下所示:積分分離pid控制算

30、法子程序:start:mov 68h,kp ;分別將kp ,ti ,td, t,送入指定的存儲單元mov 54h,ti mov 55h,tdmov 56h,tmov 57h,mov a,68h;計(jì)算ki=kp*t/ti mov 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)

31、換數(shù)據(jù)movx a,dptr;讀取adc0809的in0口轉(zhuǎn)換后的數(shù)據(jù)mov 5ch,a;將預(yù)定值數(shù)據(jù)放入指定的存儲單元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ù)放入指定的存儲單元mov a,5ch ;計(jì)算e(i),先取溫度給定值clr csubb a,50h ;溫度給定值-采樣值jnc aa0;判斷e(i)的正負(fù),如果為正,跳至aa0cpl a;e(i)為負(fù),下兩條指

32、令求補(bǔ)add a,#01h aa0mov r0,57hsubb a,57h;|e(i)|-jnc aa1;|e(i)|>跳至aa1sjmp aa2;|e(i)|<跳至aa2 aa1: lcall pd;調(diào)用pd算法 aa2: lcall pid;調(diào)用pid算法mov a,7ch;將ui通過dac0832輸出mov dptr,#7ff2hmovx dptr,ainc dptrmovx dptr,alcall delay;調(diào)用延時(shí)子程序,等待下一次采樣計(jì)算sjmp loop0;進(jìn)入下一次控制計(jì)算delay proc neardl0: mov r6,#ffhdl1: mov r7,#ff

33、hdl2: mov r5,#ffhdls: djnz r5,dlsdjnz r7,dl2djnz r6 dl1retdelay  endppid proc nearpid:mov a,5ch;計(jì)算e(i),先取溫度給定值clr csubb a,50h;溫度給定值-溫度檢測值jnc pid1;判斷e(i)正負(fù),如果為正,跳至pid1cpl a;e(i)為負(fù),下兩條指令求補(bǔ)add a,#01h setb 30h;e(i)為負(fù),符號位置1sjmp pid2pid1:clr 30h;e(i)為正,符號位置0pid2:mov 6bh,a;e(i)值存放在6bh單位元中mov r1,6bh;計(jì)算

34、ei-ei-1,先將ei值,送r1 mov c,30h;將ei的符號位值送20h位mov 20h,cmov r2,6ch;將ei-1值送r2mov c,31h;將 ei-1的符號位值送21h位mov 21h,c lcall djf;調(diào)用單字節(jié)帶符號的減法子程序mov 6eh,r3;將差值ei-ei-1送6eh單元mov c,22h;將差值ei-ei-1的符號位送33h位mov 33h,cmov r1,6ch;計(jì)算ei-1-ei-2,先將ei-1值送r1 mov c,31h;將ei-1符號位送20h位mov 20h,cmov r2,6dh;將ei-2的值送r2mov c,32h;將 ei-2的符

35、號位值送21h位mov 21h,clcall djf;調(diào)用單字節(jié)帶符號的減法子程序mov 6fh,r3;將差值ei-1-ei-2送6fh單元 mov c,22h;將差值ei-1-ei-2的符號位送34h位 mov 34h,c mov r1,6eh ;計(jì)算(ei-ei-1)-(ei-1-ei-2),將ei-ei-1值送r1 mov c,33h;將ei-ei-1符號位送20h位 mov 20h,c mov r2,6fh;將ei-1-ei-2值送r2 mov c,34h;將ei-1-ei-2符號位送21h位 mov 21h,c lcall djf;調(diào)用單字節(jié)帶符號的減法子程序 mov 70h,r3;

36、將差值(ei-ei-1)-(ei-1-ei-2)送70h單元 mov c,22h;將差值(ei-ei-1)-(ei-1-ei-2)的符號位值送 35h位 mov 35h,cmov a,68h;計(jì)算kp*(ei-ei-1),將kp值送a mov b,6eh;將ei-ei-1值送b mul ab;兩數(shù)相乘 mov 71h,b;kp*(ei-ei-1)值存71h,72h單元 mov 72h.a mov a,69h;計(jì)算ki*ei,將ki值送a mov b,6bh;將ei值送b mul ab;兩數(shù)相乘 mov 73h,b;ki*ei值存73h,74h單元 mov 74h,a mov a,6ah;計(jì)算k

37、d*(ei-ei-1)-(ei-1-ei-2),將kd送 a mov 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,a mov r1,71h;計(jì)算kp*(ei-ei-1)+ki*ei,將kp*(ei-ei-1) 值送r1,r2 mov r2,72h mov c,33h;將kp*(ei-ei-1)的符號位值送23h位 mov 23h,c mov r3,73h;將ki*ei值送r3,r4 mov r4,74h mov c,30h;將ki*ei值的符號

38、位懂24h位 mov 24h,c lcall sjf;調(diào)用雙字節(jié)帶符號加法子程序 mov 77h,r5;將kp*(ei-ei-1)+ki*ei值送77h,78h mov 78h,r6 mov c,25h;將kp*(ei-ei-1)+ki*ei值的符號位送36h位 mov 36h,c mov r1,77h;計(jì)算ui,將將kp*(ei-ei-1)+ki*ei值送r1, r2 mov r2,78h mov c,36h;將kp*(ei-ei-1)+ki*ei值的符號位送23h位 mov 23h,c mov r3,75h;將kd*(ei-ei-1)-(ei-1-ei-2)的值送r3,r4 mov r4,

39、76hmov c,35h;將kd*(ei-ei-1)-(ei-1-ei-2)的符號位送23h 位mov 24h,c lcall sjf;調(diào)用雙字節(jié)帶符號加法子程序mov 79h,r5;將ui值送79h,7ah mov 7ah,r6 mov c,25h;將ui值的符號位送37h mov 37h,c mov r1,7dh;計(jì)算ui,將ui-1值送r1,r2 mov r2,7eh clr 23h;ui-1值的符號位值恒為0 mov r3,79h;將ui值送r3,r4 mov r4,7ah mov c,37h;將ui值的符號位送24h mov 24h,c lcall sjf;調(diào)用雙字節(jié)帶符號加法子程序

40、 jnb 25h,pid3;判斷計(jì)算結(jié)果是否為負(fù) mov 7bh,#00h;如果是負(fù)數(shù),則輸出電壓為0 mov 7ch,#00h sjmp pid4 pid3:mov 7bh,r5;否則,將計(jì)算得到的ui值置7bh,7ch mov 7ch,r6 pid4:mov 6dh,6ch ;數(shù)據(jù)迭代,ei-1值送ei-2存儲單元mov 6ch,6bh;ei值送ei-1存儲單元 mov 7dh,7bh;ui值送ui-1存儲單元 mov 7eh,7ch ret pid endppd proc nearpd:mov a,5ch;計(jì)算ei,先取溫度給定值clr c subb a,50h;溫度給定值-溫度檢測值

41、jnc pd1;判斷ei正負(fù),如果為正,跳至pid1 cpl a;ei為負(fù),下兩條指令求補(bǔ) add a,#01h setb 30h;ei為負(fù),符號位置1 sjmp pd2 pd1:clr 30h;ei為正,符號位置0 pd2:mov 6bh,a;ei值存放在6bh單位元中 mov r1,6bh;計(jì)算ei-ei-1,先將ei值,送r1 mov c,30h;將ei的符號位值送20h位 mov 20h,c; mov r2,6ch;將ei-1值送r2 mov c,31h;將 ei-1的符號位值送21h位 mov 21h,c lcall djf;調(diào)用單字節(jié)帶符號的減法子程序 mov 6eh,r3;將差值

42、ei-ei-1送6eh單元 mov c,22h;將差值ei-ei-1的符號位送33h位 mov 33h,c mov r1,6ch;計(jì)算ei-1-ei-2,先將ei-1值送r1 mov c,31h;將ei-1符號位送20h位 mov 20h,c mov r2,6dh;將ei-2的值送r2 mov c,32h;將 ei-2的符號位值送21h位 mov 21h,c lcall djf;調(diào)用單字節(jié)帶符號的減法子程序 mov 6fh,r3;將差值ei-1-ei-2送6fh單元 mov c,22h;將差值ei-1-ei-2的符號位送34h位 mov 34h,c mov r1,6eh ;計(jì)算(ei-ei-1)-(ei-1-ei-2),將ei-ei-1值送r1 mov c,33h;將ei-ei-1符號位送20h位mov 20h,c mov r2,6fh;將ei-1-ei-2值送r2 mov c,34h;將ei-1-ei-2符號位送21h位 mov 21h,c lcall djf;調(diào)用單字節(jié)帶符號的減法子程序 mov 70h,r3;將差值(ei-ei-1)-(ei-1-ei-2)送70h單元 mov c,22h;將差值(ei-ei-1)-(

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論