微控制器實現溫度控制

2022-12-04 03:48:03 字數 3123 閱讀 6535

一、摘要

該系統主電路採用89s51微控制器實現溫度控制,加熱和製冷部分由於條件限制,只採用模擬的方式。電路可實現溫度的顯示,設定上下限溫度,超出範圍報警以及和pc機通訊的功能。系統測量精度和控制精度良好。

我們為本系統共設計了兩套程式,我主要負責其中一套程式的編寫和微控制器最小系統板的組建。

二、 方案選擇

本系統若根據賽題要求可有多種實現方案。

(1)方案一此方案是傳統的一位式模擬控制方案,選用模擬電路,用電位器設定給定值,反饋的溫度值和設定值比較後,決定加熱或不回熱。系統受環境影響大,不能實現複雜的控制演算法,不能用數碼顯示,不能用鍵盤設定。

(2)方案二此方案是傳統的二位式模擬控制方案,其基本思想與方案一相同,但由於採用上下限比較電路,所以控制精提高。這種方法還是模擬控制方式,因此也不能實現複雜的控制演算法使控制精度做得較高,而且仍不能用數碼顯示和鍵盤設定

(3)方案三此方案採用89s51微控制器系統來實現。微控制器軟體程式設計靈活、自由度大,可用軟體程式設計實現各種控制看法和邏輯控制。可實現數碼顯示和鍵盤設定等多種功能,系統電路框圖如下:

方案一和方案二是傳統的模擬控制方式,而模擬控制系統難以實現複雜控制規律,控制方案的修改也較麻煩。而方案三是採用以89s51為控制核心的微控制器控制系統,尤其對溫度控制,它可達到模擬控制所達不到的控制效果,並且可實現顯示、鍵盤設定等多種功能,又易於擴充套件,大大提高了系統的智慧型化,也使得系統所測結果精度大大提高。故選擇方案三。

三、 器件選擇

由於微控制器最小系統板採用的是去年省賽的板子,所以受到了很多限制。如對系統精度至關重要的a/d轉換換器,板子上採用的是adc0809。因為是八位的,所以精度不高,最多只能達到0.

4度左右。但考慮到已有現成的板子,採用0809同樣可達到實驗的目的,所以a/d部分暫不作更改。

感測器部分既可採用熱敏電阻,也可採用整合的溫度感測器。但由於熱敏電阻的精度、重複性、可靠性都比較差,所以我們採用的整合的lm35,lm35是乙個三端器件(電源、地、輸出),的是ns公司生產的積體電路溫度感測器系列產品之一,它具有很高工作精度和較寬的線性工作範圍,該器件輸出電壓與攝氏溫度線性成比例。lm35與用開爾文標準的線性溫度感測器相比更有優越之處,lm35無需外部校準或微調,可以提供±1/4℃的常用的室溫精度。

其靈敏度為+10.0mv/℃,精度在+25℃時為0.5℃。

精度較高,並且**較低,每片**6元。較之效能較好的ad590k便宜許多,價效比高。故採用lm35而捨棄ad590k。

四、 電路原理圖

微控制器最小系統電路:

由於去年大賽的板子(舊板)是03級的學生設計的,故存在許多缺陷,具體表現在微控制器和adc0809之間的讀寫線接反,

微控制器p0口和adc0809的資料線高低位接反。顯示部分的74ls245多接了乙個排阻。經過多次的檢查,找出了錯誤。

最終的電路圖如圖示:

微控制器最小系統部分:

adc0809的a/d取樣部分:

四位led數碼管顯示部分:

微控制器串列埠通訊電路

溫度採集部分:

報警電路溫控模擬部分:

五、 工作原理

具體電路原理詳見本組另一成員的報告,在此僅介紹系統的軟體部分,我們總共寫了兩份程式,其中乙份為我個人獨立完成。下面為程式的主要流程圖。

主程式顯示程式

是顯示資料轉換程式

串列埠通訊程式

六、 實驗中遇到的問題及分析

1、微控制器最小系統方面由於是去年03級的同學設計的,我們用的又是舊板,故存在很多缺陷,一方面我們沒有正確的原理圖,只有一張其他同學隨便畫的圖,就算有了原理圖,也不知道板上錯在**,所以只能用萬用表乙個個的找。通過我們的認真檢查,結果發現

不管是板上還是圖紙上都出了相當大的錯誤,圖上很多引腳都標註錯誤了,而板上就更是離譜了,居然把微控制器和adc0809的讀寫線接反,把微控制器的p0口和adc0809的資料線高低位接反,74ls245上還多接了乙個排阻,造成led顯示不正常。諸如上面的錯誤給我們造成了相當大的麻煩,因此我們花了相當長的時間在查錯上。

2、由於感測器lm35的靈敏度是+10.0mv/℃,因此lm35的輸出電壓為毫伏級,溫度為100℃時,輸出也只有1v。而adc0809的參考電壓為5伏,所以增益為5才能滿足要求,易於程式設計。

本系統採用超低溫漂移高精度運算放大器op07將電壓放大,再經電壓跟隨器lm310輸出,以便有大的輸入阻抗。由於買不到lm310,於是便將op07接成電壓跟隨器替代lm310。而電路中的rw1調為4k就滿足增益為5的要求。

即(r1+rf)/r1=5,其中rf是反饋電阻,也就是rw1。

3、程式設計方面,因為是自己頭一次嘗試獨立完成乙份相對規模較大程式,因些也遇到了不少的麻煩。第一是程式位址空間分配問題,因為51微控制器片內資源有限,往往會發生衝突,此時保護就顯得相當的重要。第二因為彙編可讀性較差,寫程式時由於多採用跳轉指令,所以往往會把自已搞糊塗掉。

要克服這個,需要大量的程式設計經驗,又需要有足夠的耐心。第三是彙編的效率問題,雖然就那麼幾條指令,但是用法卻相當的靈活,這學期以來的程式設計經歷讓我深有體會,若能寫出高效率的**,將是一件相當有成就感的事。

七、 實驗的擴充套件

該設計可再有很多擴充套件功能,如加熱器斷線報警、測溫元件斷電監測、加熱容器缺水報警等眾多功能。本系統已通過串列埠線與pc機相連,可在此基礎上再與印表機相連,實時列印溫度變化曲線。可在pc機上寫後序軟體,通過串列埠監視,完成一系列複雜功能,也可通過串列埠通訊給系統發出指令,完成遠端控制。

八、 心得體會

1、硬體裝焊方面要有足夠的耐心和細心,就算電路設計的再好,在焊接時出一點小差錯,也是不允許的,往往電路的錯誤都是由於一些小問題引起的,如短路等,將造成不可**的後果

2、軟體方面注意的細節也很多,下面簡單介紹一下這陣子寫程式得到的一些經驗:

(1)寫較大的程式時一定要事先做好資源分配。

(2)堆疊指標sp應設初值。

(3)r1、r0也應規定好用哪一區的,即設psw.3和psw.4。

(4)進入中斷時一定要記得保護acc和psw(視情況而定)。

(5)不止進中斷時要保護,有時候在正常程式下也要對某些值進得保護。可用堆疊式的保護也可先賦值給其他位址,過後再賦回來

(6)妥善使用位位址,位位址可做為一些標誌位,可以給程式設計帶來很大的方便。在本程式中,我就用了三個位位址,使程式大大的簡化了

總之,系統設計是一件相當好玩的事,特別是獨立完成之後的那種成就感,非同道中人是無法體會的到的。微控制器很有意思,51只是基礎,後面的路還很長。16位、32位mcu正在等著我,我將朝著系統設計這個方向不懈努力。

微控制器溫度控制系統設計

中北大學 課程設計說明書 學院 資訊與通訊工程學院 專業 電子資訊工程 學生姓名學號 課程設計題目 可程式設計溫控系統設計 起迄日期 12月29日 1月 11日 課程設計地點 學院樓201實驗室 指導教師楊錄 學科部主任張丕壯 下達任務書日期 2015 年 12 月28 日 課程設計任務書 1 設計...

微控制器溫度實訓報告

題目 1602顯示萬年曆和溫度 系部 專業 班級 姓名 學號 指導教師 2011年12月15日 目錄一 引言3 1.1 意義3 1.2 系統功能3 1.3 成員工作3 二 使用硬體4 三 使用原理圖5 四 完成萬年曆和溫度的程式7 五 感悟14 六 致謝15 七 參考文獻16 八 老師的評語16 引...

微控制器報告 數字溫度計

微控制器原理與應用 課程考試製作報告 作品名稱 數字溫度計 專業班級 學號姓名 目錄一 作品 功能 說明 二 硬體設計 三 軟體設計 四 例項測試 五 經驗總結 主要內容 一 功能說明 使用單線數字溫度感測器ds18b20,把溫度訊號直接轉換成數碼訊號輸入微控制器,經微控制器處理後,將實時溫度顯示在...