目前,無論是在工業(yè)生產中還是在科研實驗中通過對溫度" title="溫度">溫度測量" title="測量">測量來進行自動控制的設備越來越普及,應用場合也越來越多。隨之而來的問題是,如何能夠測得精確的溫度以保證自動控制設備能夠正確地發(fā)出控制指令來控制生產過程。另一方面,如果溫度過高可能會對一些設備中的一些半導體元器件造成損壞。因此,對于自動高溫報警的需求也在逐漸增加。本文基于以上方面的考慮,研究并設計" title="設計">設計了一種基于單片機的自動溫度測量與報警系統(tǒng)" title="報警系統(tǒng)">報警系統(tǒng)。
1 系統(tǒng)硬件設計
盡管目前市場上單片機的品種多樣,功能也越來越多,但是受成本約束,性能優(yōu)良的8位單片機仍然是工業(yè)檢測與控制應用領域的首選。
本系統(tǒng)就是以ATMEL公司的AT89C51" title="AT89C51">AT89C51單片機為中心,通過模數(shù)轉換器AD7812對溫度傳感器的輸出電壓進行模數(shù)轉換,再將轉換結果送入單片機進行相應的處理,通過編程分析處理的結果,最后決定是否報警。下面分別介紹各個硬件功能模塊的設計。
1.1 溫度傳感器設計
溫度傳感器是感知外部環(huán)境中溫度變化的重要元件,它是外界與本系統(tǒng)的接口。它將外界溫度的變化轉化成電壓的變化,這樣通過對電壓的處理與分析就可以間接地測量出外界溫度。本系統(tǒng)采用的溫度傳感器為LM35,該溫度傳感器由美國國家半導體公司生產,在常溫下,不需要額外的校正處理就可以到達0.25℃的準確率。其輸出電壓與攝氏溫度成線性關系,并且這種關系可以表示為:
或者
式中,Vo為傳感器的輸出電壓,單位V,T是外界環(huán)境中的溫度,單位℃。由于LM35能夠測量的最高溫度是150℃,由式(1)可得其最大輸出電壓為1.5 V。為了能夠與AD7812的輸入進行匹配,故需要對傳感器的輸出電壓進行放大,放大的倍數(shù)約為3.33倍??刹捎眉蛇\放連接成同向放大器來實現(xiàn)電壓放大的功能。經過放大后的電壓約為5 V,恰好能夠與模數(shù)轉換部分的輸入相匹配。該部分電路設計如圖1所示。
圖1溫度傳感器電路
1.2 A/D轉換設計
經過溫度傳感器轉換后的輸出電壓值不能直接送入單片機中進行處理,還必須在它們之間增加A/D轉換裝置。本文中選擇AD7812作為A/D轉換器。AD7812是由Analog Devices公司生產的一種串行接口的10位8通道A/D轉換器。與一般的并行接口A/D轉換器相比,它的優(yōu)點在于能夠節(jié)省處理器的引腳資源。節(jié)省下來的引腳資源可以進一步的對系統(tǒng)進行擴展,以使其功能更加強大。在AD7812內部有8路模擬開關可以采集8路模擬信號,這里只需要將經放大的傳感器輸出信號輸入到其中任意一路即可,為了簡便起見,就取其中的第1路模擬開關作為輸入信號的通道。由于AD7812內部具有轉換時鐘源,因而不需要外部提供時鐘源。單片機只需要通過它的串行時鐘輸入、數(shù)據輸出、數(shù)據輸入、轉換輸入4根引腳就可以對其進行控制。該部分電路設計如圖2所示。
圖2 A/D轉換電路
1.3 單片機處理器電路設計
AT89C系列單片機是一款低電壓,高性價比8位單片機。與MCS-51單片機相比,它有兩大優(yōu)勢:第一,片內存儲器采用閃速存儲器,使程序的寫入更加方便;第二,推出了更小尺寸的芯片,使電路的尺寸更小。
AT89C51是該系列中一種帶4 KB容量可編程可擦除只讀存儲器和128字節(jié)隨機存取數(shù)據存儲器(RAM)的高性能8位單片機。它采用ATMEL的高密度非易失存儲器制造技術,與工業(yè)標準的MCS-51指令集和輸出管腳兼容??傊珹TMEL的AT89C51單片機為嵌入式控制系統(tǒng)提供了一種高性價比的實現(xiàn)方案。
AT89C51提供以下標準功能:4 K字節(jié)的Flash閃存存儲器,128字節(jié)內部RAM,32個I/O口線,2個16位定時/計數(shù)器,1個5向量兩級中斷結構,1個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89C51可降至0 Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其他所有部件工作直到下一個硬件復位。在本文中該中央處理電路如圖3所示。
圖3 單片機處理電路
1.4 異常情況報警電路設計
報警電路的作用是在出現(xiàn)異常情況時及時地提醒工作人員盡快采取措施,減少危險,避免災難性后果的出現(xiàn)。因此,在設計報警電路時,應該讓它的報警行為能夠迅速被人察覺,以進一步采取相應措施,避免或減少危害帶來的損失?,F(xiàn)代科學研究證明,通過刺激人的視覺與聽覺能夠較好地達到報警的目的。并且,閃爍的燈光與斷續(xù)的聲響最能夠引起人們的注意?;谏厦娴倪@種考慮,在設計中使用了74LS0 0、74LS04等集成門電路芯片組成的脈沖信號發(fā)生器來控制聲音的斷續(xù)和燈光的亮滅。
外界環(huán)境中的溫度被溫度傳感器所采集,溫度傳感器會將此時的溫度轉換成電壓值,該電壓值經過匹配后送入A/D轉換器,經過轉換之后的數(shù)據送入單片機進行處理。單片機按照編制好的程序進行處理,如果確實此時的溫度超過了人們憑借經驗設定的閾值,單片機將通過指令使P0.0、P0.1兩口輸出為高電平(約為+5 V),使得揚聲器與發(fā)光二極管產生報警信號。該部分的電路設計如圖4和圖5所示。
圖4 聲音報警電路
圖5 燈光報警電路
2 系統(tǒng)軟件設計
為了便于程序的修改,將系統(tǒng)按照模塊化的方法進行設計。該系統(tǒng)由溫度采集、A/D轉換、數(shù)據處理、報警輸出4個模塊部分組成。溫度采集是由溫度傳感器LM35完成,A/D轉換和報警輸出是由單片機進行控制的。而數(shù)據處理部分則是單片機接收到A/D轉換器送來的數(shù)據后,在單片機內部完成的,其結果將決定報警輸出模塊是否工作。
系統(tǒng)的工作流程是:LM35采集溫度,并且將溫度信號轉換成電信號:A/D轉換將線性放大后的模擬電信號進行A/D轉換,使之成為單片機能夠處理的數(shù)字信號;單片機通過處理轉換后的數(shù)字信號來分析采樣的溫度值,并將分析結果送到報警輸出電路中;報警輸出電路根據分析的結果做出相應的反應。系統(tǒng)的軟件設計流程圖如圖6所示。
圖6 系統(tǒng)設計流程圖
2.1 A/D轉換模塊
A/D轉換器在啟動之前需要對其進行初始化,否則會影響后面的使用。根據圖2的連接方式,初始化時將單片機的P1.4口置1,然后軟件啟動一次轉換過程即可。在轉換的過程中。由于任何A/D轉換器都會有一定的轉換時間,所以在轉換時要設置一定的延時,并且該延時要略長于器件的轉換時間。由于AD1812的轉換時間約為2.3 μs,在程序中可以將延時設置為3μs,以保證轉換過程的順利進行。
2.2 中央處理模塊
這部分模塊的軟件設計主要包括單片機對A/D轉換模塊的控制、單片機處理送來的數(shù)據以及單片機對報警系統(tǒng)的控制3大部分。
對A/D模塊的控制主要包括對AD7812進行有關控制字的寫入以及對P1口的引腳的置位與清零操作;數(shù)據處理部分主要是將外界溫度轉換過來的電壓值與預先的經驗閾值進行比較,進而決定是否啟動報警系統(tǒng);報警系統(tǒng)的設計則是根據數(shù)據處理的結果對P0口進行清零或是置位,來啟動或停止報警電路。
3 結束語
本文主要設計了一種自動溫度測量報警系統(tǒng),該系統(tǒng)的設計主要基于AT89C51單片機,中央處理單元與外圍擴展模塊的構造簡單,整個系統(tǒng)實現(xiàn)成本較低。由于LM35是采用單電源供電方式,因此該系統(tǒng)只能夠在5~150℃的范圍內工作,可以作為常溫下的報警裝置使用,尤其是在一些對溫度較敏感的電氣設備內部,可以起到防止設備故障的作用,故而具有一定的實用價值。在設計中沒有使用并口的A/D轉換AD0 809而是使用了串口轉換的AD7812為單片機節(jié)約了許多端口資源,可以利用這些資源擴展LED或LCD顯示系統(tǒng),也可制成溫度的測量與報警系統(tǒng),使其功能更加完善。