隨著(zhù)計算機技術(shù)尤其是單片微型機技術(shù)的發(fā)展,溫度對人們的生活與工作影響很大,所以要實(shí)時(shí)采集溫度并且對其進(jìn)行分析。為此,實(shí)現實(shí)時(shí)準確的測量監控。采用串口傳送數據并且在PC機上進(jìn)行分析。由于單片機的控制方便、簡(jiǎn)單和靈活等優(yōu)點(diǎn),采用了高性能avr單片機來(lái)控制GTJ4-10A固態(tài)繼電器,最總實(shí)現溫度的控制。從而最總在PC機上繪制溫度曲線(xiàn)并保存數據和分析溫度的數據。 1 系統組成及基本原理 本系統由溫度采集模塊,固態(tài)繼電器控制模塊,單片機模塊,PC機軟件處理模塊。4個(gè)模塊加起來(lái)實(shí)現溫度的控制,以及溫度采集和溫度經(jīng)過(guò)軟件處理的分析。它們的邏輯關(guān)系如圖1所示。 本系統的任務(wù)是對某種特定環(huán)境的溫度進(jìn)行采集并進(jìn)行保存和再顯示,通過(guò)單片機去控制固態(tài)繼電器,從而控制其溫度值的大小,再通過(guò)PC機實(shí)時(shí)顯示當前的溫度,并對當前的溫度進(jìn)行分析與保存。便于與以后的溫度值進(jìn)行對比等應用。首先由ATmega16單片機控制GTJ4-10A固態(tài)繼電器從而控制交流電,再達到控制溫度值的大小,這個(gè)時(shí)候通過(guò)DS18B20溫度傳感器對當前的溫度值進(jìn)行采集。將采集的數據結果通過(guò)Tx送給單片機,單片機將達到的溫度值一方面通過(guò)串行通訊端口送給計算機,另一方面將溫度數據進(jìn)行對比分析,再通過(guò)IO控制GTJ4-10A固態(tài)繼電器。從而實(shí)現了溫度值控制。另一方面PC機得到的溫度值送給MFC軟件繪制溫度曲線(xiàn),同時(shí)通過(guò)保存按鈕將溫度值以及采集當前溫度的時(shí)間記錄下來(lái)。然后再經(jīng)過(guò)顯示按鈕將溫度值和時(shí)間顯示出來(lái)。這就是對溫度的實(shí)時(shí)采集與分析。 2 硬件部分設計 本系統主要采用高性能AVR單片機,GTJ4-10A固態(tài)繼電器,DS18B20溫度傳感器,報警輸出電路。主要系統電路圖略。 2.1 ATmega16單片機簡(jiǎn)介 ATmega16是基于增強的AVR RISC結構的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集以及單時(shí)鐘周期指令執行時(shí)間,ATmega16的數據吞吐率高達1 MIPS/MHz,從而可以減緩系統在功耗和處理速度之間的矛盾。ATmega16AVR內核具有豐富的指令集和32個(gè)通用工作寄存器。所有的寄存器都直接與運算邏單元(ALU)相連接,使得一條指令可以在一個(gè)時(shí)鐘周期內同時(shí)訪(fǎng)問(wèn)兩個(gè)獨立的寄存器。這種結構大大提高了代碼效率,并且具有比普通的CISC微控制器最高至10倍的數據吞吐率。因此可以很好進(jìn)行數據傳送以及對繼電器的控制和溫度的采集。 2.2 溫度采集模塊 DS18B20采用Dallas獨有的單總線(xiàn)協(xié)議,溫度轉換結果可選擇為9-12位,最大轉換時(shí)間在轉換結果為12位時(shí)為750 ms,可通過(guò)讀取DS18B 20的狀態(tài)值判斷其是否轉換完畢。其測溫范圍為-55~+125℃,精度在范圍內為±0.5℃。 2.3 固態(tài)繼電器的控制 繼電器模塊單元通過(guò)單片機的IO口控制,讓單片機的計算器計數,當環(huán)境溫度的需要加熱時(shí),我們通過(guò)IO讓繼電器工作,達到某一數值時(shí),再給繼電器IO口低電平,從而通過(guò)單片機和利用繼電器實(shí)現弱點(diǎn)控制交流電的作用,這里主要是利用了單片機PWM實(shí)現控制,從而就實(shí)現溫度值大小的控制。具體電路圖如圖2所示。 2.4 報警輸出電路 報警輸出電路通過(guò)單片機的PA6口控制8550三極管,從而控制蜂鳴器。當溫度值達到某一值時(shí),蜂鳴器報警。這時(shí)通知單片機停止加熱,再經(jīng)過(guò)固態(tài)繼電器控制加熱設備,實(shí)現溫度維持在一恒定的溫度值附近。如果溫度值低于某一數值時(shí),單片機通知加熱設備加熱,這個(gè)原理是采用采集溫度值控制的,從而達到用戶(hù)的要求。 3 軟件部分設計 在系統硬件構架完成后,系統軟件所實(shí)現的功能主要是針對溫度曲線(xiàn)的繪制以及溫度值的實(shí)時(shí)記錄和存檔并且實(shí)現歷史記錄。程序流程圖如圖3所示。 通過(guò)單片將數據傳遞給PC機,PC機將接收到的數據在溫度曲線(xiàn)顯示與分析用戶(hù)見(jiàn)面顯示出來(lái)。本軟件設計中還有串口選擇、波特率的選擇、停止顯示、清空數據、關(guān)閉程序等基本功能。這里主要是溫度值的曲線(xiàn)繪制,然后再將溫度值保存起來(lái)并進(jìn)行再顯示的操作。從而達到實(shí)時(shí)采集與分析的功能。溫度曲線(xiàn)顯示與分析用戶(hù)界面如圖4所示。 3.1 溫度顯示曲線(xiàn)圖 溫度顯示曲線(xiàn)圖的主要任務(wù)是將單片機接收到的數據顯示出來(lái),當溫度傳過(guò)時(shí),在軟件中分別顯示當前的溫度值和時(shí)刻。通過(guò)MFC中的Time函數記錄每一個(gè)溫度值的時(shí)刻。并采用繪圖函數將溫度值和溫度的當前時(shí)刻繪成曲線(xiàn),然后再對數據特殊處理繪制成曲線(xiàn)圖。在這里比較難處理的是實(shí)時(shí)的溫度采集繪制曲線(xiàn)。 3.2 保存設計單元 單片機接受的數據通過(guò)MFC中的WriteData()將溫度值和時(shí)刻值保存下來(lái),此種做法就是利于將來(lái)對數據的分析使用,將溫度值和時(shí)間值記錄存檔成txt文件,打開(kāi)txt文件可以很清楚看到數據的變化情況,這部分功能主要是記錄溫度值和溫度值的當前時(shí)刻,利于將來(lái)對溫度值做比較分析。 3.3 顯示設計單元 顯示設計單元是將保存的溫度值和時(shí)間值再繪制成溫度曲線(xiàn)圖,便于清楚分析數據。通過(guò)ReadData函數將保存的數據讀出來(lái),然后在經(jīng)過(guò)畫(huà)圖函數繪制溫度曲線(xiàn)圖,在這里可以清楚地看到歷史數據,這樣做便于實(shí)驗數據科學(xué)分析,這部分功能主要是顯示歷史溫度值和時(shí)刻,實(shí)驗結果如圖5所示。 4 結束語(yǔ) 該實(shí)時(shí)溫度采集與分析系統行能穩定可靠,另外,本系統采用高性能的ATmega16單片機最小系統組成。選用高靈敏度的數字式溫度傳感器為依據。通過(guò)單片機控制輸出不同的PWM,從而可以繪制出實(shí)際的溫度曲線(xiàn),也可以根據不同的環(huán)境分析各個(gè)時(shí)刻的溫度值。本軟件設計中還有重要的保存和顯示歷史記錄的功能。利于將來(lái)進(jìn)行對比分析數據。同時(shí)滿(mǎn)足實(shí)時(shí)環(huán)境溫度檢測和多種用戶(hù)的要求。 |