このシリーズの序章で、利用可能なさまざまなタイプの温度をテストする作業を始めました。そのために、アナログセンサー用とデジタルセンサー用のプロジェクトテンプレートを組み立てました。これらのテンプレートとNTCサーミスタのセンサー実装は、GitHubで見つけることができます。いつものように、これらのプロジェクトはオープンソースで、MITライセンスの下でリリースされており、ほとんど制限なく使用することができます。
この記事では、最初のタイプの温度センサーである負温度係数(NTC)サーミスタから始めます。NTCサーミスタは、安価で使いやすく、非常に正確ではないにしてもほとんどのアプリケーションに十分な精度を提供するため、おそらく最も一般的に使用される温度センサーのクラスです。
NTCサーミスタを購入したい場合は、Octopartにアクセスして、お気に入りのディストリビューターで在庫があるものを確認してください。また、Altium Designer®用の最大のオープンソースライブラリである私のCelestial Altium Libraryで、NTCサーミスタの完全な範囲と、何万もの他のコンポーネントやセンサーを見つけることができます。
このシリーズでは、さまざまな種類の温度センサー、について見ていき、それらの利点と欠点、および実装のための一般的な実装方法/トポロジーについて話します。このシリーズでは、以下をカバーします:
サーミスタが特に正確ではないと先ほど述べましたが、広く使用されています。ほとんどのアプリケーションでは、数度セルシウスの温度精度で十分です。基本的な熱保護や熱補償を構築する場合、PTCまたはNTCサーミスタで十分です。ほとんどの3Dプリンターは、加熱ベッドとホットエンドにサーミスタを使用しています。これは、プリンターごとにフィラメント温度設定を調整する必要があるためです。私の場合、3つの異なるホットエンドで同じ材料を印刷すると、ほぼ10°Cの範囲で3つの温度があります。PTCまたはNTC温度センサーは非常に安価で使用できるため、特に製造時に回路内でセンサーを校正できる場合や、ユーザーが校正できる場合には、低コストのデバイスにとっては素晴らしいことです。
サーミスタのコストは、特に広い温度範囲にわたって正確な温度測定を得るための追加のエンジニアリング努力によって相殺されます。これにより、温度の一般的な概念が許容される保護アプリケーションに非常に適しています。ほとんどのリチウムイオンバッテリーパックは、セルが過熱している場合に充電を停止するために10k 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つのセンサーのデータシートは、抵抗軸が対数的であることに気づくまではかなり線形に見えます。下のグラフのような線形スケールでは、直接読み取った場合の抵抗は線形からかけ離れていることがわかります。
関心のある温度範囲の中心でサーミスタの抵抗に一致する抵抗をサーミスタと並列に配置することで、曲線の小さな部分をより線形にすることができます。これにより、線形温度領域内での計算と校正がより簡単になります。サーミスタの完全なプロファイルを測定してサーミスタ式の値を計算する能力がある場合、またはメーカーがデータシートでそれらを提供してくれる場合は、抵抗を節約しながらも全範囲にわたって正確な測定が可能です。
温度を測定する最も簡単な方法は、電圧分割器を使用することです。サーミスタを電位分割器の上側または下側のどちらかに使用できます。サーミスタを電位分割器の「上」側に使用すると、温度が上昇するにつれて電圧が増加します。サーミスタを電圧分割器の下側に使用すると、温度が上昇するにつれて電圧が減少します。
どちらの方法も有効です。しかし、サーミスタの自己発熱を防ぐために、分割器を通る電流を減らすことをお勧めします。NTCサーミスタの値と要件に応じて、トポロジーを変更することで実装を最適化できるかもしれません。
私の実装では、25°Cでのサーミスタの抵抗と一致する上部分割器を使用して、特定の温度範囲に最適化されていないシンプルな分割器を使用しています。25°Cでは、入力電圧の半分を期待するべきです。この方法で温度センサーを構築している場合、取り扱う温度範囲を理解し、可能な限り広い電圧範囲を提供して温度をより正確に測定できるように、抵抗とトポロジーを最適化する必要があります。
温度が上がると、NTCサーミスタの抵抗値が下がることに注意してください。これは、参照抵抗器がより大きな電圧降下を持つため、大部分の電力が参照抵抗器に落ちることを意味します。これは自己発熱を防ぐのにも役立ち、周囲温度以上の温度を測定したい場合の良い戦略です。
PCBを作成するために、シリーズの前の記事で作成した温度センサーカードプロジェクトテンプレートを使用します。このテンプレートはGitHub上でも利用可能ですので、自分のセンサーに使用したい場合はご利用いただけます。
気づくかもしれませんが、ボード名はプロジェクトテンプレート内のものと同じです。これは、同じ回路図とPCBファイル名を持つこれらのボードを何十枚も管理するのが簡単ではないことを意味します!
私は友人のダビデ・ボルトラミに、Altiumプロジェクト内でファイル名を変更する方法があるか尋ねました。私のやり方は、プロジェクトからファイルを削除し、名前を変更してから再びプロジェクトに追加するというものでした。私の方法はかなり不格好だったので、ダビデはすぐにファイル名を変更するためのストレージマネージャーを提案しました。ストレージマネージャーはAltiumの右下にあるパネルボタンの下で見つけることができます。
ストレージマネージャーは、現在のプロジェクトをバージョン管理リポジトリに入れていなくても問題なく機能します。回路図やPCBを右クリックして「名前の変更」をクリックするか(またはF2を押す)だけです。
これは、通常私が使用していた方法よりもはるかにエレガントな解決策です。
それから、上記の実装の1つを回路図シートに追加します。回路図のテンプレート部分に必要な変更は、センサーのアナログ出力をカードエッジコネクタに接続することだけです。
これらの回路図はシングルエンドであり、差動ではないため、ペアの負側をグラウンドに接続し、正側にはそれに接続された電圧分割器からの出力を取得します。それから必要なのは、新しいコンポーネントを追加するためにボードを更新することだけです。
ボードの作業を行う間に、特定のセンサーカードが使用しているチャネルを識別するためにテンプレートに配置したアナログチャネル表にも記入しています。これにより、同じチャネルを使用する2つのセンサーを1つのスタックに追加する可能性が減少するはずです。
これらのボードはもちろん信じられないほどシンプルで、ボードごとに追加されるコンポーネントはたった2つです。両方のセンサーを同じボードに配置することもできましたが、1つのセンサーを1つのボードに保ちたいと思います。各センサー実装をそれぞれの回路基板に分離しておくことで、センサーがボードを共有することによる他のセンサーからの結果への影響がありません。
100k NTCサーミスタボードは、抵抗器とサーミスタコンポーネントを除いて、他と本質的に同一です。プロジェクトテンプレートは、非常に似た回路基板のシリーズを作成する作業を容易にします。
上述の通り、NTCサーミスタに並列に抵抗を追加することができます。これにより、電圧分割器の一部分を線形化することができます。興味のある温度範囲に対して線形の出力を得ることは、収集したデータにアルゴリズムを適用して正確な温度に変換することができない場合に便利です。また、アルゴリズムの値を決定するために必要なデータを正確に収集する設備がない場合にも役立ちます。温度範囲の線形部分では、差分温度として直接解釈できる電圧読み取りが必要になります。
この実装では、単に25°C付近でサーミスタを線形化する並列抵抗を追加しています。実装では、測定しようとしている温度範囲の中心点でのNTCサーミスタの抵抗値に合わせる必要があります。
この実装のために、2つの10K 0603抵抗を一緒に配置しました。並列抵抗の物理的位置がサーミスターに対して測定可能な差を生じさせるとは思わないからです。もし十分に精密な計測器具があれば、並列抵抗がサーミスターに近い場合、並列抵抗からの熱がサーミスターを加熱しているのを感知できるかもしれません。しかし、それは非常に微小な量であり、実際のアプリケーションには何の違いも生じさせないでしょう。
回路の安定性を向上させるために、オペアンプを電圧フォロワーとして使用することもできます。これは、電圧を測定しているピンがどのように実装されているかによって、少し追加の精度を提供することもできます。マイクロコントローラーや専用のADCは、通常非常に高いが、それでも電圧分割器に対して並列抵抗として機能する地面へのある程度の抵抗を持っています。バッファ/電圧フォロワーオペアンプを使用することで、マイクロコントローラーのピンを電圧分割器から隔離することができます。
この回路には、比較的低コストのバッファアンプを使用しています。計測用アンプも同様のコストになります。シリーズで後ほど見ていくアナログおよびデジタルセンサーの中には、バッファアンプだけのコストよりも安価で、PTCまたはNTCサーミスターよりも高精度で直線性があるものがあることに注目する価値があります。したがって、この回路はより正確な読み取りを提供するはずですが、外部のデバイス/機械からサーミスターを読み取る場合を除き、実際のデバイス実装ではあまり意味がないかもしれません。センシング要素を変更できない場合です。
また、一般的なオペレーショナルアンプを使用してコストを削減することもできます。バッファアンプはゲインが1なので、フィードバック接続は必要ありません - そして、より重要なのは、非常に高い入力および出力インピーダンスを持っていることです。この高インピーダンスは、通常のオペレーショナルアンプと比較して、このような電圧分割器の読み取り時の精度を高めます。それにもかかわらず、このようなバッファアンプはNTCサーミスターにとって過剰なほどのオーバーキルであり、GHz信号を扱う能力が十分にあります。
電圧フォロワー実装のためのPCBは、他のものと同じ全体的なスタイルに従っており、バッファアンプと分割抵抗器がサーマルブレークの反対側に配置されています。再び、バッファアンプからサーミスタへの熱が伝導されることはないと思われます。この設計は、センシング要素のみをサーマルブレークエリア内に保持するというテーマを続けており、近くの他のコンポーネントによって測定値が偏らないようにしています。
さらに正確なサーミスタの測定のために、ウィートストンブリッジを使用することもできます。しかし、このシリーズではNTCサーミスタに対してそれを実装する予定はありません。抵抗温度検出器(RTD)の記事では、ウィートストンブリッジの実装について詳しく説明しています。正しく実装され、正しい式とともに使用されたサーミスタはかなり正確になることができますが、比較的不正確なセンサーにウィートストンブリッジを使用することは、実装の時間とコストに見合わないかもしれません。上記の簡単なアプリケーションからの結果は、NTCサーミスタを温度センサーとして最大限に活用することを可能にします。
これらのセンサーテストカードはオープンソースです。GitHubのリポジトリをチェックして、デザインをダウンロードして自分で使用してみてください。NTCサーミスタを評価したい場合、これらのボードのプロジェクトファイルが時間を節約してくれるでしょう。 このシリーズで開発するすべてのセンサーカードも同じGitHubリポジトリにありますので、リポジトリをチェックすることで次に何が来るのかをちらっと見ることができるかもしれません!
次のPCB設計でAltiumがどのようにあなたをサポートできるか、もっと知りたいですか?NTCサーミスタとは何か、まだ疑問に思っていますか? Altiumの専門家に相談してください.