單片機89C52在加熱爐測控溫度中的應用
時間:2008-03-06 14:29:00來源:ronggang
導語:?本課題研究的是以八位的單片機89C52為核心的控制系統,用來控制小功率的加熱爐。該加熱爐的爐溫范圍為0℃~1000℃,系統主要調節在700℃左右,精度達±2℃
摘 要:本課題研究的是以八位的單片機89C52為核心的控制系統,用來控制小功率的加熱爐。該加熱爐的爐溫范圍為0℃~1000℃,系統主要調節在700℃左右,精度達±2℃。
關鍵詞:單片機89C52;加熱爐;爐溫
Abstract:The study of the subject is the control system of the centre at eight bit single chip processor,controlling low—power furance.The temperature range of the fuurance is from 0℃to 1000℃,the adjustment about 700℃,accuracy up to±2℃.
Key words:singel chip processor 89C52;furance;furance temperature
1 基本思路
電阻爐在國民經濟的各部門有著廣泛的應用,小功率的電阻式的高溫爐是礦物及金屬分析、食品、藥物和商品檢驗等各種實驗室必不可少的設備。為了提高產品的質量和產量,都需要對爐溫進行監測和控制。
在本系統中采用8位的89C52作為控制核心,當傳感器熱電偶將溫度信號采集進來后經過模擬多路開關CD4066后經放大器,成為V級電壓信號進入AD574。轉換結束后,89C52讀取轉換結果,將結果濾波查表后送入顯示區。由4位LED顯示測出溫度,在調節溫度時,由4個按鍵輸入所需要控制的溫度并顯示,然后由單片機經PID運算結果來控制可控硅的通斷,以調節溫度。人機對話功能的強大是現代控制的一個追求方面。
采用單片機來對它們進行控制不僅具有控制方便簡單和靈活性大的特點,而且可以大幅度提高被控溫度的技術指標,從而能大大提高產品的質量和數量。
2 硬件設計部分
2.1 硬件設計核心部分
在一個控制系統中,硬件選擇的優良與否直接影響著控制的精度,對硬件的深入了解也是編制程序的必要前提。
在整個測控系統中是以8位的單片機89C52為核心的,89C52是INTER公司生產的帶有8KROM的單片機,8K的ROM可以完全容納的下一個控溫的程序和表格。選擇它就不需要在外擴RAM和ROM,也就不需要外加鎖存器,這可以充分的減小制版的面積,減小制版的面積從另一方面來說也就是減少干擾,提高精度。
2.2 模擬輸入
模擬信號是由傳感器傳給多路開關的,這里傳感器選用的是熱電偶,熱電偶是溫度測量中使用最廣的傳感器之一,其測量溫區寬一般在-180℃~+2800℃的溫度范圍內均可使用,測量的準確度和靈敏度都較高,尤其是在高溫范圍內,有較高的精度。選用的熱電偶為鎳鉻—鎳硅,它是K型偶,其特點是使用溫度范圍寬,高溫下性能穩定,熱電勢與溫度關系近似線性,價格便宜,它是最常用的—種熱電偶,短期使用溫度為1300℃,長期使用溫度為1000℃。
將熱電偶采集來的信號送入多路開關。多路開關的作用主要是用于信號切換,這里我們選擇的是模擬開關CD4066,它是4選1開關,在這里它的四路通道都有使用,將它的第一、第二通路連接,第三、第四通路連接。因為熱電偶采集信號是正負信號,先使用第一通路,將輸入信號接地來測量零漂,然后選通第二通路來輸入測量信號。由CD4066的內部結構可知,CD4066的控制電壓應滿足Vss

,這里將電壓信號放大100倍,得出RG為500。采樣保持器的作用是在采樣期間,其輸出能跟隨輸入的變化而變化;而在保持狀態,能使其輸出值保持不變。但在本系統中,溫度變化緩慢,采樣速度較快,所以無需加采樣保持器。
2.3 A/D轉換
在本系統中選用的是AD574。它是美國模擬器件公司生產的12位逐次逼近型快速的A/D轉換器。轉換速度最大為35μs,轉換精度≤0.05%,是目前我國市場上應用最廣泛、價格適中的A/D轉換器。AD574片內配有三態輸出緩沖電路,因而可直接與各種類型的8位或16位微處理器連接,而無需附加邏輯接口電路,且能與CMOS及TTL電平兼容。由于AD574片內包含高精度的參考電壓源和時鐘電路,這使它在不需要任何外部電路和時鐘信號的情況下完成一切A/D轉換功能,應用非常方便。
2.4 人機接口
鍵盤輸入是人工干預計算機的主要手段,鍵盤實質上是一組按鍵開關集合。通常按鍵開關為機械彈性開關,均利用了機械觸點的合斷作用。由于機械觸點的彈性作用,一個按鍵開關在閉合是不會馬上的接通,在斷開是也不會馬上斷開,因而在閉合及斷開瞬間均伴有一連串的抖動,抖動時間一般為5~10ms。為了確保CPU對一次按鍵動作只確認一次按鍵,必須進行消抖,消抖可分為硬件去抖和軟件去抖,在此我們選擇軟件去抖。在本系統中由于按鍵較少,所以沒有選用編碼鍵盤和矩陣式鍵盤,而是采用獨立式按鍵接口設計,將4個按鍵經74LS245接在P0口上,并將其中兩個按鍵通過與非門接在INT0上。
顯示也是系統重要組成部分之—,本系統顯示用來顯示測量溫度和調節溫度。LED數碼管采用硬件譯碼驅動,選用的器件為74LS49,它可將4位的BCD碼譯成7段十六進制碼。4位LED的位選信號由89C52的P1.4—P1.7經反相器提供。通常某時刻只有一個LED的位選信號有效,4位LED的段選信號端同時由74LS49得到相同的端選信號。若P1.4—P1.7送出第一位的位選有效信號,這時P1.0—P1.3將第一位LED應顯示的數字或字符的BCD碼送至74LS49,此刻4位LED均得到來自74LS49的字形碼,但此刻只有第一位選通,所以也只有第一位LED顯示字形,由于是動態連續顯示眼睛分辨不出轉換的時間。
3.1 軟件設計的總體思想
本課題的要求是能夠實時的測溫并顯示所測得溫度以及根據要調節的溫度使用一定的算法使測出的溫度和所調節的相符。系統的方框圖如下:
在設計軟件時根據控制系統工作由實時測量、實時決策和實時控制組成和PL/M語言的將程序分解成模塊來處理的特點將程序分為幾個大的模塊,其中有主程序塊和幾個中斷模塊。主模塊主要完成89C52的初始化,INT0中斷使用來設置調節溫度的,即實時決策,T0中斷是用來定期測溫的,即事實測量,T1中斷是用來控制調節的,即實時控制。在中斷模塊中又嵌套了一些小的過程塊,由它們來分別完成鍵盤掃描,鍵碼識別,溫度顯示,爐溫采樣,數字濾波和控制算法等。在這里我們主要給出了主模塊、INT0、T0的設計思路。
3.2 主模塊設計思路
主模塊只需進行一些89C52的初始化,然后等待中斷產生。初始化包括對中斷允許寄存器IE的設置,將其設置為83即:EA=1,開CPU中斷,ET0和EX0為1,開T0和INT0中斷;對中斷源優先級IP的設定,將其設為03,即:設置INT0和T0為高優先級中斷;對定時器的工作寄存器TMOD設置,TMOD=55H,即:設置T0和T1均為工作方式一,均為計數方式且用軟件啟動T0和T1工作;T0初始化,然后就是等待中斷。
3.3 NT0設計思路
INT0中斷主要是完成實時決策,根據課題的要求,測溫的范圍在0℃-1000℃之間,在想調節溫度的時候先切換到初始的溫度值,設初始溫度為500℃,這樣適合上下調節,在硬件方面就需要添加一個切換鍵。在設為500℃后要根據要求得溫度上下調節,這樣上升鍵和下降鍵就必不可少了。在設定完溫度后就需要確定所設定的溫度并切換到實際溫度以便觀察其變化。還需要—個鍵作為啟動停止鍵來控制可控硅的通斷。為了縮小電路板的面積,可設定—個標志位用一個鍵來完成兩種功能。為了完成以上功能在硬件部分設計了四個鍵,分別完成啟動(或停止)-1號鍵,切換(或確定)-2號鍵,下降-3號鍵,上升-4號鍵。其中1號鍵相2號鍵接INT0口,在單獨按下3號鍵和4號鍵是系統并不產生反映,只有在2號鍵為切換功能時才能上下調節溫度。
在INT0中貫穿嵌套了兩個主要的小程序塊,它們分別是送數和顯示,由此就要考慮硬件的顯示部分,由前面的硬件部分介紹可知顯示部分是由4個LED和一個硬件譯碼器組成,。送數部分的過程有三個,分別是實際溫度,設定溫度和設定初始值。顯示部分有二個共同的程序。送數的工作原理基本上相同,但由于它們是把不同地址空間的數送入顯示地址,所以又有略微的差別,在送入設定初始值時,只需將500的個位、十位、百位變成8位的BCD碼,為選通相應的位,再分別與上10H、20H、40H、80H,也就是可以直接將10H、20H、45H送入顯示區。而在送入實測溫度或調節溫度時情形就不大相同了。測出的溫度是以16進制存取的,如果直接將其變成BCD碼就是錯誤的,所以應先將其除以1000,余數再除以100,依此類推。再啟動他們的控制位,然后送入顯示區。在送數的基礎上顯示就容易多了,只需將顯示單元的數送入到P1口即可。為了實現連續顯示,可在顯示部分加上一個D0 WHILE語句。在無按鍵按下時一直顯示測量或調節溫度,而不是一閃而過。
以上的過程能較好的完成調溫功能,并將調節量存入特定的RAM區,流程圖如下。
3.4 T0設計思路
INT0中斷部分是用來完成實時測量和一部分控制的,可以說它是本系統的核心部分。在該部分中要求采樣、濾波、A/D轉換、查表、顯示和算法控制等任務。該中斷程序十分簡單,但在其中調用了許多重要的大的過程塊。為了測量的準確性將采樣周期定為1.5S,T0中斷設為外部計數方式2,當外部脈沖達到100個饅頭波,定時器溢出產生中斷,可以此設定時器初值,中斷流程如下
在生產過程中采用MCS—51來進行溫度的測控,一方面可以提高自動化程度、測控速度;另一方面也可以大大提高測控的精度有效杜絕以往由人為因素而造成的誤差及事故,可以大大提高生產的質量和產量。