單片機(jī)水溫控制_第1頁
單片機(jī)水溫控制_第2頁
單片機(jī)水溫控制_第3頁
單片機(jī)水溫控制_第4頁
單片機(jī)水溫控制_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 數(shù)理與信息工程學(xué)院單片機(jī)原理及應(yīng)用期末課程設(shè)計(jì) 題 目: 基于單片機(jī)的水溫控制系統(tǒng) 專 業(yè): 電子信息工程 班 級(jí): 電信041班 姓 名: 李海艷 學(xué) 號(hào): 04610103 指導(dǎo)老師: 余 水 寶 成 績: 目 錄摘 要4第1節(jié) 課題任務(wù)要求 .5第2節(jié) 總體方案設(shè)計(jì) .52.1 總體方案確定.6 控制方法選擇.6 系統(tǒng)組成7 單片機(jī)系統(tǒng)選擇7 溫度控制.7 方案選擇.7第3節(jié) 系統(tǒng)硬件設(shè)計(jì).83.1 系統(tǒng)框圖.83.2 程序流程圖.12第4節(jié) 參數(shù)計(jì)算.164.1 系統(tǒng)模塊設(shè)計(jì).16 溫度采集及轉(zhuǎn)換.16 傳感器輸出信號(hào)放大.17 模數(shù)轉(zhuǎn)換.18 外圍電路設(shè)計(jì).19 數(shù)值處理及顯示部分

2、.19 PID算法介紹.194.1.7 A/D轉(zhuǎn)換模塊.20 控制模塊.214.2 系統(tǒng)硬件調(diào)試.21第5節(jié) CPU軟件抗干擾 .245.1 看門狗設(shè)計(jì).24第6節(jié) 測試方法和測試結(jié)果276.1 系統(tǒng)測試儀器及設(shè)備.276.2 測試方法.276.3 測試結(jié)果27結(jié)束語 .29 參考文獻(xiàn).30基于單片機(jī)的水溫控制系統(tǒng)設(shè)計(jì)數(shù)理與信息工程學(xué)院 04電子信息工程1班 李海艷指導(dǎo)教師:余水寶 摘要:本系統(tǒng)以AT89C51,AT89C2051單片機(jī)為核心,主要包括傳感器溫度采集,A/D模/數(shù)轉(zhuǎn)換,按扭操作,單片機(jī)控制,數(shù)碼管數(shù)字顯示等部分。本系統(tǒng)采用PID算法實(shí)現(xiàn)溫度控制功能,通過串行通信完成兩片單片機(jī)信

3、息的交互而實(shí)現(xiàn)溫度設(shè)定、控制和顯示。本設(shè)計(jì)還可以通過串口與上位機(jī)(電腦)連接,實(shí)現(xiàn)電腦控制。系統(tǒng)設(shè)計(jì)有體積小、交互性強(qiáng)等優(yōu)點(diǎn)。為了實(shí)現(xiàn)高精度的水溫控制,本單片機(jī)系統(tǒng)采用PID算法控制和PWM脈寬調(diào)制相結(jié)合的技術(shù),通過控制雙向可控硅改變電爐和電源的接通、斷開,從而改變水溫加熱時(shí)間的方法來實(shí)現(xiàn)對(duì)水溫的控制。本系統(tǒng)由鍵盤顯示和溫度控制兩個(gè)模塊組成,通過模塊間的通信完成溫度設(shè)定、實(shí)溫顯示、水溫升降等功能。具有電路結(jié)構(gòu)簡單、程序簡短、系統(tǒng)可靠性高、操作簡便等特點(diǎn)。第1節(jié) 課題任務(wù)與要求:1.基本要求 一升水由1kw的電爐加熱,要求水溫可以在一定范圍內(nèi)由人工設(shè)定,并能在環(huán)境溫度降低時(shí)實(shí)現(xiàn)自動(dòng)調(diào)整,以保持設(shè)

4、定的溫度基本不變。2.主要性能指標(biāo)a. 溫度設(shè)定范圍:30-90,最小區(qū)分度為1。b. 控制精度:溫度控制的靜態(tài)誤差1。c. 用十進(jìn)制數(shù)碼顯示實(shí)際水溫。d. 能打印實(shí)測水溫值。3.擴(kuò)展功能a. 具有通信能力,可接受其他數(shù)據(jù)設(shè)備發(fā)來的命令,或?qū)⒔Y(jié)果傳送到其他數(shù)據(jù)設(shè)備。b. 采用適當(dāng)?shù)目刂品椒▽?shí)現(xiàn)當(dāng)設(shè)定溫度與環(huán)境溫度突變時(shí),減小系統(tǒng)的調(diào)節(jié)時(shí)間和超調(diào)量。c. 溫度控制的靜態(tài)誤差1。d. 能自動(dòng)顯示水溫隨時(shí)間變化的曲線。第2節(jié) 總體方案設(shè)計(jì)2.1總體方案的確定2.1.1、控制方法選擇由于水溫控制系統(tǒng)的控制對(duì)象具有熱存儲(chǔ)能力大,慣性也較大的特點(diǎn)。水在容器內(nèi)的流動(dòng)或熱量傳遞都存在一定的阻力,因而可以歸于具

5、有純滯后的一階大慣性環(huán)節(jié)。一般來說,熱過程大多具有較大的滯后,它對(duì)任何信號(hào)的響應(yīng)都會(huì)推遲一段時(shí)間,使輸出與輸入之間產(chǎn)生相移。對(duì)于這樣一些存在大的滯后特性的過渡過程控制,一般來說可以采用以下幾種控制方案:(1)輸出開關(guān)量控制:對(duì)于慣性較大的過程可以簡單地采用輸出開關(guān)量控制的方法。這種方法通過比較給定值與被控參數(shù)的偏差來控制輸出的狀態(tài):開關(guān)或者通斷,因此控制過程十分簡單,也容易實(shí)現(xiàn)。但由于輸出控制量只有兩種狀態(tài),使被控參數(shù)在兩個(gè)方向上變化的速率均為最大,因此容易硬氣反饋回路產(chǎn)生振蕩,對(duì)自動(dòng)控制系統(tǒng)會(huì)產(chǎn)生十分不利的影響,甚至?xí)驗(yàn)檩敵鲩_關(guān)的頻繁動(dòng)作而不能滿足系統(tǒng)對(duì)控制精度的要求。因此,這種控制方案一

6、般在大慣性系統(tǒng)對(duì)控制精度和動(dòng)態(tài)特性要求不高的情況下采用。(2)比例控制(P控制)比例控制的特點(diǎn)是控制器的輸出與偏差成比例,輸出量的大小與偏差之間有對(duì)應(yīng)關(guān)系。當(dāng)負(fù)荷變化時(shí),抗干擾能力強(qiáng),過渡時(shí)間短,但過程終了存在余差。因此它適用于控制通道滯后較小、負(fù)荷變化不大、允許被控量在一定范圍內(nèi)變化的系統(tǒng)。使用時(shí)還應(yīng)注意經(jīng)過一段時(shí)間后需將累積誤差消除。a. 比例積分控制(PI控制)由于比例積分控制的特點(diǎn)是控制器的輸出與偏差的積分成比例,積分的作用使得過渡過程結(jié)束時(shí)無余差,但系統(tǒng)的穩(wěn)定性降低。雖然加大比例度可以使穩(wěn)定性提高,但又使過渡時(shí)間加長。因此,PI控制適用于滯后較小、負(fù)荷變化不大、被控量不允許有余差的控

7、制系統(tǒng),它是工程上使用最多、應(yīng)用最廣的一種控制方法。b. 比例積分加微分控制(PID控制)比例積分加微分控制的特點(diǎn)是微分的作用使控制器的輸出與偏差變化的速度成正比例,它對(duì)克服對(duì)象的容量滯后有顯著的效果。在比例基礎(chǔ)上加上微分作用,使穩(wěn)定性提高,再加上積分作用,可以消除余差。因此,PID控制適用于負(fù)荷變化大、容量滯后較大、控制品質(zhì)要求又很高的控制系統(tǒng)。 結(jié)合本例題設(shè)計(jì)任務(wù)與要求,由于水溫系統(tǒng)的傳遞函數(shù)事先難以精確獲得,因而很難判斷哪一種控制方法能夠滿足系統(tǒng)對(duì)控制品質(zhì)的要求。但從以上對(duì)控制方法的分析來看,PID控制方法最適合本例采用。另一方面,由于可以采用單片機(jī)實(shí)現(xiàn)控制過程,無論采用上述哪一種控制方

8、法都不會(huì)增加系統(tǒng)硬件成本,而只需對(duì)軟件作相應(yīng)改變即可實(shí)現(xiàn)不同的控制方案。因此本系統(tǒng)可以采用PID的控制方式,以最大限度地滿足系統(tǒng)對(duì)諸如控制精度、調(diào)節(jié)時(shí)間和超調(diào)量等控制品質(zhì)的要求。2.1.2、.系統(tǒng)組成就控制器本身而言,控制電路可以采用急經(jīng)典控制理論和常規(guī)模擬控制系統(tǒng)實(shí)現(xiàn)水溫的自動(dòng)團(tuán)結(jié)。但隨著計(jì)算機(jī)與超大規(guī)模集成電路的迅速發(fā)展,以現(xiàn)代控制理論和計(jì)算機(jī)為基礎(chǔ),采用數(shù)字控制、顯示、A/D與D/A轉(zhuǎn)換,配額后執(zhí)行器與控制閥構(gòu)成的計(jì)算機(jī)控制系統(tǒng),在過程控制過程中得到越來越廣泛的應(yīng)用。由于本例是一個(gè)典型的檢測、控制型應(yīng)用系統(tǒng),它要求系統(tǒng)完成從水溫檢測、信號(hào)處理、輸入、運(yùn)算到輸出控制電爐加熱功率以實(shí)現(xiàn)水溫控

9、制的全過程。因此,應(yīng)以單片微型計(jì)算機(jī)為核心組成一個(gè)專用計(jì)算機(jī)應(yīng)用系統(tǒng),以滿足檢測、控制應(yīng)用類型的功能要求。另外,單片機(jī)的使用也為實(shí)現(xiàn)水溫的智能化控制以及提供完善的人機(jī)交互界面及多機(jī)通訊接口提供了可能,而這些功能在常規(guī)數(shù)字邏輯道路中往往是難以實(shí)現(xiàn)或無法實(shí)現(xiàn)的。所以,本例采用以單片機(jī)為核心的直接數(shù)字控制系統(tǒng)(DDC)。2.1.3、.單片機(jī)系統(tǒng)選擇AT89C2051、AT89C51單片機(jī)是最常用的單片機(jī),是一種低損耗、高性能、CMOS八位微處理器。AT89C2051與MCS-51系列的單片機(jī)在指令系統(tǒng)和引腳上完全兼容,而且能使系統(tǒng)具有許多MCS-51系列產(chǎn)品沒有的功能,功能強(qiáng)、靈活性高而且價(jià)格低廉。

10、AT89S51可構(gòu)成真正的單片機(jī)最小應(yīng)用系統(tǒng),縮小系統(tǒng)體積,增加系統(tǒng)的可靠性,降低了系統(tǒng)成本。只要程序長度小于4K,四個(gè)I/O口全部提供給擁護(hù)。系統(tǒng)運(yùn)行中需要存放的中間變量較少,可不必再擴(kuò)充外部RAM。1.1.4、溫度控制鍵盤輸入一個(gè)需要控制的溫度,通過單片機(jī)2051的串口把數(shù)據(jù)傳送到AT89C51,AT89C51通過數(shù)據(jù)比較,PID分析,T0,T1產(chǎn)生PWM波來控制電爐是否繼續(xù)加熱還是停止加熱。1.1.5、方案選擇方案一:用熱敏電阻:通過電阻的變化來獲得電壓的變化,起價(jià)格雖然便宜但是精度不是很高。對(duì)于一個(gè)精度要求高的系統(tǒng)不宜采用方案二:用A/D590:通過AD590溫度傳感器采集溫度,由于A

11、D590是電流傳感器,經(jīng)過電阻轉(zhuǎn)換為電壓。雖然價(jià)格較高但是精度高。經(jīng)比較,我們選擇方案二第3節(jié) 系統(tǒng)硬件設(shè)計(jì)3.1系統(tǒng)框圖傳 感器電爐單 片 機(jī) 基 本 系 統(tǒng)信號(hào)放大A/D功率放大鍵盤顯示圖3-1 單片機(jī)控制系統(tǒng)原理框圖鍵盤顯示電路本模塊以AT89C2051單片機(jī)為核心,利用138譯碼器對(duì)顯示器動(dòng)態(tài)掃描及作為鍵盤的掃描線,采用此方法大大簡化了硬件,充分的利用了單片機(jī)的資源,這也是本設(shè)計(jì)的巧妙所在??赏^鍵盤來設(shè)置溫度,并顯示在數(shù)碼管上,并通過串口發(fā)送出去,另外檢測到溫度通過串口接收進(jìn)來,并顯示在相應(yīng)的數(shù)碼管上鍵盤的掃描輸入與顯示器的掃描輸出由單片機(jī)控制,但考慮到鍵盤與接口需要較多的I/O口線

12、,如果直接由單片機(jī)控制,一方面必須擴(kuò)充系統(tǒng)I/O口,另一方面,鍵盤與LED顯示的掃描處理占用大量機(jī)時(shí),增加軟件編程負(fù)擔(dān)。為此在組成系統(tǒng)人機(jī)對(duì)話通道時(shí)采用了可編程的鍵盤。顯示接口芯片8051,由8051負(fù)責(zé)鍵盤掃描、消抖處理和顯示輸出工作。根據(jù)認(rèn)為的要求,8051鍵盤被設(shè)計(jì)為2*8行,掃描線有SL0SL8經(jīng)譯碼輸出,接入鍵盤列線,查詢RL0RL1提供,采用鍵盤掃描法對(duì)16個(gè)按鍵進(jìn)行讀取狀態(tài)。使用行列式,把這16個(gè)按鍵分為8鍵盤的系統(tǒng)框圖如下: 鍵盤顯示圖一 鍵盤顯示圖二2系統(tǒng)溫度控制前向通道:以AT89C51單片機(jī)為控制核心,采集到溫度,經(jīng)放大,AD轉(zhuǎn)換后送單片機(jī)處理,再通過串行口發(fā)送到顯示模塊

13、因?yàn)榭紤]到PID運(yùn)算時(shí)需要調(diào)用浮點(diǎn)數(shù)運(yùn)算程序庫,程序需要占用很大的存儲(chǔ)空間,8051內(nèi)部的能滿足此要求,所以不需要擴(kuò)展外部ROM,系統(tǒng)中運(yùn)行中需要存放的中間變量只有給定溫度和實(shí)測,PID運(yùn)算中間結(jié)果及輸出結(jié)果等十幾個(gè)變量.因而8051片內(nèi)的RAM能夠滿足要求,可不必再擴(kuò)展。后向通道:后向通道是實(shí)現(xiàn)控制型號(hào)輸出的通道,單片機(jī)系統(tǒng)產(chǎn)生的控制信號(hào)經(jīng)過功率放大器的放大控制電爐的輸入功率,以實(shí)現(xiàn)水溫的控制的目的.根據(jù)系統(tǒng)的總誤差要求,后向通道的控制精度也要應(yīng)控制在0.83%之內(nèi).以上就是整個(gè)電路的框圖, 將前述各單元電路連接起來,就可構(gòu)成完整的系統(tǒng)硬件電路圖。系統(tǒng)硬件電路中除了包含前、后向通道的輸入、輸

14、出插座外,還應(yīng)考慮增加苦干個(gè)插座,以方便主控板與各部件的連接。硬件電路制作包括印刷線路板制作、焊接和系統(tǒng)連接等幾個(gè)方面。印刷線路板的設(shè)汁一般都是在計(jì)算機(jī)上利用Protel 99 SE軟件進(jìn)行輔助設(shè)計(jì)。3.2 程序流程圖系統(tǒng)軟件由主程序、鍵盤掃描、LED顯示、串行口中斷組成。由于本模塊就進(jìn)行鍵盤與顯示任務(wù),且鍵盤掃描與LED掃描是用同個(gè)74LS138來完成,可以將程序精簡,即把鍵盤和顯示的程序合在一起放在主程序里。(1)初始化。設(shè)定可編程芯片的工作方式,對(duì)內(nèi)存中的工作參數(shù)區(qū)進(jìn)行初始化,顯示系統(tǒng)初始狀態(tài)。(2)讀溫度程序. 通過DS18B20的側(cè)溫.(3)調(diào)用PID算法子程序通過鍵盤模塊發(fā)送過來的

15、數(shù)據(jù),即給定值,和測量值進(jìn)行計(jì)算,輸出PWM波.對(duì)電爐的水溫度進(jìn)行控制.(4)返回(2)定時(shí)中斷服務(wù)程序: 采樣定時(shí)由定時(shí)器o的定時(shí)操作完成,定時(shí)器o的定時(shí)初值時(shí)間由PID的運(yùn)算結(jié)果控制。程序流程如圖所示:(3)脈寬調(diào)制輸出子程序:NYYNYNNY開始初始化P3.3、P3.4、P3.5=000消抖31Hß 0P1ß30H延時(shí)Flaga=1等待按鍵放開P3.2=0?P3.7=0?消抖等待按鍵放開Flaga=1?P3.3、P3.4、P3.5=001P1ß31H延時(shí)Flagb=1?Flagbß 132Hß 0Flagbß0.P3.3、P3.

16、4、P3.5=010P3.3、P3.4、P3.5=011.P3.3、P3.4、P3.5=101P3.3、P3.4、P3.5=100P3.3、P3.4、P3.5=110P3.3、P3.4、P3.5=111入口P0.0輸出高電平脈寬標(biāo)志位清0返回脈寬標(biāo)志位是高電平?P0.0輸出低電平把脈寬標(biāo)志位置1YN初始化調(diào)用水溫檢測子程序調(diào)用PID算法子程序開起定時(shí)器定時(shí)時(shí)間到?調(diào)用脈寬子程序返回YNN初始化調(diào)讀溫度子程序調(diào)PWM子程序調(diào)PID子程序調(diào)發(fā)送子程序定時(shí)時(shí)間到Y(jié)PID子程序T1=T1+K(Ek-E(K-1)設(shè)置溫度大于實(shí)測溫度設(shè)置溫度減實(shí)際溫度實(shí)際溫度減設(shè)置溫度置標(biāo)志位清標(biāo)志位差值放30HYN子程

17、序返回占空比加上差值標(biāo)志位為1PWM占空比到上限PWM占空低到下限占空比減去差值開始復(fù)位DS18B20發(fā)讀存儲(chǔ)器命令返回發(fā)跳過ROM命令發(fā)溫度轉(zhuǎn)換命令延時(shí)復(fù)位DS18B20將溫度轉(zhuǎn)換成BCD碼發(fā)送溫度值,顯示溫度水溫檢測子程序第4節(jié) 參數(shù)計(jì)算系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試。按+鍵設(shè)定溫度值加一;按-鍵設(shè)定溫度值減一;按設(shè)溫鍵,可任意設(shè)置溫度,輸入相應(yīng)的數(shù)值,按確定鍵即可,按取消鍵則返回前一次設(shè)置的值;按初始鍵則返回剛一開機(jī)的狀態(tài)。軟件的調(diào)試府在仿真器提供的單步、斷點(diǎn)、跟蹤等功能的支持下對(duì)各子程序分別進(jìn)行調(diào)試將調(diào)試完的工程序連接起來再調(diào)試逐步擴(kuò)大調(diào)試范圍。4.1 系統(tǒng)各模塊設(shè)計(jì)及參數(shù)計(jì)算、溫度采

18、集部分及轉(zhuǎn)換部分我們使用AD590來采集外界的溫度。AD590是美國模擬器件公司生產(chǎn)的單片集成兩端感溫電流源。它的主要特性如下:1、流過器件的電流(mA)等于器件所處環(huán)境的熱力學(xué)溫度(開爾文)度數(shù),即:mA/K式中: 流過器件(AD590)的電流,單位為mA; T熱力學(xué)溫度,單位為K。2、AD590的測溫范圍為-55+150。3、AD590的電源電壓范圍為4V30V。電源電壓可在4V6V范圍變化,電流 變化1mA,相當(dāng)于溫度變化1K。AD590可以承受44V正向電壓和20V反向電壓,因而器件反接也不會(huì)被損壞。4、輸出電阻為710MW。5、精度高。AD590共有I、J、K、L、M五檔,其中M檔精

19、度最高,在-55+150范圍內(nèi),非線性誤差為±0.3。由于AD590采集的輸出數(shù)據(jù)是模擬量電流,而且很小,不易測量,所以我們要將電流量轉(zhuǎn)換成電壓量,這樣有利于后面的放大及D/A轉(zhuǎn)換。我們改用一個(gè)固定電阻(9.1k或10k)和一個(gè)電位器(1K)串接的方法,這樣可以通過調(diào)節(jié)電位器使得每路輸出電壓基本一致。如以0為參考值則應(yīng)使其電壓輸出為2.73V;如以25為參考值,則應(yīng)使其電壓輸出為2.98V.、傳感器輸出信號(hào)放大電路部分:由于取得的電壓量很小,我們選用LM324做為運(yùn)放,以為其內(nèi)部帶有四個(gè)運(yùn)放,可以使得運(yùn)放部分在電路版上不占用太大的體積。我們用了其內(nèi)部的三個(gè)運(yùn)放。第一級(jí)運(yùn)放我們做成射級(jí)

20、跟隨器的形式,起到阻抗匹配的作用。第二級(jí)運(yùn)放設(shè)計(jì)為反相比例求和電路,根據(jù)反相比例求和電路公式,我們?cè)O(shè)計(jì)了如下圖的電路,U=-((10/10)*U1+10/(20+R)),其中U為第二級(jí)輸出電壓,R為50k的電位器??梢酝ㄟ^調(diào)節(jié)電位器使得輸出電壓達(dá)到要求。設(shè)0時(shí),第二級(jí)的輸出為2.73-2.73=0V,而25時(shí),第二級(jí)的輸出為2.73-2.98= -0.25V(反相)(零位調(diào)整)。第三級(jí)運(yùn)放設(shè)計(jì)為反相比例放大電路,我們?cè)O(shè)計(jì)為將第二級(jí)的輸出電壓放大5倍。所以我們選用了10k和50k的電阻來實(shí)現(xiàn)。、模數(shù)轉(zhuǎn)換電路部分:這部分最初想用ADC0809的,但為了配合使用CD4051,我們最終選擇了ADC08

21、04。ADC0804的規(guī)格及引腳圖·8位CMOS逐次逼近型的A/D轉(zhuǎn)換器·三態(tài)鎖定輸出·存取時(shí)間:135s;·分辨率:8位;·轉(zhuǎn)換時(shí)間:100s;·總誤差:±1LSB;·工作溫度:ADC0804LCN0+70;·ADC0804LCD -40+85;引腳圖及說明如圖所示:/CS:芯片選擇信號(hào)。/RD:外部讀取轉(zhuǎn)換結(jié)果的控制腳輸出信號(hào)。/RD為高時(shí),DB0DB7處于高阻抗;/RD為低時(shí),數(shù)字?jǐn)?shù)據(jù)才會(huì)輸出。/WR:用來啟動(dòng)轉(zhuǎn)換的控制輸入,相當(dāng)于ADC的轉(zhuǎn)換開始(/CS=0時(shí)),當(dāng)/WR由高變?yōu)榈蜁r(shí),轉(zhuǎn)換器被清除

22、;當(dāng)/WR回到高時(shí),轉(zhuǎn)換正式開始。CLK IN, CLK R:時(shí)鐘輸入或接振蕩元件(R,C),頻率約限制在100kHz1460kHz,如果使用RC電路則其振蕩頻率為1/(1.1RC)./INTR:中斷請(qǐng)求信號(hào)輸出,低電平動(dòng)作。VIN(+)、VIN():差動(dòng)模擬電壓輸入。輸入單端正電壓時(shí),VIN()接地;而差動(dòng)輸入時(shí),直接加入VIN(+)、VIN()。AGND,DGND:模擬信號(hào)及數(shù)字信號(hào)的接地。VREF:輔助參考電壓。DB0DB7:8位的數(shù)字輸出。VCC:電源供應(yīng)以及作為電路的參考電壓。眾所周知, 精度是數(shù)據(jù)采集系統(tǒng)的重要指標(biāo), 模數(shù)轉(zhuǎn)換器的量化誤差是影響系統(tǒng)精度的主要因素,A/D轉(zhuǎn)換器的位數(shù)

23、越多, 其量化誤差越小, 一個(gè)M 位的A/D 轉(zhuǎn)換器的量化誤差可表示為:式中V ref為模數(shù)轉(zhuǎn)換器的參考基準(zhǔn)電壓。設(shè)A/D 轉(zhuǎn)換電路的模擬輸入電壓為Vi, 則經(jīng)A/D 轉(zhuǎn)換后的相對(duì)誤差表示為: (2)上式表明, 當(dāng)模數(shù)轉(zhuǎn)換器的位數(shù)選定后, 其相對(duì)誤差D與其模擬輸入電壓V i 成反比。因此只有將輸入信號(hào)V i 預(yù)放大到接近參考電壓V ref, 才能充分發(fā)揮A/D轉(zhuǎn)換器位數(shù)的效能, 減小量化誤差, 提高系統(tǒng)數(shù)據(jù)采集精度。此即為引入前置放大器的目的之所在。逐步逼近式A/D的轉(zhuǎn)換公式:,、Ux為輸入電壓、N為輸出值 (1-1) (1-2)當(dāng)選定參考電壓和A/D位數(shù)時(shí),e為常數(shù),由誤差傳遞公式得:,Ux

24、是輸入絕對(duì)誤差 (1-3)由式(1-3)知:當(dāng)輸入電壓越大,A/D轉(zhuǎn)換的相對(duì)誤差越小,當(dāng)然輸入電壓不能大于A/D最大轉(zhuǎn)換電壓。因此為了減少A/D轉(zhuǎn)換誤差,對(duì)輸入信號(hào)進(jìn)行放大。、ADC0804芯片外圍電路的設(shè)計(jì):a.19腳的CLKR端接一個(gè)10k的電阻和150PF的電容,根據(jù)公式f=1/(1.1RC),可算得時(shí)鐘輸入頻率為0.6兆左右。b.9腳:選擇470k的電阻、5k的電位器和2.7伏的穩(wěn)壓管來調(diào)節(jié)芯片的相對(duì)電壓。本電路中應(yīng)調(diào)節(jié)電位器使得9腳電壓為2 .56伏。c.1、7、8腳接地d.6腳接運(yùn)放的輸出端,采集收集到的信號(hào),經(jīng)過A/D轉(zhuǎn)換最后輸出8位2 進(jìn)制數(shù),這樣就可以送到單片機(jī)里進(jìn)

25、行處理了。、數(shù)值處理部分及顯示部分: 數(shù)值處理部分:我們采用8051芯片,其內(nèi)部自帶程序存儲(chǔ)器。其外接12兆的晶振來給起供應(yīng)震蕩頻率。9腳接一個(gè)10 顯示部分:用7447芯片與8051的P1.0P1.3口相連,7447芯片可將8051轉(zhuǎn)換好的8421BCD碼轉(zhuǎn)換成7段碼送到數(shù)碼管顯示。數(shù)碼管選用共陽的,因此在其Vcc端要外接一個(gè)三極管(9013),通過控制三極管給數(shù)碼管供電,來控制數(shù)碼管的通斷。、PID算法的介紹:在模擬系統(tǒng)中,PID算法的表達(dá)式:(1)式中: P(t)調(diào)節(jié)器的輸出信號(hào): e(t)調(diào)節(jié)器的偏差信號(hào),它等于測量值與給定值之差; KP調(diào)節(jié)器的比例系數(shù);TI調(diào)節(jié)器的積分時(shí)間; TD調(diào)

26、節(jié)器的微分時(shí)間。、A/D轉(zhuǎn)換模塊由于系統(tǒng)對(duì)信號(hào)采集的速度要求不高,故可以采用價(jià)格低的8位逐次逼近式A/D轉(zhuǎn)換器ADC0804,該轉(zhuǎn)換器轉(zhuǎn)換速度為100us,轉(zhuǎn)換精度為0.39%,對(duì)應(yīng)誤差為0.2340°C。故采用AD0804,ADC0804是8位模數(shù)轉(zhuǎn)化電路,它能把模擬電壓值轉(zhuǎn)化為8位二進(jìn)制碼,其轉(zhuǎn)化公式如下:DX=VIN*256/VREF 我們這里設(shè)置VREF 等于5V(因?yàn)檫@里懸空沒接,查資料可知其為5V),則DX 所對(duì)應(yīng)的值就是八位二進(jìn)制碼的十進(jìn)制值,具體轉(zhuǎn)化表如下:溫度值A(chǔ)DCin(V)DX十六進(jìn)制編碼溫度值A(chǔ)DCin(V)DX十六進(jìn)制編碼0°C0000H30

27、76;C2.344878H2°C0.156107H35°C2.73498BH4°C0.31320AH40°C3.125AA0H8°C0.625320H45°C3.516BB4H10°C0.781427H50°C3.906CC7H15°C1.17253CH55°C4.297DDCH20°C1.56064FH60°C4.688EF0H25°C1.953763H64°C5.000FFFHA/D轉(zhuǎn)換器時(shí)鐘電路參數(shù)計(jì)算ADC0804片內(nèi)有時(shí)鐘電路,其振蕩頻率可按下式

28、計(jì)算: fclk1/1.1RC式中R和C分別是CLK_R和CLK_IN兩端外接一對(duì)地電阻、電容的阻容值。其典型應(yīng)用參數(shù)為R=10K,C=150PF。此時(shí)fclk640kHz,A/D轉(zhuǎn)換時(shí)間約為103s。A/D轉(zhuǎn)換器的INTR與89C51的P1.0相連,單片機(jī)以查詢方式獲取A/D轉(zhuǎn)換器轉(zhuǎn)換完畢的信息。、控制模塊由于用單片機(jī)來控制雙向晶閘管,而晶閘管陽極和陰極間所接的是220V的交流電壓,故本電路在中間加了一個(gè)光電耦合器件,使低壓區(qū)和高壓區(qū)隔離開。光電耦合器件采用的是MOC3041,其耐壓值為400V,可以滿足本設(shè)計(jì)的要求。而光電耦合器件的工作電流較大,因此前面需加放大電路,采用的是小功率硅三極管

29、9012可滿足要求,另外為了保護(hù)光電耦合器件需在高壓側(cè)接一個(gè)大功率電阻。雙向晶閘管的選?。河捎谪?fù)載是1KW的電爐,用于控制負(fù)載輸入功率的雙向晶閘管應(yīng)能滿足負(fù)載對(duì)工作電壓、電流的要求。工作電壓峰值可按下式計(jì)算: Vp=2201.414=313(V)工作電流峰值可按下式計(jì)算: Ip=1000/2201.414=6.43(A)因此,為滿足應(yīng)用要求并適當(dāng)留有余地,雙向晶閘管可選用BAT12-600,該器件可承受的最大反向電壓為600V,最大電流為12A,為了保護(hù)雙向晶閘管還可在其旁邊加一保護(hù)電路(即緩沖電路),因?yàn)殡p向晶閘管在開通和關(guān)斷的瞬間du/dt的變化率較大,開關(guān)損耗很大,因此加上阻容電路,利用

30、儲(chǔ)能元件對(duì)能量進(jìn)行緩沖,從而達(dá)到保護(hù)的目的,具體電路如圖2所示。由于本電路采用PID控制,程序較長,約為2.8K左右,因此選用比較熟悉AT89C51單片機(jī),其容量為4K,可以滿足設(shè)計(jì)的要求。復(fù)位電路的參數(shù)選擇:本設(shè)計(jì)晶振用的是12M,則機(jī)器周期為1us,要使單片機(jī)復(fù)位需持續(xù)2個(gè)機(jī)器周期的高電平??砂聪率接?jì)算: RC2us 為了使單片機(jī)能夠可靠地上電自動(dòng)復(fù)位,選取R=8.2K,C=10uF。4.2 系統(tǒng)硬件調(diào)試溫系統(tǒng)經(jīng)溫度傳感器和信號(hào)放大器產(chǎn)生05V的模擬電壓信號(hào)送入A/D轉(zhuǎn)換器的輸入端,A/D轉(zhuǎn)換器將模擬量轉(zhuǎn)換為數(shù)字量通過系統(tǒng)總線送入單片機(jī)進(jìn)行運(yùn)算處理。硬件電路的調(diào)試應(yīng)依次對(duì)單片機(jī)基本系統(tǒng)、前

31、向通道和后向通道分別進(jìn)行調(diào)試。調(diào)試時(shí)可利用仿真器對(duì)各接口地址進(jìn)行讀寫操作,靜態(tài)地測試電路各部分的連接是否正確;對(duì)于動(dòng)態(tài)過程(如中斷響應(yīng)、脈寬調(diào)制輸出等)可以編寫簡短的調(diào)試程序配合硬件電路的調(diào)試。、單片機(jī)基本系統(tǒng)調(diào)試(a)晶振電路 將仿真器晶扳開關(guān)打到外部,如果仿真器出現(xiàn)死機(jī)現(xiàn)象,說明用戶系統(tǒng)晶振電路有問題,此時(shí)應(yīng)用示波器觀察單片機(jī)時(shí)鐘信號(hào),或輸入端是否振蕩信或檢查品振電路各器件參數(shù)。(b)復(fù)位電路按下復(fù)位按鈕應(yīng)使系統(tǒng)處于復(fù)位狀態(tài),否則用用表檢查復(fù)位電路各點(diǎn)信號(hào)和器件參數(shù)。(2)LED顯示電路本電路采用8個(gè)共陰的數(shù)碼管動(dòng)態(tài)顯示,前4個(gè)為設(shè)定溫度,后4個(gè)為實(shí)測溫度。動(dòng)態(tài)掃描時(shí)采用74LS138對(duì)這

32、8個(gè)數(shù)碼管輪流掃描,進(jìn)行位控,而P1口是進(jìn)行段控信號(hào)的控制,為了增加數(shù)碼管的亮度,共陰端有三極管來驅(qū)動(dòng)它的電流。電路如圖6所示。(3)鍵盤接口電路 本電路采用鍵盤掃描法對(duì)16個(gè)按鍵進(jìn)行讀取狀態(tài)。使用行列式,把這16個(gè)按鍵分為8(4)前向通道調(diào)試比較簡單(5)后向通道調(diào)試(a)靜態(tài)調(diào)試 用仿真器在p00上輸出高電平,雙向可控硅導(dǎo)通電爐開始加熱;在P00上輸出低電平雙向可控硅截止,電爐停止加熱。如果輸出不正常,應(yīng)按信號(hào)輸出順序分別撿查P00、光電耦合器輸入端、光電耦合器輸出端及雙向可控硅兩端的電壓情況。(b)動(dòng)態(tài)調(diào)試編寫簡短調(diào)試程序,在P00上周期性地輸出一定占空比的脈寬調(diào)制波形,用示被器觀察電爐

33、兩端電壓輸入波形和通斷比例。改變輸出波形占空比,電爐兩端電壓輸入的通斷比也應(yīng)有相應(yīng)改變。 (6) 傳感器電路部分溫度傳感器種類較多。熱電偶由于熱電勢較小,因而靈敏度較低;熱敏電阻由于非線性而影響精度;鉑電阻溫度傳感器由于成本高,在一般小系統(tǒng)中很少使用。AD590是美國Analog Devices公司生產(chǎn)的二端式集成溫度傳感器,具有體積小、重量輕、線性度好、性能穩(wěn)定等一系列優(yōu)點(diǎn)。它的測溫范圍為-50+155°C,滿刻度誤差為0.3°C,當(dāng)電源電壓在510V之間,穩(wěn)定度為1%,誤差只有0.01°C,完全適用于本設(shè)計(jì)對(duì)水溫測量的要求。另外AD590是溫度電流傳感器,對(duì)于

34、提高系統(tǒng)抗干擾能力也有很大幫助,因此本設(shè)計(jì)選用AD590作為溫度傳感器。其輸出電流I與溫度的關(guān)系可用下式表示: 或式中:I輸出電流,單位mAKT標(biāo)定因子,AD590的標(biāo)定因子為1mA/°C;TK開氏溫度。TC攝氏溫度??梢姡?dāng)溫度為攝氏0°C時(shí),輸出電流為273.2mA。放大器電阻計(jì)算:由于我的測量定為+°C+64°C,根據(jù)這一測量范圍要求,信號(hào)轉(zhuǎn)換電路應(yīng)將+°C+64°C溫度轉(zhuǎn)換為05V的電壓信號(hào),根據(jù)以上分析可知AD590在0°C和64°C R1+RS1=12V/273.2UA=43.9K取R1=40K,RS1

35、=5K。 R2+RS2=5V/64UA=78.1K取R2=68K,RS2=12K。 綜上所述,在上述6部分都沒有問題后,就可以進(jìn)行下一步了,即軟件調(diào)試。(6)軟件調(diào)試:軟件的調(diào)試府在仿真器提供的單步、斷點(diǎn)、跟蹤等功能的支持下對(duì)各子程序分別進(jìn)行調(diào)試將調(diào)試完的工程序連接起來再調(diào)試逐步擴(kuò)大調(diào)試范圍。調(diào)試的過程一般是:a測試程序輸入條件或設(shè)定程序輸入條件;b以單步、斷點(diǎn)或跟蹤方式運(yùn)行程序;c檢查程序運(yùn)行結(jié)果;d運(yùn)行結(jié)果不正確時(shí)查找原因。修改程序,重復(fù)上述過程。(7) 注意:A.輸入抗干擾a、鍵盤按鍵在按下與抬起時(shí)都會(huì)有1020ms的抖動(dòng)毛刺出現(xiàn),在讀取鍵值時(shí)可先延時(shí),再進(jìn)行采樣,在本設(shè)計(jì)中我是調(diào)用了一

36、段顯示子程序,和同學(xué)的電路相比,效果非常明顯。b.AD轉(zhuǎn)換器 由于外界的干擾,AD采樣后的數(shù)據(jù)會(huì)有較大誤差,為了提高準(zhǔn)確度,可采用輸入分區(qū)抗干擾法,對(duì)模擬信號(hào)進(jìn)行初步的處理,降低外界干擾的破壞性,當(dāng)然再配合多數(shù)平均法處理效果更加。B.輸出抗干擾 一般來說,單片機(jī)的低電平驅(qū)動(dòng)能力遠(yuǎn)高于高電平的驅(qū)動(dòng)能力,可以用上拉電阻的方法來平衡單片機(jī)的端口驅(qū)動(dòng)能力,以提高整體的抗干擾能力。因此本設(shè)計(jì)中只要涉及輸出控制都是采用低電平驅(qū)動(dòng)。第5節(jié) CPU軟件抗干5.1 看門狗設(shè)計(jì)單片機(jī)最易受干擾的是內(nèi)部計(jì)數(shù)器PC的值。在受強(qiáng)干擾的時(shí),PC值改變,改變后的值又是隨機(jī)的,為一不確定值。因此,對(duì)系統(tǒng)內(nèi)核CPU進(jìn)行R軟件抗

37、干擾顯得尤為重要,本設(shè)計(jì)采用的是看門狗設(shè)計(jì)。 這樣, 就可以進(jìn)行總體調(diào)試了。把編寫好的程序放在電腦里,使用偉福仿真器來仿真,看看8個(gè)數(shù)碼管顯示的數(shù)據(jù)是否正確,按下按鍵后能否在數(shù)碼管上顯示設(shè)定的值,反復(fù)的調(diào)試、修改程序,使達(dá)到預(yù)期的效果??撮T狗(Watchdog)電路是嵌入式系統(tǒng)需要的抗干擾措施之一。本文用X25045芯片設(shè)計(jì)了一種新的看門狗電路,具有體積小、占用I/O口線少和編程方便的特點(diǎn),可廣泛應(yīng)用于儀器儀表和各種工控系統(tǒng)中。系統(tǒng)在運(yùn)行時(shí),通常都會(huì)遇到各種各樣的現(xiàn)場干擾,抗干擾能力是衡量工控系統(tǒng)性能的一個(gè)重要指標(biāo)??撮T狗(Watchdog)電路是自行監(jiān)測系統(tǒng)運(yùn)行的重要保證,幾乎所有的工控系統(tǒng)

38、都包含看門狗電路。在8096系列單片機(jī)和增強(qiáng)型8051系列單片機(jī)中,該系統(tǒng)已經(jīng)做在芯片內(nèi)部,用戶只要用軟件開放它就可以,使用很方便。但目前工控系統(tǒng)仍在使用廉價(jià)的普通型8051系列單片機(jī),則看門狗電路必須由用戶自己建立??撮T狗電路一般有軟件看門狗和硬件看門狗兩種。軟件看門狗不需外接硬件電路,但系統(tǒng)需要出讓一個(gè)定時(shí)器資源,這在許多系統(tǒng)中很難辦到,而且若系統(tǒng)軟件運(yùn)行不正常,可能導(dǎo)致看門狗系統(tǒng)也癱瘓。硬件看門狗是真正意義上的“程序運(yùn)行監(jiān)視器”,如計(jì)數(shù)型的看門狗電路通常由555多諧振蕩器、計(jì)數(shù)器以及一些電阻、電容等組成,分立元件組成的系統(tǒng)電路較為復(fù)雜,運(yùn)行不夠可靠。X25045芯片簡介X25045是美國

39、Xicor公司的生產(chǎn)的標(biāo)準(zhǔn)化8腳集成電路,它將EEPROM、看門狗定時(shí)器、電壓監(jiān)控三種功能組合在單個(gè)芯片之內(nèi),大大簡化了硬件設(shè)計(jì),提高了系統(tǒng)的可靠性,減少了對(duì)印制電路板的空間要求,降低了成本和系統(tǒng)功耗,是一種理想的單片機(jī)外圍芯片。X25045引腳如圖1所示。圖5-1 X25045引腳圖其引腳功能如下。CS:片選擇輸入;SO:串行輸出,數(shù)據(jù)由此引腳逐位輸出;SI:串行輸入,數(shù)據(jù)或命令由此引腳逐位寫入X25045;SCK:串行時(shí)鐘輸入,其上升沿將數(shù)據(jù)或命令寫入,下降沿將數(shù)據(jù)輸出;WP:寫保護(hù)輸入。當(dāng)它低電平時(shí),寫操作被禁止;Vss:地;Vcc:電源電壓;RESET:復(fù)位輸出。X25045在讀寫操作

40、之前,需要先向它發(fā)出指令,指令名及指令格式如表1所示。表1 X25045指令及其含義X25045看門狗電路設(shè)計(jì)及編程X25045硬件連接圖如圖2所示。X25045芯片內(nèi)包含有一個(gè)看門狗定時(shí)器,可通過軟件預(yù)置系統(tǒng)的監(jiān)控時(shí)間。在看門狗定時(shí)器預(yù)置的時(shí)間內(nèi)若沒有總線活動(dòng),則X25045將從RESET輸出一個(gè)高電平信號(hào),經(jīng)過微分電路C2、R3輸出一個(gè)正脈沖,使CPU復(fù)位。圖2電路中,CPU的復(fù)位信號(hào)共有3個(gè):上電復(fù)位(C1、R2),人工復(fù)位(S、R1、R2)和Watchdog復(fù)位(C2、R3),通過或門綜合后加到RESET端。C2、R3的時(shí)間常數(shù)不必太大,有數(shù)百微秒即可,因?yàn)檫@時(shí)CPU的振蕩器已經(jīng)在工作

41、。圖5-2X25045看門狗電路硬件連接圖看門狗定時(shí)器的預(yù)置時(shí)間是通過X25045的狀態(tài)寄存器的相應(yīng)位來設(shè)定的。如表2所示,X25045狀態(tài)寄存器共有6位有含義,其中WD1、WD0和看門狗電路有關(guān),其余位和EEPROM的工作設(shè)置有關(guān)。第6節(jié) 測試方法和測試結(jié)果 6.1 系統(tǒng)測試儀器及設(shè)備雙路跟蹤穩(wěn)壓穩(wěn)流電源DH1718E-5直流穩(wěn)壓電源數(shù)字示波器Tektronix TDS1002偉福E6000/L 仿真器多功能數(shù)字表GDM-8145數(shù)字萬用表0100溫度計(jì)、調(diào)溫電熱杯、秒表6.2 測試方法由于系統(tǒng)不完善,我采用的是分步調(diào)試的方法,步驟如下: (1)在水杯中存放1L凈水,放置在1KW的電爐上,打開控制電源,系統(tǒng)進(jìn)入準(zhǔn)備工作狀態(tài)。(2)先調(diào)零,先將OP07的2、

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論