<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ATmega16的實時溫度采集與分析系統(tǒng)的設(shè)計與實現(xiàn)

          基于ATmega16的實時溫度采集與分析系統(tǒng)的設(shè)計與實現(xiàn)

          作者: 時間:2015-02-13 來源:網(wǎng)絡(luò) 收藏

            隨著計算機技術(shù)尤其是單片微型機技術(shù)的發(fā)展,溫度對人們的生活與工作影響很大,所以要實時采集溫度并且對其進行分析。為此,實現(xiàn)實時準確的測量監(jiān)控。采用串口傳送數(shù)據(jù)并且在PC機上進行分析。由于單片機的控制方便、簡單和靈活等優(yōu)點,采用了高性能avr單片機來控制固態(tài)繼電器,最總實現(xiàn)溫度的控制。從而最總在PC機上繪制溫度曲線并保存數(shù)據(jù)和分析溫度的數(shù)據(jù)。

          本文引用地址:http://www.ex-cimer.com/article/269935.htm

            1 系統(tǒng)組成及基本原理

            本系統(tǒng)由溫度采集模塊,固態(tài)繼電器控制模塊,單片機模塊,PC機軟件處理模塊。4個模塊加起來實現(xiàn)溫度的控制,以及溫度采集和溫度經(jīng)過軟件處理的分析。它們的邏輯關(guān)系如圖1所示。

            

           

            本系統(tǒng)的任務(wù)是對某種特定環(huán)境的溫度進行采集并進行保存和再顯示,通過單片機去控制固態(tài)繼電器,從而控制其溫度值的大小,再通過PC機實時顯示當前的溫度,并對當前的溫度進行分析與保存。便于與以后的溫度值進行對比等應(yīng)用。首先由單片機控制固態(tài)繼電器從而控制交流電,再達到控制溫度值的大小,這個時候通過DS18B20溫度傳感器對當前的溫度值進行采集。將采集的數(shù)據(jù)結(jié)果通過Tx送給單片機,單片機將達到的溫度值一方面通過串行通訊端口送給計算機,另一方面將溫度數(shù)據(jù)進行對比分析,再通過IO控制固態(tài)繼電器。從而實現(xiàn)了溫度值控制。另一方面PC機得到的溫度值送給MFC軟件繪制溫度曲線,同時通過保存按鈕將溫度值以及采集當前溫度的時間記錄下來。然后再經(jīng)過顯示按鈕將溫度值和時間顯示出來。這就是對溫度的實時采集與分析。

            2 硬件部分設(shè)計

            本系統(tǒng)主要采用高性能AVR單片機,GTJ4-10A固態(tài)繼電器,DS18B20溫度傳感器,報警輸出電路。主要系統(tǒng)電路圖略。

            2.1 單片機簡介

            是基于增強的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執(zhí)行時間,ATmega16的數(shù)據(jù)吞吐率高達1 MIPS/MHz,從而可以減緩系統(tǒng)在功耗和處理速度之間的矛盾。ATmega16AVR內(nèi)核具有豐富的指令集和32個通用工作寄存器。所有的寄存器都直接與運算邏單元(ALU)相連接,使得一條指令可以在一個時鐘周期內(nèi)同時訪問兩個獨立的寄存器。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的CISC微控制器最高至10倍的數(shù)據(jù)吞吐率。因此可以很好進行數(shù)據(jù)傳送以及對繼電器的控制和溫度的采集。

            2.2 溫度采集模塊

            DS18B20采用Dallas獨有的單總線協(xié)議,溫度轉(zhuǎn)換結(jié)果可選擇為9-12位,最大轉(zhuǎn)換時間在轉(zhuǎn)換結(jié)果為12位時為750 ms,可通過讀取DS18B 20的狀態(tài)值判斷其是否轉(zhuǎn)換完畢。其測溫范圍為-55~+125℃,精度在范圍內(nèi)為±0.5℃。

            2.3 固態(tài)繼電器的控制

            繼電器模塊單元通過單片機的IO口控制,讓單片機的計算器計數(shù),當環(huán)境溫度的需要加熱時,我們通過IO讓繼電器工作,達到某一數(shù)值時,再給繼電器IO口低電平,從而通過單片機和利用繼電器實現(xiàn)弱點控制交流電的作用,這里主要是利用了單片機PWM實現(xiàn)控制,從而就實現(xiàn)溫度值大小的控制。具體電路圖如圖2所示。

            

           

            2.4 報警輸出電路

            報警輸出電路通過單片機的PA6口控制8550三極管,從而控制蜂鳴器。當溫度值達到某一值時,蜂鳴器報警。這時通知單片機停止加熱,再經(jīng)過固態(tài)繼電器控制加熱設(shè)備,實現(xiàn)溫度維持在一恒定的溫度值附近。如果溫度值低于某一數(shù)值時,單片機通知加熱設(shè)備加熱,這個原理是采用采集溫度值控制的,從而達到用戶的要求。

            3 軟件部分設(shè)計

            在系統(tǒng)硬件構(gòu)架完成后,系統(tǒng)軟件所實現(xiàn)的功能主要是針對溫度曲線的繪制以及溫度值的實時記錄和存檔并且實現(xiàn)歷史記錄。程序流程圖如圖3所示。

            

           

            通過單片將數(shù)據(jù)傳遞給PC機,PC機將接收到的數(shù)據(jù)在溫度曲線顯示與分析用戶見面顯示出來。本軟件設(shè)計中還有串口選擇、波特率的選擇、停止顯示、清空數(shù)據(jù)、關(guān)閉程序等基本功能。這里主要是溫度值的曲線繪制,然后再將溫度值保存起來并進行再顯示的操作。從而達到實時采集與分析的功能。溫度曲線顯示與分析用戶界面如圖4所示。

            

           

            3.1 溫度顯示曲線圖

            溫度顯示曲線圖的主要任務(wù)是將單片機接收到的數(shù)據(jù)顯示出來,當溫度傳過時,在軟件中分別顯示當前的溫度值和時刻。通過MFC中的Time函數(shù)記錄每一個溫度值的時刻。并采用繪圖函數(shù)將溫度值和溫度的當前時刻繪成曲線,然后再對數(shù)據(jù)特殊處理繪制成曲線圖。在這里比較難處理的是實時的溫度采集繪制曲線。

            3.2 保存設(shè)計單元

            單片機接受的數(shù)據(jù)通過MFC中的WriteData()將溫度值和時刻值保存下來,此種做法就是利于將來對數(shù)據(jù)的分析使用,將溫度值和時間值記錄存檔成txt文件,打開txt文件可以很清楚看到數(shù)據(jù)的變化情況,這部分功能主要是記錄溫度值和溫度值的當前時刻,利于將來對溫度值做比較分析。

            3.3 顯示設(shè)計單元

            顯示設(shè)計單元是將保存的溫度值和時間值再繪制成溫度曲線圖,便于清楚分析數(shù)據(jù)。通過ReadData函數(shù)將保存的數(shù)據(jù)讀出來,然后在經(jīng)過畫圖函數(shù)繪制溫度曲線圖,在這里可以清楚地看到歷史數(shù)據(jù),這樣做便于實驗數(shù)據(jù)科學分析,這部分功能主要是顯示歷史溫度值和時刻,實驗結(jié)果如圖5所示。

            

           

            4 結(jié)束語

            該實時溫度采集與分析系統(tǒng)行能穩(wěn)定可靠,另外,本系統(tǒng)采用高性能的ATmega16單片機最小系統(tǒng)組成。選用高靈敏度的數(shù)字式溫度傳感器為依據(jù)。通過單片機控制輸出不同的PWM,從而可以繪制出實際的溫度曲線,也可以根據(jù)不同的環(huán)境分析各個時刻的溫度值。本軟件設(shè)計中還有重要的保存和顯示歷史記錄的功能。利于將來進行對比分析數(shù)據(jù)。同時滿足實時環(huán)境溫度檢測和多種用戶的要求。

          手機電池相關(guān)文章:手機電池修復(fù)


          蜂鳴器相關(guān)文章:蜂鳴器原理
          溫濕度控制器相關(guān)文章:溫濕度控制器原理


          關(guān)鍵詞: ATmega16 GTJ4-10A

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();