45基于單片機(jī)的電阻爐爐溫控制系統(tǒng)
45基于單片機(jī)的電阻爐爐溫控制系統(tǒng),45,基于,單片機(jī),電阻爐,爐溫,控制系統(tǒng)
1 2 3 4 5 6ABCD654321DCBA TitleNumber RevisionSizeBDate: 6-Jun-2010 Shet of File: F:\與與\與\與.db Drawn By:D03 Q0 2D14 Q1 5D27 Q2 6D38 Q3 9D413 Q4 12D514 Q5 15D617 Q6 16D718 Q7 19LE1 74LS373A08 A17 A26 A35 A44 A53 A62A71 A823 A92 A1019 A121 CE18OE/VP20D0 9D1 10D2 1D313D4 14D5 15D6 16D7 172732AD012PA021AD113PA12AD214PA223AD315PA324AD416PA425AD517PA526AD618PA627AD719PA728PB029CE8PB130RD9PB231WR10PB332IO/M7PB43ALE1PB534PB635PB736PC037PC138PC239PC31PC42PC55815IN-026msb2-1212-220IN-1272-3192-418IN-2282-582-615IN-312-714lsb2-817IN-42EOC7 IN-53AD-A25IN-64AD-B24 AD-C23IN-75ALE2START6CLOCK10 ADC0809OE與與與與與 與與與與與MC14528 23LM31 20VR?RES1C CGNDCR12 3A74LS0與與 與與與TIL17WRP2RDALE/P P20P21與LED與LEDR130R230R32KVC與與1 23≥1A74LS021 23≥1A74LS021NPN EA/VP31 RD17WR16T0 14T1 15P101P12P123P13 4P0 39P01 38P02 37P0336P04 35P05 34P06 3P07 32P20 21P21 2P2 23P2324P24 25PSEN29ALE/P 308031P3與與與與與與與與與與與與與與目 錄第 1 章 引言.......................................................................................................................31.1 課題背景及研究意義…………………………………………………….………31.2 計算機(jī)在熱處理爐爐溫控制中的應(yīng)用………………………………….………3第 2 章 系統(tǒng)硬件設(shè)計…………………………………………….……………………82.1 溫度檢測及變送器……………………………………………………………….….82.2 控制機(jī)構(gòu)………………………………………………………………………….….92.3 A/D 轉(zhuǎn)換電路……………………………………………………………..…………102.4 溫度控制電路………………………………………………………………..……..142.5 部分接口電路…………………………………………………………………..…..16第 3 章 溫度控制的算法和程序..……………………………………………………183.1 溫度控制的算法…………………………………………………………..………..183.2 溫度控制的程序………………………………………………………..…………..20第 4 章 對于抗干擾的探究……………………………………………………….…..344.1 抗干擾的措施………………………………………………………………….…...34結(jié)束語…………………………………………………………………………………....….35致謝………………………………………………………………………………………….36參考文獻(xiàn)……………………………………………………………………….…………...37附錄 1 電路圖……………………………………………………………………………..38附錄 2 英文專業(yè)文摘及翻譯………………………………………………………….392基于單片機(jī)的電阻爐溫度控制系統(tǒng)設(shè)計摘要:主要以 51 系列單片機(jī)為核心對電阻爐爐溫進(jìn)行控制,使其溫度穩(wěn)定在某一個值上。最高溫度為 1000℃,并且有鍵盤輸入給定溫度值,由 LED 數(shù)碼管顯示溫度值的功能.關(guān)鍵詞:單片機(jī);電阻爐;溫度控制The design of temperature control system of the resistance furnace based on single chip microcomputer Abstract: Mainly with 51 series single chip microcomputer for the unit of nucleus heats to the control of The resistance furnace, the tallest temperature is 1000℃. And the temperature of keyboard input is constant, LED digitron displays the function of temperature point.Key words: single chip microcomputer; the resistance furnace; temperature control system3第一章 引言1.1 課題背景及研究意義近幾年來,在我國以信息化帶動的工業(yè)化正在蓬勃發(fā)展,溫度已成為工業(yè)對象控制中一種重要的參數(shù),特別是在冶金、化工、機(jī)械等各類工業(yè)中,廣泛使用各種加熱爐、熱處理爐、反應(yīng)爐等。由于爐子的種類及原理不同,因此所采用的加熱方法及燃料也不同,如煤氣、天然氣、油電等。對于不同生產(chǎn)情況和工藝要求下的溫度控制,所采用的加熱方式,選用的燃料,控制方案也有所不同。例如冶金、機(jī)械、食品、化工等各類工業(yè)生產(chǎn)中廣泛使用的各種加熱爐、熱處理爐、反應(yīng)爐等;燃料有煤氣、天然氣、油、電等;控制方案有直接數(shù)字控制(DDC) ,推斷控制,預(yù)測控制,模糊控制(Fuzzy) ,專家控制 (Expert Control),魯棒控制( Robust Control) ,推理控制等。隨著工業(yè)技術(shù)的不斷發(fā)展,傳統(tǒng)的控制方式以不能滿足高精度,高速度的控制要求,如溫度控制表溫度接觸器,其主要缺點是溫度波動范圍大,由于他主要通過控制接觸器的通斷時間比例來達(dá)到改變加熱功率的目的,受儀表本身誤差和交流接觸器的壽命限制,通斷頻率很低。近幾年來快速發(fā)展了多種先進(jìn)的溫度控制方式,如:PID 控制,模糊控制,神經(jīng)網(wǎng)絡(luò)及遺傳算法控制等。這些控制技術(shù)大大的提高了控制精度,不但使控制變得簡便,而且使產(chǎn)品的質(zhì)量更好,降低了產(chǎn)品的成本,提高了生產(chǎn)效率。單片微型計算機(jī)的功能不斷的增強(qiáng),為先進(jìn)的控制算法提供的載體,許多高性能的新型機(jī)種應(yīng)運而生。單片機(jī)以其功能強(qiáng)、體積小、可靠性高、造價低和開發(fā)周期短等優(yōu)點,成為自動化領(lǐng)域和其他測控領(lǐng)域中廣泛應(yīng)用的器件,在工業(yè)生產(chǎn)中成為必不可少的器件。在溫度控制系統(tǒng)中,單片機(jī)更是起到了不可替代的核心作用。像用于熱處理的加熱爐、用于融化金屬的坩鍋電阻爐等類似工業(yè)用加熱爐中都可以廣泛應(yīng)用,隨著生產(chǎn)的發(fā)展,在工業(yè)中,一些設(shè)備對溫度的控制要求越來越高,而本文則以單片機(jī)為核心、PID 算法為控制方式而設(shè)計的電阻爐溫度控制系統(tǒng)。1.2 計算機(jī)在爐溫控制中的應(yīng)用以前,人們是通過模擬儀表對爐溫進(jìn)行控制,采用人工手動操作,依據(jù)個人的工作經(jīng)驗和控制系統(tǒng)返回的數(shù)據(jù)來調(diào)節(jié)相應(yīng)的設(shè)備,控制效果不太理想,生產(chǎn)也不穩(wěn)定。到了 50 年代,隨著計算機(jī)的出現(xiàn),人們開始在工廠、實驗室或其它測試環(huán)境中用計算機(jī)進(jìn)行數(shù)據(jù)采集和處理。此時的計算機(jī)只起到 “離線”的應(yīng)用,且計算機(jī)與過程裝置4之間沒有任何物理上的連接。隨著計算機(jī)技術(shù)的進(jìn)一步發(fā)展,提供了計算機(jī)與過程裝置之間的接口,人們開始用直接連接方法,使計算機(jī)與變送器和執(zhí)行部件之間的信號雙向傳遞無需人工干涉。1962 年,英國帝國工業(yè)公司安裝了 Ferranti Argus 計算機(jī)控制系統(tǒng),替代全部模擬控制儀表,即模擬技術(shù)由數(shù)字技術(shù)代替,而系統(tǒng)功能保持不變,計算機(jī)控制系統(tǒng)應(yīng)用真正開始,經(jīng)歷多年研究和改進(jìn),到 70 年代中期進(jìn)入了集散控制系統(tǒng)的發(fā)展時期,爐溫控制也隨之進(jìn)步,方式不斷更新,算法也不斷深入 技術(shù)日益成熟。一般來說,計算機(jī)對爐溫控制大致采用以「四種方式」1.計算機(jī)采集和處理系統(tǒng)(data acquisition system, DAS)計算機(jī)采集和處理系統(tǒng)是以計算機(jī)為核心對生產(chǎn)過程進(jìn)行智能化,全工況開環(huán)監(jiān)視系統(tǒng)。其主要功能包括:信息輸入,信息處理,報警處理,人機(jī)聯(lián)系與信息輸出等。其系統(tǒng)構(gòu)成如圖 1-1 所示,計算機(jī)系統(tǒng)對生產(chǎn)過程的溫度參數(shù)進(jìn)行采集,并對信號進(jìn)行轉(zhuǎn)換,計算機(jī)對內(nèi)部信息進(jìn)行定期計算和處理。圖 1-1 計算機(jī)采樣處理系統(tǒng)結(jié)構(gòu)圖2 直接數(shù)字控制系統(tǒng)(direct digital control, DDC)直接數(shù)字控制由計算機(jī)直接對生產(chǎn)過程進(jìn)行控制,計算機(jī)取代模擬調(diào)節(jié)器作為生產(chǎn)過程控制裝置,計算機(jī)按控制規(guī)律進(jìn)行數(shù)值計算,并經(jīng)過輸出通道(D/A)直接控制生產(chǎn)過程。直接數(shù)字控制系統(tǒng)實質(zhì)上是單回路或多回路的數(shù)字調(diào)節(jié)裝置,它以工控機(jī)為核心,加上過程輸入、輸出通道,與被控對象一起構(gòu)成閉環(huán)控制系統(tǒng)。它還具有巡回檢測的全部功能,可以顯示參數(shù)值,打印報表,并能進(jìn)行越限報警和故障自診。(如圖1-2 所示 )被控對象控制儀表檢測A/D轉(zhuǎn)換計算機(jī)數(shù)碼 LED 顯示事故報警打印機(jī)音響燈光報警人5圖 1-2 直接數(shù)字控制系統(tǒng)結(jié)構(gòu)圖3 計算機(jī)監(jiān)督控制系統(tǒng)(supervisory computer control, SCC)由計算機(jī)根據(jù)生產(chǎn)過程工藝參數(shù)和數(shù)學(xué)模型,計算出最佳設(shè)定值和相應(yīng)的控制指令,送給模擬調(diào)節(jié)器或 DDC 計算機(jī),由模擬調(diào)節(jié)器或 DDC 計算機(jī)控制生產(chǎn)過程,使其處于最優(yōu)工況。其系統(tǒng)框圖如 1-3 所示。圖 1-3 計算機(jī)監(jiān)督控制系統(tǒng)結(jié)構(gòu)圖6SCC 系統(tǒng)不僅可以進(jìn)行給定值控制,同時還可以進(jìn)行順序控制,最優(yōu)控制及自適應(yīng)控制,它是 DAS 和 DDC 系統(tǒng)的綜合和發(fā)展。SCC 系統(tǒng)按結(jié)構(gòu)分為兩種,一種是SCC 加模擬調(diào)節(jié)器,另一種是 SCC+DDC 控制系統(tǒng),模擬或 DDC 系統(tǒng)擔(dān)負(fù)第一級控制功能,監(jiān)督計算機(jī)作為的二級控制系統(tǒng),通過對子回路裝置的切除或投入,對子回路狀態(tài)及控制效果的監(jiān)視,對最佳設(shè)定值進(jìn)行計算與設(shè)置,使生產(chǎn)過程能在協(xié)調(diào)或最優(yōu)化的程度上達(dá)到要求的性能指標(biāo)。監(jiān)督計算機(jī)可僅完成最優(yōu)工況計算,不直接參與過程控制,在有的系統(tǒng)中,它本身也具備直接數(shù)字控制功能,當(dāng)監(jiān)督計算機(jī)發(fā)生故障時,直接數(shù)字控制或模擬調(diào)節(jié)器可獨立完成操作,而在模擬調(diào)節(jié)器等發(fā)生故障時,則可由監(jiān)督計算機(jī)執(zhí)行部分功能。4.集散控制系統(tǒng)(distributed control)集散控制即分散控制,信息集中管理的分布控制系統(tǒng)。它是計算機(jī)技術(shù),控制技術(shù),通信技術(shù)和 CRT 技術(shù)相結(jié)合的產(chǎn)物。集散控制是以微處理機(jī)為核心,把微型計算機(jī),工業(yè)控制機(jī),數(shù)據(jù)通訊系統(tǒng),顯示操作裝置,過程通道,模擬儀表等有機(jī)的結(jié)合起來,采用組合組裝式組成系統(tǒng)。為每個被控對象配備一套下位機(jī)控制設(shè)備,置于現(xiàn)場,用于對每個被控對象的數(shù)據(jù)采集和控制。總體配備一臺 1_控機(jī)作為上位機(jī),置于控制室內(nèi),對現(xiàn)場每個被控對象進(jìn)行命令下達(dá),組織和處理數(shù)據(jù)信息,集中管理整個系統(tǒng)。此種方式能夠?qū)崿F(xiàn)工程系統(tǒng)的最優(yōu)控制,使生產(chǎn)過程能長期在最佳狀態(tài)下進(jìn)行,且具有較高的可靠性,提高了系統(tǒng)的功能和效率,另外它的軟件和硬件采用模塊化結(jié)構(gòu),使用維護(hù)方便,系統(tǒng)易開發(fā),易擴(kuò)展,有利于分批投資逐步擴(kuò)展;如果采用 CRT 操作站會有良好的人機(jī)交互接口;數(shù)據(jù)的高速傳輸,設(shè)備、通信,配線的費用低廉。性能價格比較好。( 其系統(tǒng)框圖見圖 1-4)近年來,由工控機(jī) (或 PC 機(jī))和多臺單片機(jī)或 PLC 構(gòu)成的集散測控系統(tǒng)已廣泛用于工業(yè)自動化控制中。它既利用了單片機(jī)和 PLC 價格低、功能強(qiáng)、可靠性高的優(yōu)點 構(gòu)建適宜于工業(yè)現(xiàn)場的監(jiān)控站或下位機(jī),又結(jié)合 PC 機(jī)豐富的軟硬件資源,提供管理功能強(qiáng)大、人機(jī)界面友好的操作平臺,實現(xiàn)了信息集中管理、過程分散控制的有機(jī)結(jié)合。7圖 1-4 集散系統(tǒng)控制結(jié)構(gòu)圖從溫度控制系統(tǒng)的發(fā)展來看,以單片機(jī)為核心構(gòu)成的溫度控制系統(tǒng)己被國內(nèi)外許多公司和單位作為研究對象,單片機(jī)溫度控制裝置硬件簡單,軟件豐富,能方便地實現(xiàn)現(xiàn)代化控制規(guī)律和多種功能,性能優(yōu)良,運行、調(diào)試都非常方便,且生產(chǎn)成本低,可加快生產(chǎn)設(shè)備的更新?lián)Q代,己開始受到重視和歡迎。加之近年來,單片機(jī)的性能不斷提高,而價格卻逐年降低,所以單片機(jī)溫度控制裝置將具有廣闊的發(fā)展和運用前景。8第二章 系統(tǒng)硬件設(shè)計溫度測控系統(tǒng)硬件結(jié)構(gòu)圖如圖 2-1 所示 。圖 2-1 系統(tǒng)硬件結(jié)構(gòu)圖 系統(tǒng)的工作過程 :溫度檢測及變換電路把溫度轉(zhuǎn)換成電壓信號,經(jīng) A/D 轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號送人 8031 單片機(jī)中,并與給定值(對應(yīng)著所要控制的溫度值)進(jìn)行比較,其偏差被 PID 程序計算出輸出控制量,由 P1.3 口輸出脈沖信號控制雙向可控硅的導(dǎo)通,以實現(xiàn)對電爐輸出有效功率的調(diào)節(jié)。 現(xiàn)對各部分主要電路作介紹。2.1 溫度檢測和變送器溫度檢測元件和變送器的類型選擇和被控溫度及其精度等級有關(guān),選用鎳鉻一鎳鋁熱電偶作為溫度傳感器,測量溫度范圍 0-1000℃,相應(yīng)輸出電壓為 0mV-41.32mV。變送器由毫伏變送器和電流/電壓變送器組成:毫伏變送器用于將熱電偶輸出的 0-41.32mV 的電壓變化成 0-10Ma 范圍內(nèi)的電流,電流/電壓變送器負(fù)責(zé)將毫伏變送器輸出的 0-10mA 電流變換成為 0-5v 范圍內(nèi)的電壓。 (ADC0809 的限定電壓為 0-5v)為了提高測量精度,變送器可以進(jìn)行零點遷移。例如:如果溫度測量范圍為 400℃-1000℃,則熱電偶輸出為 16.4Mv-41.32Mv,毫伏變送器零點遷移后輸出 0-10mA 范圍內(nèi)的電流。這樣采用 ADC0809 這個 8 位的 A/D 轉(zhuǎn)換器就能是量化溫度誤差達(dá)到正負(fù) 2.34以內(nèi)92.2 控制機(jī)構(gòu)本設(shè)計采用8031單片機(jī)作為控制機(jī)構(gòu)的核心。8031是一種速度快,功耗大的TTL型8位單片機(jī)。它片內(nèi)無ROM,片內(nèi)RAM容量為128B,最高頻率為24MHz ,小巧,價格便宜,且在中國市場最常見,應(yīng)用最廣泛。8031單片機(jī)采用40條引腳雙列直插封裝(DIP)形式。由于受引腳數(shù)目的限制,所以有一些引腳具有第二功能。在單片機(jī)的40條引腳中,有兩條專用于主電源的引腳,2條外接晶體的引腳,四條控制禾其他電源復(fù)用的引腳,32條輸入/輸出引腳。下面分別說明這些引腳的名稱和功能。(1)主電源引腳V cc和V ssVcc:接+5V電源。Vss:接電源地。(2)時鐘電路引腳XTAL1和XTAL2XTAL1:接外部晶體的一端。在單片機(jī)內(nèi)部,它是反向放大器的輸入端,該放大器構(gòu)成了片內(nèi)振蕩器。在采用外部時鐘電路時,對于HMOS單片機(jī),此引腳必須接地;對CHMOS單片機(jī),此引腳作為驅(qū)動端。XTAL2:接外部晶體的另一端。在單片機(jī)內(nèi)部,接至上述振蕩器的反向放大器的輸出端,振蕩器的頻率時晶體振蕩頻率。如采用外部時鐘電路時,對于HMOS單片機(jī),該引腳輸入外面時鐘脈沖;對于CHMOS單片機(jī),此引腳懸空。(3)控制信號引腳RST/V PD、ALE/PROG、PSEN和EA/V PPRST/VPD復(fù)位/備用電源輸入端。ALE/PROG:地址鎖存使能輸出/編程脈沖輸入端。PSEN:外部程序庫存儲器讀選通信號。EA/VPP:外部訪問允許/編程電源輸入端。(4)輸入/輸出(I/O) 引腳 P0、P1、P2 和P3P0.0~P0.7:P0使一個8位雙向I/O端口。在訪問片外存儲器時,它分時提供低8位地址和作8位雙向數(shù)據(jù)總線。P1.0~1.7:P1口是8位準(zhǔn)雙向 I/O端口。在EPROM編程和程序驗證時,它輸入低8位地址。P1口能驅(qū)動 4個LSTTL負(fù)載。P2.0~P2.7:P2口是一個準(zhǔn)雙向I/O端口。在CPU訪問外部存儲器時,它輸出高8位地址。在對EPROM編程和程序驗證時,它輸入高8位地址。P2口可驅(qū)動4個LSTTL負(fù)載。P3.0~P3.7:P3口是八位準(zhǔn)雙向I/O端口。它是一個復(fù)用功能口。作為第一功能使用時,為普通I/O 口,其功能和操作方法與P1相同。作為第二功能使用時,個引腳的定義如表1。實際在使用時,總是先按需要優(yōu)先選用它的第二功能,剩下不用的才作為第一功能10口線使用。P3 口能驅(qū)動4個 LSTTL負(fù)載。表1 P3個口線的第二功能表口線 第二功能P3.0 RXD (串行口輸入)P3.1 TXD (串行口輸出)P3.2 INT0 (外部中斷 0輸入)P3.3 INT1 (外部中斷 1輸入)P3.4 T0 (定時器0的外部輸入)P3.5 T1 (定時器1的外部輸入)P3.6 WR (外部數(shù)據(jù)存儲器“寫”信號輸出)P3.7 RD (外部數(shù)據(jù)存儲器“讀”信號輸出) 2.3 A/D轉(zhuǎn)換電路 選用A/D轉(zhuǎn)換器ADC0809.A/D 轉(zhuǎn)換器芯片 ADC0809 簡介 8 路模擬信號的分時采集,片內(nèi)有 8 路模擬選通開關(guān),以及相應(yīng)的通道抵制鎖存用譯碼電路,其轉(zhuǎn)換時間為 100μs 左右。圖 2-2 《ADC0809 引腳圖》(一) ADC0809 的內(nèi)部結(jié)構(gòu)ADC0809 的內(nèi)部邏輯結(jié)構(gòu)圖如圖 2-3 所示。11圖 2-3 《ADC0809 內(nèi)部邏輯結(jié)構(gòu)》圖中多路開關(guān)可選通 8 個模擬通道,允許 8 路模擬量分時輸入,共用一個 A/D 轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換,這是一種經(jīng)濟(jì)的多路數(shù)據(jù)采集方法。地址鎖存與譯碼電路完成對 A、B、C 3 個地址位進(jìn)行鎖存和譯碼,其譯碼輸出用于通道選擇,其轉(zhuǎn)換結(jié)果通過三態(tài)輸出鎖存器存放、輸出,因此可以直接與系統(tǒng)數(shù)據(jù)總線相連,下圖為通道選擇表。 圖 2-4 通道選擇示意圖(二) .信號引腳ADC0809 芯片為 28 引腳為雙列直插式封裝,其引腳排列見圖 2-2。對 ADC0809 主要信號引腳的功能說明如下:IN7~I(xiàn)N0——模擬量輸入通道ALE——地址鎖存允許信號。對應(yīng) ALE 上跳沿,A、B、C 地址狀態(tài)送入地址鎖存器中。12START——轉(zhuǎn)換啟動信號。START 上升沿時,復(fù)位 ADC0809;START 下降沿時啟動芯片,開始進(jìn)行 A/D 轉(zhuǎn)換;在 A/D 轉(zhuǎn)換期間,START 應(yīng)保持 低電平。本信號有時簡寫為 ST.A、B、C——地址線。 通道端口選擇線,A 為低地址,C 為高地址,引腳圖中為ADDA,ADDB 和 ADDC。CLK——時鐘信號。ADC0809 的內(nèi)部沒有時鐘電路,所需時鐘信號由外界提供,因此有時鐘信號引腳。通常使用頻率為 500KHz 的時鐘信號EOC——轉(zhuǎn)換結(jié)束信號。EOC=0,正在進(jìn)行轉(zhuǎn)換;EOC=1,轉(zhuǎn)換結(jié)束。使用中該狀態(tài)信號即可作為查詢的狀態(tài)標(biāo)志,又可作為中斷請求信號使用。D7~D0——數(shù)據(jù)輸出線。為三態(tài)緩沖輸出形式,可以和單片機(jī)的數(shù)據(jù)線直接相連。D0為最低位,D7 為最高 OE——輸出允許信號。用于控制三態(tài)輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=0,輸出數(shù)據(jù)線呈高阻;OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù)。Vcc—— +5V 電源。 Vref——參考電源參考電壓用來與輸入的模擬信號進(jìn)行比較,作為逐次逼近的基準(zhǔn)。其典型值為+5V(Vref(+)=+5V, Vref(-)=-5V).(三). 轉(zhuǎn)換數(shù)據(jù)的傳送A/D 轉(zhuǎn)換后得到的數(shù)據(jù)應(yīng)及時傳送給單片機(jī)進(jìn)行處理。數(shù)據(jù)傳送的關(guān)鍵問題是如何確認(rèn)A/D 轉(zhuǎn)換的完成,因為只有確認(rèn)完成后,才能進(jìn)行傳送。為此可采用下述三種方式。A.定時傳送方式對于一種 A/D 轉(zhuǎn)換其來說,轉(zhuǎn)換時間作為一項技術(shù)指標(biāo)是已知的和固定的。例如ADC0809 轉(zhuǎn)換時間為 128μs,相當(dāng)于 6MHz 的 MCS-51 單片機(jī)共 64 個機(jī)器周期??蓳?jù)此設(shè)計一個延時子程序,A/D 轉(zhuǎn)換啟動后即調(diào)用此子程序,延遲時間一到,轉(zhuǎn)換肯定已經(jīng)完成了,接著就可進(jìn)行數(shù)據(jù)傳送。B.查詢方式A/D 轉(zhuǎn)換芯片由表明轉(zhuǎn)換完成的狀態(tài)信號,例如 ADC0809 的 EOC 端。因此可以用查詢方式,測試 EOC 的狀態(tài),即可卻只轉(zhuǎn)換是否完成,并接著進(jìn)行數(shù)據(jù)傳送。C.中斷方式把表明轉(zhuǎn)換完成的狀態(tài)信號(EOC)作為中斷請求信號,以中斷方式進(jìn)行數(shù)據(jù)傳送。不管使用上述那種方式,只要一旦確定轉(zhuǎn)換完成,即可通過指令進(jìn)行數(shù)據(jù)傳送。首先送出口地址并以信號有效時,OE 信號即有效,把轉(zhuǎn)換數(shù)據(jù)送上數(shù)據(jù)總線,供單片機(jī)接受。不管使用上述那種方式,只要一旦確認(rèn)轉(zhuǎn)換結(jié)束,便可通過指令進(jìn)行數(shù)據(jù)傳送。所用的指令為 MOVX 讀指令,則有MOV DPTR , #FE00HMOVX A , @DPTR13該指令在送出有效口地址的同時,發(fā)出有效信號,使 0809 的輸出允許信號 OE 有效,從而打開三態(tài)門輸出,是轉(zhuǎn)換后的數(shù)據(jù)通過數(shù)據(jù)總線送入 A 累加器中。這里需要說明的示,ADC0809 的三個地址端 A、B、C 即可如前所述與地址線相連,也可與數(shù)據(jù)線相連,例如與 D0~D2 相連。這是啟動 A/D 轉(zhuǎn)換的指令與上述類似,只不過 A的內(nèi)容不能為任意數(shù),而必須和所選輸入通道號 IN0~I(xiàn)N7 相一致。例如當(dāng) A、B、C 分別與 D0、D1、D2 相連時,啟動 IN7 的 A/D 轉(zhuǎn)換指令如下:MOV DPTR, #FE00H ;送入 0809 的口地址MOV A ,#07H ;D2D1D0=111 選擇 IN7 通道MOVX @DPTR, A ;啟動 A/D 轉(zhuǎn)換(四) MCS-51 單片機(jī)與 ADC0809 的接口ADC0809 與 MCS-51 單片機(jī)的連接如圖 2-5 所示。電路連接主要涉及兩個問題。一是 8 路模擬信號通道的選擇,二是 A/D 轉(zhuǎn)換完成后轉(zhuǎn)換數(shù)據(jù)的傳送。圖 2-5 ADC0809 與 MCS-51 的連接如圖 2-6 所示模擬通道選擇信號 A、B、C 分別接最低三位地址 A0、A1、A2 即(P0.0、P0.1、P0.2) ,而地址鎖存允許信號 ALE 由 P2.0 控制,則 8 路模擬通道的地址為 0FEF8H~0FEFFH.此外,通道地址選擇以作寫選通信號,這一部分電路連接如圖2-7 所示。14圖 2-6 ADC0809 的部分信號連接 圖 2-7 信號的時間配合ADC0809 的 0 通道和變送器的輸出端相連,所以從通道 0(IN0)上輸入的 0V--+5V范圍的模擬電壓經(jīng) A/D 轉(zhuǎn)換后可由 8031 通過程序從 P0 口輸入到它的內(nèi)部 RAM 單元,在 P2.2=0 和 WR=0 時,8031 可使 ALE 和 START 變?yōu)楦唠娖蕉鴨?ADC0809 工作;在 P2.2=0 和 RD=0 時,8031 可以從 ADC0809 接收 A/D 轉(zhuǎn)換后的數(shù)字量。也就是說ADC0809 可以視為 8031 的一個外部 RAM 單元,地址為 03F8H(地址重復(fù)范圍很大) ,因此,8031 執(zhí)行如下程序可以啟動 ADC0809 工作。 MOV DPTR, #03F8HMOVX @DPTR,A若 8031 執(zhí)行下列程序:MOV DPTR, #03F8HMOVX A,@DPTR則可以從 ADC0809 輸入 A/D 轉(zhuǎn)換后的數(shù)字量2.4 溫度控制電路8031對溫度的控制是通過可控硅調(diào)功器電路實現(xiàn)的。如圖2-8所示。雙向可控硅管和加熱絲串接在交流220V、50H Z交流市電回路。在給定周期T內(nèi),8031只要改變可控硅15管的接通時間便可改變加熱絲功率,以達(dá)到調(diào)節(jié)溫度的目的。圖2-8示出了可控硅管在給定周期T內(nèi)具有不同接通時間的情況。顯然,可控硅在給定周期T的100%時間內(nèi)接通時的功率最大。U12.5% tu25%tu50%tu100% t 圖2-8可控硅調(diào)功器輸出功率和通斷時間的關(guān)系可控硅接通時間可以通過可控硅控制硅控制極上觸發(fā)脈沖控制。該觸發(fā)脈沖由8031用軟件在P 1.3引腳上產(chǎn)生,受過零同步脈沖同步后經(jīng)光耦管和驅(qū)動器輸出送到可控硅的控制極上。過零同步脈沖是一種50Hz交流電壓過零時刻的脈沖,可使可控硅在交流電壓正弦渡過零時觸發(fā)通導(dǎo)。過零同步脈沖由過零觸發(fā)電路產(chǎn)生,更為詳細(xì)的電路原理圖如圖5所示。圖中,電壓比較器LM311用于把50Hz正弦交流電壓變成方波。方波的正邊沿和負(fù)邊沿分別作為兩個單穩(wěn)態(tài)觸發(fā)器的輸入觸發(fā)信號,單穩(wěn)態(tài)觸發(fā)器輸出的兩個窄脈沖經(jīng)二極管或門混合后就可得到對應(yīng)于交流220V市電的過零同步脈沖。此脈沖一方面作為可控硅的觸發(fā)同步脈沖加到溫度控制電路,另一方面作為計數(shù)脈沖加到8031的T0和16T1端。112233445566D DC CB BA ATitleNumber RevisionSizeBDate: 2007-5-23 Sheet of File: D:\protel\與與Sheet1.SCHDOC Drawn By:LM311+5VMC14528411 Q1Q2C?+5V74LS00P1.3220V+12V+5V圖2-9 過零觸發(fā)電路2.5 部分接口電路8031的接口電路有8155、2731和ADC0809等芯片。8155用于鍵盤/LED顯示器接口,2732可以作為8031的外部ROM存儲器,ADC0809為溫度測量電路的輸入接口。由圖2-6可見,在P2.0=0P2.1=0時,8155選中它內(nèi)部的RAM工作;在P2.0=1和P2.2=0時,8155 選中片內(nèi)三個 I/O端口。相應(yīng)地址分配為:0000H-00FFH 8155內(nèi)部RAM0100H 命令/狀態(tài)口0101H A口0102H B口0103H C口0104H 定時器低8位口0105H 定時器高8位口2732是4KB EPROM型器件。8031的P SEN和2732 的OE相接,P2.4和CE相連,故2732的地址空間為:0000H-0FFFHP1.0-P1.2引腳用于報警,可以和報警電路相連。17圖2-10 顯示器和鍵盤電路PBPBPBPB01234567PAPAPAPA01234567abcdefdp1AAAAA26345781AAAAA26345786134578YYYY26134578YYYY2 g+5V+5V RESETCEIO/MWRRDALEPALERDWRPPBIC87185.1K 4+5V+5V10 8+5VVCVCGGNDG81502.72.00~20μ F1K8031 1BIC8788023PCPCDD7Ω×0 1 2 3 4 5 6 78 9 101 12 1314151617 18 1920 212 2324 25262728 293031Ω×18第三章 溫度控制的算法和程序3.1 溫度控制的算法溫度控制系統(tǒng)要求較高時,常常采樣有源校正環(huán)節(jié)。有源校正環(huán)節(jié)一般是有運算放大器和電阻、電容組成的反饋網(wǎng)絡(luò)連節(jié)而成,被廣泛地用于工程控制系統(tǒng)中,常常被稱為調(diào)節(jié)器。其中,按偏差的比例(proportional) 、積分(Integral )和微分(Derivative)進(jìn)行控制的PID調(diào)節(jié)器是應(yīng)用最為廣泛的一種調(diào)節(jié)器。PID調(diào)節(jié)器已經(jīng)形成了典型結(jié)構(gòu),其參數(shù)整定方便,結(jié)構(gòu)改變靈活(P 、PI 、PD、PID等) ,在許多工業(yè)過程控制中獲得良好的效果。對于那些數(shù)學(xué)模型不易精確求得、參數(shù)變化較大的被控對象,采樣PID調(diào)節(jié)器也往往能得到滿意的控制效果。PID控制在經(jīng)典控制理論中技術(shù)成熟,自20世紀(jì)30年代末出現(xiàn)模擬式PID調(diào)節(jié)器,自今仍在非常廣泛的應(yīng)用。今天,隨著計算機(jī)技術(shù)的迅速發(fā)展,用計算機(jī)算法代替模擬式PID 調(diào)節(jié)器,實現(xiàn)數(shù)字PID控制,使其控制作用更靈活、更易于改進(jìn)和完善。通常,電阻爐爐溫控制采用偏差控制法。偏差控制的原理是先求出實測爐溫對所需爐溫的偏差值,然后對偏差值處理而獲得控制信號去調(diào)節(jié)電阻爐的加熱功率,以實現(xiàn)對爐溫的控制。控制論告訴我們,PID控制的理想微分方程為:1()()[()()]0tdetUtKeTpi???(3.1)式中,e(t)=r(t)-y(t) 稱為偏差值,可作為溫度調(diào)節(jié)器的輸入信號,其中r(t)為給定值,y(t)為被測變量值;Kp為比例系數(shù);T d為積分時間常數(shù);u(t)為調(diào)節(jié)器的輸出控制電壓信號。但計算機(jī)只能處理數(shù)學(xué)信號,故上述數(shù)學(xué)方程必須加以變換。若設(shè)溫度的采樣周期為T,第 n次采樣得到的輸入偏差為e n,調(diào)節(jié)器輸出為U n,則有:(微分用差分代替)1()dt??19(積分用求和代替)0()nKted????這樣,式(3.1)便可改寫為: 101[]nnnpkdieUT???(3.2)寫成遞推形式為:[(2)11Keeenpnni????0( ]kdiT????1112[()]npnnniUee?????改寫成: (){()()[()2]}1PIDIDKEKEn????(3.3)203.2 溫度控制程序溫度控制程序的設(shè)計應(yīng)考慮如下問題:(1)鍵盤掃描,鍵碼識別和溫度顯示;(2)爐溫采樣,數(shù)字濾波;(3)數(shù)據(jù)處理時把所有數(shù)按定點純小數(shù)補(bǔ)碼形式轉(zhuǎn)換,然后把8位溫度采樣值、U min和U max都變成16位參加運算,運算結(jié)果取8位有效值;(4)越限報警和處理;(5)PID計算,溫度表度轉(zhuǎn)換。通常,符合上述功能的溫度控制程序由主程序和T 0中斷服務(wù)程序組成,現(xiàn)分述如下:(1)主程序主程序應(yīng)包括8031本身的初始化等等。為簡化起見,本程序只給出有關(guān)標(biāo)志,暫存單元和顯示緩沖區(qū)清零、T 0初始化、開CPU中斷。溫度顯示和鍵盤掃描等程序。相應(yīng)程序框圖如同3-4所示。程序清單為:ORG 0100HDISM0 DATA 78HDISM1 DATA 79H DISM2 DATA 7AHDISM3 DATA 7BHDISM4 DATA 7CH 圖3-1 T1 中斷服務(wù)程序DISM5 DATA 7DHMOVE SP, #50H ; 50H送SPCLR 5EH ; 清本次越限標(biāo)志CLR 5FH ; 清上次越限標(biāo)志CLR A ; 清累加器AMOV 2FH, A ; MOV 30H, A ; MOV 3BH, A ; MOV 3CH, A ; 清暫存單元設(shè)定堆棧指針清標(biāo)志和暫存單元清顯示緩沖器區(qū)T0 初始開 CPU中斷掃描鍵盤溫度顯示T1 中斷程序清標(biāo)志 D5H停止輸出返回21MOV 3DH, A ;MOV 3EH, A ;MOV 44H, A ;圖3-2 主程序流程圖MOV DISM0, A ; MOV DISM1, A ; MOV DISM2, A ;MOV DISM3, A ; 清顯示緩沖區(qū)MOV DISM4, A ; MOV DISM5, A ;MOV TMOD, #56H ; 設(shè)T0為計數(shù)器方式2;T1為方式1MOV TL0, #06H; T0賦初值 MOV TH0, #06H;CLR PT0 ; 令T0為低中斷優(yōu)先級 SETB TR0 ; 啟動T0工作 SETB ET0 ; 允許T0中斷SETB EA ; 開CPU中斷LOOP: ACALL DISPLY ; 調(diào)用顯示程序ACALL SCAN ; 調(diào)用掃描程序AJMP LOOP ; 等待中斷(2) T0中斷服務(wù)程序CT0T0中斷服務(wù)程序是溫度控制系統(tǒng)的主體程序,用于啟動A/D 轉(zhuǎn)換,讀入采樣數(shù)據(jù)、數(shù)字濾波、越限溫度報警和越限處理、PID計算和輸出可控硅的同步觸發(fā)脈沖等。P1.3引腳上輸出的該同步觸發(fā)脈沖寬度由T1計算器的溢出中斷控制, 8031利用T1 溢出中斷空隙時間(形成P1.3 輸出脈沖頂寬)完成把本次采樣值轉(zhuǎn)換成顯示值而放入顯示緩沖區(qū)和調(diào)用溫度顯示程序。8031從T1中斷服務(wù)程序返回后便可恢復(fù)現(xiàn)場和返回主程序,以等待下次T0中斷。在T0 中斷服務(wù)程序中,還需要用到一系列子程序。例如:采樣溫度值的子程序、數(shù)字濾波子程序、越限處理程序、PID計算程序、標(biāo)度轉(zhuǎn)換程序和溫度顯示程序。在PID計算程序中,也需要用到雙字節(jié)家法子程序、雙字節(jié)帶符號數(shù)乘法子程序等。T0中斷服務(wù)程序框圖如圖3-3所示。22YNYN NYN NYNYYN保護(hù)現(xiàn)場Ui(K)=Umax?采樣爐溫數(shù)字濾波boUi(K) >Umax?清上次越限標(biāo)志恢復(fù)現(xiàn)場溫度顯示溫度標(biāo)度轉(zhuǎn)換初始化從 P1.3 輸出求補(bǔ)計算 PID求補(bǔ)取最大 PID 值輸出下限報警越限計算器加 1Ui(K)=Umin?Ui(K)>Umax?上次越限越限 N 次?(D5H)=1?上限報警清越限標(biāo)志恢復(fù)現(xiàn)場返回上限處理本次越限標(biāo)志送5FH 清零 5EH 單元置本次越限標(biāo)志23圖3-3 T0中斷服務(wù)程序流程圖CPU內(nèi)部RAM 中有關(guān)參數(shù)的分配列出如圖 3-4。相應(yīng)程序清單為:ORG 000BHAJMP CT0CT0: PUSH ACC ;保護(hù)現(xiàn)場PUSH DPL ;保護(hù)現(xiàn)場PUSH DPH ;保護(hù)現(xiàn)場SETB D5H ;置標(biāo)志ACALL SAMP ;調(diào)用采樣子程序ACALL FILTER ;調(diào)用數(shù)學(xué)濾波程序CJNE A,42H,TPL ;若Ui(K)?。経max,則TPL WL: MOV C,5EH ; (5EH)送5FHMOV 5FH,C ;CLR 5EH ;清5EH單元ACALL UPL ;轉(zhuǎn)上限處理程序POP DPH ;POP DPL ;POP ACC ;RETI ;中斷返回TPL: JNC TPL1 ;若Ui(K)>Umaz,則 TPL1CLR 5FH ;清上次越限標(biāo)志CJNE A,43H,MTPL ;若Ui(K)!=Umax,則MTPLHAT: SETB P1.1 ;若溫度不越限,則令綠燈亮ACALL PID ;調(diào)用計算PID子程序MOV A,2FH ;PID值送ACPL A ; 對PID值求補(bǔ),作為TL1值INC A ;NM: SETB P1.3 ;令P1.3輸出高電平脈沖MOV TL1,A ; T1賦初值MOV TH1,#0FFH SETB PT1 ;T1高優(yōu)先中斷SETB TR1 ;啟動T1返回24SETB ET1 ;允許T1 中斷ACALL TRAST ;調(diào)用標(biāo)度轉(zhuǎn)換程序LOOP: ACALL DISPLY ;顯示溫度JB D5H,LOOP ;等待T1中斷POP DPH ; POP DPL ; 恢復(fù)現(xiàn)場POP ACC ;RETI ;中斷返回MTPL: JNC HAT ;若Ui(K)>Umin,則HATSETB P1.0 ;否則,越下限聲光報警MOV A,45H ;取PID最大值輸出CPL A ; 取PID值求補(bǔ),作為TL1INC A ;AJMP NM ;轉(zhuǎn)NM執(zhí)行TPL1: SETB 5EH ;若Ui(K)>Umax,則5EH單元置位JNB 5FH,WL ;若上次未越限,則轉(zhuǎn) WLINC 44H ;越限計算器加“1”MOV A,44H ;CLR C ;SUBB A,#N ;越限N 次嗎?JNZ WL ;越限小于N次,則 WLSETB P1.2 ;否則,越上限聲光報警CLR 5EH ; CLR 5FH ; 清越限標(biāo)志POP DPH ; POP DPL ; 恢復(fù)現(xiàn)場POP ACC ;RETI ;中斷返回(2)T1中斷服務(wù)程序:ORG 001BHAJMP CTA CT1: CLR D5H ;清標(biāo)志CLR P1.3 ;令P1.3 變?yōu)榈碗娖絉ETI ;中斷返回25(3)子程序1、采樣子程序SAMP:SAMP子程序流程圖如圖 3-5所示,子程序清單如下。SAMP: MOV R0, #2CH ;采樣值始址送R0SAM1: MOV ADCON,#08H ;啟動A/D 轉(zhuǎn)換MOV R3,#20H ;DLY : DJNZ R3,DLY ;延時ADLOOP:MOV A,ADCON ;讀ADCON狀態(tài)JNB ACC.4,ADLOOP ;等待A/D完成MOV ADCON,#00H ;舍去10位數(shù)字量中低 2位MOV A,ADCH ;高8位數(shù)字量送存MOV @R0,A ;INC R0 ;DJNZ R2,SAM1 ;若采樣未完,則SAMIRET ;若采樣已完,則返回2AH Ui中間值2BH 標(biāo)志位*注2CH2DH 三次采樣值2EH2FH30H 本次計數(shù)值31H32H 給定值33H 34H 給定值35H 36H 給定值37H 38H 給定值39H 3AH 本次計算值3BH 3CH 上次計算值3DH 3EH 上上次計算值42HUi(k)Ui1Ui2Ui3P(K)HP(K)LURHURLKPHKPLK(I)LKI)HK(D)LK(D)HE(K)HE(K)LE(K-1)HE(K-2)LE(K-2)HE(K-2)L UmaxUmin越限計數(shù)值PID 最大值2643H 給定值44H45H圖3-4 內(nèi)部RAM中有關(guān)參數(shù)分配圖2、數(shù)字濾波程序FILTER:數(shù)字濾波程序用于濾去來自控制現(xiàn)場對采樣值的干擾。數(shù)字濾波程序算法頗多,本設(shè)計采樣中值濾波。中值濾波及只需對2CH、2DH 和2EH 中三次采樣值進(jìn)行比較,取中間值存放到2AH單元內(nèi),以作為溫度標(biāo)度轉(zhuǎn)換時使用。圖2-8示出了中值濾波程序框圖。NYYNN NYY YN N N YYN Y 圖2-5采樣子程序流程圖 圖2-6 數(shù)學(xué)濾波程序流程圖相應(yīng)程序清單為:FILTER:MOV A,2CH ;(2CH)送ACJNE A,2DH,CMP1 ;若(2CH)!=( 2DH) ,則CMP1采樣值始址送 R0采樣次數(shù)送 R2(2CH)!=(2DH)?(2CH)送 AA/D 完成返回(2DH)送2AH(2CH) (2DH)?(2DH)>(2EH)?(2CH)?。剑?EH)?(2EH)>(2CH)?選通 IN0 啟動ADC延時所有采樣結(jié)束?(2CH)送 2AH(2CH)> (2DH)?(2DH)?。剑?EH)?(2DH)送2AH(2DH)送2AH(2EH)送2AH返回27AJMP CMP2 ;否則,轉(zhuǎn)CMP2CMP1: JNC CMP2 ;若(2CH)>(2DH) ,則CMP2XCH A,2DH ; (2CH) (2DH)XCH A,2CH ;CMP2: MOV A,2DH ;(2DH)送ACJNE A,2EH,CMP3 ;若(2DH )!=(2EH),則CMP3MOV 2AH,A ;否則, (2DH)送 2AHRET ;返回CMP3: JC COMP4 ;若(2DH)< (2EH) ,則CMP4MOV 2AH,A ;否則, (2DH)送 2AHRET ;返回CMP4: MOV A,2EH ;(2EH)送ACJNE A,2CH,CMP5 ;若(2EH)?。剑?2CH) ,則CMP5MOV 2AH,A ;否則(2EH)送2AHRET ;返回CMP5: JC SMP6 ;若(2EH)<(2CH),則CMP6XCH A,2CH ;否則, (2EH) (2CH )CMP6: MOV 2AH,A ;A送2AHRET :3. PID計算程序式(2-8)可以改寫成: ()1)[()1)]()[22PKEKEKPIDI???????(3-8)根據(jù)式(3-8)編程,相應(yīng)程序框圖如圖3-7所示,程序清單如下:PID: MOV R5,31H ; UR送R 5R4MOV R4,32H ;MOV R3,2AH ; Ui(K)送R 3R2MOV R2,#00H ;ACALL CPL1 ;取U i(K)的補(bǔ)碼ACALL DSUM ;計算E(K)MOV 39H,R7 ; E(K)送39H和3AH單元28MOV 3AH,R6 ;MOV R5,35H ;KI送R 5R4MOV R4,36H ;KI送R 5R4MOV R0,#4AH ;積始址4AH送R 0ACALL MULT1 ;計算P I=KI×E(K)MOV R5,39H ; E(K)送R 5R4MOV R4,3AH ;MOV R3,3BH ; E(K-1)送R 3R2MOV R2,3CH ;ACLL CPL1 ;對E(K-1)送求補(bǔ)ACALL DSUM ;求[E(K)-E(K- 1)]MOV R5,33H ; KP送R 5R4MOV R4,34H ;MOV R0,#46H ;積始址46H送R 0ACALL MULT1 ;求得P PMOV R5,49H ; Pp的高16位送R 5R4MOV R4,48H ;MOV R3,4DH ; KPI送R 3R2MOV R2,4CH ;ACALL DSUM ;求得P P+P IMOV 4AH,R7 ; 存入4AH和4BH單元MOV 4BH,R6 ;MOV R5,39H ; E(K)送R 5R4MOV R4,3AH ; MOV R3,3DH ; E(K-2)送R 3R2MOV R2,3EH ;ACALL DSUM ;計算E(K)+E(K-2)MOV R5,R7 ; 存入R 5R4MOV R4,R6 ;MOV R3,3BH ; E(K-1)送R 3R2MOV R2,3CH ;ACALL CPL1 ;對E(K-1) 求補(bǔ)ACALL DSUM ;計算{E(K)+E(K-2)-E(K-1)}MOV R5,R7 ; 存入R 5R429MOV R4,R6 ;MOV R3,3BH ; E(K-1)送R 3R2MOV R2,3CH ;ACALL CPL1 ;對E(K-1)求補(bǔ)ACALL DSUM ;求E(K)-2E(K-1)+E (K -2)MOV R5,37H ; KD送R 5R4MOV R4,38H ;MOV R0,#46H ;積始址46H送R 0ACALL MULT1 ;求得P DMOV R5,49H ; 送入R 5R4MOV R4,48H ;MOV R3,4AH
收藏