デジタル温度センサーは、非常に正確な温度測定をマイクロコントローラーや他のロジックデバイスに入力する最も簡単な方法を提供します。この温度センサーシリーズの前回の記事では、アナログ温度センサーについて見てきました。これらは単純なADC読み取りを行うだけで実装が容易に思えるかもしれませんが、最も正確な測定を得るためには、製造中に各デバイスのADCを校正する必要がありますが、これが常に実現可能であるとは限りません。この記事では、いくつかの異なるデジタル温度センサーオプションについて詳しく見ていきます。デジタル温度センサーは通常、単純なアナログ温度センサーよりも高価になります。しかし、これらのデバイスを使用した生産の容易さと便利さは、高い測定精度が求められる場合に追加コストを正当化することがよくあります。
デジタル温度センサーは、このシリーズで見ていくセンサーの5番目のタイプです。このシリーズは、最終記事で締めくくります。その記事では、さまざまな環境条件下でこれまでにテストしたすべてのセンサーを対決させ、機能性、精度、および挙動を比較できるようにします。このシリーズは、標準的な温度センサーカードのテンプレートを構築する導入記事から始まりました。アナログ版とデジタル版の両方を、メザニンコネクタを使用して積み重ねることも、エッジコネクタから独立して読み取ることもできます。シリーズの後半で、これらのセンサーすべてのホストボードを構築する予定です。これにより、単一のセンサーからデータを読み取ってその機能性を検証することも、ボードの全スタックからデータを読み取って、すべてを一緒にログに記録することもできます。
このシリーズでは、さまざまな温度センサーを詳しく見ていき、それぞれの利点と欠点について話し合うとともに、実装のための典型的なトポロジーについても触れます。このシリーズでは、以下のセンサータイプを取り上げます:
私のプロジェクトと同様に、プロジェクトの詳細、回路図、ボードファイルはGitHubで他の温度センサの実装と共に見つけることができます。このプロジェクトは、オープンソースのMITライセンスの下でリリースされており、個人的または商業的な目的でデザインやその一部を自由に使用することができます。
想定してみてください。温度センサーからの出力のみを読み取りたい場合、マイクロコントローラーや他のロジックデバイスを使用する場合、デジタル温度センサーは電気的に最も簡単に実装できるオプションです。デジタル温度センサーは、センシング、補償、変換をすべてチップ上で行うため、優れた精度を提供できます。マイクロコントローラーのADC(または外部ADC)を校正する必要はありません。また、アナログ温度センサーとマイクロコントローラーの間の接続に取り付けられた近くのトレースや他のデバイスからの電磁干渉について心配する必要もありません。これは、意図せずに温度読み取りに影響を与える可能性があります。
このプロジェクトでは、異なる解像度と感知範囲を持つ4つの異なるデジタル温度センサーオプションを実装します。
名前 |
MAX31826MUA+T |
STS-30-DIS |
EMC1833T |
SI7051-A20-IMR |
タイプ |
デジタル |
デジタル |
デジタル |
デジタル |
感知温度最小(°C) |
-55°C |
0°C |
-40°C |
-40°C |
感知温度最大(°C) |
+125°C |
+60°C |
+125°C |
+125°C |
感知範囲 |
ローカル |
ローカル |
リモート |
ローカル |
解像度(ビット) |
12 |
16 |
|
14 |
精度(°C) |
±0.5°C (+10°C から +85°C) ±2°C (-55°C から 125°C) |
±0.2°C |
±1°C (-20°C から +105°C) |
±0.1°C |
動作温度(°C) |
-55°C から +125°C |
-40°C から +125°C |
-40°C から +125°C |
-40°C から +125°C |
機能 |
1ワイヤバス、寄生電力 |
I²C |
I²C、SMBus |
I²C |
最小供給電圧 |
3 V |
2.15 V |
1.62 V |
1.9 V |
最大供給電圧(V) |
3.7 V |
5.5 V |
3.6 V |
3.6 V |
電流消費量(uA) |
4 mA (ローレベル論理読み取り時) |
アイドル時 45 uA |
変換時 700 uA, |
195 nA |
メーカー |
Maxim Integrated |
Sensirion AG |
Microchip |
Silicon Labs |
パッケージ |
8-MSOP |
8-VFDFN |
8-VDFN |
6-DFN |
EMC1833Tを取り上げた理由は、私にとって非常に興味深いセンサーだからです。これはリモート温度センシングデバイスであり、コンポーネント内部にあるセンサーを使用せず、外部センサーの出力をデジタル信号に変換することで温度を感知します。この場合、外部センサーはトランジスタです。このセンサーを「デジタル温度センサー」カテゴリーに必ずしも含めるべきかどうかは確信が持てません。なぜなら、他のセンサーとは少し異なるからです。それでも、トランジスタが温度センサーとして使用されることは一般的にあまり知られていないため、どこに分類すれば良いかわかりませんでした。このセンサーについて私が魅力的だと感じる点は、ほぼ任意のトランジスタを使用して温度を測定できることです。ASICを設計している場合、この目的のためにダイに追加のトランジスタを簡単に含めることができます。その後、EMC1833Tのようなセンサーによって読み取り可能なこのトランジスタを使用して、シリコンに追加の複雑さを加えることなくダイの外部温度を測定できます。これを別の視点から見ると、シリコンに特別設計のデジタル温度センサーを組み込むことに関連するエンジニアリングリスクを負うことなく、ダイの温度を監視できるということです。
最初に実装するセンサーは、Maxim Integratedが製造するMAX31826です。このセンサーは、より一般的なI2CやSPIバスではなく、1-Wireバスで動作します。1つの潜在的な問題は、プロジェクトが基づいているマイクロコントローラーによって、1-Wireが通信プロトコルとして提供される可能性が低いことです。しかし、それは単純なプロトコルでビットバンギングが可能であり、より人気のある選択肢よりも大きな利点があります。それは、センサーを操作するために2本のワイヤーだけが必要であるということです。電源を含めると、I2Cは4本のワイヤーが必要で、SPIは5本のワイヤーが必要です。対照的に、1-Wireはほとんどのアプリケーションでグラウンドとデータラインのみを必要とし、寄生電力技術を使用してデータラインから自らを電源供給することができます。センサー内には、データラインが低状態にある期間中にICの電源供給を維持できるキャパシタが統合されており、ほとんどの通常の動作条件下で専用の電圧供給が不要になります。これは、利用可能なスペースが非常に限られているボードにとって非常に便利な解決策になることがあります。
このセンサーと1-Wireバスのもう一つの興味深い特徴は、デバイスパッケージに取り付けられた手動で選択可能なピンを使用してデバイスに4バイトのアドレスを設定できる能力です。これにより、各デバイスに一意のアドレスを与えることで、単一の1-Wireデータバス上に最大16個の温度センサーを設置できます。これは、マイクロコントローラのピンが不足している場合、同時に多数の温度センサーを使用したセンシング機能が必要な場合に非常に便利なオプションです。
このシリーズの前の記事で見てきたセンサーと比較して、MAX31826は非常に高精度であり、高解像度のデータを提供します。このセンサーは、-10°Cから+85°Cの間で±0.5°Cの精度を提供し、その全温度範囲である-55°Cから+125°Cにわたって±2°Cの精度を提供します。すべてのセンサーの読み取り値は12ビットの値として提供され、これはほとんどのマイクロコントローラが提供する解像度よりも高いです。
温度センサーとして、MAX31826は多くの機能を提供しますが、ボーナス機能としてオンボードの1 kB EEPROMも装備されています。ダイに余裕があったのでしょう。マイクロコントローラーに統合EEPROMがなく、アプリケーションのためにいくつかの設定データを保存する必要がある場合、この温度センサーが対応します。追加の不揮発性ストレージが必要な場合、この温度センサーは部品数を減らし、基板スペースを節約します。
データシートは、温度が100°Cを超える可能性がある場合には、寄生バス電源を使用するのではなく、デバイスを直接電源で駆動することを推奨しています。ほとんどの典型的なアプリケーションではこれらの温度レベルに達する必要はありませんが、センサーを通じて行うテストは100°Cを超えるでしょう。したがって、この演習では、魅力的な寄生電力オプションを探求するのではなく、デバイスを直接電源で駆動するという推奨に従います。
このシリーズの導入で作成したプロジェクトテンプレートから、ボードの形状と一般的なレイアウトが来ています。通常の通信バスを使用していないため、関連するネットとそのコンポーネントをボードから削除しました。それでも、他の積層センサーに問題が発生しないように、スタッキングコネクタ上の接続は残しています。1-Wireバスを使用する場合、ホストマイクロコントローラーに戻るためにチップセレクトピンのみを使用する必要があります。
過去のプロジェクトで、Sensirionが製造したSTS-30-DISを使用しました。その理由は、その驚異的な精度と、NISTにトレーサブルな校正表示があるためです。この機器は食品サービス会社向けに開発され、政府報告のためのデータ収集が必要でした。小さなフットプリント、広い電圧範囲、信じられないほどの精度、そして線形化された16ビットデジタル出力を持つこのデバイスには、正の温度感知のみが必要な場合に愛すべき多くの点があります。凍結以下の温度を感知する必要がある場合、STS-30A-DISバリアントは自動車用に認定されており、感知範囲は-40°Cから125°Cです。ただし、この拡張された感知範囲は、全体的な精度にわずかなコストをもたらします。
前回のアナログ温度センサーに関する記事では、プロセス監視、ファンのオンオフ切り替え、マイクロコントローラーからの介入なしで動作するその他の熱管理システムなどのアプリケーションにアナログ温度センサーがいかに適しているかについて話しました。STS-30には、同様の機能を果たすために使用できるALERTピンがあります。これはマイクロコントローラーの割り込みピンに接続することを目的としていますが、専用のアプリケーションノートがあり、自動的に負荷を切り替えるために使用することもできます。マイクロコントローラーの割り込み機能へのインターフェース能力は重要です。これにより、センサーは、センサーのポーリングや読み取りデータへの反応がまれなマイクロコントローラーに頼るのではなく、何かをすぐに行う必要があることをマイクロコントローラーに高優先度の信号で直ちに通知することができます。ALERT出力が負荷を駆動するためにトランジスタに接続されている場合、センサーは監視/ログ記録目的と自律的な熱管理機能の両方に使用できます。アナログソリューションと比較して、このセットアップはデジタルSTS-30をより安価なオプションにするかもしれません。別のコンパレーターは必要なく、ALERTピンの閾値は、工場設定である必要なく、ユーザーがマイクロコントローラー/HMIを通じて設定できます。
STS-30シリーズのデバイスはすべて、通信にI2Cバスを使用しています。この記事で実装している回路図には、通信バスが正しく機能するために一般的に必要とされるプルアップ抵抗は含まれていません。これらのプルアップ抵抗は代わりにホストボードに取り付けられます。バスごとにプルアップ抵抗が1セットだけ必要なので、各センサーに抵抗を追加すると、バスに複数のプルアップ抵抗が追加され、その結果、バスが正常に機能しなくなる可能性があります。さらに、すべての抵抗が並列に接続されると、全体の抵抗値が低下します。
ADDRピンを使用すると、デバイスの2つの異なるアドレスのいずれかを選択でき、同じI2Cバスに2つのSTS-30コンポーネントを接続できます。これは1-Wireバス上のMAX31826デバイスの機能ほど印象的ではありませんが、複数のデバイスを使用できるという点で便利です。ADDRピンをロジックロー(GND)に引っ張ると、デフォルトアドレスが0x4Aに設定され、ロジックをハイ状態に引っ張ると、代替アドレスが0x4Bに設定されます。
STS-30のパッケージはコンパクトでありながらも過度に複雑ではないため、ステンシルを使用している場合でも手作業で基板を組み立てることができます。センサーパッケージと0603デカップリングキャパシタは、上で見たMAX31826とほぼ同じサイズです。より小さいキャパシタを使用すれば、高密度基板に非常によくフィットします。ICの下にある大きなグラウンドパッドは、グラウンドプレーンからIC内の温度感知接合部へ熱を伝達するための優れた経路を提供します。これにより、大きなMOSFETやレギュレータのように、グラウンドプレーンを使用して余分な熱を基板に放出するデバイスの隣に配置するのに最適な選択となります。熱源の近くにICを配置することで、より正確な温度感知結果を得ることができます。
前にも述べたように、Microchipが製造するEMC1883デバイスは、素晴らしい機能の範囲を持っているだけでなく、トランジスタ接合部によって感知された温度を読み取ることができるため、非常に興味深いと感じています。上で見たSTS-30は絶対値によってトリガーされるアラート割り込みピンを持っていましたが、EMC1883は感知された温度の変化率に基づいてアラートを生成するように設定することもできます。この変化率のアラートは、イベントの後ではなく、その必要性を予測して自動的にインテリジェントな熱管理ソリューションをオンにすることを可能にします。これは、その動作温度を慎重に管理することによって、デバイスの信頼性を全体的に向上させる可能性があります。STS-30と同様に、完全にソフトウェアで設定可能であり、完全にアナログなサーモスタットを使用して同じ結果を得る場合に実装する必要があるであろう工場設定のオプションよりも、かなりの利点を提供します。
私たちがテストしているEMC8xxシリーズの特定のモデルは、単一の接合部の感知のみをサポートします。しかし、シリーズ内の他のモデルでは、最大5つの接合部の感知を提供することができます。
STS-30と同様に、このセンサーはI2Cベースで、単一のI2Cバス上に複数のセンサーを設置できます。一つの違いは、EMC1833TのADDRピンの実装がSTS-30デバイスのバイナリのオン/オフの性質と異なることです。このデバイスでは、異なるプルアップ抵抗値を使用して最大6つの別々のアドレスを設定できます。ADDRピンは、サーマル警告ピン(サーマルALERT/警告2ピンと共に)としても機能する割り込みピンの一つとしても機能します。前のデバイスの設置と同様に、温度センサーボード上のI2Cラインにプルアップ抵抗を実装することはありません。しかし、センサー通信バスが正しく機能するためには、回路内のどこかに適切に取り付ける必要があります。
データシートでは、利用可能なCPUトランジスタがないため、リモートセンシング要素として2N3904バイポーラ接合トランジスタの使用を推奨しています。このボードでの温度センシングには、2N3904の表面実装バリアントを使用しています。MMBT3904は、BJTを扱うほぼすべてのシリコン製造会社から入手可能です - この場合、最も在庫が豊富だったON Semiconductorの部品を選択しました。Octopartで最後に確認したとき、数百万個が利用可能でした。
このシリーズの前の記事で行ったように、温度感知要素であるトランジスタを熱ブレーク内に配置しました。非感知要素は熱ブレークの後ろに配置しました。これにより、EMC1833Tが自身が発生させるかもしれない熱のために温度読み取りに悪影響を与えることができないようにします。
最後に、Silicon LabsのSi7051-A20があります。このデバイスからの結果が、このシリーズ全体で最も見てみたいものです。MAX31826はかなり正確なセンサーですが、Si7051-A20は驚異的な±0.1°Cの精度と、サンプリング時にわずか195 nAの非常に低い消費電力を提供します。消費電力は、他のすべてのデジタル温度センサーよりも少なくとも一桁低く、前の記事で見たアナログ温度センサーよりも大幅に少ないです。
多くのセンサーが非常に高い精度を謳っているものの、その数値は通常、全体の感知範囲の限られた部分にのみ適用されます。これに対し、Si7051-A12は、その全感知範囲である-40°Cから+125°Cにわたって報告された精度を提供します。さらに、0.1°Cの誤差は最悪の場合の精度であり、平均や最小ではありません。14ビット解像度を選択した場合、Si7051-A20は0.01°Cの繰り返し可能な読み取りを提供します - 私は正確で繰り返し可能なセンサーが大好きです!
前の2つのセンサーと同様に、Si7051-A20もI2C互換センサーです。しかし、アドレスピンを提供していないため、I2Cバスには単一のユニットのみを接続できます。これは、異なるユニットを同じバス上で電源を切り替えるか、I2Cスイッチを追加する以外にありません。これには追加のIOピンが必要となり、回路の複雑さを増加させ、Si7051-A20を回路基板上の複数の場所でのセンシングにはあまり理想的ではなくします。このデバイスには、アラート/割り込みピンもなく、純粋にデジタル温度センサーとして使用することを意図しています。一般的に、回路基板上での熱管理を自動化したい場合、より精度が低くコストも低いセンサーで十分です。
STS-20を最後に使用したときに本当に気に入った機能の一つは、クライアントがその機能を要求していたため、各デバイスに適用されたNIST認定の校正でした。Si7051-A20はそのデータシートでこの点について言及していませんが、校正証明書が利用可能です。また、もう一つ特定の校正証明書を見つけることができましたが、これはSilicon Labsのウェブサイトにはなく、したがって、この会社が購入した特定のユニットにのみ適用される可能性があります。もしそうであれば、Silicon Labsが顧客のために特定の証明書を発行する前例を設定することになります。
この記事で取り上げた他のI2C実装と同様に、このカードのI2Cラインにはデータ/クロックラインにプルアップ抵抗が取り付けられていません。Si7051-A20が正常に通信できるようにするために、回路内の各ラインにプルアップ抵抗を含める必要があります。
6ピンDFNパッケージは、この記事で取り上げたリードレスオプションの中でも、手作業でのプロトタイピングが最も簡単です。ステンシルやVoltera V-Oneのようなペーストデポジションツールを使用すると、このセンサーは基本的なツールを使用して手作業で配置し、リフローするのが非常に簡単になり、自宅やオフィスのラボでのプロトタイピングに最適です。
この記事では、4種類のデジタル温度センサーを見てきました。しかし、プロジェクトの特定の要件を満たすことができる他の数百のデジタル温度センサーオプションがあり、十分に在庫されていて入手可能です。アナログ温度センサーは自律的なプロセス監視やアナログからデジタルへのコンバーターとの使用に優れていますが、マイクロコントローラーを搭載した製品に統合する際には、デジタル温度センサーが大きな便利さを提供します。この記事で見たように、設定可能な閾値で割り込みやアラートを生成できるデジタル温度センサーがあり、アナログ温度センサーを使用する場合におそらく使用する工場設定のコンパレーターベースのサーモスタットを超える興味深いアプリケーションが可能になります。現代のデジタル温度センサーの精度と正確さは非常に高いことがありますが、多くのオプションはアナログの対応物よりもかなり多くの電流を消費するため、自己発熱による温度オフセットが生じる可能性があります。
最も人気があり、よく在庫されているデジタル温度センサーは通常、通信にI2Cバスを使用しますが、プロジェクトの代替通信バスの可用性に合わせて、SPIおよび1-Wireバスオプションも容易に利用可能です。
記事の冒頭で述べたように、これらのセンサーボードの詳細と他のすべての温度センサー実装はGitHubで見つけることができます。これらの設計はすべて、個人または商業用途で設計を自由に使用できるオープンソースのMITライセンスの下でリリースされています。
次のPCB設計でAltiumがどのようにあなたを支援できるかについてもっと知りたいですか?Altiumの専門家に相談してください。