概要
温度測定システムを構成する際には、温度センサーとして測温抵抗体(RTD:Resistance Temperature Detector)がよく用いられます。その種のシステムの測定誤差には一貫性はあるのでしょうか。また、キャリブレーションを実施することなく、高い測定精度を得ることは可能なのでしょうか。本稿ではそうした疑問に答えた上で、誤差の補償機能をシステムに適用する方法を紹介します。その方法を用いれば、キャリブレーションを実施することなく、-25°C~140°Cの範囲で±0.15°Cの精度を達成することができます。
はじめに
本稿で紹介する誤差の補償機能は1つの前提条件に基づいています。それは、RTDをベースとする温度測定システムの誤差には一貫性があるというものです。本稿では、まずその種のシステムで生じる誤差の理論的な計算方法を紹介します。その上で、誤差源を可能な限り最小限に抑える方法について検討します。続いて、-25°C~140°Cの範囲内の様々な温度においてシステムの誤差を測定します。そして、いくつかの測定チャンネルの誤差曲線に一貫性があることを確認し、それに基づくフィッティング用の関数式を導き出します。その式を使用することで、システムの測定誤差を補償する仕組みを構築します。更に、その方法によって実際に測定精度が向上するか否かを検証します。最後に、温度測定システムで生じるノイズと誤差の測定結果を示します。結論から言えば、RTDベースの温度測定システムに本稿で紹介する方法を適用することで、全温度範囲における測定誤差を-0.8°C~0.2°Cから-0.15°C~0.15°Cへと大幅に低減することが可能になります。
RTDの選択
一般に、温度センサーは温度に対応する信号を電気信号に変換する役割を果たします。それにより、電気的なシステムで温度を測定できるようになります。一般的な温度測定システムでは、熱電対、RTD、サーミスタ、温度センサーICなどが重要な役割を担うことになります。
なかでも、RTDはいくつもの長所を備えていることから有力な選択肢になります。その長所としては、直線性に優れている、対応可能な温度測定範囲が広い、精度が高い、安定性に優れているといったことが挙げられます。このような理由から、RTDは温度測定システムで広く使用されています。
RTDの代表的なメーカーとしては、TE Connectivity、Heraeus、Honeywellなどが挙げられます。ほとんどのRTDメーカーは、IEC 60751に準拠した製品を製造しています。この規格では、白金を材料とするRTDが、その精度に応じてAA、A、B、Cという4つのクラスに分類されています。RTD製品を選択する際には、温度測定範囲、許容誤差、コストなどの要素について総合的に検討する必要があります。本稿では、温度測定システムで使用するRTDとしてTE Connectivityの「PTFシリーズ」を例にとることにします。このシリーズのRTD製品は白金抵抗体を材料とし、最新の薄膜技術を使用して製造されています。表1は、同シリーズに含まれる各クラスの製品の測定範囲、許容差についてまとめたものです。
RTDのクラス | 測定範囲 | T℃における許容誤差 |
AA | -30°C~200°C | ±(0.10 + 0.0017 × |T|) |
A | -30°C~300°C | ±(0.15 + 0.002 × |T|) |
B | -50°C~600°C | ±(0.30 + 0.005 × |T|) |
C | -50°C~600°C | ±(0.60 + 0.06 × |T|) |
表1を見ればわかるように、RTDの許容誤差はクラスが下がるにつれて段階的に大きくなります。逆に、クラスが高くなるほど許容誤差は小さくなります。筆者らは、各クラスのRTDについて総合的な分析を行いました。その結果、クラスBのRTDであれば、温度測定範囲が十分に広く、許容差もほとんどの産業用アプリケーションの要件を満たせるレベルであることがわかりました。また、クラスBのRTDであれば比較的安価です。そこで、本稿で例にとるシステムでは、温度センサーとしてクラスBのRTDである「PTFD101B1A0」を使用することにしました。
Pt100のRTDの特性
ドイツの規格であるDIN EN 60751では、Pt100を材料とするRTDの抵抗値と温度の関係を規定しています。図1に示すように、その抵抗値は0°Cで100Ωです。温度係数は所定の温度範囲内で0.385Ω/°Cとなります。
PTFシリーズの製品も、抵抗値と温度の関係についてDIN EN 60751の規格を満たすように設計/製造されています。Pt100における抵抗値と温度の関係は、カレンダー・ヴァン・デューセンの式によって正確に表すことができます。
温度をTとすると、T≧0°Cの場合、以下の式で表される関係が成り立ちます。
一方、T < 0°Cの場合の関係は以下のようになります。
ここで、各変数/定数の意味は以下のとおりです。
T:RTDの温度(単位は°C)
R(T):温度TにおけるRTDの抵抗値
R0:0°CにおけるRTDの抵抗値
RTDの抵抗値に基づいて測定温度を計算するには、上記の関数の逆関数を導出する必要があります。本稿では、以下に示す式を用いて計算を行うことにします。まず、R≧100Ωの場合の式は以下のようになります。
まず、R≧100Ωの場合の式は以下のようになります。
一方、R < 100Ωの場合には、以下に示す5次多項式によるフィッティングを行います。
ここで、T(R)はRTDの温度、RはT°CにおけるRTDの抵抗値です。それ以外の変数/定数については先ほど示したとおりです。
リファレンス回路とADCの構成
言うまでもなく、高い精度で温度の測定を行うためには、誤差の小さいセンサーを選択する必要があります。ただ、それだけでは不十分です。センサーと共に用いるシグナル・コンディショニング回路も、高い精度が得られるように設計しなければなりません。そこで、本稿では図2のような回路を使用することにしました。アナログ・フロント・エンドとしては、シグマ・デルタ(ΣΔ)型のA/Dコンバータ(ADC)を内蔵する「AD7124-8」を採用しています。これは高精度の温度測定に適した製品です。これをベースとし、シグナル・チェーン内の誤差源を可能な限り排除するように適切に回路を構成しています。
励起電流の値の選択
一般に、励起電流の値が大きいほど温度測定の感度は高くなり、システムの測定性能が向上します。ただ、励起電流は多いほどよいというわけではありません。RTDの励起電流によって発生する熱は電流値の2乗に比例します。つまり、電流が多いほど自己発熱の影響が大きくなります。結果として、温度の測定結果に大きな影響が及んでしまうかもしれません。また、励起電流の値は電流源のコンプライアンス電圧(後述)によって制限されます。従って、励起電流の値を選択する際には、自己発熱の影響とコンプライアンス電圧について考慮しなければなりません。
図3に示したのは、自己発熱の影響に起因する温度ドリフトの評価結果です。ご覧のとおり横軸は時間を表しています。一方、縦軸は、自己発熱の影響によって生じる温度ドリフト(単位は°C)を表しています。プロットの色は、励起電流の各値に対応しています。青は250µA、赤は500µA、緑は1000µAです。このグラフには、それぞれの色に対応するプロットが3つずつ示されています。これは、励起電流を同じ値に設定し、3つの温度測定チャンネルで測定を行ったということです。励起電流の量が多いほど、自己発熱の影響に起因する温度ドリフトが大きくなることがわかります。
このような実験結果を踏まえ、励起電流の値は250µAに設定することにしました。また、自己発熱が測定結果に与える影響も排除することにしました。
なお、上述したコンプライアンス電圧とは、理想的ではない電流源が定電流の出力を維持するために必要とする最小電圧のことです。電圧がその値を下回ると、電流源は出力を維持できず、正常に機能しなくなります。AD7124-8内が内蔵する電流源のコンプライアンス電圧は、出力電流を250µAに設定した場合、370mVです。そのため、電流源の出力ピンの電圧がAVDD - 0.37V(AVDDは3.3V)を超えることはありません。従って、外付け抵抗の値を選択する際には次の条件を満たす必要があります。
ここで、RMAXは、温度測定の範囲内における抵抗の最大値です。
レシオメトリックな測定
AD7124-8のデータシートを見ると、内蔵電流源の誤差の代表値は±4%であることがわかります。そのため、ADCのリファレンス電圧用に共通の電圧リファレンス源を使用すると、電流源によって±4%のゲイン誤差が生じる可能性があります。そうすると、本稿で例にとる温度測定システムアでは、最も厳しい条件で約10.4°C(= 100×4%/0.385)の誤差が生じることになります。但し、レシオメトリックな測定方法を採用すれば、この問題に起因する誤差は完全に排除することができます。
リファレンス抵抗の値の選択
PTFD101B1A0の温度測定範囲は-50°C~600°Cです。カレンダー・ヴァン・デューセンの式によれば、これに対応するRTDの抵抗値は約80.3Ω~313.7Ωです。したがって、RTDが対応可能な全温度範囲を対象として測定を行いたい場合、リファレンス抵抗の値(公称値)は313.7Ωより大きくなければなりません。データシートを見ると、外部リファレンスの入力電圧範囲は0.5Vよりも高く、AVDDよりも低くする必要があると規定されています。そのため、0.5V < I×RREF < 3.3Vという条件が成立します。ただ、RREFの値を大きくしすぎると、式(5)のコンプライアンス電圧の制限を超えてしまう可能性があります。この点にも注意が必要です。
ADCのリファレンス電圧は、リファレンス抵抗を流れる電流によって生成されます。上述したように、電流源に起因するゲイン誤差は、レシオメトリックな測定によって除去することができます。そうすると、リファレンス電圧の誤差は、リファレンス抵抗の許容誤差と温度係数だけに依存することになります。これが温度測定における最終的な誤差につながります。
以上のような検討を踏まえ、リファレンス抵抗としては進工業の「RG1608V-392-P-T1」を使用することにしました。その抵抗値(公称値)は3.9kΩです。許容誤差はわずか±0.02%であり、温度係数もわずか±25ppm/°Cです。本稿で例にとるシステムの場合、この許容誤差に起因する温度の測定誤差は、最も厳しい条件でもわずか0.052°C(= 100×0.02%/0.385)に抑えられます。
4線式のRTDの構成
RTDは、離れた場所の温度測定に使用されることがあります。その場合、長い金属線(リード線)の抵抗値は無視できず、温度測定システムにおける誤差の原因になります。RTDの配線の構成としては、2線式、3線式、4線式の3種類があります。これらのうち、4線式の接続方法を採用した場合に誤差は最小になります。図2において、RL1~RL4はリード線の抵抗を表しています。4線式の接続において、2本の配線(RL1、RL4)は励起電流を流すために使用します。RTDの両端の電圧は、残る2本の配線(RL2、RL3)を高インピーダンスの測定端に接続することによって計測します。測定端の入力インピーダンスは非常に高いため、測定端に接続されたリード線にはほとんど電流は流れません。リード線の抵抗による電圧降下(I×R)はほぼゼロになるので、リード線の抵抗に起因する誤差は排除されることになります。では、2線式の接続を使用する場合にはどのようになるでしょうか。まず、24AWGの銅線の公称抵抗値は0.08Ω/mです。ここで、RTDのリード線の長さが1mであると仮定しましょう。その場合、リード線のトータルの抵抗値は0.16Ωになります。また、RTDの温度係数は約0.385Ω/°Cです。従って、0.16Ωのリード線の抵抗によって、(0.16/0.385) = 0.42°Cの誤差が生じることになります。
上述したとおり、本稿の例では4線式のRTDを採用します。そして、複数のRTDによってリファレンス抵抗を共有することにします。AD7124-8には、4線式のRTDを最大5個接続することができますが、本稿の例では3個接続することにします。つまり、3つの温度測定チャンネルを備える形でシステムを構成します。このようなアプリケーションでは、3つのチャンネルを時分割で多重化します。表2は、各チャンネルに対応する電流源の出力ピンと差動アナログ入力ピンについてまとめたものです。
チャンネル | IOUT0 | AIN+ | AIN– |
CH0 | AIN0 | AIN2 | AIN3 |
CH1 | AIN1 | AIN4 | AIN5 |
CH2 | AIN8 | AIN6 | AIN7 |
ヘッドルーム抵抗の追加
リファレンス電圧用のバッファがイネーブルである場合、電源レールに対する入力電圧の制限について考慮する必要があります。バッファをイネーブルにすると、リファレンス電圧の入力端子の絶対入力電圧範囲はAVSS + 0.1V~AVDD - 0.1Vとなります。リファレンス抵抗の片側が直接グラウンドに接続されている場合、REFIN1(-)ピンの電圧はAVSSに等しくなり、許容範囲を超えてしまいます。そのため、ヘッドルーム抵抗を追加する必要があります。その値は、0.1V/250µA = 400Ωよりも大きくなければなりません。本稿では、ヘッドルーム抵抗の値として510Ωを選択することにします。それにより、コンプライアンス電圧の要件に反することなく、十分なマージンを確保することができます。
ゲインの選択
本稿で例にとるRTDベースの温度測定システムでは、周辺回路に起因する測定誤差が生じます。それだけでなく、ADCの内部にも特定の誤差の原因となり得る誤差源が存在します。
AD7124-8は、PGA(Programmable Gain Amplifier)を内蔵しています。これを使用すれば、様々なゲインで入力信号を増幅することができます。それにより、ADCの広いダイナミック・レンジをフルに活用し、量子化ノイズに起因する測定の不確実性を低減することが可能になります。但し、PGAでは、データシートに記載されているとおりのゲイン誤差が生じます。PGAがイネーブルではなく、ゲインが1である場合、最大ゲイン誤差はわずか±0.0025%に抑えられます。AD7124-8が工場から出荷される際、ゲインに対するキャリブレーションが適用されるからです。ただ、PGAをイネーブルとし、ゲインを1より大きく設定した場合には代表値が-0.3%のゲイン誤差が生じます。そのため、アプリケーションにおいては必要に応じてゲインに関するキャリブレーションを行い、PGAに起因する許容できないゲイン誤差を低減しなければなりません。ゲインを2、4または8に設定した場合、キャリブレーション後の最大ゲイン誤差は±0.016%になります。この誤差は、ゲインが1の場合の約10倍です。もちろん、ゲインの選択結果に応じ、ゲイン誤差だけではなく、積分非直線性誤差も変化します。本稿では、ゲインが1の構成を使用することにします。このシステムでは、量子化ノイズに起因する測定誤差が、ゲインが1より大きい場合のキャリブレーション後のゲイン誤差よりも小さくなります。したがって、そのような構成を採用することにしました。
デジタル・フィルタ
本稿では、デジタル・フィルタとしてsinc4フィルタを使用し、出力データ・レートを10SPSに設定することにしました。以下、その理由を説明します。
sinc4フィルタを使用すると、出力データ・レートの倍数のポイントで極めて大きな減衰量が得られます。それ自体が大きなメリットになるのですが、もう1つ、ノイズの実効値の面でも有利になります。フル・パワー・モードでの動作、ゲインは1、出力データ・レートは10SPSという条件でsinc4フィルタを使用する場合、rmsノイズは0.23µV、ピークtoピークのノイズは1.5µVとなります。ピークtoピークの分解能は21.7ビットに相当します。この性能を温度の測定値に換算すると、1.5µV/250µA/0.385〔Ω/°C〕 = 0.0156°Cになります。図4は、実際の測定結果に現れるノイズを表しています。
AD7124-8が内蔵するキャリブレーション機能
AD7124-8は、キャリブレーション機能を備えています。それを使用すれば、ADCのゲイン誤差とオフセット誤差を大幅に低減することができます。AD7124-8は工場から出荷される際に、ゲインが1という条件の下でキャリブレーションされています。そのため、ゲインの値を1に設定した場合、上記の内蔵キャリブレーション機能はADCには適用されません。従って、本稿の例では、ゲイン誤差に対して内蔵キャリブレーション機能は適用しません。工場から出荷される際のキャリブレーションを適用した結果がAD7124-8のゲイン性能になります。
このシステムでは、パワーオン・リセットが行われるたびにAD7124-8が内蔵するオフセットのキャリブレーション処理が実行されます。それにより、オフセット誤差が抑えられます。オフセット誤差とその温度ドリフトは、ノイズの許容範囲まで低減することが可能です。AD7124-8のオフセット誤差は代表値で±15µVです。これを温度の測定誤差に換算すると、15µV/gain = 1/250µA/0.385 = 0.156°Cとなります。同ICが内蔵するオフセット用のキャリブレーション機能を実施すると、最も厳しい条件におけるオフセット誤差がピークtoピーク・ノイズの値の約半分になります。温度の測定誤差に換算すると、わずか約0.008°Cのレベルに収まります。
システマチックな誤差
ここで、システマチックな誤差に関する分析結果についてまとめておきます。その結果は表3のようになります。
誤差の原因 | 最適化の方法 | 0°Cにおける最大誤差 |
RTD | 許容誤差の小さい製品 | ±0.3°C |
電流源 | レシオメトリックな測定 | 0°C |
リファレンス抵抗 | 許容誤差と温度ドリフトの小さい製品 | ±0.052°C |
リード線の抵抗 | 4線式の接続 | 0°C |
オフセット誤差 | オフセットに対する内蔵キャリブレーション | ±0.008°C |
ゲイン誤差 | ゲインが1の構成 | ±0.006°C |
積分非直線性 | ゲインが1の構成 | ±0.040°C |
量子化ノイズ | フル・パワー・モード 10SPS、sinc4 | ±0.008°C |
自己発熱の影響 | 250µAの励起電流 | — |
合計 | — | ±0.414°C |
誤差を分析するための評価環境
ここまでで、RTDをベースとする温度測定システムの理論上の性能を計算する方法を把握することができました。次に行うべきことは、実測結果に基づき、現実のシステムの性能を検証することです。このシステムにおける最も重要な性能指標は測定誤差です。つまり、システムによって測定した温度と実際の温度の差が重要な意味を持ちます。この指標に基づく評価を行うには、正確かつ広範な温度を実現できる温度源が必要になります。
Fluke Calibrationは、温度に関するキャリブレーションの分野で豊富な経験を有する企業です。同社の製品は、温度測定の様々なシナリオに対して高い信頼性を提供します。そのため、業界における標準的な製品として活用されています。本稿の例では、同社のポータブル温度校正バス「7109A」を使用することにします。これを使用すれば、-25°C~140°Cの範囲で槽内の液体を加熱/冷却することができます。ただ、その精度は±0.1°Cです。表3に示したように、本稿で例にとるAD7124-8をベースとした温度測定システム(以下、「AD7124-8ベースのシステム」と呼びます)のトータルの理論誤差は±0.414°Cです。それと比べると、±0.1°Cの誤差は無視できない数値です。したがって、より正確な温度源を構成するために、7109Aと共により正確な温度計を使用する必要があります。
Flukeは、白金抵抗をベースとする温度計「5615-12」とポータブル温度計「1529」も提供しています。これらを組み合わせれば、温度測定システム(以下、「Flukeのシステム」と呼びます)を構成できます。そのシステムでは、キャリブレーションの実施後、0°Cにおいて±0.012°Cという精度を達成することができます。本稿では、このFlukeのシステムを基準として使用することにします。つまり、同システムによって対象とする液体の温度を測定し、その結果を基準の値として使用します。以下では、この基準の値を「真の温度」と呼ぶことにします。
ここで、1つ注意すべきことがあります。それは、恒温槽内の液体の温度場は等温ではないということです。7109Aの技術仕様を確認すると、その均一性の標準値は0.02°Cとなっています。これは、恒温槽内の任意の2点間において同時刻の温度差が最大で0.02°Cに達するという意味です。何度か繰り返して実験を行う際、温度センサーを前回と全く同じ位置に置くことは不可能です。そのため、このことが原因で誤差が生じる可能性があります。
評価の方法
評価を行う際には、AD7124-8ベースのシステムで選択したRTDとFlukeの5615-12を恒温槽内に設置します。続いて、恒温槽の温度をある一定の値に設定します。温度が安定するまでは少し時間を要するでしょう。温度が安定したら、FlukeのシステムとAD7124-8ベースのシステムによる測定値を同時に記録します。先述したように、ここではFlukeのシステムによる測定値を真の値とします。そして、AD7124-8ベースのシステムによる測定結果を「実測値」と呼ぶことにします。式6に示すように、真の値と実測値の差をとることで、AD7124-8ベースのシステムの測定誤差を明らかにします。
ここで、各変数の意味は以下のとおりです。
Tmeasured:AD7124-8ベースのシステムで取得した実測値
Ttrue:Flukeのシステムで取得した真の値
error[T]:AD7124-8ベースのシステムのT°Cにおける測定誤差
ここでは、0°C以下の温度として、-25°C、-20°C、-15°C、-10°C、-5°C、0°Cを選択しました。0度以上の温度としては、0°C、10 °C、25 °C、37 °C、55 °C、70 °C、85 °C、100 °C、120 °C、140°Cを使用します。
0°Cより低い温度を対象とする場合、恒温槽で使用する液体としては純度99%の工業用アルコールを選択します。なぜなら、アルコールの凝固点は比較的低いからです。一方、0°Cより高い温度を対象とする場合には、恒温槽においてシリコーン・オイルを使用します。温度が高い場合に揮発性のアルコールを使用すると、事故が発生する可能性があるからです。
RTD用のプローブ
RTDは、露出した状態にあると、環境中の様々な物質からの影響を受けます。また、防水性や防塵性の面では優れたものだとは言えません。特に、水分はRTDの抵抗値に重大な影響を及ぼす可能性があります。そのため、RTDを使用する場合には防水パッケージを設計しなければなりません。
AD7124-8ベースのシステムでは、RTDを保護するために単純なステンレス製のプローブを作製して使用しました(図5)。このプローブは、ステンレス製のスリーブにRTDを格納し、スリーブの開口部にシリコーン・ゲルを充填することで実現しています。シリコーン・ゲルが固まれば、恒温槽内にこのプローブを設置して温度の測定を行うことが可能になります。ただ、その防水性はそれほど優れているわけではありません。あくまでも、実験用に作製したものです。現実のアプリケーションにおけるRTDの防水については、無視することのできない必須の設計項目として扱わなければなりません。

なお、このプローブについては特に留意すべきことがあります。このステンレス製のプローブは、温度が670°Cを超えると金属イオンを放出します。その結果、高純度の白金が汚染され、RTDの抵抗値が変化してしまう可能性があります。従って、高温を対象とする場合、石英ガラス製または白金製のプローブによってRTDを保護しなければなりません。これらの材料は高温でも不活性のままです。そのため、RTDが汚染されることはありません。
評価の結果
本稿の評価では、全部で14個のRTD(PTFD101B1A0)を使用します。それぞれには、RTD1からRTD14までの番号を付与しました。それらを3個のAD7124-8とランダムに組み合わせて評価を実施します。具体的には、表4のように各AD7124-8の評価用ボード(EVB)の信号入力端子に各RTDを接続します。次に、様々な温度に設定した恒温槽内にRTD用のプローブを設置します。その状態で温度の実測値を取得し、真の値と比較します。
RTDの番号 | EVBの番号 | ADCのチャンネル |
RTD1 | EVB1 | CH0 |
RTD2 | EVB1 | CH1 |
RTD3 | EVB1 | CH2 |
RTD4 | EVB2 | CH0 |
RTD5 | EVB2 | CH1 |
RTD6 | EVB2 | CH2 |
RTD7 | EVB3 | CH0 |
RTD8 | EVB3 | CH1 |
RTD9 | EVB3 | CH2 |
RTD10 | EVB1 | CH0 |
RTD11 | EVB1 | CH1 |
RTD12 | EVB1 | CH2 |
RTD13 | EVB2 | CH0 |
RTD14 | EVB2 | CH1 |
続いて、AD7124-8ベースのシステムで生じる測定誤差の値を複数組み合わせることにより、-25°C~140°Cの範囲の誤差曲線を作成します。図6、図7に示したのが作成した誤差曲線の例です。それぞれの図は、14個の温度測定チャンネルを対象とし、温度が0℃より高い場合と0°Cより低い場合に分けてプロットすることで作成しました。
図6、図7の横軸は、恒温槽で設定した温度(単位は°C)を表しています。そして、縦軸が測定誤差(単位は°C)です。14本の誤差曲線を見ると、温度が0°Cより低いか高いかにかかわらず、14個の温度測定チャンネルはいずれも一貫性のある変化のパターンを備えていることがわかります。このことから、実測結果に対してカーブ・フィッティング(曲線近似)を適用することで、AD7124-8ベースのシステムの誤差を表す関数error[T]を求められることがわかります。同じプロセスで製造されたAD7124-8をベースとする温度測定システムにおいて、得られた関数が誤差を補償するための一定の効果を備えていると仮定します。その場合、直接この関数を適用することにより、誤差の補償用のプログラムを作成できるはずです。その結果として、製造時のキャリブレーションのプロセスを省略しつつ、キャリブレーションを行っていない場合と比べてシステムの性能を大幅に高めることができます。
カーブ・フィッティング
上述したように、RTDベースの測定に使用する14個のチャンネルでは一貫性のある測定誤差が生じます。ただ、誤差曲線の傾きと切片は、製造ばらつきによってある程度変動します。この製造プロセスに依存する全チャンネルの誤差を補償するには、14本の誤差曲線で囲まれた範囲の中間に位置する曲線を見いださなければなりません。適切な方法は、温度が0°Cより高い場合と低い場合の2つの区間に分割した区分関数を使用して誤差関数を記述するというものになるでしょう。
まず、温度が0°Cより高い場合の誤差曲線について吟味してみます。0°C~140°Cの測定誤差の変化は、error(T) = AT2 + BT + C(T > 0)という2次関数に近い曲線になることがわかります。
本稿では、0°Cにおいて3番目に大きい誤差と3番目に小さい誤差の平均値を、誤差関数の定数項Cの値として使用することにします。0°Cにおける誤差を選択する理由は、0°CにおけるRTDの抵抗値が公称値であるからです。誤差が最大のチャンネルと最小のチャンネルを選択しないのは、それらが不具合を抱えているかもしれないからです。2番目に大きい誤差と2番目に小さい誤差も特異性を備えている可能性があります。そこで、3番目に大きい誤差と3番目に小さい誤差を選択したということです。不具合を抱えていないシステムであれば、ほとんどの測定結果は3番目に大きい誤差と3番目に小さい誤差に挟まれた範囲(-0.04680°C~0.08392°C)に収まると考えられます。そこで、その中点である0.01855°Cを補償用の値とします。そうすれば、不具合のないほとんどのシステムの性能を、0°Cにおける誤差が±0.06537°Cの範囲内に収まるように最適化することができます。
残る2つの係数A、Bの値は、図8に示すようにカーブ・フィッティングによって求めます。カーブ・フィッティングには、いくつかの点の値を使用します。それらは、各温度条件の下で得た14個の測定結果の誤差を平均したものです。0°Cより高い温度は10種あるので、カーブ・フィッティングもそれらに対応する10個の点に最も一致するように実施します。カーブ・フィッティングの相関係数R2は0.9989に達します。最終的に、0°Cより高い場合の誤差関数は以下の式のようになります。
続いて、温度が0°Cより低い場合の誤差曲線について吟味します。すると、-25°C~0°Cの範囲では誤差はほぼ変化しないことがわかります。従って、0°Cより低い場合の誤差曲線は、error[T] = D(T < 0)という定数に近い関数になります。この誤差関数のDの値は、0°Cにおける3番目に大きい誤差と3番目に小さい誤差の平均値とします。最終的に、0°Cより低い場合の誤差関数は以下の式のようになります。
誤差の補償による精度の向上
誤差関数が得られたら、それを基にマイクロコントローラ用のプログラムを作成します。それにより、温度の測定誤差を補償します。ADCによる変換後のバイナリ・データを取得したら、式(3)、式(4)によってTmeasuredの値を算出します。そして、式(7)、式(8)を使用することにより誤差を補償します。つまり、1つの誤差関数を使用して、全測定チャンネルのキャリブレーションを実施するということです。このキャリブレーション方法を採用すれば、測定範囲の全体にわたって誤差を補償するためにかかる時間を短縮することができます。もちろん、システムとしての測定精度も高まります。以下の式において、T'measuredは誤差を補償した後の測定値です。
最後に、誤差関数を使用した補償が有効であるか否かを検証します。以下の式を使用して、補償後の測定値を真の値から差し引くことにより、補償後の測定誤差が得られます。
ここで、error'[T]は、T〔°C〕における補償後の誤差を表します。
検証用の構成として、表5に示すように9個のRTDと3個のAD7124-8を組み合わせました。それにより、9個の測定チャンネルを構成しました。RTDを恒温槽内に設置し、前の例と同じように0°Cより高い温度を選択して測定を行いました。
RTDの番号 | EVBの番号 | ADCのチャンネル |
RTD1 | EVB1 | CH0 |
RTD2 | EVB1 | CH1 |
RTD3 | EVB1 | CH2 |
RTD4 | EVB2 | CH0 |
RTD5 | EVB2 | CH1 |
RTD6 | EVB2 | CH2 |
RTD7 | EVB3 | CH0 |
RTD8 | EVB3 | CH1 |
RTD9 | EVB3 | CH2 |
まず、温度が0°Cより高い場合に注目し、測定誤差に対する補償の効果を確認します。図9は、補償を行う前の測定誤差を表しています。一方、図10は補償を適用した後の誤差をプロットしたものです。
図9、図10は、温度が0°C~140°Cの範囲にある場合、補償を適用することによって、測定誤差を-0.8°C~0.2°Cから-0.3°C~0.15°Cまで低減できることを表しています。
次に、温度が0°Cより低い範囲を対象とし、測定誤差の補償の効果を確認します。前の例と同様に、0°C以下の温度をいくつか選択し、実際に測定を行いました。図11、図12は、補償を適用する前後の測定誤差をプロットしたものです。
図11、図12を見ると、温度が-25°C~0°Cの範囲にある場合、補償によって誤差の範囲が-0.1°C~0.15°Cから-0.15°C~0.1°Cに変化することがわかります。
結論として、-25°C~140°Cの温度範囲内では、誤差関数を用いた補償を適用することにより、温度の測定誤差を±0.3°C以内に抑えることができます。しかも、9個のうち8個の測定チャンネルでは、-25°C~140°Cにおいて測定誤差を±0.15°C以内に抑えられています。つまり、温度の測定精度が大幅に向上しています。
温度測定システムに適した製品群
ここまで、アナログ・フロント・エンドとしてAD7124-8を使用することを前提として解説を進めてきました。ただ、アナログ・デバイセズは同ICをベースとした新世代の製品も提供しています。それは、極めて少ない消費電力と小型化を実現したことを特徴とする「AD4130-8」です。この製品では、内蔵発振器と内蔵リファレンスをイネーブル、PGAのゲインを1~16として、連続変換モードで動作させた場合の公称消費電流が35µAとなります(データシートを参照)。ただ、デューティ・サイクル比が1/4のモードで動作させると、公称消費電流は11µAまで低下します。更に、デューティ・サイクル比が1/16のモードでは同電流がわずか4.35µAまで削減されます。しかも、パッケージとしてはサイズがわずか3.6mm×2.74mmのWLCSPを採用しています。
AD7124-8と同様に、AD4130-8も温度測定に適した製品です。以下では、その評価結果を示します。まず、AD4130-8の評価用ボードにRTD9を挿入して温度測定チャンネルを構成します。そして、AD4130-8の動作条件は次のように設定します。すなわち、出力データ・レートは10SPS、デジタル・フィルタはsinc3、動作モードはフル・パワー・モード、PGAのゲインは1、励起電流は200µAという設定です。また、アナログ入力バッファとリファレンス電圧バッファはいずれもイネーブルに設定します。
AD4130-8をベースとする温度測定システムを上記のように構成し、そのノイズ性能を評価しました。10SPSのレートで10秒間記録を実行することにより、温度の測定結果となるデータが100個得られます。その結果をプロットしたものが図13です。
ご覧のように、100個の測定データにおいてピークtoピークのノイズは0.04°Cに抑えられていることがわかります。これはAD7124-8を使用する場合よりもわずかに大きな値です。ただ、消費電力は大幅に削減されます。
続いて、AD4130-8をベースとする温度測定システムの測定誤差を確認します。ここでは、RTD9を恒温槽に設置することにしました。また、前の例と同じように-25°C~140°Cの範囲で15種の温度を選択します。それらの温度で各測定チャンネルにおける測定誤差を記録します。図14に示したのがその結果です。この図には、AD7124-8ベースのシステムとRTD9を使用した場合の測定誤差も示してあります。ご覧のように、-25°C~140°Cの範囲では、AD4130-8ベースのシステムとAD7124-8ベースのシステムの測定誤差に大きな差はありません。
ご覧のように、-25°C~140°Cの範囲では、AD4130-8ベースのシステムとAD7124-8ベースのシステムの測定誤差に大きな差はありません。
まとめ
本稿では、温度センサーとしてRTD(PTFD101B1A0)を採用し、それをAD7124-8と組み合わせることで温度測定システムを構成した例を示しました。その上で、測定誤差を最小限に抑える方法について詳しく説明しました。本稿で示したシステムでは、AD7124-8をはじめとする各デバイスを最適化した形で使用しています。実測結果も示したので、そのシステムによって優れた性能が得られることをご理解いただけたはずです。本稿で紹介した手法を用いれば、製造プロセスにキャリブレーションの工程を盛り込む必要はありません。-25°C~140°Cの範囲で測定誤差を±0.3°C以内に抑えることができます。その代表値は、わずか±0.15°Cのレベルです。ADCを含むアナログ・フロント・エンドやRTDとして適切なものを選択することにより、高精度の温度測定システムを高いコスト効率で実現できます。その中核を成すアナログ・フロント・エンドとして、AD7124-8だけでなく、AD4130-8も利用できます。
AD4130-8は、卓越した温度測定機能、超低消費電力、コンパクトなサイズを特徴とした製品です。この製品は、多様なアプリケーションに適用することが可能です。完成したシステムは、市場において大きな成果を生み出すものになるはずです。