<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> Arduino >> 瀏覽文章

        基于Proteus的Arduino學習08-MAX6675與熱電偶高溫測量的實現

        作者:我不是奔跑哥   來源:我不是奔跑哥的blog   點擊數:  更新時間:2014年06月08日   【字體:
        這次我們使用熱電偶和MAX6675實現高溫測量,并且串口輸出溫度測量值。
        一、熱電偶工作原理
        兩種不同成份的導體兩端接合成回路,當兩個接合點的溫度不同時,在回路中就會產生電動勢,這種現象稱為熱電效應,而這種電動勢稱為熱電勢。
        熱電偶就是利用熱點效應原理進行溫度測量的,其中,直接用作測量介質溫度的一端叫做工作端(也稱為測量端),另一端叫做冷端(也稱為補償端);冷端與顯示儀表或配套儀表連接,顯示儀表會指出熱電偶所產生的熱電勢。
        熱電偶的實物如圖1所示。
        圖1 熱電偶實物圖
        熱電偶實際上是一種能量轉換器,它將熱能轉換為電能,用所產生的熱電勢測量溫度,對于熱電偶的熱電勢,應注意如下幾個問題:
        1、熱電偶的熱電勢是熱電偶工作端的兩端溫度函數的差,而不是熱電偶冷端與工作端,兩端溫度差的函數;
        2、熱電偶所產生的熱電勢的大小,當熱電偶的材料是均勻時,與熱電偶的長度和直徑無關,只與熱電偶材料的成份和兩端的溫差有關;
        3、當熱電偶的兩個熱電偶絲材料成份確定后,熱電偶熱電勢的大小,只與熱電偶的溫度差有關;若熱電偶冷端的溫度保持一定,這時候的熱電偶熱電勢僅是工作端溫度的單值函數。
        將兩種不同材料的導體或半導體A和B焊接起來,構成一個閉合回路。當導體A和B的兩個執著點1和2之間存在溫差時,兩者之間便產生電動勢,因而在回路中形成一個大小的電流。
        二、MAX6675工作原理
        根據熱電偶測溫原理,熱電偶的輸出熱電勢不僅與測量端的溫度有關,而且與冷端的溫度有關,需要測量出冷端溫度,從而才能準確地測量出真實的溫度。下面將介紹集成冷端補償的芯片MAX6675。
        MAX6675是MAXIM公司的K型熱電偶串行模數轉換器,它能獨立完成信號放大、冷端補償、線性化、A/D轉換及SPI串口數字化輸出功能。
        MAX6675內部集成有冷端補償電路;帶有簡單的3位串行SPI接口;可將溫度信號轉換成12位數字量,溫度分辨率達0.25℃;內含熱電偶斷線檢測電路。冷端補償的溫度范圍-20℃~80℃,可以測量0℃~1023.75℃的溫度。  MAX6675為SO-8腳封裝,工作電壓為+5V直流電壓,功耗為47.1mW,電流為50mA,適用于體積不大,不利散熱的裝置條件下使用,其引腳圖如圖2所示。其中SO為SPI串行輸出端口引腳; CS為片選信號;SCK為串行時鐘輸入;T+、T-分別接熱電偶的測量端和冷端。

        圖2 MAX6675引腳圖
        首先,我們需要proteus仿真里面添加K型熱電偶和MAX6675,在元器件搜索欄中輸入“TCK”和“MAX6675”,并添加至元器件選擇欄中,如圖3和4所示。然后,并將K型熱電偶的紅色端和藍色端分別接至MAX6675的T+(2腳)和T-(3腳),MAX6675的SO、SCK、CS分別接至Arduino UNO的數字口8、9、10,熱電偶仿真圖如圖5所示。最后點擊MAX6675,設置冷端溫度為25℃。如圖6所示。

        圖3 添加K型熱電偶

        圖4 添加AMX6675

        圖5 熱電偶仿真圖

        圖6 設置冷端補償溫度

        Arduino代碼清單:
        #include "Max6675.h"
        Max6675 ts(8, 9, 10);
        // Max6675 module: SO on pin #8, SS on pin #9, CSK on pin #10 of Arduino UNO
        // Other pins are capable to run this library, as long as digitalRead works on SO,
        // and digitalWrite works on SS and CSKl
        void setup()
        {
        ts.setOffset(0);
        // set offset for temperature measurement.
        // 1 stannds for 0.25 Celsius
        Serial.begin(9600);
        }
        void loop()
        {
        Serial.print(ts.getCelsius(), 2);
        Serial.print(" C / ");
        Serial.print(ts.getFahrenheit(), 2);
        Serial.print(" F / ");
        Serial.print(ts.getKelvin(), 2);
        Serial.print(" K\n");
        delay(3000);
        }
        編譯成功之后,導入proteus仿真軟件進行仿真。通過調節K型熱電偶的溫度值,可以看到串口輸出的溫度數值,串口輸出的溫度值為熱電偶的溫度+MAX6675中設置的冷端溫度!咀ⅰ坷涠藴囟葹25℃,熱電偶溫度為240℃、49℃的仿真圖如圖7、8所示。
        【注】由于仿真環境為理想環境,傳感器為理想模型,僅能驗證能否對傳感器進行讀寫操作,初步地驗證程序的正確性。實際測量過程中,測量溫度與實際溫度會有一定的誤差,誤差大小和傳感器、環境等都有關系。


        圖7 熱電偶為240℃時的仿真圖

        圖8 熱電偶為49℃時的仿真圖
        最后奉上視頻
        關閉窗口

        相關文章

        推薦文章
        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮