基于單片機的水溫控制系統(tǒng)設計資料
基于單片機的水溫控制系統(tǒng)設計資料,基于,單片機,水溫,控制系統(tǒng),設計,資料
基于單片機的水溫控制系統(tǒng)設計目 錄摘 要4第1節(jié) 課題任務要求 .5第2節(jié) 總體方案設計 .52.1 總體方案確定.6 2.1.1 控制方法選擇.6 2.1.2 系統(tǒng)組成7 2.1.3 單片機系統(tǒng)選擇7 2.1.4 溫度控制.7 2.1.5 方案選擇.7第3節(jié) 系統(tǒng)硬件設計.83.1 系統(tǒng)框圖.83.2 程序流程圖.12第4節(jié) 參數(shù)計算.164.1 系統(tǒng)模塊設計.16 4.1.1 溫度采集及轉換.164.1.2 傳感器輸出信號放大.17 4.1.3模數(shù)轉換.184.1.4 外圍電路設計.194.1.5 數(shù)值處理及顯示部分.194.1.6 PID算法介紹.194.1.7 A/D轉換模塊.204.1.8 控制模塊.214.2 系統(tǒng)硬件調試.21第5節(jié) CPU軟件抗干擾 .245.1 看門狗設計.24第6節(jié) 測試方法和測試結果276.1 系統(tǒng)測試儀器及設備.276.2 測試方法.276.3 測試結果27結束語 .29 參考文獻.30基于單片機的水溫控制系統(tǒng)設計摘要:本系統(tǒng)以AT89C51,AT89C2051單片機為核心,主要包括傳感器溫度采集,A/D模/數(shù)轉換,按扭操作,單片機控制,數(shù)碼管數(shù)字顯示等部分。本系統(tǒng)采用PID算法實現(xiàn)溫度控制功能,通過串行通信完成兩片單片機信息的交互而實現(xiàn)溫度設定、控制和顯示。本設計還可以通過串口與上位機(電腦)連接,實現(xiàn)電腦控制。系統(tǒng)設計有體積小、交互性強等優(yōu)點。為了實現(xiàn)高精度的水溫控制,本單片機系統(tǒng)采用PID算法控制和PWM脈寬調制相結合的技術,通過控制雙向可控硅改變電爐和電源的接通、斷開,從而改變水溫加熱時間的方法來實現(xiàn)對水溫的控制。本系統(tǒng)由鍵盤顯示和溫度控制兩個模塊組成,通過模塊間的通信完成溫度設定、實溫顯示、水溫升降等功能。具有電路結構簡單、程序簡短、系統(tǒng)可靠性高、操作簡便等特點。第1節(jié) 課題任務與要求:1.基本要求 一升水由1kw的電爐加熱,要求水溫可以在一定范圍內由人工設定,并能在環(huán)境溫度降低時實現(xiàn)自動調整,以保持設定的溫度基本不變。2.主要性能指標a. 溫度設定范圍:30-90,最小區(qū)分度為1。b. 控制精度:溫度控制的靜態(tài)誤差1。c. 用十進制數(shù)碼顯示實際水溫。d. 能打印實測水溫值。3.擴展功能a. 具有通信能力,可接受其他數(shù)據(jù)設備發(fā)來的命令,或將結果傳送到其他數(shù)據(jù)設備。b. 采用適當?shù)目刂品椒▽崿F(xiàn)當設定溫度與環(huán)境溫度突變時,減小系統(tǒng)的調節(jié)時間和超調量。c. 溫度控制的靜態(tài)誤差1。d. 能自動顯示水溫隨時間變化的曲線。第2節(jié) 總體方案設計2.1總體方案的確定2.1.1、控制方法選擇由于水溫控制系統(tǒng)的控制對象具有熱存儲能力大,慣性也較大的特點。水在容器內的流動或熱量傳遞都存在一定的阻力,因而可以歸于具有純滯后的一階大慣性環(huán)節(jié)。一般來說,熱過程大多具有較大的滯后,它對任何信號的響應都會推遲一段時間,使輸出與輸入之間產生相移。對于這樣一些存在大的滯后特性的過渡過程控制,一般來說可以采用以下幾種控制方案:(1)輸出開關量控制:對于慣性較大的過程可以簡單地采用輸出開關量控制的方法。這種方法通過比較給定值與被控參數(shù)的偏差來控制輸出的狀態(tài):開關或者通斷,因此控制過程十分簡單,也容易實現(xiàn)。但由于輸出控制量只有兩種狀態(tài),使被控參數(shù)在兩個方向上變化的速率均為最大,因此容易硬氣反饋回路產生振蕩,對自動控制系統(tǒng)會產生十分不利的影響,甚至會因為輸出開關的頻繁動作而不能滿足系統(tǒng)對控制精度的要求。因此,這種控制方案一般在大慣性系統(tǒng)對控制精度和動態(tài)特性要求不高的情況下采用。(2)比例控制(P控制)比例控制的特點是控制器的輸出與偏差成比例,輸出量的大小與偏差之間有對應關系。當負荷變化時,抗干擾能力強,過渡時間短,但過程終了存在余差。因此它適用于控制通道滯后較小、負荷變化不大、允許被控量在一定范圍內變化的系統(tǒng)。使用時還應注意經過一段時間后需將累積誤差消除。a. 比例積分控制(PI控制)由于比例積分控制的特點是控制器的輸出與偏差的積分成比例,積分的作用使得過渡過程結束時無余差,但系統(tǒng)的穩(wěn)定性降低。雖然加大比例度可以使穩(wěn)定性提高,但又使過渡時間加長。因此,PI控制適用于滯后較小、負荷變化不大、被控量不允許有余差的控制系統(tǒng),它是工程上使用最多、應用最廣的一種控制方法。b. 比例積分加微分控制(PID控制)比例積分加微分控制的特點是微分的作用使控制器的輸出與偏差變化的速度成正比例,它對克服對象的容量滯后有顯著的效果。在比例基礎上加上微分作用,使穩(wěn)定性提高,再加上積分作用,可以消除余差。因此,PID控制適用于負荷變化大、容量滯后較大、控制品質要求又很高的控制系統(tǒng)。 結合本例題設計任務與要求,由于水溫系統(tǒng)的傳遞函數(shù)事先難以精確獲得,因而很難判斷哪一種控制方法能夠滿足系統(tǒng)對控制品質的要求。但從以上對控制方法的分析來看,PID控制方法最適合本例采用。另一方面,由于可以采用單片機實現(xiàn)控制過程,無論采用上述哪一種控制方法都不會增加系統(tǒng)硬件成本,而只需對軟件作相應改變即可實現(xiàn)不同的控制方案。因此本系統(tǒng)可以采用PID的控制方式,以最大限度地滿足系統(tǒng)對諸如控制精度、調節(jié)時間和超調量等控制品質的要求。2.1.2、.系統(tǒng)組成就控制器本身而言,控制電路可以采用急經典控制理論和常規(guī)模擬控制系統(tǒng)實現(xiàn)水溫的自動團結。但隨著計算機與超大規(guī)模集成電路的迅速發(fā)展,以現(xiàn)代控制理論和計算機為基礎,采用數(shù)字控制、顯示、A/D與D/A轉換,配額后執(zhí)行器與控制閥構成的計算機控制系統(tǒng),在過程控制過程中得到越來越廣泛的應用。由于本例是一個典型的檢測、控制型應用系統(tǒng),它要求系統(tǒng)完成從水溫檢測、信號處理、輸入、運算到輸出控制電爐加熱功率以實現(xiàn)水溫控制的全過程。因此,應以單片微型計算機為核心組成一個專用計算機應用系統(tǒng),以滿足檢測、控制應用類型的功能要求。另外,單片機的使用也為實現(xiàn)水溫的智能化控制以及提供完善的人機交互界面及多機通訊接口提供了可能,而這些功能在常規(guī)數(shù)字邏輯道路中往往是難以實現(xiàn)或無法實現(xiàn)的。所以,本例采用以單片機為核心的直接數(shù)字控制系統(tǒng)(DDC)。2.1.3、.單片機系統(tǒng)選擇AT89C2051、AT89C51單片機是最常用的單片機,是一種低損耗、高性能、CMOS八位微處理器。AT89C2051與MCS-51系列的單片機在指令系統(tǒng)和引腳上完全兼容,而且能使系統(tǒng)具有許多MCS-51系列產品沒有的功能,功能強、靈活性高而且價格低廉。AT89S51可構成真正的單片機最小應用系統(tǒng),縮小系統(tǒng)體積,增加系統(tǒng)的可靠性,降低了系統(tǒng)成本。只要程序長度小于4K,四個I/O口全部提供給擁護。系統(tǒng)運行中需要存放的中間變量較少,可不必再擴充外部RAM。1.1.4、溫度控制鍵盤輸入一個需要控制的溫度,通過單片機2051的串口把數(shù)據(jù)傳送到AT89C51,AT89C51通過數(shù)據(jù)比較,PID分析,T0,T1產生PWM波來控制電爐是否繼續(xù)加熱還是停止加熱。1.1.5、方案選擇方案一:用熱敏電阻:通過電阻的變化來獲得電壓的變化,起價格雖然便宜但是精度不是很高。對于一個精度要求高的系統(tǒng)不宜采用方案二:用A/D590:通過AD590溫度傳感器采集溫度,由于AD590是電流傳感器,經過電阻轉換為電壓。雖然價格較高但是精度高。經比較,我們選擇方案二第3節(jié) 系統(tǒng)硬件設計3.1系統(tǒng)框圖傳 感器電爐單 片 機 基 本 系 統(tǒng)信號放大A/D功率放大鍵盤顯示圖3-1 單片機控制系統(tǒng)原理框圖3.1.2鍵盤顯示電路本模塊以AT89C2051單片機為核心,利用138譯碼器對顯示器動態(tài)掃描及作為鍵盤的掃描線,采用此方法大大簡化了硬件,充分的利用了單片機的資源,這也是本設計的巧妙所在??赏^鍵盤來設置溫度,并顯示在數(shù)碼管上,并通過串口發(fā)送出去,另外檢測到溫度通過串口接收進來,并顯示在相應的數(shù)碼管上鍵盤的掃描輸入與顯示器的掃描輸出由單片機控制,但考慮到鍵盤與接口需要較多的I/O口線,如果直接由單片機控制,一方面必須擴充系統(tǒng)I/O口,另一方面,鍵盤與LED顯示的掃描處理占用大量機時,增加軟件編程負擔。為此在組成系統(tǒng)人機對話通道時采用了可編程的鍵盤。顯示接口芯片8051,由8051負責鍵盤掃描、消抖處理和顯示輸出工作。根據(jù)認為的要求,8051鍵盤被設計為2*8行,掃描線有SL0SL8經譯碼輸出,接入鍵盤列線,查詢RL0RL1提供,采用鍵盤掃描法對16個按鍵進行讀取狀態(tài)。使用行列式,把這16個按鍵分為82,采用74LS138對8行鍵盤輪流掃描,再通過P3.2和P3.7這2列讀進來,從而判斷按鍵是否按下。電路如圖3所示。鍵盤的系統(tǒng)框圖如下: 鍵盤顯示圖一 鍵盤顯示圖二2系統(tǒng)溫度控制前向通道:以AT89C51單片機為控制核心,采集到溫度,經放大,AD轉換后送單片機處理,再通過串行口發(fā)送到顯示模塊因為考慮到PID運算時需要調用浮點數(shù)運算程序庫,程序需要占用很大的存儲空間,8051內部的能滿足此要求,所以不需要擴展外部ROM,系統(tǒng)中運行中需要存放的中間變量只有給定溫度和實測,PID運算中間結果及輸出結果等十幾個變量.因而8051片內的RAM能夠滿足要求,可不必再擴展。后向通道:后向通道是實現(xiàn)控制型號輸出的通道,單片機系統(tǒng)產生的控制信號經過功率放大器的放大控制電爐的輸入功率,以實現(xiàn)水溫的控制的目的.根據(jù)系統(tǒng)的總誤差要求,后向通道的控制精度也要應控制在0.83%之內.以上就是整個電路的框圖, 將前述各單元電路連接起來,就可構成完整的系統(tǒng)硬件電路圖。系統(tǒng)硬件電路中除了包含前、后向通道的輸入、輸出插座外,還應考慮增加苦干個插座,以方便主控板與各部件的連接。硬件電路制作包括印刷線路板制作、焊接和系統(tǒng)連接等幾個方面。印刷線路板的設汁一般都是在計算機上利用Protel 99 SE軟件進行輔助設計。3.2 程序流程圖系統(tǒng)軟件由主程序、鍵盤掃描、LED顯示、串行口中斷組成。由于本模塊就進行鍵盤與顯示任務,且鍵盤掃描與LED掃描是用同個74LS138來完成,可以將程序精簡,即把鍵盤和顯示的程序合在一起放在主程序里。(1)初始化。設定可編程芯片的工作方式,對內存中的工作參數(shù)區(qū)進行初始化,顯示系統(tǒng)初始狀態(tài)。(2)讀溫度程序. 通過DS18B20的側溫.(3)調用PID算法子程序通過鍵盤模塊發(fā)送過來的數(shù)據(jù),即給定值,和測量值進行計算,輸出PWM波.對電爐的水溫度進行控制.(4)返回(2)定時中斷服務程序: 采樣定時由定時器o的定時操作完成,定時器o的定時初值時間由PID的運算結果控制。程序流程如圖所示:(3)脈寬調制輸出子程序:NYYNYNNY開始初始化P3.3、P3.4、P3.5=000消抖31H 0P130H延時Flaga=1等待按鍵放開P3.2=0?P3.7=0?消抖等待按鍵放開Flaga=1?P3.3、P3.4、P3.5=001P131H延時Flagb=1?Flagb 132H 0Flagb0.P3.3、P3.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輸出高電平脈寬標志位清0返回脈寬標志位是高電平?P0.0輸出低電平把脈寬標志位置1YN初始化調用水溫檢測子程序調用PID算法子程序開起定時器定時時間到?調用脈寬子程序返回YNN初始化調讀溫度子程序調PWM子程序調PID子程序調發(fā)送子程序定時時間到YPID子程序T1=T1+K(Ek-E(K-1)設置溫度大于實測溫度設置溫度減實際溫度實際溫度減設置溫度置標志位清標志位差值放30HYN子程序返回占空比加上差值標志位為1PWM占空比到上限PWM占空低到下限占空比減去差值開始復位DS18B20發(fā)讀存儲器命令返回發(fā)跳過ROM命令發(fā)溫度轉換命令延時復位DS18B20將溫度轉換成BCD碼發(fā)送溫度值,顯示溫度水溫檢測子程序第4節(jié) 參數(shù)計算系統(tǒng)調試包括硬件調試和軟件調試。按+鍵設定溫度值加一;按-鍵設定溫度值減一;按設溫鍵,可任意設置溫度,輸入相應的數(shù)值,按確定鍵即可,按取消鍵則返回前一次設置的值;按初始鍵則返回剛一開機的狀態(tài)。軟件的調試府在仿真器提供的單步、斷點、跟蹤等功能的支持下對各子程序分別進行調試將調試完的工程序連接起來再調試逐步擴大調試范圍。4.1 系統(tǒng)各模塊設計及參數(shù)計算4.1.1、溫度采集部分及轉換部分我們使用AD590來采集外界的溫度。AD590是美國模擬器件公司生產的單片集成兩端感溫電流源。它的主要特性如下:1、流過器件的電流(mA)等于器件所處環(huán)境的熱力學溫度(開爾文)度數(shù),即:mA/K式中: 流過器件(AD590)的電流,單位為mA; T熱力學溫度,單位為K。2、AD590的測溫范圍為-55+150。3、AD590的電源電壓范圍為4V30V。電源電壓可在4V6V范圍變化,電流 變化1mA,相當于溫度變化1K。AD590可以承受44V正向電壓和20V反向電壓,因而器件反接也不會被損壞。4、輸出電阻為710MW。5、精度高。AD590共有I、J、K、L、M五檔,其中M檔精度最高,在-55+150范圍內,非線性誤差為0.3。由于AD590采集的輸出數(shù)據(jù)是模擬量電流,而且很小,不易測量,所以我們要將電流量轉換成電壓量,這樣有利于后面的放大及D/A轉換。我們改用一個固定電阻(9.1k或10k)和一個電位器(1K)串接的方法,這樣可以通過調節(jié)電位器使得每路輸出電壓基本一致。如以0為參考值則應使其電壓輸出為2.73V;如以25為參考值,則應使其電壓輸出為2.98V.4.1.2、傳感器輸出信號放大電路部分:由于取得的電壓量很小,我們選用LM324做為運放,以為其內部帶有四個運放,可以使得運放部分在電路版上不占用太大的體積。我們用了其內部的三個運放。第一級運放我們做成射級跟隨器的形式,起到阻抗匹配的作用。第二級運放設計為反相比例求和電路,根據(jù)反相比例求和電路公式,我們設計了如下圖的電路,U=-((10/10)*U1+10/(20+R)),其中U為第二級輸出電壓,R為50k的電位器??梢酝ㄟ^調節(jié)電位器使得輸出電壓達到要求。設0時,第二級的輸出為2.73-2.73=0V,而25時,第二級的輸出為2.73-2.98= -0.25V(反相)(零位調整)。第三級運放設計為反相比例放大電路,我們設計為將第二級的輸出電壓放大5倍。所以我們選用了10k和50k的電阻來實現(xiàn)。4.1.3、模數(shù)轉換電路部分:這部分最初想用ADC0809的,但為了配合使用CD4051,我們最終選擇了ADC0804。ADC0804的規(guī)格及引腳圖8位CMOS逐次逼近型的A/D轉換器三態(tài)鎖定輸出存取時間:135s;分辨率:8位;轉換時間:100s;總誤差:1LSB;工作溫度:ADC0804LCN0+70;ADC0804LCD -40+85;引腳圖及說明如圖所示:/CS:芯片選擇信號。/RD:外部讀取轉換結果的控制腳輸出信號。/RD為高時,DB0DB7處于高阻抗;/RD為低時,數(shù)字數(shù)據(jù)才會輸出。/WR:用來啟動轉換的控制輸入,相當于ADC的轉換開始(/CS=0時),當/WR由高變?yōu)榈蜁r,轉換器被清除;當/WR回到高時,轉換正式開始。CLK IN, CLK R:時鐘輸入或接振蕩元件(R,C),頻率約限制在100kHz1460kHz,如果使用RC電路則其振蕩頻率為1/(1.1RC)./INTR:中斷請求信號輸出,低電平動作。VIN(+)、VIN():差動模擬電壓輸入。輸入單端正電壓時,VIN()接地;而差動輸入時,直接加入VIN(+)、VIN()。AGND,DGND:模擬信號及數(shù)字信號的接地。VREF:輔助參考電壓。DB0DB7:8位的數(shù)字輸出。VCC:電源供應以及作為電路的參考電壓。眾所周知, 精度是數(shù)據(jù)采集系統(tǒng)的重要指標, 模數(shù)轉換器的量化誤差是影響系統(tǒng)精度的主要因素,A/D轉換器的位數(shù)越多, 其量化誤差越小, 一個M 位的A/D 轉換器的量化誤差可表示為:式中V ref為模數(shù)轉換器的參考基準電壓。設A/D 轉換電路的模擬輸入電壓為Vi, 則經A/D 轉換后的相對誤差表示為: (2)上式表明, 當模數(shù)轉換器的位數(shù)選定后, 其相對誤差D與其模擬輸入電壓V i 成反比。因此只有將輸入信號V i 預放大到接近參考電壓V ref, 才能充分發(fā)揮A/D轉換器位數(shù)的效能, 減小量化誤差, 提高系統(tǒng)數(shù)據(jù)采集精度。此即為引入前置放大器的目的之所在。逐步逼近式A/D的轉換公式:,、Ux為輸入電壓、N為輸出值 (1-1) (1-2)當選定參考電壓和A/D位數(shù)時,e為常數(shù),由誤差傳遞公式得:,Ux是輸入絕對誤差 (1-3)由式(1-3)知:當輸入電壓越大,A/D轉換的相對誤差越小,當然輸入電壓不能大于A/D最大轉換電壓。因此為了減少A/D轉換誤差,對輸入信號進行放大。4.1.4、ADC0804芯片外圍電路的設計:a.19腳的CLKR端接一個10k的電阻和150PF的電容,根據(jù)公式f=1/(1.1RC),可算得時鐘輸入頻率為0.6兆左右。b.9腳:選擇470k的電阻、5k的電位器和2.7伏的穩(wěn)壓管來調節(jié)芯片的相對電壓。本電路中應調節(jié)電位器使得9腳電壓為2.56伏。c.1、7、8腳接地d.6腳接運放的輸出端,采集收集到的信號,經過A/D轉換最后輸出8位2 進制數(shù),這樣就可以送到單片機里進行處理了。4.1.5、數(shù)值處理部分及顯示部分: 數(shù)值處理部分:我們采用8051芯片,其內部自帶程序存儲器。其外接12兆的晶振來給起供應震蕩頻率。9腳接一個10F的電解電容再接地,來實現(xiàn)復位功能。/RD和/WR分別與ADC0804的/RD和/WR相連,實現(xiàn)數(shù)據(jù)的讀寫控制。P2.4腳與ADC0804的/INTR相接,可以通過編程來判斷該腳的高低來得知A/D轉換是否完成。P1.4P1.7及P2.7口分別外接一個4.7k的電阻接至三極管的C端,來控制三極管的通斷,來控制5個數(shù)碼管的亮暗。P2.0P2.2口分別與ADC0804的9、10、11腳來控制選擇的路數(shù)。 顯示部分:用7447芯片與8051的P1.0P1.3口相連,7447芯片可將8051轉換好的8421BCD碼轉換成7段碼送到數(shù)碼管顯示。數(shù)碼管選用共陽的,因此在其Vcc端要外接一個三極管(9013),通過控制三極管給數(shù)碼管供電,來控制數(shù)碼管的通斷。4.1.6、PID算法的介紹:在模擬系統(tǒng)中,PID算法的表達式:(1)式中: P(t)調節(jié)器的輸出信號: e(t)調節(jié)器的偏差信號,它等于測量值與給定值之差; KP調節(jié)器的比例系數(shù);TI調節(jié)器的積分時間; TD調節(jié)器的微分時間。4.1.7、A/D轉換模塊由于系統(tǒng)對信號采集的速度要求不高,故可以采用價格低的8位逐次逼近式A/D轉換器ADC0804,該轉換器轉換速度為100us,轉換精度為0.39%,對應誤差為0.2340C。故采用AD0804,ADC0804是8位模數(shù)轉化電路,它能把模擬電壓值轉化為8位二進制碼,其轉化公式如下:DX=VIN*256/VREF 我們這里設置VREF 等于5V(因為這里懸空沒接,查資料可知其為5V),則DX 所對應的值就是八位二進制碼的十進制值,具體轉化表如下:溫度值ADCin(V)DX十六進制編碼溫度值ADCin(V)DX十六進制編碼0C0000H30C2.344878H2C0.156107H35C2.73498BH4C0.31320AH40C3.125AA0H8C0.625320H45C3.516BB4H10C0.781427H50C3.906CC7H15C1.17253CH55C4.297DDCH20C1.56064FH60C4.688EF0H25C1.953763H64C5.000FFFHA/D轉換器時鐘電路參數(shù)計算ADC0804片內有時鐘電路,其振蕩頻率可按下式計算: fclk1/1.1RC式中R和C分別是CLK_R和CLK_IN兩端外接一對地電阻、電容的阻容值。其典型應用參數(shù)為R=10K,C=150PF。此時fclk640kHz,A/D轉換時間約為103s。A/D轉換器的INTR與89C51的P1.0相連,單片機以查詢方式獲取A/D轉換器轉換完畢的信息。4.1.8、控制模塊由于用單片機來控制雙向晶閘管,而晶閘管陽極和陰極間所接的是220V的交流電壓,故本電路在中間加了一個光電耦合器件,使低壓區(qū)和高壓區(qū)隔離開。光電耦合器件采用的是MOC3041,其耐壓值為400V,可以滿足本設計的要求。而光電耦合器件的工作電流較大,因此前面需加放大電路,采用的是小功率硅三極管9012可滿足要求,另外為了保護光電耦合器件需在高壓側接一個大功率電阻。雙向晶閘管的選?。河捎谪撦d是1KW的電爐,用于控制負載輸入功率的雙向晶閘管應能滿足負載對工作電壓、電流的要求。工作電壓峰值可按下式計算: Vp=2201.414=313(V)工作電流峰值可按下式計算: Ip=1000/2201.414=6.43(A)因此,為滿足應用要求并適當留有余地,雙向晶閘管可選用BAT12-600,該器件可承受的最大反向電壓為600V,最大電流為12A,為了保護雙向晶閘管還可在其旁邊加一保護電路(即緩沖電路),因為雙向晶閘管在開通和關斷的瞬間du/dt的變化率較大,開關損耗很大,因此加上阻容電路,利用儲能元件對能量進行緩沖,從而達到保護的目的,具體電路如圖2所示。由于本電路采用PID控制,程序較長,約為2.8K左右,因此選用比較熟悉AT89C51單片機,其容量為4K,可以滿足設計的要求。復位電路的參數(shù)選擇:本設計晶振用的是12M,則機器周期為1us,要使單片機復位需持續(xù)2個機器周期的高電平??砂聪率接嬎悖?RC2us 為了使單片機能夠可靠地上電自動復位,選取R=8.2K,C=10uF。4.2 系統(tǒng)硬件調試溫系統(tǒng)經溫度傳感器和信號放大器產生05V的模擬電壓信號送入A/D轉換器的輸入端,A/D轉換器將模擬量轉換為數(shù)字量通過系統(tǒng)總線送入單片機進行運算處理。硬件電路的調試應依次對單片機基本系統(tǒng)、前向通道和后向通道分別進行調試。調試時可利用仿真器對各接口地址進行讀寫操作,靜態(tài)地測試電路各部分的連接是否正確;對于動態(tài)過程(如中斷響應、脈寬調制輸出等)可以編寫簡短的調試程序配合硬件電路的調試。4.2.1、單片機基本系統(tǒng)調試(a)晶振電路 將仿真器晶扳開關打到外部,如果仿真器出現(xiàn)死機現(xiàn)象,說明用戶系統(tǒng)晶振電路有問題,此時應用示波器觀察單片機時鐘信號,或輸入端是否振蕩信或檢查品振電路各器件參數(shù)。(b)復位電路按下復位按鈕應使系統(tǒng)處于復位狀態(tài),否則用用表檢查復位電路各點信號和器件參數(shù)。(2)LED顯示電路本電路采用8個共陰的數(shù)碼管動態(tài)顯示,前4個為設定溫度,后4個為實測溫度。動態(tài)掃描時采用74LS138對這8個數(shù)碼管輪流掃描,進行位控,而P1口是進行段控信號的控制,為了增加數(shù)碼管的亮度,共陰端有三極管來驅動它的電流。電路如圖6所示。(3)鍵盤接口電路 本電路采用鍵盤掃描法對16個按鍵進行讀取狀態(tài)。使用行列式,把這16個按鍵分為82,采用74LS138對8行鍵盤輪流掃描,再通過P3.2和P3.7這2列讀進來,從而判斷按鍵是否按下(4)前向通道調試比較簡單(5)后向通道調試(a)靜態(tài)調試 用仿真器在p00上輸出高電平,雙向可控硅導通電爐開始加熱;在P00上輸出低電平雙向可控硅截止,電爐停止加熱。如果輸出不正常,應按信號輸出順序分別撿查P00、光電耦合器輸入端、光電耦合器輸出端及雙向可控硅兩端的電壓情況。(b)動態(tài)調試編寫簡短調試程序,在P00上周期性地輸出一定占空比的脈寬調制波形,用示被器觀察電爐兩端電壓輸入波形和通斷比例。改變輸出波形占空比,電爐兩端電壓輸入的通斷比也應有相應改變。 (6) 傳感器電路部分溫度傳感器種類較多。熱電偶由于熱電勢較小,因而靈敏度較低;熱敏電阻由于非線性而影響精度;鉑電阻溫度傳感器由于成本高,在一般小系統(tǒng)中很少使用。AD590是美國Analog Devices公司生產的二端式集成溫度傳感器,具有體積小、重量輕、線性度好、性能穩(wěn)定等一系列優(yōu)點。它的測溫范圍為-50+155C,滿刻度誤差為0.3C,當電源電壓在510V之間,穩(wěn)定度為1%,誤差只有0.01C,完全適用于本設計對水溫測量的要求。另外AD590是溫度電流傳感器,對于提高系統(tǒng)抗干擾能力也有很大幫助,因此本設計選用AD590作為溫度傳感器。其輸出電流I與溫度的關系可用下式表示: 或式中:I輸出電流,單位mAKT標定因子,AD590的標定因子為1mA/C;TK開氏溫度。TC攝氏溫度。可見,當溫度為攝氏0C時,輸出電流為273.2mA。放大器電阻計算:由于我的測量定為+C+64C,根據(jù)這一測量范圍要求,信號轉換電路應將+C+64C溫度轉換為05V的電壓信號,根據(jù)以上分析可知AD590在0C和64C時輸出電流分別為273.2uA和337.2uA,因此R1、RS、R2、RS2阻值可按下式計算: R1+RS1=12V/273.2UA=43.9K取R1=40K,RS1=5K。 R2+RS2=5V/64UA=78.1K取R2=68K,RS2=12K。 綜上所述,在上述6部分都沒有問題后,就可以進行下一步了,即軟件調試。(6)軟件調試:軟件的調試府在仿真器提供的單步、斷點、跟蹤等功能的支持下對各子程序分別進行調試將調試完的工程序連接起來再調試逐步擴大調試范圍。調試的過程一般是:a測試程序輸入條件或設定程序輸入條件;b以單步、斷點或跟蹤方式運行程序;c檢查程序運行結果;d運行結果不正確時查找原因。修改程序,重復上述過程。(7) 注意:A.輸入抗干擾a、鍵盤按鍵在按下與抬起時都會有1020ms的抖動毛刺出現(xiàn),在讀取鍵值時可先延時,再進行采樣,在本設計中我是調用了一段顯示子程序,和同學的電路相比,效果非常明顯。b.AD轉換器 由于外界的干擾,AD采樣后的數(shù)據(jù)會有較大誤差,為了提高準確度,可采用輸入分區(qū)抗干擾法,對模擬信號進行初步的處理,降低外界干擾的破壞性,當然再配合多數(shù)平均法處理效果更加。B.輸出抗干擾 一般來說,單片機的低電平驅動能力遠高于高電平的驅動能力,可以用上拉電阻的方法來平衡單片機的端口驅動能力,以提高整體的抗干擾能力。因此本設計中只要涉及輸出控制都是采用低電平驅動。第5節(jié) CPU軟件抗干5.1 看門狗設計單片機最易受干擾的是內部計數(shù)器PC的值。在受強干擾的時,PC值改變,改變后的值又是隨機的,為一不確定值。因此,對系統(tǒng)內核CPU進行R軟件抗干擾顯得尤為重要,本設計采用的是看門狗設計。 這樣, 就可以進行總體調試了。把編寫好的程序放在電腦里,使用偉福仿真器來仿真,看看8個數(shù)碼管顯示的數(shù)據(jù)是否正確,按下按鍵后能否在數(shù)碼管上顯示設定的值,反復的調試、修改程序,使達到預期的效果。看門狗(Watchdog)電路是嵌入式系統(tǒng)需要的抗干擾措施之一。本文用X25045芯片設計了一種新的看門狗電路,具有體積小、占用I/O口線少和編程方便的特點,可廣泛應用于儀器儀表和各種工控系統(tǒng)中。系統(tǒng)在運行時,通常都會遇到各種各樣的現(xiàn)場干擾,抗干擾能力是衡量工控系統(tǒng)性能的一個重要指標。看門狗(Watchdog)電路是自行監(jiān)測系統(tǒng)運行的重要保證,幾乎所有的工控系統(tǒng)都包含看門狗電路。在8096系列單片機和增強型8051系列單片機中,該系統(tǒng)已經做在芯片內部,用戶只要用軟件開放它就可以,使用很方便。但目前工控系統(tǒng)仍在使用廉價的普通型8051系列單片機,則看門狗電路必須由用戶自己建立??撮T狗電路一般有軟件看門狗和硬件看門狗兩種。軟件看門狗不需外接硬件電路,但系統(tǒng)需要出讓一個定時器資源,這在許多系統(tǒng)中很難辦到,而且若系統(tǒng)軟件運行不正常,可能導致看門狗系統(tǒng)也癱瘓。硬件看門狗是真正意義上的“程序運行監(jiān)視器”,如計數(shù)型的看門狗電路通常由555多諧振蕩器、計數(shù)器以及一些電阻、電容等組成,分立元件組成的系統(tǒng)電路較為復雜,運行不夠可靠。X25045芯片簡介X25045是美國Xicor公司的生產的標準化8腳集成電路,它將EEPROM、看門狗定時器、電壓監(jiān)控三種功能組合在單個芯片之內,大大簡化了硬件設計,提高了系統(tǒng)的可靠性,減少了對印制電路板的空間要求,降低了成本和系統(tǒng)功耗,是一種理想的單片機外圍芯片。X25045引腳如圖1所示。圖5-1 X25045引腳圖其引腳功能如下。CS:片選擇輸入;SO:串行輸出,數(shù)據(jù)由此引腳逐位輸出;SI:串行輸入,數(shù)據(jù)或命令由此引腳逐位寫入X25045;SCK:串行時鐘輸入,其上升沿將數(shù)據(jù)或命令寫入,下降沿將數(shù)據(jù)輸出;WP:寫保護輸入。當它低電平時,寫操作被禁止;Vss:地;Vcc:電源電壓;RESET:復位輸出。X25045在讀寫操作之前,需要先向它發(fā)出指令,指令名及指令格式如表1所示。表1 X25045指令及其含義X25045看門狗電路設計及編程X25045硬件連接圖如圖2所示。X25045芯片內包含有一個看門狗定時器,可通過軟件預置系統(tǒng)的監(jiān)控時間。在看門狗定時器預置的時間內若沒有總線活動,則X25045將從RESET輸出一個高電平信號,經過微分電路C2、R3輸出一個正脈沖,使CPU復位。圖2電路中,CPU的復位信號共有3個:上電復位(C1、R2),人工復位(S、R1、R2)和Watchdog復位(C2、R3),通過或門綜合后加到RESET端。C2、R3的時間常數(shù)不必太大,有數(shù)百微秒即可,因為這時CPU的振蕩器已經在工作。圖5-2X25045看門狗電路硬件連接圖看門狗定時器的預置時間是通過X25045的狀態(tài)寄存器的相應位來設定的。如表2所示,X25045狀態(tài)寄存器共有6位有含義,其中WD1、WD0和看門狗電路有關,其余位和EEPROM的工作設置有關。第6節(jié) 測試方法和測試結果 6.1 系統(tǒng)測試儀器及設備雙路跟蹤穩(wěn)壓穩(wěn)流電源DH1718E-5直流穩(wěn)壓電源數(shù)字示波器Tektronix TDS1002偉福E6000/L 仿真器多功能數(shù)字表GDM-8145數(shù)字萬用表0100溫度計、調溫電熱杯、秒表6.2 測試方法由于系統(tǒng)不完善,我采用的是分步調試的方法,步驟如下: (1)在水杯中存放1L凈水,放置在1KW的電爐上,打開控制電源,系統(tǒng)進入準備工作狀態(tài)。(2)先調零,先將OP07的2、3腳短路,然后調節(jié)滑動變阻器,使六腳輸出為0。(3)在改變溫度使溫度為35時輸出為0V,溫度為95時輸出為5V。在65時為2.5V。 (4)在結合軟件進行水溫控制,假如設定溫度為88,而實際溫度為55,那么就加熱使水問到達88,此時水爐會自動斷電,當水溫低與88,水爐有會自動加熱實現(xiàn)控制的作用。 (5)然后在雙機通訊,用鍵盤設定溫度,結合軟件加以控制。6.3 測試結果(1)測量溫度與給定溫度的相應值如表1所示 表 1給定溫度()實測溫度()相對誤差給定溫度()實測溫度()相對誤差135350465632.5224543-3.2257573-2.33355532.82685832.18上表用溫度計標定測溫系統(tǒng)。分別是水溫穩(wěn)定在35、45、55、65、75、85,觀察系統(tǒng)測量溫度值和實際溫度值,盡量校準系統(tǒng)使測量誤差在1以內。記錄測量數(shù)據(jù)填入表1。由上表可以看出,實測溫度和給定溫度之間的絕對溫度超出了1之間,由于系統(tǒng)顯示數(shù)值沒有小數(shù)部分,所測結果只能以度來衡量,其實際誤差是稍大于1的,測量結果不是很滿足系統(tǒng)誤差的要求。這也是這個系統(tǒng)設置不全的一方面??梢允钦{0的過程中由于調不到0,我把反饋電阻R18給換了,我第一次換的是20K的雖然能調到但波動很大,后來我又換了一個10K的,那波動就小了很多,也能調到要求的范圍了。但我覺得還是有問題,這個問題是我到現(xiàn)在還沒解決的,在設計的過程中有些電阻是自己去估計取出來的,有些還是很有問題的,我認為這是導致誤差的主要原因。因此我認為可以通過改變電路中一些電阻或電容的阻值來得到改善。注意,在測量的過程中,也就是在使用AD590傳感器的時候,為了避免器件一被測液體的直接接觸,應將傳感器裝入保護套管中,或將器件用硬質乙烯樹脂等材料密封,以避免被測液體對傳感器的腐蝕和對測量精度產生影響。結束語 根據(jù)設計要求,調試完成的系統(tǒng)應作全面的指標測試。測試過程如下: a.通過鍵盤輸人水溫給定值,輸入范圍能滿足40一90C區(qū)分度為1 C的要求。 b.運行水溫控制系統(tǒng),觀察水溫變化情況測量水溫靜態(tài)誤差,該誤差應能滿足要求。 c.在給定突變或環(huán)境溫度突變的情況下,觀察系統(tǒng)的調節(jié)時間和超調量,并能根據(jù)需要改變系統(tǒng)控制參數(shù),實現(xiàn)不同的控制品質要求。 通過這次實驗, 了解了傳感器A/D590的特性和其應用。也收獲了很多關于單片機相互通信的知識。特別是對PID算法有了一定的了解。在整個系統(tǒng)的制作過程中,溫度的采樣遇到了很大的困難,電阻值沒有調準。還有在PCB板的制作過程中預先沒有設置好線條的粗細,在加220V電壓的線路中,線條應該加粗,防止相互之間的干擾。本系統(tǒng)溫度采樣,PWM波和通信都已經已經完成,但是由于PAB板不能加220V電壓,故而沒有最總完成電路系統(tǒng)。使我的動手能力提高了許多,能夠讓我在做電路時,自己來解決碰到的問題,學會了怎樣去分析電路,怎樣把所學到的知識和實際相起來。但是由于自己是第一次真正做系統(tǒng),所以在很多方面都沒有經驗,故而并沒有完成老師的要求,今后將都作系統(tǒng)來加強自己這方面的不足。參考文獻電子系統(tǒng)設計 主編:何小艇 浙江大學出版社8051單片機實踐與應用 編著:吳金戎,沈慶陽等 清華大學出版社單片機應用系統(tǒng)設計 編著:韓志軍,王振波等 機械工業(yè)出版社28
收藏