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