MAX1452を使用したリモートセンサ補償
要約
高性能のMAX1452アナログ信号コンディショナは、オンチップのフラッシュメモリルックアップテーブルを使用するか、OTCとFSOTCのDACを使用することによって、線形補償を実現しています。MAX1452とセンサを同じ温度に維持することができないアプリケーションでは(センサがMAX1452から離れている場合など)、OTCとFSOTCのDACを使用して、センサ出力を補償する必要があります。このアプリケーションノートでは、このようなリモートセンサ補償を行うための手順について詳しく説明します。このアプリケーションノートでは、読者がすでにMAX1452とその基本操作に精通していることを前提としています。
はじめに
MAX1452は、オンチップのフラッシュメモリ、オンチップの温度センサ、および完全なアナログ信号経路を備えた、高性能、低コストの信号コンディショナです。この信号コンディショナは、工業用および車載用のさまざまセンサアプリケーションで利用されてきましたが、中には、2つの温度ポイントのみを用いて補償を行うという制限付きのアプリケーションがあります。この制限は、コストや製造上の理由の他、センサと信号コンディショナを同じ温度に維持することができないという理由に起因します。
MAX1452信号コンディショナでは、以下の2つの補償方法が可能です。
- 1つ目の方法では、2つの補償温度ポイント間で(FSOとOFF DAC値の)線形外挿を行い、一意の温度係数を用いてOFFとFSOのルックアップテーブルの各要素を読み込んで入力信号のTC誤差を補正します。この方法では、OTCとFSOTCのDACは、任意の値(補償中に使用する値と同じ)を確定するように設定されます。動作中、MAX1452の温度変化に対応する係数を用いてOFFとFSOのDACを更新することによって、入力信号の補償が行われます。
- 2つ目の方法では、OFFとFSOのルックアップテーブルを単独のDACとみなします。温度に依存するブリッジ励起電圧(VB)は、OTCとFSOTCのDACへのリファレンス電圧であり、温度パラメータとして使用されます。補償手順の間に得られた測定値に基づいて、OFF、FSO、OTC、およびFSOTCの各DACについて一意の値が計算されます。MAX1452とセンサを同じ温度に維持することができないケースでは、この方法を使用する必要があります。この方法はMAX1452とセンサが同じ温度であるケースでも使用可能です。 これらの補償方法はともに同様の結果をもたらします。これらの方法を適切に実施すると、入力信号のTC誤差の線形成分は完全に除去され、出力誤差は入力信号のTC誤差の非線形成分のみに低減されます。
1つ目の方法については、MAX1452のユーザマニュアルに詳しく記載されており、このアプリケーションノートでは取り上げません。2つ目の方法は、一般的にリモートセンサ補償と呼ばれるもので、以下に説明します。
リモートセンサ補償の手順
以下の手順は、MAX1452と100KPaG PRT圧力センサを内蔵する圧力トランスデューサの補償方法を説明するものです。表1および図1~3にその補償結果を示します。トランスデューサを補償することで、0.5Vの所望のオフセット電圧[VOUT(PMIN)]および4.0Vの所望のFSO電圧[VOUT(PMAX) - VOUT(PMIN)]が得られました。したがって、フルスケール圧力での出力電圧[VOUT (PMAX)]は4.5Vとなります。この手順は、少なくとも2つの圧力ポイント(ゼロとフルスケール)と任意の2つの温度ポイント(T1とT2、ここでT2 > T1)を必要とします。T1とT2は、データポイントを通る最適な線形フィットで生成される誤差が動作温度範囲全体にわたって最小となるように選択します。
以下は、補償手順の主要ステップの要点です。
- 係数の初期化
- FSOのキャリブレーション
- FSOとFSOTCの補償
- OTCの補償
- OFFの補償
係数の初期化
この手順を開始するには、PGA利得、IRO指数、およびDACを、補償手順の全体を通してPGA出力の過負荷を防止するような値に設定する必要があります。これらの値はセンサの特性によって決まり、センサのデータシートから入手可能です。
PGA利得設定値の選択
トランスデューサの所望のフルスケール出力電圧(VFSODESIRED)を、2.5Vの標準ブリッジ励起電圧(VB)に対するセンサの測定スパン(VSOUT)で除算することによって、必要な信号利得を計算します。次に、MAX1452データシートのPGA表から、次に高いPGAGAINが得られるPGAINDEXを選択します。
たとえば、2.5Vの励起における出力が0.0364Vで、VFSODESIREDが4.0Vであるセンサは、110V/Vの信号利得が必要となります。データシートのPGA表に基づいてPGA[3:0] = 0110を選択すると、利得は117V/Vに相当します。
IRO指数の選択
2.5Vの標準ブリッジ励起電圧に対するセンサのオフセットを計算します。次に、MAX1452データシートのIRO表から、最も近いIRO DAC出力が得られ、かつセンサのオフセットの逆の符号を備えたIROINDEXを選択します。
例:+30mVのオフセットを備えたセンサでは、IRO[2:0] = 011および符号ビット = 0を選択すると、オフセット補正は-27mVに相当します。
OTC DAC初期値の選択
一般的に、OTCは後のステップで補償されるため、最初は、OTC DAC値をゼロに設定することができます。ただし、オフセットTC誤差が大きいセンサでは、補償手順の間に出力が飽和しないよう、最初にOTCの粗調整が必要となる場合があります。オフセットTC誤差がフルスケール出力の10%を上回るセンサでは、ゼロ以外のOTC初期値を推奨します。OTC初期値は、以下の式を使用して計算することができます。
VB(T1) = 2.5Vのとき、VSOUT(T1)、VSOUT(T2)、およびVB(T2)は、センサのデータシートに記載のセンサパラメータを使用して計算することができます。
OTCの値はOTC DACに書き込む必要があり、それにしたがって設定レジスタ内のOTC符号ビットを設定する必要があります。
FSOのキャリブレーション
以下のステップを実行して、FSO DAC初期値を求めます。
- FSOTC DACを任意の値(たとえば0)に設定します。
- センサにPMINを加えます。PMINとは最小圧力を意味します。
- ブリッジ励起電圧が約2.5Vになるまで、FSO DACを調整します。
- ブリッジ励起電圧(VB)を測定します。
- OFF DACを調整してPGAOUT電圧を0.5Vに設定します。
- PGAOUT、VOUT(PMIN)を測定します。
- センサにPMAXを加えます。PMAXとは最大圧力を意味します。
- PGAOUT、VOUT(PMAX)を測定します。
- 以下の式を利用してVBIDEALを計算します。
VBIDEALが許容範囲[1.5V~(VDD - 0.5V)]外であれば、PGAGAIN設定値を再調整します。VBIDEALが低すぎる場合は、PGAGAINを1ステップ減らしてから手順2に戻ります。VBIDEALが高すぎる場合は、PGAGAIN設定値を1ステップ増やしてから手順2に戻ります。動作範囲全体にわたって1.5V < VB < (VDD - 0.5V)という範囲制限が適用されることに注意してください。したがって、温度によるVB変化には十分なマージンを考慮する必要があります。 - FSO DACを調整してVBIDEALを設定します。
- PGAOUTが0.5Vになるまで、OFF DACを再調整します。
FSOとFSOTCの補償
FSOとFSOTCの係数は、4つのステップで求めることができます。ステップ1では、T1でVBIDEALを出力する2組のFSOとFSOTC値を求めます。ステップ2では、T2でVBIDEALを出力する2組のFSOとFSOTCの値を求めます。ステップ3では、T1とT2で測定したFSOとFSOTC値を適切な式に当てはめて、(理論上)あらゆる温度で適用されるVBIDEAL値を生成するような、FSOとFSOTCの補償値を計算します。ステップ4では、FSO DACを調整してフルスケール出力を微調整することができます。
- T1における理想的なブリッジ電圧VBIDEAL(T1)
- 温度をT1に設定し、ブリッジ電圧が0.1mV/分内で安定するのに十分なソーク時間を確保します。
- センサにPMINを加えます。
- ブリッジ励起電圧(VB)を測定します。
- PGAOUT、VOUT(PMIN)を測定します。
- センサにPMAXを加えます。
- PGAOUT、VOUT(PMAX)を測定します。 li>式2を利用してVBIDEAL(T1)を計算します。
- FSO DACを調整してVBIDEALを設定します。
- VOUT(PMAX)とVOUT(PMIN)を再測定して、適切なVFSODESIREDレベルが得られていることを確認します。このレベルが適切でなかった場合、手順B以降のすべてのステップを繰り返します。
- 現在のFSOとFSOTCの値をそれぞれFSO1(T1)とFSOTC1(T1)として記録します。
- FSO DACの値を5000カウント増やします(または減らします)。
- VB = VBIDEAL(T1)になるまで、FSOTC DAC値を調整します。
- 現在のFSOとFSOTCの値をFSO2(T1)とFSOTC2(T1)として記録します。
- センサにPMINを加えます。
- 出力電圧を読み取り、VOUT(T1)として記録します。この値は後にOTC補償に必要となります。
- VBを読み取り、VB(T1)として記録します。これはVBIDEAL(T1)と同じ値になるはずで、OTC補償に必要となります。
- T2における理想的なブリッジ電圧VBIDEAL(T2)
- 温度をT2に設定し、ブリッジ電圧が0.1mV/分内で安定するのに十分なソーク時間を確保します。
- センサにPMINを加えます。
- 出力電圧を読み取り、VOUT(T2)として記録します。この値は後にOTC補償に必要となります。
- VBを読み取り、VB(T2)として記録します。
- 先ほどと同じステップを使用して、VBIDEAL(T2)の値を求めます。
- 先ほどと同じステップを使用して、FSO1(T2)とFSOTC1(T2)の値を求めます。
- 先ほどと同じステップを使用して、FSO2(T1)とFSOTC2(T2)の値を求めます。
- センサにPMINを加えます。
- FSOとFSOTCの係数を計算します。
- T1におけるFSOとFSOTCの曲線/関数:
- T2におけるFSOとFSOTCの曲線/関数:
- 最終的なFSO係数:
- 最終的なFSOTC係数:
- 算出したFSOとFSOTCの値をFSOとFSOTCのDAC内に読み込み、必要に応じて、ブリッジ励起電圧がVBIDEAL(T2)に等しくなるまでFSO DACを調整します。 これでFSOとFSOTCの補償が完了です。この時点で、トランスデューサのFSO出力はVFSODESIREDのレベルに等しくなければなりません。
OTCの補償
最終的なOTC値を計算するために必要な情報はすべて、すでに揃っています。以下の式を使用します。
ここで、
NewOTCは、最終的なOTC係数です。
CurrentOTCは、OTC DAC内に現在ある値です。
VOUT(T1)とVB(T1)は、T1での最後の測定値です。
VOUT(T2)とVB(T2)は、T2ソーク後の最初の測定値です。
OTC DAC内にNewOTC値を書き込み、それにしたがって設定レジスタ内にOTC DAC符号ビットを設定します。
OFF補償
この時点では、センサはまだ温度T2で圧力はPMINとなっています。OFF DAC、また、必要に応じて、OFF DAC符号ビットを調整することによって、VOUTが所望のオフセット電圧(この例では0.5V)と等しくなるまで、T2またはT1にて最終的なオフセット調整を行うことができます。
これで、センサ補償はすべて完了です。
センサ補償の検証
トランスデューサをさまざまな温度と圧力のポイントに置いてPGAOUTを確認することによって、補償を検証するようにしてください。
例
以下に示すデータは、上述の手順の有効性を実証するものです。100KPaGのゲージセンサ(製品番号:NPH-8-100GH)を使用して、その出力をPMIN = 0、PMAX = 100KPaG、T1 = -40℃、およびT2 = +125℃において補償しました。目標出力電圧は、PGAOUT(PMIN) = 0.5VおよびPGAOUT(PMAX) = 4.5Vです。補償プロセスが完了すると、補償されたトランスデューサについて、T = -40℃、0℃、+25℃、+75℃、および+125℃においてその特性を記述しました。2点温度補償によって、センサ誤差の線形部は完全に除去されました。補償されたトランスデューサの合計誤差は、補償されていないセンサ誤差の非線形成分の誤差と同程度です。
表1は、補償されていないセンサと補償されたトランスデューサの両方に対する、測定出力と計算誤差の一覧です。補償されていないセンサの誤差は、Total Error (TE)(合計誤差)とNonlinear Error (NE)(非線形誤差)という2つの形式で表されています。TEは、TC誤差の線形と非線形の成分を合わせたものを示します(25℃でのスパンを基準)。NEは、Total Errorから、データセットの2つのエンドポイントを通る直線からの偏差として計算された誤差の線形成分を引いたものです(エンドポイント直線フィット法)。表1のデータをグラフ化したものが、図1~3です。図1は、補償されていないセンサからのTotal Errorを、図2は補償されていないセンサ誤差の非線形成分を、図3は補償済みトランスデューサからのTotal Errorを示しています。データから、2点補償手順によってセンサの線形成分が完全に除去され、補償されたトランスデューサからのTEが補償されていないセンサの非線形成分のTEと同程度となっていることがわかります。
Temp (°C) |
Uncompensated Sensor (PMIN = 0; PMAX = 100KPaG; VB = 5V) |
Compensated Transducer |
||||||||
Offset (mV) | FSO (mV) | Total Error (% FSO, Referenced at +25°C) |
Nonlinear Error (% FSO, End-Point Fit) |
Offset (V) | FSO (V) | Total Error (% FSO, End-Point Fit) |
||||
Offset | FSO | Offset | FSO | Offset | FSO | |||||
-40 | -4.2 | 97.7 | -5.3 | 9.9 | 0.0 | 0.0 | 0.496 | 4.006 | -0.1 | 0.2 |
0 | -1.0 | 89.3 | -1.5 | 3.8 | 1.5 | -1.8 | 0.553 | 3.933 | 1.3 | -1.7 |
+25 | 0.3 | 84.8 | 0.0 | 0.0 | 1.6 | -2.0 | 0.565 | 3.930 | 1.6 | -1.8 |
+75 | 2.5 | 76.6 | 2.6 | -7.1 | 1.3 | -1.5 | 0.552 | 3.957 | 1.3 | -1.1 |
+125 | 3.8 | 69.2 | 4.1 | -14.3 | 0.0 | 0.0 | 0.500 | 4.001 | 0.0 | 0.0 |
この例では、補償のために極端な温度ポイントを使用し、エンドポイント直線フィット法を測定データに適用して、2点温度補償の有効性をより明確に実証しました。極端な温度ポイントは、誤差が偏ってしまうため(および数学的に大きさが2倍になるため)、センサ補償において最適なポイントではありません。アプリケーションでは、トランデューサの誤差が0%の誤差ラインの周りに均等に分布するよう、最適な補償温度ポイントを経験的に選択する必要があります。通常、フルレンジの25%と75% (中間ポイント)での温度ポイントが、最適な誤差分布を実現します。この実演のために最適な補償温度ポイントを選択していた場合、誤差分布は、表1に記載された偏った誤差の約±½になると想定されます(0%の誤差ラインを中心)。
図1. 補償されていないセンサの合計誤差 - 1次誤差と2次誤差の合計
図2. 補償されていないセンサの2次誤差。これは、図1のデータを通るエンドポイント直線からの偏差です。
図3. 補償されたトランスデューサの誤差。これは、補償係数を適用した後の合計誤差です。2点温度補償は、誤差の線形部のみを補正することができます。
最終見解
- このアプリケーションノートの目的は、リモートセンサ補償手順を実証し、その補償を手動で実現するための手法を説明する例を提供することです。自動補償に適した他の手法については、EVキットソフトウェアツールに同梱のMAX1452のユーザマニュアルに記載されており、これはマキシムのウェブサイトからダウンロード可能です。
- MAX1452の性能を最大限に活用するには、2つの補償動作を実行する必要があります。1つ目の動作は、このアプリケーションノートで説明したように、TC誤差の線形成分を効果的に補正するためのOTCおよびFSOTC係数を求めることです。2つ目の動作は、OFFおよびFSOルックアップテーブルに、残存する非線形TC誤差を相殺する補正係数を記入するという、複数温度ポイント補償です。複数温度補償方法については、MAX1452のユーザマニュアルに記載されています。
- 製造環境では、OTCおよびFSOTC DACに公称値を読み込んで、1つの複数温度補償のみを行ってMAX1452の性能を最大限に活用することができます。これが可能となる理由は、類似センサのTC特性(感度やオフセットなど)が非常に似ているからです。OTCとFSOTC (PGAGAINとIROも同様)の公称値は、代表的なサンプル上で2点補償を行うことによって求められます。
- このアプリケーションノートでは、選択肢としてMAX1452を使用しました。MAX1455とMAX1452にはわずかな違いしかないため、この手順はMAX1455にも同様に適用されます。
参考資料
MAX1452のデータシート
NPH-8-100GHのデータシート(MAX1452のユーザマニュアルの末尾に添付)