基于Cortex-M3的微控制器熱電偶測(cè)量系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
器件連接/參考 ADuCM360:基于Cortex-M3的微控制器,內(nèi)置雙通道24位Σ-Δ型ADC ADP1720-3.3:低壓差線性穩(wěn)壓器 評(píng)估和設(shè)計(jì)支持 電路評(píng)估板 CN-0300評(píng)估板(EVAL-CN0300-EB1Z)包含USB-SWD/UART和SEGGER J-Link Lite電路板 設(shè)計(jì)和集成文件 原理圖、布局文件、物料清單、ADuCM360源代碼 電路功能與優(yōu)勢(shì) 本電路在精密熱電偶溫度監(jiān)控應(yīng)用中使用ADuCM360精密模擬微控制器,并相應(yīng)地控制4 mA至20 mA的輸出電流。ADuCM360集成雙通道24位Σ-Δ型模數(shù)轉(zhuǎn)換器(ADC)、雙通道可編程電流源、12位數(shù)模轉(zhuǎn)換器(DAC)、1.2 V內(nèi)置基準(zhǔn)電壓源以及ARM Cortex-M3內(nèi)核、126 KB閃存、8 KB SRAM和各種數(shù)字外設(shè),例如UART、定時(shí)器、SPI和I2C接口。 在該電路中,ADuCM360連接到一個(gè)T型熱電偶和一個(gè)100 Ω鉑電阻溫度檢測(cè)器(RTD)。RTD用于冷結(jié)補(bǔ)償。低功耗Cortex-M3內(nèi)核將ADC讀數(shù)轉(zhuǎn)換為實(shí)際溫度值。支持的T型溫度范圍是200°C至+350°C,而此溫度范圍所對(duì)應(yīng)的輸出電流范圍是4 mA至20 mA. 該電路為熱電偶測(cè)量提供了完整的解決方案,所需外部元件極少,并且可針對(duì)高達(dá)28 V的環(huán)路電壓采用環(huán)路供電。 圖1. 具有熱電偶接口、用作溫度監(jiān)控器控制器的ADuCM360(原理示意圖,未顯示所有連接) 電路描述 本應(yīng)用中用到ADuCM360的下列特性: 12位DAC輸出及其靈活的片內(nèi)輸出緩沖器用于控制外部NPN晶體管BC548.通過(guò)控制此晶體管的VBE電壓,可將經(jīng)過(guò)47 Ω負(fù)載電阻的電流設(shè)置為所需的值。 DAC為12位單調(diào)式,但其輸出精度通常在3 LSB左右。此外,雙極性晶體管引入了線性誤差。為提高DAC輸出的精度并消除失調(diào)和增益端點(diǎn)誤差,ADC0會(huì)測(cè)量反饋電壓,從而反映負(fù)載電阻(RLOAD)兩端的電壓。根據(jù)此ADC0讀數(shù),DAC輸出將通過(guò)源代碼糾正。這樣就針對(duì)4 mA至20 mA的輸出提供了±0.5°C的精度。 24位Σ-Δ型ADC內(nèi)置PGA,在軟件中為熱電偶和RTD設(shè)置32的增益。ADC1在熱電偶與RTD電壓采樣之間連續(xù)切換。 可編程激勵(lì)電流源驅(qū)動(dòng)受控電流流過(guò)RTD.雙通道電流源可在0 μA至2 mA范圍內(nèi)以一定的階躍進(jìn)行配置。本例使用200 μA設(shè)置,以便將RTD自熱效應(yīng)引起的誤差降至最小。 ADuCM360中的ADC內(nèi)置了1.2 V基準(zhǔn)電壓源。內(nèi)部基準(zhǔn)電壓源精度高,適合測(cè)量熱電偶電壓。 ADuCM360中ADC的外部基準(zhǔn)電壓源。測(cè)量RTD電阻時(shí),我們采用比率式設(shè)置,將一個(gè)外部基準(zhǔn)電阻(RREF)連接在外部VREF+和VREF?引腳上。由于該電路中的基準(zhǔn)電壓源為高阻抗,因此需要使能片內(nèi)基準(zhǔn)電壓輸入緩沖器。片內(nèi)基準(zhǔn)電壓緩沖器意味著無(wú)需外部緩沖器即可將輸入泄漏影響降至最低。 偏置電壓發(fā)生器(VBIAS)。VBIAS功能用于將熱電偶共模電壓設(shè)置為AVDD/2 (900 mV)。同樣,這樣便無(wú)需外部電阻,便可以設(shè)置熱電偶共模電壓。 ARM Cortex-M3內(nèi)核。功能強(qiáng)大的32位ARM內(nèi)核集成了126 KB閃存和8 KB SRAM存儲(chǔ)器,用來(lái)運(yùn)行用戶代碼,可配置和控制ADC,并利用ADC將熱電偶和RTD輸入轉(zhuǎn)換為最終的溫度值。它還可以利用來(lái)自AIN9電壓電平的閉環(huán)反饋控制并持續(xù)監(jiān)控DAC輸出。出于額外調(diào)試目的,它還可以控制UART/USB接口上的通信。 UART用作與PC主機(jī)的通信接口。這用于對(duì)片內(nèi)閃存進(jìn)行編程。它還可作為調(diào)試端口,用于校準(zhǔn)DAC和ADC. 兩個(gè)外部開(kāi)關(guān)用來(lái)強(qiáng)制該器件進(jìn)入閃存引導(dǎo)模式。使SD處于低電平,同時(shí)切換RESET按鈕,ADuCM360將進(jìn)入引導(dǎo)模式,而不是正常的用戶模式。在引導(dǎo)模式下,通過(guò)UART接口可以對(duì)內(nèi)部閃存重新編程。 J1連接器是一個(gè)8引腳雙列直插式連接器,與CN0300支持硬件隨附的USB-SWD/UART板相連。配合J-Link-Lite板可對(duì)此應(yīng)用電路板進(jìn)行編程和調(diào)試。參見(jiàn)圖3. 熱電偶和RTD產(chǎn)生的信號(hào)均非常小,因此需要使用可編程增益放大器(PGA)來(lái)放大這些信號(hào)。 本應(yīng)用使用的熱電偶為T型(銅-康銅),其溫度范圍為?200°C至+350°C,靈敏度約為40 μV/°C,這意味著ADC在雙極性模式和32倍PGA增益設(shè)置下可以覆蓋熱電偶的整個(gè)溫度范圍。 RTD用于冷結(jié)補(bǔ)償。本電路使用的RTD為100 Ω鉑RTD,型號(hào)為Enercorp PCS 1.1503.1.它采用0805表貼封裝,溫度變化率為0.385 Ω/°C. 注意,基準(zhǔn)電阻RREF必須為精密5.6 kΩ (±0.1%)電阻。 本電路必須構(gòu)建在具有較大面積接地層的多層電路板(PCB)上。為實(shí)現(xiàn)最佳性能,必須采用適當(dāng)?shù)牟季?、接地和去耦技術(shù)(請(qǐng)參考指南MT-031--“實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換器的接地并解開(kāi)AGND和DGND的謎團(tuán)”、指南MT-101--“去耦技術(shù)”以及ADuCM360TCZ評(píng)估板布局)。 評(píng)估本電路所用的PCB如圖2所示。 圖2. 本電路所用的EVAL-CN0300-EB1Z板 圖3. 連接至USB-SWD/UART板和SEGGER J-Link-Lite板的EVAL-CN0300-EB1Z板 代碼的校準(zhǔn)部分 圖3顯示了USB-SWD/UART板。此板用作PC USB端口的接口板。該USB端口可用于通過(guò)基于UART的下載器對(duì)器件進(jìn)行編程。它也可用于連接PC上的COM端口(虛擬串行端口)。這是運(yùn)行校準(zhǔn)程序所需要的條件。 J-Link-Lite插入U(xiǎn)SB-SWD/UART板的20引腳連接器中。J-Link-Lite提供代碼調(diào)試和編程支持。它通過(guò)另一個(gè)USB連接器連接至PC. 代碼說(shuō)明 用于測(cè)試本電路的源代碼可從ADuCM360產(chǎn)品頁(yè)面下載(zip壓縮文件)。源代碼使用示例代碼隨附的函數(shù)庫(kù)。圖4顯示了利用Keil μVision4工具查看時(shí)項(xiàng)目中所用的源文件列表。 圖4. μVision4中查看的源文件 可調(diào)整編譯器#define值(calibrateADC1和calibrateDAC),以使能或禁用ADC和DAC的校準(zhǔn)程序。 要校準(zhǔn)ADC或DAC,接口板(USB-SWD/UART)必須連接至J1和PC上的USB端口??墒褂?ldquo;超級(jí)終端”等COM端口查看程序來(lái)查看校準(zhǔn)菜單并逐步執(zhí)行校準(zhǔn)程序。 校準(zhǔn)ADC時(shí),源代碼會(huì)提示用戶將零電平和滿量程電壓連接至AIN2和AIN3.注意,AIN2是正輸入端。完成校準(zhǔn)程序后,ADC1INTGN和ADC1OF寄存器的新校準(zhǔn)值就會(huì)存儲(chǔ)到內(nèi)部閃存中。 校準(zhǔn)DAC時(shí),應(yīng)通過(guò)精確的電流表連接VLOOP+輸出端。DAC校準(zhǔn)程序的第一部分校準(zhǔn)DAC以設(shè)置4 mA輸出,第二部分則校準(zhǔn)DAC以設(shè)置20 mA輸出。用于設(shè)置4 mA和20 mA輸出的DAC代碼會(huì)存儲(chǔ)到閃存中。針對(duì)最終的4 mA和20 mA設(shè)置在AIN9處測(cè)得的電壓也會(huì)記錄下來(lái)并存儲(chǔ)到閃存中。由于在AIN9處的電壓與流經(jīng)RLOOP的電流線性相關(guān),因此這些值會(huì)用于計(jì)算DAC的調(diào)整因子。這種閉環(huán)方案意味著,可以使用片內(nèi)24位Σ-Δ型ADC進(jìn)行微調(diào)而消除DAC和基于晶體管的電路上的所有線性誤差。 UART配置為波特率9600、8數(shù)據(jù)位、無(wú)極性、無(wú)流量控制。如果本電路直接與PC相連,則可使用“超級(jí)終端”等通信端口查看程序來(lái)查看該程序發(fā)送給UART的結(jié)果,如圖5所示。 要輸入校準(zhǔn)程序所需的字符,請(qǐng)?jiān)诓榭唇K端中鍵入所需字符,然后ADuCM360 UART端口就會(huì)收到該字符。 5. 校準(zhǔn)DAC時(shí)的“超級(jí)終端”輸出 代碼的溫度測(cè)量部分 要獲得溫度讀數(shù),應(yīng)測(cè)量熱電偶和RTD的溫度。RTD溫度通過(guò)一個(gè)查找表轉(zhuǎn)換為其等效熱電偶電壓(T型熱電偶請(qǐng)參見(jiàn)ISE, Inc.的ITS-90表)。將這兩個(gè)電壓相加,便可得到熱電偶電壓的絕對(duì)值。 首先,測(cè)量熱電偶兩條線之間的電壓(V1)。測(cè)量RTD電壓并通過(guò)查找表轉(zhuǎn)換為溫度,然后再將此溫度轉(zhuǎn)換為其等效熱電偶電壓(V2)。然后,將V1和V2相加,以得出整體熱電偶電壓,接著將此值轉(zhuǎn)換為最終的溫度測(cè)量結(jié)果。 對(duì)熱電偶而言,固定數(shù)量的電壓所對(duì)應(yīng)的溫度會(huì)存儲(chǔ)在一個(gè)數(shù)組中。其間的溫度值利用相鄰點(diǎn)的線性插值法計(jì)算。 圖6顯示了使用ADuCM360上的ADC1測(cè)量整個(gè)熱電偶工作范圍內(nèi)的52個(gè)熱電偶電壓時(shí)獲得的誤差。最差情況的總誤差小于1°C. 圖6. 通過(guò)分段線性逼近法利用ADuCM360/ADuCM361所測(cè)52個(gè)校準(zhǔn)點(diǎn)時(shí)的誤差 RTD溫度是運(yùn)用查找表計(jì)算出來(lái)的,并且對(duì)RTD的運(yùn)用方式與對(duì)熱電偶一樣。注意,描述RTD溫度與電阻關(guān)系的多項(xiàng)式與描述熱電偶的多項(xiàng)式不同。 有關(guān)線性化和實(shí)現(xiàn)RTD最佳性能的詳細(xì)信息,請(qǐng)參考應(yīng)用筆記AN-0970“利用ADuC706x微控制器實(shí)現(xiàn)RTD接口和線性化”. 代碼的溫度至電流輸出部分 測(cè)得最終溫度后,將DAC輸出電壓設(shè)置為適當(dāng)?shù)闹担员阍赗LOOP上產(chǎn)生所需的電流。輸入溫度范圍應(yīng)該是?200°C至+350°C.代碼針對(duì)?200°C和+350°C設(shè)置的輸出電流分別是4 mA和20 mA.代碼實(shí)施的是閉環(huán)方案,如圖7所示,其中AIN9上的反饋電壓通過(guò)ADC0測(cè)量,然后此值用于補(bǔ)償DAC輸出設(shè)置。FineTuneDAC(void)函數(shù)執(zhí)行此項(xiàng)校正。 為獲得最佳結(jié)果,應(yīng)在開(kāi)始該電路的性能測(cè)試前校準(zhǔn)DAC. 圖7. 閉環(huán)控制4 mA至20 mA的DAC輸出 出于調(diào)試目的,以下字符串會(huì)在正常工作期間發(fā)送至UART(見(jiàn)圖8)。 圖8. 用于調(diào)試的UART字符串 常見(jiàn)變化 對(duì)于標(biāo)準(zhǔn)UART至RS-232接口,可以用ADM3202等器件代替FT232R收發(fā)器,前者需采用3 V電源供電。對(duì)于更寬的溫度范圍,可以使用不同的熱電偶,例如J型熱電偶。為使冷結(jié)補(bǔ)償誤差最小,可以讓一個(gè)熱敏電阻與實(shí)際的冷結(jié)接觸,而不是將其放在PCB上。 針對(duì)冷結(jié)溫度測(cè)量,可以用一個(gè)外部數(shù)字溫度傳感器來(lái)代替RTD和外部基準(zhǔn)電阻。例如,ADT7410可以通過(guò)I2C接口連接到ADuCM360. 有關(guān)冷結(jié)補(bǔ)償?shù)母嘣斍?,?qǐng)參考ADI公司的《傳感器信號(hào)調(diào)理》第7章“溫度傳感器”. 如果USB連接器與本電路之間需要隔離,則必須增加ADuM3160/ADuM4160隔離器件。 電路評(píng)估與測(cè)試 電流輸出測(cè)量 DAC和外部電壓電流轉(zhuǎn)換器電路性能測(cè)試全都一起完成。 一個(gè)電流表與VLOOP+連接串聯(lián),如圖1所示。所用的電流表為HP 34401A.執(zhí)行初始校準(zhǔn)和使用VDAC輸出的閉環(huán)控制時(shí)的電路性能導(dǎo)致DAC輸出電路報(bào)告的溫度值為0.5°C.借助24位ADC,DAC和外部晶體管電路的非線性誤差可以調(diào)零。因?yàn)闇囟仁且粋€(gè)變化較慢的輸入?yún)?shù),所以此閉環(huán)方案非常適合這種應(yīng)用。圖9顯示了未采用閉環(huán)控制(ADC0沒(méi)有用于補(bǔ)償DAC輸出)時(shí)的理想DAC輸出(藍(lán)色)和實(shí)際DAC輸出。未采用閉環(huán)控制時(shí)的誤差可能會(huì)大于10°C. 圖9. 溫度(°C)與輸出電流(mA)的關(guān)系(藍(lán)色 = 理想值,開(kāi)環(huán)操作:未補(bǔ)償DAC輸出) 圖10顯示了按推薦方式采用閉環(huán)控制時(shí)的相同信息。誤差非常微小,與理想值相差不到0.5°C. 圖10. 溫度(°C)與輸出電流(mA)的關(guān)系(藍(lán)色 = 理想值,閉環(huán)操作:通過(guò)ADC0測(cè)量補(bǔ)償DAC輸出) 熱電偶測(cè)量測(cè)試 基本測(cè)試設(shè)置如圖11所示。熱電偶連接至J2. 使用兩種方法來(lái)評(píng)估本電路的性能。首先使用連接到電路板的熱電偶來(lái)測(cè)量冰桶的溫度,然后測(cè)量沸水的溫度。使用Wavetek 4808多功能校準(zhǔn)儀來(lái)充分評(píng)估誤差,如圖11所示。這種模式下,校準(zhǔn)儀代替熱電偶作為電壓源。為了評(píng)估T型熱電偶的整個(gè)范圍,利用校準(zhǔn)儀設(shè)置T型熱電偶?200°C至+350°C的正負(fù)溫度范圍之間52個(gè)點(diǎn)的等效熱電偶電壓(T型熱電偶請(qǐng)參見(jiàn)ISE, Inc.的ITS-90表)。圖6顯示了測(cè)試結(jié)果。 圖11. 用于在整個(gè)熱電偶輸出電壓范圍內(nèi)校準(zhǔn)和測(cè)試電路的設(shè)置 RTD測(cè)量測(cè)試 為了評(píng)估RTD電路和線性化源代碼,以精確的可調(diào)電阻源代替了電路板上的RTD.所用的儀器是1433-Z十進(jìn)制電阻。RTD值的范圍是90 Ω至140 Ω,代表?25°C至+114°C的RTD溫度范圍。 圖12顯示了RTD測(cè)量的測(cè)試設(shè)置電路,圖13則顯示了RTD測(cè)試的誤差結(jié)果。 圖 12. RTD誤差測(cè)量的測(cè)試設(shè)置 圖13. 使用分段線性代碼和ADC0測(cè)量結(jié)果進(jìn)行RTD測(cè)量時(shí)的°C誤差 電流測(cè)量測(cè)試 正常工作時(shí),整個(gè)電路的功耗通常為2.25 mA.保持在復(fù)位狀態(tài)時(shí),整個(gè)電路的功耗不到600 μA.