これは、高精度の熱電対温度監視アプリケーションにおいて高精度アナログ・マイクロコントローラADuC7060/ADuC7061を使用した回路です。ADuC7060/ADuC7061は、ARM7コア、32 kBフラッシュ、4 kB SRAM、さまざまなデジタル・ペリフェラル(UART、タイマ、SPI、I2Cインターフェースなど)に加えて、デュアル24ビットΣΔ ADC、デュアル・プログラマブル電流源、14ビットDAC、1.2 V内部リファレンスを集積しています。
この回路では、ADuC7060/ADuC7061を熱電対と100 ΩのPt RTD(Pt Resistance Temperature Detector:白金測温抵抗体)に接続します。RTDによって冷接点補償を行います。
ソースコードでは、4 HzのADCサンプリング・レートを選択しています。ADCの入力プログラマブル・ゲイン・アンプ(PGA)のゲインを32に設定すると、ADuC7060/ADuC7061のノイズフリー・コード分解能は18ビットを上回ります。
|
|
図1. 熱電対インターフェースを備えた温度モニタ・コントローラとしてのADuC7060/ADuC7061 (簡略回路図:すべての接続が図示されているわけではありません)
|
このアプリケーションでは、ADuC7060/ADuC7061の以下の特長を利用します。:
熱電対とRTDは、いずれも非常に小さな信号を生成します。したがって、信号を増幅するためにPGAが必要です。ADuC7060/ADuC7061上の補助ADCにはPGAがないため、どちらもプライマリADCに接続し、ソフトウェアで熱電対とRTDの間の切替えを行いました。
このアプリケーションで使用した熱電対は、-200~+350°Cの温度範囲を持つタイプT(銅コンスタンタン)です。その感度は約40 μV/℃であるため、ゲイン32のPGAを備えたバイポーラ・モードのADCは、熱電対の全温度範囲をカバーできます。
RTDは冷接点補償に使用しました。この回路で使用したRTDは、0805サイズの表面実装パッケージを採用した100 ΩのプラチナRTD(モデル番号:Enercorp PCS 1.1503.1)です。このRTDの温度変動は0.385 Ω/℃です。
なお、基準抵抗(RREF)は高精度な5.62 kΩ(±0.1%)にしてください。
ADuC7060/ADuC7061へのUSBインターフェースは、USB信号をUARTに直接変換するUART/USBトランシーバFT232Rによって実装します。
図1に示すデカップリングに加えて、USBケーブル自体にもEMI/RFI保護を強化するフェライト・ビーズが必要です。回路で使用したフェライト・ビーズは、100 MHzで1000 Ωのインピーダンスを持つ太陽誘電製の#BK2125HS102-Tでした。
この回路は、広い面積のグランド・プレーンを持つ多層PC基板を使用する必要があります。適正な性能を実現するには正しいレイアウト、グラウンディング、デカップリング技術が必要です(MT-031チュートリアル「Grounding Data Converters and Solving the Mystery of "AGND" and "DGND"」とMT-101チュートリアル「 Decoupling Techniques」、 ADuC7060/ ADuC7061 評価用ボードのレイアウトを参照)。
図2にEVAL-ADUC7061MKZ PCボードを示します。
|
|
図2. この回路に使用したEVAL-ADUC7061MKZボード
|
コードの説明
回路のテストに用いたソースコードは、 http://www.analog.com/CN0214-SourceCodeからzipファイルでダウンロードできます。
UARTの設定は、ボーレート=9600、データビット=8、パリティ無し、フロー制御無しです。回路をPCに直接接続した場合、図3に示すように、HyperTerminalなどの通信ポート表示アプリケーションを使用して、プログラムからUARTに送信された結果を表示することができます。
温度を読み取るには、熱電対とRTDの温度を測定する必要があります。RTD温度は、ルックアップ・テーブルを介して等価な熱電対電圧に変換されます。これら2つの電圧を加算することによって、熱電対の絶対値が得られます。
まず、熱電対(V1)の2本のワイヤ間で電圧を測定しました。RTD電圧を測定し、それをルックアップ・テーブルによって温度に変換します。その後、この温度を等価な熱電対電圧(V2)に変換します。さらに、V1とV2を加算して全体の熱電対電圧を計算し、最終的な温度計測値に変換します。
最初、熱電対での電圧を40 μV/°Cとする直線的な簡単な仮定に基づいて変換を行いました。図4から、0°Cを中心とする狭い範囲で許容可能な誤差しか生じないことがわかります。熱電対温度を計算するもっとよい方法としては、正の温度に6次の多項式を使用し、負の温度に7次の多項式を使用します。これには数値演算が必要になり、計算時間とコードサイズが増大します。納得のいく妥協策として、一定数の電圧について、それぞれの温度を計算します。これらの温度値を配列に格納し、隣接するポイント間の線形補間によって中間の値を計算します。図5から、この方法を使用すれば誤差が大幅に減少することがわかります。図5は、理想的な熱電対電圧を使用した場合のアルゴリズム誤差を示しています。図6は、ADuC7060上のADC0を使用して熱電対の全動作範囲にわたって52個の熱電対電圧を測定したときの誤差を示しています。全体としてワーストケースでの誤差は<1℃です。
|
|
図3. 通信ポート表示アプリケーションHyperTerminalの出力
|
|
|
図4. 簡単な線形近似を使用したときの誤差
|
|
|
図5. 52個のキャリブレーション・ポイントと理想的な測定による区分的線形近似を使用したときの誤差
|
|
|
図6. ADuC7060/ADuC7061のADC0によって測定した52個のキャリブレーション・ポイントによる区分線形近似を使用したときの誤差
|
RTD温度は、ルックアップ・テーブルを使用して計算し、熱電対の場合と同じ方法でRTD用に実装します。なお、RTDには、その温度を抵抗の関数として記述する別の多項式があります。
RTDの性能を直線化および最大化する方法の詳細については、アプリケーション・ノートAN-0970「 RTD Interfacing and Linearization Using an ADuC706x Microcontroller」を参照してください。
ADP3333-2.5レギュレータの代わりに ADP120-2.5, を使用することができます。後者は、広い動作温度範囲(-40~+125℃)を持ち、消費電力が少ない(Typ. 20 μAに対して70 μA)ですが、最大の入力電圧範囲が低下(5.5 Vに対して12 V)します。また、マイクロコントローラに、より多くの汎用I/Oピンが必要な場合、48ピンLFCSPまたは48ピンLQFPパッケージの ADuC7060を使用することもできます。なお、ADuC7060/ADuC7061は、標準のJTAGインターフェースを介してプログラム/デバッグすることができます。
RTD測定のリファレンス源として外付け基準抵抗を使用するとき、ユニティ・ゲイン・モードのオペアンプを使用して、入力をVREF+ピンにバッファすることを推奨します。これによって、VREF+ピンへの入力リーク電流が測定精度に悪影響を与えることを防ぎます。図8では、この目的でユニティ・ゲインのオペアンプOP193を使用しました。図1の概略図ではこの入力はバッファされていませんが、最高の結果を得るには、バッファが必要です。
標準的なUARTからRS-232へインターフェースする場合、FT232Rトランシーバの代わりに3 V電源で動作するADM3202などのデバイスを使用することができます。さらに広い温度範囲の場合、タイプJなど、別の熱電対を使用することができます。冷接点補償誤差を最小限に抑えるには、サーミスタを、PCボードではなく、実際の冷接点に接触させて配置します。
冷接点温度の測定にRTDと外付け基準抵抗を使用する代わりに、外付けデジタル温度センサーを使用することもできます。たとえば、I2Cインターフェースを介してADT7410をADuC7060/ADuC7061に接続することができます。
冷接点補償の詳細については、 Sensor Signal Conditioning, Analog Devices, Chapter 7, "Temperature Sensors."をご覧ください。
この回路とUSBコネクタとの間にアイソレーションが必要な場合、ADuM3160/ADuM4160 アイソレーション・デバイスを追加してください。
回路のテストと評価を行うため、熱電対測定とRTD測定の評価をそれぞれ行いました。
熱電対測定テスト
図6に基本的なテスト・セットアップを示します。なお、熱電対はJ2-8とJ2-9に接続し、J2-5はJ2-8に接続する必要があります。EVAL-ADUC7061MKZボードの電力はPCのUSB接続から供給します。
回路の性能を評価するために、2つの方法を用いました。1つ目は、回路のテストに使用した熱電対をボードに接続し、氷の温度を測定し、次に沸騰水の温度を測定しました。
A 図4と図6に示したような、誤差を完全に評価するためにWavetek 4808多機能校正器を用いました。この方法では、図7に示すように、熱電対の代わりに電圧源として校正器を置きました。この校正器を用いて、Tタイプ熱電対の負と正の範囲に対応する-200~+350°Cの範囲内の52個のポイントに等価な熱電対電圧を設定し、Tタイプ熱電対の全範囲を評価しました。(参照: ITS-90 Table for type T thermocouple)。
ルックアップ・テーブル計算の正確性を評価するため、1℃間隔で-200~+350℃の範囲の温度に相当する、551個の電圧値を温度計算関数に代入しました。図4と図5に示したように、線形法と区分線形近似法について誤差を計算しました。
|
|
図7. 熱電対の全出力電圧範囲での回路の校正とテストに使用した構成
|
RTD測定テスト
RTD回路と直線化処理のプログラムを評価するため、ボード上のRTDの代わりに正確で調整可能な抵抗源を配置しました。使用した機器は1433-Zディケード抵抗です。RTD値は90~140 Ωであり、これは-25~114℃のRTD温度範囲を表しています。
図8にこの評価のための回路構成を示します。
|
|
図8. -25~114℃のRTD出力電圧範囲の校正とテストに使用したテスト・セットアップ
|
図9にRTDテストの誤差の結果を示します。
|
|
図9. 区分的直線化コードとADC0測定を使用したRTD測定の誤差(℃)
|