單片機(jī)89C52在加熱爐測控溫度中的應(yīng)用
時(shí)間:2008-03-06 14:29:00來源:ronggang
導(dǎo)語:?本課題研究的是以八位的單片機(jī)89C52為核心的控制系統(tǒng),用來控制小功率的加熱爐。該加熱爐的爐溫范圍為0℃~1000℃,系統(tǒng)主要調(diào)節(jié)在700℃左右,精度達(dá)±2℃
摘 要:本課題研究的是以八位的單片機(jī)89C52為核心的控制系統(tǒng),用來控制小功率的加熱爐。該加熱爐的爐溫范圍為0℃~1000℃,系統(tǒng)主要調(diào)節(jié)在700℃左右,精度達(dá)±2℃。
關(guān)鍵詞:單片機(jī)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 基本思路
電阻爐在國民經(jīng)濟(jì)的各部門有著廣泛的應(yīng)用,小功率的電阻式的高溫爐是礦物及金屬分析、食品、藥物和商品檢驗(yàn)等各種實(shí)驗(yàn)室必不可少的設(shè)備。為了提高產(chǎn)品的質(zhì)量和產(chǎn)量,都需要對爐溫進(jìn)行監(jiān)測和控制。
在本系統(tǒng)中采用8位的89C52作為控制核心,當(dāng)傳感器熱電偶將溫度信號(hào)采集進(jìn)來后經(jīng)過模擬多路開關(guān)CD4066后經(jīng)放大器,成為V級(jí)電壓信號(hào)進(jìn)入AD574。轉(zhuǎn)換結(jié)束后,89C52讀取轉(zhuǎn)換結(jié)果,將結(jié)果濾波查表后送入顯示區(qū)。由4位LED顯示測出溫度,在調(diào)節(jié)溫度時(shí),由4個(gè)按鍵輸入所需要控制的溫度并顯示,然后由單片機(jī)經(jīng)PID運(yùn)算結(jié)果來控制可控硅的通斷,以調(diào)節(jié)溫度。人機(jī)對話功能的強(qiáng)大是現(xiàn)代控制的一個(gè)追求方面。
采用單片機(jī)來對它們進(jìn)行控制不僅具有控制方便簡單和靈活性大的特點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能大大提高產(chǎn)品的質(zhì)量和數(shù)量。
2 硬件設(shè)計(jì)部分
2.1 硬件設(shè)計(jì)核心部分
在一個(gè)控制系統(tǒng)中,硬件選擇的優(yōu)良與否直接影響著控制的精度,對硬件的深入了解也是編制程序的必要前提。
在整個(gè)測控系統(tǒng)中是以8位的單片機(jī)89C52為核心的,89C52是INTER公司生產(chǎn)的帶有8KROM的單片機(jī),8K的ROM可以完全容納的下一個(gè)控溫的程序和表格。選擇它就不需要在外擴(kuò)RAM和ROM,也就不需要外加鎖存器,這可以充分的減小制版的面積,減小制版的面積從另一方面來說也就是減少干擾,提高精度。
2.2 模擬輸入
模擬信號(hào)是由傳感器傳給多路開關(guān)的,這里傳感器選用的是熱電偶,熱電偶是溫度測量中使用最廣的傳感器之一,其測量溫區(qū)寬一般在-180℃~+2800℃的溫度范圍內(nèi)均可使用,測量的準(zhǔn)確度和靈敏度都較高,尤其是在高溫范圍內(nèi),有較高的精度。選用的熱電偶為鎳鉻—鎳硅,它是K型偶,其特點(diǎn)是使用溫度范圍寬,高溫下性能穩(wěn)定,熱電勢與溫度關(guān)系近似線性,價(jià)格便宜,它是最常用的—種熱電偶,短期使用溫度為1300℃,長期使用溫度為1000℃。
將熱電偶采集來的信號(hào)送入多路開關(guān)。多路開關(guān)的作用主要是用于信號(hào)切換,這里我們選擇的是模擬開關(guān)CD4066,它是4選1開關(guān),在這里它的四路通道都有使用,將它的第一、第二通路連接,第三、第四通路連接。因?yàn)闊犭娕疾杉盘?hào)是正負(fù)信號(hào),先使用第一通路,將輸入信號(hào)接地來測量零漂,然后選通第二通路來輸入測量信號(hào)。由CD4066的內(nèi)部結(jié)構(gòu)可知,CD4066的控制電壓應(yīng)滿足Vss

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