新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 采用ARM Cortex-M3的USB熱電偶溫度測量系統(tǒng)電路圖

        采用ARM Cortex-M3的USB熱電偶溫度測量系統(tǒng)電路圖

        作者: 時間:2017-10-31 來源:網絡 收藏

          電路功能與優(yōu)勢

        本文引用地址:http://www.104case.com/article/201710/369760.htm

          本電路顯示如何在精密溫度監(jiān)控應用中使用精密模擬微控制器ADuCM360/ADuCM361。ADuCM360/ADuCM361集成雙通道24位-型模數(shù)轉換器(ADC)、雙通道可編程電流源、12位數(shù)模轉換器(DAC)、1.2 V內部基準電壓源、ARM Cortex-M3內核、126 kB閃存、8 kB SRAM以及各種數(shù)字外設,例如UART、定時器、SPI和I2C接口等。

          在本電路中,ADuCM360/ADuCM361連接到一個和一個100 鉑電阻溫度檢測器(RTD)。RTD用于執(zhí)行冷結補償。

          在源代碼中,ADC采樣速率選擇4 Hz。當ADC輸入可編程增益放大器(PGA)的增益配置為32時,ADuCM360/ADuCM361的無噪聲代碼分辨率大于18位。

          

          圖1. ADuCM360/ADuCM361用作溫度監(jiān)控控制器與接口(原理示意圖,未顯示所有連接)

          電路描述

          本應用中用到ADuCM360/ADuCM361的下列特性:

          - 在軟件中,為熱電偶和RTD配置了32倍PGA增益的24位∑-△型ADC。ADC1在熱電偶信號采樣與RTD電壓信號采樣之間連續(xù)切換。

          - 可編程激勵電流源,用來驅動受控電流流經RTD。雙通道電流源可在0A至2mA范圍內配置。本例使用200A設置,以便將RTD自熱效應引起的誤差降至最小。

          - ADuCM360/ADuCM361中的ADC內置1.2V基準電壓源。它的內部基準電壓源精度高,適合測量熱電偶電壓。

          - ADuCM360/ADuCM361中的ADC內置外部電壓基準電壓源。它可測量RTD電阻;采用比率式設置,將一個外部基準電阻(RREF)連接在外部VREF+和VREF引腳上。

          - 偏置電壓發(fā)生器(VBIAS)。VBIAS用于將熱電偶共模電壓設置為AVDD/2。

          - ARMCortex-M3內核。功能強大的32位ARM內核集成了126kB閃存和8kBSRAM存儲器,用來運行用戶代碼,可配置并控制ADC,通過RTD處理ADC轉換,以及控制UART/USB接口的通信。

          - UART用作與PC主機的通信接口。

          - 兩個外部開關用來強制該器件進入閃存引導模式。使SD處于低電平,同時切換RESET按鈕,ADuCM360/ADuCM361便進入引導模式,而不是正常的用戶模式。在引導模式下,通過UART接口可以對內部閃存重新編程。

          熱電偶和RTD產生的信號均非常小,因此需要使用PGA來放大這些信號。

          本應用使用的熱電偶為T(銅-康銅)型,其溫度范圍為−200°C至+350°C。靈敏度約為40V/°C,這意味著ADC在雙極性模式和32倍PGA增益設置下可以覆蓋熱電偶的整個溫度范圍。

          RTD用于執(zhí)行冷結補償。本電路使用鉑100ΩRTD,型號為Enercorp PCS 1.1503.1。它采用0805表貼封裝。溫度變化率為0.385Ω/°C。

          注意,基準電阻RREF應為精密5.6kΩ (±0.1%)電阻。

          ADuCM360/ADuCM361的USB接口通過FT232R UART轉USB收發(fā)器實現(xiàn),它將USB信號直接轉換為UART。

          除圖1所示的去耦外,USB電纜本身還須采用鐵氧體磁珠來增強EMI/RFI保護功能。本電路所用鐵氧體磁珠為Taiyo Yuden #BK2125HS102-T,它在100 MHz時的阻抗為1000Ω。

          本電路必須構建在具有較大面積接地層的多層印刷電路板(PCB)上。為實現(xiàn)最佳性能,應采用適當?shù)牟季?、接地和去耦技術(請參考教程MT-031——實現(xiàn)數(shù)據(jù)轉換器的接地并解開“AGND”和“DGND”的謎團、教程MT-101——去耦技術、以及ADuCM360TCZ評估板布局)。

          評估該電路所用的PCB如圖2所示。

          

          圖2. 本電路所用的EVAL-ADuCM360TCZ板

          代碼說明

          用于測試本電路的源代碼可從ADuCM360產品頁面下載(zip壓縮文件)。

          UART配置為波特率9600、8數(shù)據(jù)位、無極性、無流量控制。如果本電路直接與PC相連,則可以使用“超級終端” (HyperTerminal)等通信端口查看程序來查看該程序發(fā)送給UART的結果,如圖3所示。

          

          圖3.“超級終端”通信端口查看程序的輸出

          測量熱電偶和RTD的溫度,以獲得溫度讀數(shù)。通過查找表,將RTD溫度轉換為它的等效熱電偶電壓(可查看ISE公司的ITS-90 T型熱電偶表)。這兩個電壓相加以得出熱電偶的絕對溫度值。

          首先,V1是熱電偶兩條線之間測得的電壓。通過查找表,測量RTD電壓并轉換為溫度值;然后,該溫度值再轉換為它的等效熱電偶電壓(V2)。隨后,V1和V2相加得出總熱電偶電壓值,此數(shù)值經轉換后作為最終的溫度測量值。

          

          圖4. 使用簡單線性逼近法時的誤差

          最初,這一轉換是基于一個簡單的線性假設:熱電偶的溫度為40V/°C。從圖4可以看出,只有針對0°C左右的小范圍溫度,如此轉換所產生的誤差才是可以接受的。計算熱電偶溫度的更好方法是對正溫度使用6階多項式,對負溫度使用7階多項式。這需要進行數(shù)學運算,導致計算時間和碼字大小增加。適當?shù)恼壑允轻槍潭〝?shù)量的電壓計算相應的溫度,然后將這些溫度存儲在一個數(shù)組中,其間的值利用相鄰點的線性插值法計算。從圖5可以看出,使用這種方法時誤差顯著降低。圖5表示使用理想熱電偶電壓的算法誤差。

          

          圖5. 使用分段線性逼近法時的誤差

          圖6表示在ADuCM360上采用ADC1測量全熱電偶工作范圍內的52個熱電偶電壓,所產生的誤差。整體最大的誤差為1°C。

          

          圖6. 使用分段線性逼近法時的誤差(采用ADuCM360/ADuCM361測量的52個校準點)

          像熱電偶一樣,RTD溫度可使用查找表的方法計算與實現(xiàn)。注意,描述RTD溫度與電阻關系的多項式與描述熱電偶的多項式不同。

          欲了解有關線性化和實現(xiàn)RTD最佳性能的詳細信息,請參考應用筆記AN-0970:利用ADuC706x微控制器實現(xiàn)RTD接口和線性化。

          常見變化

          ADP1720 可以代替ADP120調節(jié)器,前者具有同樣的工作溫度范圍(−40°C至+125°C),功耗更低(典型值為35A,后者為70A)且具有更低的最大輸入電壓。請注意,ADuCM360/ADuCM361可以通過標準串行線接口編程或調試。

          對于標準UART至RS-232接口,可以用ADM3202等器件代替FT232R收發(fā)器,前者需采用3 V電源供電。對于更寬的溫度范圍,可以使用其它熱電偶,例如J型熱電偶。為使冷結補償誤差最小,可以讓一個熱敏電阻與實際的冷結接觸,而不是把它放在PCB上。

          針對冷結溫度測量,可以用一個外部數(shù)字溫度傳感器來代替RTD和外部基準電阻。例如,ADT7410可以通過I2C接口連接到ADuCM360/ADuCM361。

          有關冷結補償?shù)母嘈畔ⅲ垍㈤?a class="contentlabel" href="http://www.104case.com/news/listbylabel/label/ADI">ADI公司的《信號調理》第7章“溫度傳感器”。

          如果USB連接器與本電路之間需要隔離,則應增加隔離器件ADuM3160/ADuM4160。



        關鍵詞: 熱電偶 ADI

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 昂仁县| 霍林郭勒市| 盐边县| 瓦房店市| 万州区| 靖宇县| 浦县| 布尔津县| 禹州市| 龙井市| 南江县| 普兰县| 六盘水市| 仪征市| 吉木乃县| 聂荣县| 聂拉木县| 河南省| 桐柏县| 明溪县| 宜州市| 临沭县| 阳高县| 昌江| 茂名市| 土默特右旗| 贵溪市| 塘沽区| 洛浦县| 威海市| 焉耆| 紫阳县| 永安市| 新化县| 平凉市| 南和县| 苏尼特右旗| 东兰县| 龙州县| 绵竹市| 永登县|