概要
設計リソース
設計/統合ファイル
- Schematic
- Bill of Materials
- Gerber Files
- PADS Files
- Assembly Drawing
評価用ボード
型番に"Z"が付いているものは、RoHS対応製品です。 本回路の評価には以下の評価用ボードが必要です。
- EVAL-CN0300-EB1Z ($140.06) Complete Closed-Loop Precision Analog Microcontroller Thermocouple Measurement System with 4 mA to 20 mA Output
機能と利点
- ループ駆動40-20mA出力、Tタイプ熱電対計測システム
- -200 ℃ ~ +400 ℃の温度範囲 (typ)
- Cortexプロセッシング・コアを使用したシングルチップ・ソリューション
- 冷接点補償
製品カテゴリ
マーケット & テクノロジー
使用されている製品
参考資料
-
MT-101: Decoupling Techniques2015/02/14PDF954 kB
-
MT-023: ADC Architectures IV: Sigma-Delta ADC Advanced Concepts and Applications2015/02/14PDF936 kB
-
MT-022: ADC Architectures III: Sigma-Delta ADC Basics2015/02/14PDF289 kB
-
MT-031: データ・コンバータのグラウンディングと、「AGND」および「DGND」に関する疑問の解消2009/03/20PDF144 kB
-
CN-0300: ARM Cortex-M3を使用した12-Bit、4-20mA、ループ駆動熱電対測定システム2013/12/29PDF379 kB
回路機能とその特長
高精度熱電対温度監視アプリケーション向けのこの回路は、高精度アナログ・マイクロコントローラADuCM360を使用して、4 mA to 20 mA 出力電流を制御します。ADuCM360はARM Cortex-M3 コア、126 kB フラッシュ、 8 kB SRAM、各種デジタル・ペリフェラル(UART、タイマー、SPI/ I2Cインターフェースなど)と共に、デュアル・24ビット・シグマ・デルタ(Σ-Δ) A/Dコンバータ (ADCs)、デュアル・プログラマブル電流源、 12ビット・D/Aコンバータ(DAC)、1.2 V 内部リファレンスを集積しています。
この回路では、ADuCM360にTタイプ熱電対と100Ω白金測温抵抗体(RTD)を接続します。冷接点補償にRTDを使用します。低消費電力Cortex-M3コアはADCの読み出し値を実際の温度測定値に変換します。Tタイプの使用温度範囲である−200°C ~ +350°Cが、4 mA ~ 20 mAの出力電流範囲に変換されます。
この回路は熱電対測定を最小の外付け部品点数で実現できる完全なソリューションです。 ループ電圧で駆動され、ループ電圧は最大28Vまで対応しています。
回路説明
このアプリケーションにはADuCM360 の次の特徴が利用されています。
- 柔軟性のあるオンチップの出力バッファ付き12ビットDAC出力を使用して外部NPNトランジスタ(BC548)を制御します。このトランジスタのVBEを制御する事により、負荷抵抗47 Ωを流れる電流を希望値に設定する事ができます。NPNモードを選択した時、AIN8ピンにはバッファ付き内蔵1.2V基準電圧が表れます。
- DACは12ビットの単調増加性があります;しかしDAC出力の精度は標準で約3LSBです。さらに、バイポーラ・トランジスタには直線性誤差があります。DAC出力の精度を向上し、オフセットとゲインのエンドポイント誤差を低減するために、ADC0は負荷抵抗(RLOAD)両端電圧を反映するフィードバック電圧を(AIN9ピン)測定します。このADC0の読み取り値を基本に、ソース・コード内でDAC出力を修正します。この方法より4 mA to 20 mA出力は±0.5°Cの精度になります。
- 熱電対/RTD用にソフトウェアでゲインを32に設定されたPGA付きの24ビットΣ-Δ ADC。ADC1は熱電対電圧とRTD電圧を連続的に切り替えてサンプリングを行います。
- プログラマブルな励起電流源は制御電流をRTDに強制的に流します。このデュアルの電流源は0 μAから2 mAまで段階的に設定可能です。この例では、RTDの自己発熱によって生ずる誤差を最小限にするために200 μAに設定されます。
- ADuCM360のADC用に1.2 V 電圧リファレンスが内蔵されています。熱電対電圧を測定する時は、この高精度の内部電圧リファレンスを使用します。
- ADuCM360内蔵ADC用外付け電圧リファレンス。RTD抵抗を測定する時にはレシオメトリック構成を採用し、VREF+ピンと VREF− ピン間に外付けリファレンス抵抗(RREF)を接続しました。この回路のリファレンス源は高インピーダンスなので、内部リファレンス入力バッファはイネーブルになります。リファレンス・バッファを内蔵しているので、外付けバッファが必要なく入力リークの影響を最小限にできます。
- バイアス電圧発生器 (VBIAS)。熱電対の同相電圧をAVDD_Reg/2 (900 mV)に設定するためにVBIAS機能を利用します。このVBIAS機能を内蔵しているので熱電対の同相電圧を設定するための外付け抵抗は必要ありません。
- ARM Cortex-M3 コア。126 kB フラッシュと8 kB SRAMを集積した強力な32ビット ARMコアはユーザ・コードを実行し、ADCの設定、制御を行い、熱電対とRTDの入力からのADC変換結果を最終的な温度値に変換します。そのARMコアは又、AIN9の電圧レベルからの閉ループ・フィードバックを利用して、DAC出力を制御し、このDAC出力を連続的にモニターします。このARMコアは、デバッグ用のUART/USBインターフェースを介した通信も制御します。
- ホストPCとの通信インターフェースとしてUARTが使用されます。UARTはADuCM360の内部フラッシュをプログラムするために使用されます。UARTはデバック・ポートとしても使用され、DACとADCのキャリブレーションにも使用されます。
- ADuCM360をフラッシュ・ブート・モードにするために2個の外部スイッチを使用します。SDを”ロー”にしながらリセットボタンをトグルする事により、ADuCM360はノーマル・ユーザ・モードの代わりにブート・モードになります。ブート・モードではUARTインターフェースを通して内蔵フラッシュを再設定する事が出来ます。
- J1コネクタ(8ピン、デュアル・ライン・コネクタ)はCN-0300ハードウェアとともに提供されるアナログ・デバイセズ社のJ-link OB エミュレータに接続します。これによりこのアプリケーション・ボードのプログラミングとデバックが可能になります。図 3を参照してください。
熱電対とRTDが発生する信号は極めて小さいので、それらの信号を増幅するためにプログラマブル・ゲイン・アンプ(PGA)が必要となります。
このアプリケーションで使用する熱電対は温度範囲が−200°C~ +350°CのTタイプ(銅ーコンスタンタン)です。 その感度は約40 μV/°Cなので、PGAのゲインを32に設定する事により、バイポーラモードでのADCは熱電対の全温度範囲をカバーできる事になります。
RTDは冷接点補償に使用されます。この回路で実際に使用したRTDは、白金100 Ω RTD(Enercorp社 PCS 1.1503.1)です。それは0805(表面実装パッケージ)で供給可能です。このRTDの温度変化は 0.385 Ω/°Cです。
リファレンス抵抗(RREF)は高精度の5.6 kΩ (±0.1%)を使用する必要がある事に注意してください。
回路基板は、大面積のグランドプレーンを含む多層PCボード(PCB) で構成してください。適正な性能を得るには正しいレイアウト、グラウンディング、デカプリング技術が必要です
( Tutorial MT-031, Grounding Data Converters and Solving the Mystery of "AGND" and "DGND", Tutorial MT-101, Decoupling Techniques, と ADuCM360TCZ Evaluation Board layoutをご覧ください)。
この回路の評価に使用されるPCBを図 2に示します。
アナログ・デバイセズ社のJ-Link OB エミュレータ(USB-SWD/UART-EMUZ) は下記の内容をサポートします:
- PCのUSBポートに接続すると、PCのCOMポート(仮想シリアルポート)に接続する事もできます。これはキャリブレーション・ルーチンの実行に必要です。
- ADuCM360に対して、SW (Serial Wire) デバッグとプログラミングが可能です。
- このUSBポートを使用する事によりUARTを介したダウンローダを使用してデバイスのプログラムができます。
- 図 4はエミュレータ・ボードの上面図を示します。コネクタJ2をEVAL-CN0300-EB1Zボードに差込みます。コネクタJ2のピン接続を図 5に示します。
ダウンロードとデバッグを行うには、LK1、LK2、 LK4、 LK6のジャンパーを挿入する必要があります。 UART経由で通信するにはLK3 と LK5のジャンパーが必要です。J-Link OBに必要なソフトウェアはソフトウェアのインストール・ファイルに含まれています。
従来のADuCM360開発システムに同梱されていたJ-Link Liteとインターフェース・ボードは、J-Link OBエミュレータに置き換わっていますので注意してください。
詳細についてはUG-457, UG-457, ADuCM360 Development Systems Getting Started Tutorial を参照してください。
回路をテストするために使用されるソース・コードへのリンクは http://www.analog.com/CN0300-DesignSupport に載っています。
ソース・コードはサンプルコードと共に提供される機能ライブラリを使用します。図 6はKeil μVision4ツールで表示した時のプロジェクトに使用されるソース・ファイルのリスト・ビューです。
コードのキャリブレーション・セクション
ADCとDACのキャリブレーション・ルーチンをイネーブル又はディスエーブルするために(ADC1やDACのキャリブレーション)コード内の#define値で設定/調整する事ができます。
ADC又はDACをキャリブレーションするには、アナログ・デバイセズ社のJ-Link OBエミュレータ(USB-SWD/UART-EMUZ)をJ1とPCのUSBポートに接続する必要があります。
(Windowsのハイパー・ターミナルのような)COMポートと通信可能なプログラムを使って、キャリブレーション・ルーチンのキャリブレーションのメニューとステップを見る事ができます。
ADCをキャリブレーションする時、ソース・コードはユーザにゼロスケール電圧とフルスケール電圧をAIN2 と AIN3に接続する事を要求します。AIN2は正入力である事に注意してください。キャリブレーション・ルーチンの完了時に、ADC1INTGNレジスタとADC1OFレジスタの新しいキャリブレーション値が内蔵フラッシュに保存されます。
DACをキャリブレーションする時、高精度電流計を通してVLOOP+出力を接続してください。DACキャリブレーション・ルーチンの最初の部分は4 mA出力を設定するためにDACをキャリブレーションし、DACキャリブレーション・ルーチンの2番目の部分は20 mA出力を設定するためにDACをキャリブレーションします。4 mA ~ 20 mA出力の設定に使用されるDACコードはフラッシュに保存されます。4 mA と 20 mAの最終設定時のAIN9の測定電圧も記録されフラッシュに保存されます。AIN9の電圧はRLOOPを通して流れる電流と直線的な関係にあるので、これらの値はDACの調整ファクタを計算するために使用されます。このクローズド・ループ回路はDACに多少の直線性誤差がある事を意味しますが、トランジスタを使用した回路と内蔵24ビット Σ-Δ ADCを使って微調整されます。
UARTはボーレート9600bps、8データ・ビット、パリティ無し、フローコントロール無しに設定します。回路基板がPCに接続されていれば、図 7に示すように、プログラムによってUARTに送信された結果を(Windowsのハイパー・ターミナルのような)通信ポート表示アプリケーションを使って見る事ができます。
表示ターミナル上で必要な文字などを入力することで、ADuCM360はキャリブレーション・ルーチンで必要な指示などをUARTポートを介して受信します。
コードの温度測定セクション
温度の測定値を得るためには、熱電対とRTDの温度を測定します。RTD温度はルックアップ・テーブルを用いてその等価熱電対電圧に変換されます(ISE社、表ITS-90のTタイプ熱電対を参照してください)。この2つの電圧は加算され、熱電対での絶対値が得られます。
最初に熱電対の2線間電圧 (V1) が測定されます。RTD電圧が測定され、ルックアップ・テーブルを使ってそれが温度に変換され、次にこの温度はその等価熱電対電圧(V2)に変換されます。次にV1とV2は加算され全体の熱電対電圧を得て、最後にその値は温度測定値に変換されます。一定数の熱電対電圧は配列に保存されます。温度の中間値は隣接する2点間で線形補間を行う事により計算します。
図 8はADuCM360のADC1を使用して、熱電対の動作範囲全体にわたり52の熱電対電圧を測定した時に得られた誤差を示します。全体のワーストケース誤差は<1°Cです。
RTDの温度はルックアップ・テーブルを使って計算され、RTDについても熱電対に対する方法と同じ方法で処理されます。ただしRTDはその温度を抵抗の関数として表す多項式が異なる事に注意してください。
RTDのリニアライゼーションと性能の最適化に関する詳細は、 Application Note AN-0970, RTD Interfacing and Linearization Using an ADuC706x Microcontrollerを参照してください。
コードの温度 to 電流出力セクション
一度最終温度が測定されたら、RLOOPを通して必要な電流が流れるようにDACの出力電圧を適切な値に設定します。入力温度範囲は−200°C ~ +350°Cと予想されます。コードは-200°Cを4mAに、+350°Cを20 mA に設定します。コードは図 9に示すようなクローズド・ループ回路を実行し、AIN9のフィードバック電圧がADC0によって測定されますが、その値がDAC出力の設定を補正するために使用されます。FineTuneDAC(void)関数がこの補正を行います。
最高の結果を得るために、この回路の性能テストを始める前にDACをキャリブレーションしてください。
デバックの目的で、通常動作の間、下記の文字列はUARTでPCに送信されます(図 10を参照)。
バリエーション回路
標準的なUART to RS-232インターフェースには、FT232Rトランシーバがありますが、これをADM3202(3V電源を必要とする)のようなデバイスと置き換える事ができます。また、より広い温度範囲の測定にはタイプJのような異なる熱電対が使用できます。冷接点補償誤差を最小限にするために、サーミスタをPCB上に配置する代わりに実際の冷接点に接触して配置する事ができます。
冷接点温度の測定にRTDと外付けリファレンスを使用する代わりに、外部デジタル温度センサを使用する事ができます。たとえば、ADT7410を I2Cインターフェースを介してADuCM360に接続する事ができます。
冷接点補償についての詳細はSensor Signal Conditioning, Analog Devices, Chapter 7, “Temperature Sensors.” を参照してください。
もしUSBコネクタとこの回路の間にアイソレーションが必要な場合にはアイソレーション製品 ADuM3160/ ADuM4160 を追加する必要があります。
回路の評価とテスト
電流出力の測定
DACと外付け電圧/電流変換回路は、同時に性能テストを実施しました。
図1.に示すように、電流計はVLOOP+に直列に接続しました。使用したメータはHP 34401Aです。初期キャリブレーションが行われる時とVDAC出力のクローズド・ループ制御が使われた時の回路の性能は0.5°Cの温度値になりますが、それはDAC出力回路によって明らかになります。DACと外付けトランジスタ回路による非直線性誤差は24ビット ADCにより調整されます。温度はゆっくり変化する入力パラメータなので、このクローズド回路はこのアプリケーションに理想的です。図 11は理想的なDAC出力を青で示し、クローズド・ループ制御無しの実際のDAC出力(DAC出力を補正するためにADC0を使用しない)を赤で示します。誤差はクローズド・ループ制御無しで>10°Cになります。
図12は推奨されるクローズド・ループ制御を使用した場合のグラフです。誤差は小さく、理想値から0.5°C以下です。
熱電対測定テスト
基本的なテストの構成を図 13に示します。熱電対をJ2に接続します。
回路の性能を評価するために2つの方法を使用しました。最初は、ボードに接続した熱電対を使って回路をテストしました。具体的にはその熱電対を使いアイスボックスの温度を測定し、次にその熱電対を使い沸騰水の温度を測定しました。 図 13に示すように、誤差を十分に評価するためにWavetek社の多機能校正器4808を使用しました。このテストでは熱電対をこの校正器に置き換え、校正器を電圧源として使用しました。Tタイプ熱電対の全範囲を評価するために、校正器を使用して、Tタイプ熱電対の負と正の範囲に対応する−200°C ~+350°Cの範囲の52ポイントに等価の熱電対電圧を設定しました(ISE社の表ITS-90のTタイプ熱電対を参照)。図 8にテスト結果を示します。
性能チェックを行う時やCN-0300回路を通常動作に使う時にはJ-Link OBエミュレータがEVAL-CN0300-EB1Zボードとは接続されていない事を確認してください J-Link OBはEVAL-CN0300-EB1Zボードをプログラム、キャリブレーション、デバッグする時のみに使用します。
RTD測定テスト
RTD回路とリニアライゼーション・ソースコードを評価するために、ボードのRTDを高精度に調整可能な抵抗源と置き換えました。使用した計器は十進抵抗器1433-Zです。RTD値は90 Ω~140 Ωですが、これはRTDの温度範囲−25°C ~ +114°Cに相当します。
RTDを測定するテスト構成回路を図 14に示します。そしてRTDテストの誤差結果を図 15に示します。
電流測定テスト
全回路は通常動作時に2.25 mAtyp消費します。リセット状態の時では全回路の消費電流は600 μA.以下です。
CN-0300回路の性能チェックを行う時や通常動作に使う時にはJ-Link OBエミュレータがEVAL-CN0300-EB1Zボードとは接続されていない事を確認してください J-Link OBはEVAL-CN0300-EB1Zボードをプログラム、キャリブレーション、デバッグする時のみに使用します。
ADuCM360の電流消費量についての詳細は Application Note AN-1111を参照してください。