NTC PCB サーミスタを温度センサーとして

Mark Harris
|  投稿日 2020/09/9 水曜日  |  更新日 2021/01/11 月曜日
NTCサーミスタを温度センサーとして

このシリーズの序章で、利用可能なさまざまなタイプの温度をテストする作業を始めました。そのために、アナログセンサー用とデジタルセンサー用のプロジェクトテンプレートを組み立てました。これらのテンプレートとNTCサーミスタのセンサー実装は、GitHubで見つけることができます。いつものように、これらのプロジェクトはオープンソースで、MITライセンスの下でリリースされており、ほとんど制限なく使用することができます。

この記事では、最初のタイプの温度センサーである負温度係数(NTC)サーミスタから始めます。NTCサーミスタは、安価で使いやすく、非常に正確ではないにしてもほとんどのアプリケーションに十分な精度を提供するため、おそらく最も一般的に使用される温度センサーのクラスです。

NTCサーミスタを購入したい場合は、Octopartにアクセスして、お気に入りのディストリビューターで在庫があるものを確認してください。また、Altium Designer®用の最大のオープンソースライブラリである私のCelestial Altium Libraryで、NTCサーミスタの完全な範囲と、何万もの他のコンポーネントやセンサーを見つけることができます。

このシリーズでは、さまざまな種類の温度センサーについて見ていき、それらの利点と欠点、および実装のための一般的な実装方法/トポロジーについて話します。このシリーズでは、以下をカバーします:

サーミスタを使った感知

サーミスタが特に正確ではないと先ほど述べましたが、広く使用されています。ほとんどのアプリケーションでは、数度セルシウスの温度精度で十分です。基本的な熱保護や熱補償を構築する場合、PTCまたはNTCサーミスタで十分です。ほとんどの3Dプリンターは、加熱ベッドとホットエンドにサーミスタを使用しています。これは、プリンターごとにフィラメント温度設定を調整する必要があるためです。私の場合、3つの異なるホットエンドで同じ材料を印刷すると、ほぼ10°Cの範囲で3つの温度があります。PTCまたはNTC温度センサーは非常に安価で使用できるため、特に製造時に回路内でセンサーを校正できる場合や、ユーザーが校正できる場合には、低コストのデバイスにとっては素晴らしいことです。

Thermistor Family Tree
出典: Methods to Reduce Thermistor Linearization Error, Memory, and Power Requirements Over Wide Operating Temperature Ranges

サーミスタのコストは、特に広い温度範囲にわたって正確な温度測定を得るための追加のエンジニアリング努力によって相殺されます。これにより、温度の一般的な概念が許容される保護アプリケーションに非常に適しています。ほとんどのリチウムイオンバッテリーパックは、セルが過熱している場合に充電を停止するために10k NTCサーミスタを実装します。これは、壊滅的な故障を防ぐためです。

負温度係数(NTC)サーミスタ

NTCサーミスタは、温度が上昇すると抵抗が低下する抵抗器です。これにより、回路内で抵抗を測定する典型的な方法を使用して、抵抗器の温度を計算できます。残念ながら、温度変化は非線形であるため、抵抗の変化によって直接温度変化を測定することはできません。多くのメーカーは、抵抗-温度曲線や、抵抗から温度を計算するための式を提供することがあります。これにより、マイクロコントローラを使用して比較的正確な測定を得ることができます。メーカーがこの情報を提供しない場合は、正確な温度センサーや環境チャンバーを使用して、特定の設定ポイントでセンサーを測定し、自分で式を決定することができます。

このプロジェクトでは、2種類の異なるNTCサーミスタとそれらのいくつかの実装について見ていきます。これらは精度の高いサーミスタですが、他の低精度のサーミスタと比較しても過度に高価ではありません。

これらはどちらも表面実装部品ですが、スルーホール部品も容易に入手可能です。スルーホール部品の一般的な用途は、リモートセンシングのために一対のワイヤーの端にそれらをはんだ付けすることです。あまりお金をかけずにワイヤー上のサーミスタをテストしたい場合は、3Dプリンターの温度センサーを探してみてください。これらは通常、10Kのサーミスタです。ただし、一部のプリンターでは代わりに100Kのサーミスタを使用しています。

部品

NCP03WF104F05RL

NCP15XH103F03RC

感温最小

-40°C

-40°C

感温最大

+125°C

+125°C

感温範囲

ローカル

ローカル

25°Cでの抵抗値

100 kOhm

10 kOhm

抵抗許容差

1%

1%

B値許容差

1%

1%

動作温度

-40 °C から +125 °C

-40 °C から +125 °C

B0/50

-

-

B15/75

4250K

3380K

B25/75

-

-

B25/85

4311K

3434K

B25/100

4334K

3455K

最大電力(mW)

100 mW

100 mW

メーカー

ムラタ

ムラタ

パッケージ

0201

0402


サーミスタの感知温度範囲は、後で見るいくつかのセンサーに比べて利点があります。感知範囲はセンサーの全動作範囲をカバーしており、幅広いアプリケーションで使用できます。サーミスタは非常にシンプルなので、はんだが溶融状態にならない限り、または熱収縮がデバイスを損傷させない限り、これらの定格範囲をはるかに超えて使用することもできます。

2つのセンサーの主な違いは、パッケージサイズの他に、25 °Cでの抵抗値です - 100kおよび10kのNTCサーミスタがあり、これらは最も一般的に使用される値です。 

これら2つのセンサーのデータシートは、抵抗軸が対数的であることに気づくまではかなり線形に見えます。下のグラフのような線形スケールでは、直接読み取った場合の抵抗は線形からかけ離れていることがわかります。

Tempature Measurement NTC Thermistors
出典: Thermistors/Temperature Measurement with NTC Thermistors

関心のある温度範囲の中心でサーミスタの抵抗に一致する抵抗をサーミスタと並列に配置することで、曲線の小さな部分をより線形にすることができます。これにより、線形温度領域内での計算と校正がより簡単になります。サーミスタの完全なプロファイルを測定してサーミスタ式の値を計算する能力がある場合、またはメーカーがデータシートでそれらを提供してくれる場合は、抵抗を節約しながらも全範囲にわたって正確な測定が可能です。

Temperature Measurement NTC
出典: Thermistors/Temperature Measurement with NTC Thermistors

NTCサーミスタの実装:電圧分割器

温度を測定する最も簡単な方法は、電圧分割器を使用することです。サーミスタを電位分割器の上側または下側のどちらかに使用できます。サーミスタを電位分割器の「上」側に使用すると、温度が上昇するにつれて電圧が増加します。サーミスタを電圧分割器の下側に使用すると、温度が上昇するにつれて電圧が減少します。

どちらの方法も有効です。しかし、サーミスタの自己発熱を防ぐために、分割器を通る電流を減らすことをお勧めします。NTCサーミスタの値と要件に応じて、トポロジーを変更することで実装を最適化できるかもしれません。

Voltage Divider


私の実装では、25°Cでのサーミスタの抵抗と一致する上部分割器を使用して、特定の温度範囲に最適化されていないシンプルな分割器を使用しています。25°Cでは、入力電圧の半分を期待するべきです。この方法で温度センサーを構築している場合、取り扱う温度範囲を理解し、可能な限り広い電圧範囲を提供して温度をより正確に測定できるように、抵抗とトポロジーを最適化する必要があります。

温度が上がると、NTCサーミスタの抵抗値が下がることに注意してください。これは、参照抵抗器がより大きな電圧降下を持つため、大部分の電力が参照抵抗器に落ちることを意味します。これは自己発熱を防ぐのにも役立ち、周囲温度以上の温度を測定したい場合の良い戦略です。

PCBレイアウト

PCBを作成するために、シリーズの前の記事で作成した温度センサーカードプロジェクトテンプレートを使用します。このテンプレートはGitHub上でも利用可能ですので、自分のセンサーに使用したい場合はご利用いただけます。

Create PCB layout from template for NTC thermistors


気づくかもしれませんが、ボード名はプロジェクトテンプレート内のものと同じです。これは、同じ回路図とPCBファイル名を持つこれらのボードを何十枚も管理するのが簡単ではないことを意味します!

私は友人のダビデ・ボルトラミに、Altiumプロジェクト内でファイル名を変更する方法があるか尋ねました。私のやり方は、プロジェクトからファイルを削除し、名前を変更してから再びプロジェクトに追加するというものでした。私の方法はかなり不格好だったので、ダビデはすぐにファイル名を変更するためのストレージマネージャーを提案しました。ストレージマネージャーはAltiumの右下にあるパネルボタンの下で見つけることができます。

Storage Manager


ストレージマネージャーは、現在のプロジェクトをバージョン管理リポジトリに入れていなくても問題なく機能します。回路図やPCBを右クリックして「名前の変更」をクリックするか(またはF2を押す)だけです。

Rename File


これは、通常私が使用していた方法よりもはるかにエレガントな解決策です。

それから、上記の実装の1つを回路図シートに追加します。回路図のテンプレート部分に必要な変更は、センサーのアナログ出力をカードエッジコネクタに接続することだけです。

Cardedge Schematic with 12 pin header


これらの回路図はシングルエンドであり、差動ではないため、ペアの負側をグラウンドに接続し、正側にはそれに接続された電圧分割器からの出力を取得します。それから必要なのは、新しいコンポーネントを追加するためにボードを更新することだけです。

ボードの作業を行う間に、特定のセンサーカードが使用しているチャネルを識別するためにテンプレートに配置したアナログチャネル表にも記入しています。これにより、同じチャネルを使用する2つのセンサーを1つのスタックに追加する可能性が減少するはずです。

Channel Table for NTC thermistors board


これらのボードはもちろん信じられないほどシンプルで、ボードごとに追加されるコンポーネントはたった2つです。両方のセンサーを同じボードに配置することもできましたが、1つのセンサーを1つのボードに保ちたいと思います。各センサー実装をそれぞれの回路基板に分離しておくことで、センサーがボードを共有することによる他のセンサーからの結果への影響がありません。

ntc


100k NTCサーミスタボードは、抵抗器とサーミスタコンポーネントを除いて、他と本質的に同一です。プロジェクトテンプレートは、非常に似た回路基板のシリーズを作成する作業を容易にします。

voltage divider

NTC実装:並列抵抗の追加

上述の通り、NTCサーミスタに並列に抵抗を追加することができます。これにより、電圧分割器の一部分を線形化することができます。興味のある温度範囲に対して線形の出力を得ることは、収集したデータにアルゴリズムを適用して正確な温度に変換することができない場合に便利です。また、アルゴリズムの値を決定するために必要なデータを正確に収集する設備がない場合にも役立ちます。温度範囲の線形部分では、差分温度として直接解釈できる電圧読み取りが必要になります。

parallel resistor


この実装では、単に25°C付近でサーミスタを線形化する並列抵抗を追加しています。実装では、測定しようとしている温度範囲の中心点でのNTCサーミスタの抵抗値に合わせる必要があります。

この実装のために、2つの10K 0603抵抗を一緒に配置しました。並列抵抗の物理的位置がサーミスターに対して測定可能な差を生じさせるとは思わないからです。もし十分に精密な計測器具があれば、並列抵抗がサーミスターに近い場合、並列抵抗からの熱がサーミスターを加熱しているのを感知できるかもしれません。しかし、それは非常に微小な量であり、実際のアプリケーションには何の違いも生じさせないでしょう。

ntc


NTC実装:電圧フォロワーの追加

回路の安定性を向上させるために、オペアンプを電圧フォロワーとして使用することもできます。これは、電圧を測定しているピンがどのように実装されているかによって、少し追加の精度を提供することもできます。マイクロコントローラーや専用のADCは、通常非常に高いが、それでも電圧分割器に対して並列抵抗として機能する地面へのある程度の抵抗を持っています。バッファ/電圧フォロワーオペアンプを使用することで、マイクロコントローラーのピンを電圧分割器から隔離することができます。

buffer


この回路には、比較的低コストのバッファアンプを使用しています。計測用アンプも同様のコストになります。シリーズで後ほど見ていくアナログおよびデジタルセンサーの中には、バッファアンプだけのコストよりも安価で、PTCまたはNTCサーミスターよりも高精度で直線性があるものがあることに注目する価値があります。したがって、この回路はより正確な読み取りを提供するはずですが、外部のデバイス/機械からサーミスターを読み取る場合を除き、実際のデバイス実装ではあまり意味がないかもしれません。センシング要素を変更できない場合です。

また、一般的なオペレーショナルアンプを使用してコストを削減することもできます。バッファアンプはゲインが1なので、フィードバック接続は必要ありません - そして、より重要なのは、非常に高い入力および出力インピーダンスを持っていることです。この高インピーダンスは、通常のオペレーショナルアンプと比較して、このような電圧分割器の読み取り時の精度を高めます。それにもかかわらず、このようなバッファアンプはNTCサーミスターにとって過剰なほどのオーバーキルであり、GHz信号を扱う能力が十分にあります。

電圧フォロワー実装のためのPCBは、他のものと同じ全体的なスタイルに従っており、バッファアンプと分割抵抗器がサーマルブレークの反対側に配置されています。再び、バッファアンプからサーミスタへの熱が伝導されることはないと思われます。この設計は、センシング要素のみをサーマルブレークエリア内に保持するというテーマを続けており、近くの他のコンポーネントによって測定値が偏らないようにしています。

thermal break


他のオプション:ウィートストンブリッジ

さらに正確なサーミスタの測定のために、ウィートストンブリッジを使用することもできます。しかし、このシリーズではNTCサーミスタに対してそれを実装する予定はありません。抵抗温度検出器(RTD)の記事では、ウィートストンブリッジの実装について詳しく説明しています。正しく実装され、正しい式とともに使用されたサーミスタはかなり正確になることができますが、比較的不正確なセンサーにウィートストンブリッジを使用することは、実装の時間とコストに見合わないかもしれません。上記の簡単なアプリケーションからの結果は、NTCサーミスタを温度センサーとして最大限に活用することを可能にします。

NTCサーミスタボードを自分でテストしてみましょう

これらのセンサーテストカードはオープンソースです。GitHubのリポジトリをチェックして、デザインをダウンロードして自分で使用してみてください。NTCサーミスタを評価したい場合、これらのボードのプロジェクトファイルが時間を節約してくれるでしょう。 このシリーズで開発するすべてのセンサーカードも同じGitHubリポジトリにありますので、リポジトリをチェックすることで次に何が来るのかをちらっと見ることができるかもしれません!

次のPCB設計でAltiumがどのようにあなたをサポートできるか、もっと知りたいですか?NTCサーミスタとは何か、まだ疑問に思っていますか? Altiumの専門家に相談してください.

筆者について

筆者について

Mark Harrisは「技術者のための技術者」とでも言うべき存在です。エレクトロニクス業界で12年以上にわたる豊富な経験を積んでおり、その範囲も、航空宇宙や国防契約の分野から、小規模製品のスタートアップ企業や趣味にまで及んでいます。イギリスに移り住む前、カナダ最大級の研究機関に勤務していたMarkは、電子工学、機械工学、ソフトウェアを巻き込むさまざまなプロジェクトや課題に毎日取り組んでいました。彼は、きわめて広範囲にまたがるAltium Designer用コンポーネントのオープンソース データベース ライブラリ (Celestial Database Library) も公開しています。オープンソースのハードウェアとソフトウェアに親しんでおり、オープンソース プロジェクトで起こりがちな日々の課題への取り組みに求められる、固定観念にとらわれない問題解決能力を持っています。エレクトロニクスは情熱です。製品がアイデアから現実のものになり、世界と交流し始めるのを見るのは、尽きることのない楽しみの源です。

Markと直接やり取りする場合の連絡先: mark@originalcircuit.com

関連リソース

関連する技術文書

ホームに戻る
Thank you, you are now subscribed to updates.