過去にも触れましたが、データ収集が大好きです。表面上はシンプルに見える温度センサーですが、初めに思いつく以上の多くのことがあります。それには、センサーの種類が大きな範囲にわたることも含まれます。このシリーズでは、すべての温度センサータイプとそれらを実装する回路をカバーする一連のPCBを構築していきます。マイクロコントローラーボードのペアを構築してデータを収集し、センサーを相互に評価します。最終的には、それらのホストボードの1つにすべての異なるセンサータイプを取り付け、すべてのセンサーを異なる環境条件にさらします。これにより、センサーを比較し、ニーズ、用途、予算に最適なセンサーを推奨することができます。
温度センサーは多くの産業にとって不可欠です。PCB上でも、温度センサーは他のセンサーからの正確なデータを保証するため、またはボードの過熱から保護するために使用できます。
温度センサータイプ
このプロジェクトシリーズで使用されるすべてのセンサー、およびそれ以上のものを、私のオープンソースのCelestial Altium Libraryで見つけることができます。これにより、センサーデザインに早く取り組むことができます。このシリーズの評価ボードはGitHubで見つけることができ、すべての例示センサー回路があります。このシリーズの各部分はMITライセンスの下でリリースされているため、自分のプロジェクトのために回路図を自由に活用したり、センサーを自分で評価するためにボードを使用したりすることができます。
上記は、Altium 365 Viewerで読むことになるPCBデザインです。これは、同僚、クライアント、友人と接続する無料の方法であり、設計を見るか、ボタンを一つクリックするだけでダウンロードする能力を提供します!設計を数秒でアップロードし、重たいソフトウェアやコンピュータのパワーなしで詳細に深く見るためのインタラクティブな方法を持っています。
特定のセンサータイプに入る前に、温度センサーを使用する際の一般的な考慮事項について話しましょう。外部温度を感知しようとしている場合、レイアウトの考慮事項は、PCBの重要なコンポーネントやエリアの温度を感知しようとしている場合とは異なります。同様に、PCBから温度を測定する場合、別の考慮事項があります。
さらに、センサー自体の発熱と熱質量も考慮する必要があります。
外部温度を感知しようとしている場合、センサーをできるだけPCBから物理的に隔離することが重要です。これを行う最も一般的で効果的な方法は、センサーを物理的に隔離することです。ボードの端に温度センサーを置くだけでは、正確な温度測定を目指す場合、またはセンサーが提供できる限りの測定を目指す場合には不十分です。なぜなら、熱は基板を通じてセンサーに伝導するからです。すべての回路は抵抗損失によって熱を発生させ、一部の回路基板は他よりもはるかに多くの熱を発生させるため、物理的な隔離が重要です。
温度センサーを回路基板上の熱源からできるだけ遠くに配置することは、素晴らしい第一歩です。温度センサーの周りにミルドスロットを追加することで、隔離が完了します。ただし、センサーがパネル内のタブ付き基板のように簡単に折れてしまわないように、十分なPCBを残してください。センサーは取り扱いが可能であり、組み立てプロセスを経るのに十分な強度があるべきですし、衝撃、振動などのアプリケーション要件も考慮する必要があります。
また、エンクロージャーについても考慮する必要があります。エンクロージャーはセンサーへの良好な空気流を許可するべきですが、可能であれば回路基板の残りの部分からの空気流は許可しないようにしてください。エンクロージャーはセンサーに熱を伝達できないようにするべきであり、したがって、センサーが設置されている隔離された回路基板のどの部分にも触れてはいけません。
温度センサーの取り扱いを始めると、現実の構造自体に疑問を持ち始めるかもしれません。重要な実験室の機器なしに正確に温度を測定しようとすると、それが不可能であると感じ始めるかもしれません。21°Cとは何か?実際には20.9°Cや22°Cではないとどうやって知るのか、私たちは気にするべきか?
PCBの特定のセクションや回路基板自体の特定のコンポーネントの温度を感知したいとします。その場合、上記のアドバイスとは正反対のことを行いたいでしょう。つまり、センサーが可能な限りそのエリアとの接続を持つようにすることです。このシリーズで後ほど非常に興味深いセンサーについて話しますが、それはMicrochip EMC1833Tで、遠隔でダイオードの温度を感知できます。これは、それをサポートするICのオンダイ温度感知を特に対象としており、開発したカスタムASICを含みます。
ほとんどのセンサーの場合、できるだけ低い熱抵抗でセンサーのダイまたは抵抗要素に熱を取り込みたいと思います。ヒートシンクを備えたデバイスの場合は、そのヒートシンクを温度センサーと共有しようとします。そうでない場合は、センサーコンポーネントをできるだけデバイスや基板の高温エリアに近づけ、理想的にはヒートシンクとして機能している銅プールに電気的接続を持たせます。この電気的接続、おそらく電源またはグラウンドネットは、熱を直接センサーのダイに取り込むのに役立ちます。
回路基板外の機械などの温度を感知する必要がある場合、センサーのタイプの選択はプロジェクトの成功にとって非常に重要です。抵抗式温度センサーのほとんどは、ケーブルの抵抗が感知温度に影響を与えるため、理想的な選択肢ではありません。基板から離れて設置でき、エンクロージャーの開口部を通して配置できるセンサーもあります。これにより、基板上の熱い部品から離れた場所で温度が測定されることが確実になります。
一般的に、産業環境ではケーブルを使用したソリューションは大きな課題を提起します。なぜなら、機器や機械からの電磁干渉によってケーブルに誘導される電圧や電流が、感知精度に悪影響を及ぼす可能性があるからです。アナログ出力を特徴とするセンサーの場合、適切にシールドされたケーブルが必要です。同様に、I2Cインターフェースを持つデジタルセンサーは、基板とセンサーの間の距離が長すぎる場合には実現可能ではないかもしれません。なぜなら、I2Cは長い信号経路には適していないからです。温度範囲によっては、産業環境においてサーミスターなどのセンサーを使用することが唯一の選択肢であり、それが最適な選択肢になることもあります。
回路基板上の全てのコンポーネントは、動作する際にある程度の熱を発生します。温度センサーでは、デバイス自体の抵抗損失がサンプル温度に温度オフセットを引き起こす可能性があるため、正確な温度測定にとっては致命的です。最高の精度が求められる場合、非常に低い電流のデバイスを選択するか、または抵抗デバイスを非常に低い電流で動作させることで、はるかに正確な温度結果を得ることができます。
私が取り組んだプロジェクトでは、センサーに大量の熱質量を追加して、プロジェクトにとって重要な温度を正確に表現できるようにしました。例えば、商業用の冷蔵庫や冷凍庫では、肉製品の温度を監視するデバイスに熱質量を追加することで、ドアの開閉にもかかわらず正しい温度が収集できます。熱質量は、ある種の熱容量のように機能します。
他の状況では、どんなに少ない熱容量でも問題を引き起こす可能性があります。なぜなら、感知される温度が実際の温度よりも遅れてしまうからです。センサーを大きな回路基板や銅面に直接取り付けて、隔離を行わない場合、周囲の温度の小さな変化や急激な変化を簡単に検出することはできません。センサーと基板全体が新しい局所温度に達するまで温まるか冷却する必要があり、正確な温度読み取りを得ることができます。環境を正確に反映する高頻度の読み取りを必要とするセンサーにとって、熱容量を最小限に抑えることは重要なステップです。
プロジェクトに温度センサーを追加する、または温度感知を中心にプロジェクトを進める前に理解しておくべきことがあります。それは、ICやボードマウント部品で温度を測定することは決してできないということです。測定できるのはおおよその温度だけです。重要なのは、その温度の近似値があなたにとって十分に正確かどうかです。一部のアプリケーションでは、5°Cの精度があるセンサーで十分かもしれません。プロセスで重要な温度を監視している場合、0.1°Cの精度では十分ではないかもしれません。私たちにとって正確な温度を知ることはほぼ不可能であり、プロジェクトを機能させるために必要な精度の度合いを理解することが重要です。市場に出ているほとんどのセンサーは、精度を小数点以下1桁以上で提供することはありませんし、多くのセンサーは1°Cの精度を超えることはできません。一部のセンサーは、その程度の精度を維持することさえ困難です。高い精度は通常、センサー自体やサポート回路において、より高い実装コストを伴います。
精度だけでなく、許容差も重要です。非常に精度の高い温度センサーでも、許容範囲が広い場合がありますし、許容差が非常に狭いセンサーでも、精度の範囲が広い場合があります。アーチェリーを例にすると、許容差は狭いが精度が低い場合、すべての矢が非常に近くに集まるか、次の矢で前の矢を割るような状態でも、的の中心には非常に近づかないかもしれません。非常に精度が高いが許容差が低いセンサーの場合は、すべてのショットが的の中心の周りに集まるが、同じ場所には決して当たらないかもしれません。ほとんどのセンサーは、非常に高い精度と非常に狭い許容差を持つか、または非常に低い精度と非常に広い許容差を持つ傾向がありますが、どちらか一方を少し持つものも少なくありません。
一部のアプリケーションでは、センサーが報告する温度の絶対的な精度よりも、非常に狭い許容差が重要になることがあります。精度のオフセットは、センサーがラボでどのように報告するかを知っていれば、ソフトウェアで処理できます。1000サンプルを取った場合、それらはすべて非常に狭い許容差の範囲内でほぼ同一であり、たとえすべての読み取りが2°Cオフであっても。
他のアプリケーションでは、実際の温度を知ることがより重要になる場合があります。1000回のセンサー読み取りを行うと、それぞれが少し異なるものの、一般的には実際の温度の周囲を中心に変動します。これらの読み取りを平均化することで、実際の温度をよりよく理解することができます。しかし、各瞬間の読み取りは少しオフになります。
サーミスターのような低コストのセンサーは、他のオプションに比べて精度が低く、許容誤差も大きいことがあります。これらのセンサーは、回路基板の熱保護など、温度の大まかな概念が必要なアプリケーションで受け入れられる場合があります。先の例えを使うと、このようなセンサーは、的を射る初心者のアーチャーのようなもので、そのショットは的の周りに散らばり、中には完全に外れるものもありますが…少なくとも的の一般的なエリアを把握できます。
毎週、異なるタイプの温度センサーについて学んでいきます。しかし、それらはすべてテストを容易にするために共通のインターフェースを持っています。異なるセンサーすべてに接続して監視できるホストボードと、単一のセンサーを迅速にテストできる別のホストボードの2種類を用意します。どちらのオプションも、データ収集を行うためにUSB対応のマイクロコントローラーを搭載しています。
各センサーは、積み重ね可能なように上部と下部にメザニンコネクタを持ち、また、センサーの反対側の端には一連の接点があります。これらの接点により、センサーを単一センサーテストホストのカードエッジコネクタに接続できます。
積み重ね可能な接続により、マルチセンサーテスター上のセンサーの密度を高め、すべてのセンサーの周囲温度を均一に保つことができます。この方法では、垂直方向にセンサーを配置することで、小さなエリアに多くのセンサーを収めることができ、それでもセンサー周囲の空気を清潔に保つことができます。センサーをその定格温度範囲を超えてテストするだけでなく、センサーが温度変化にどれだけ迅速に反応できるかも見ていくので、すべてのセンサーを清潔な空気中に置きながらも、あまり離れすぎないことで、より良い比較が可能になります。
一連のセンサーボードを作成する予定なので、コネクタが定義されている回路図とボードを既に持つテンプレートプロジェクトを作成するのが良いと思いました。これにより、ボードがうまく積み重なり、うまく接続されるだけでなく、ボードごとに多くの時間を節約できます。
Altiumでのテンプレートの実装は非常に簡単です。他のソフトウェア(ECADパッケージに限らず)では、テンプレートを作成するのが本当に面倒なことがありますが、Altiumでは特定のファイルタイプやテンプレートの要件はありません。PCB、回路図、または完全なプロジェクトをテンプレートディレクトリに配置するだけです。次に再起動すると、利用可能になります。一点、テンプレートで使用するライブラリがインストールされているもの、またはAltium 365にあるもののみを使用するようにすると、Altiumが常に使用するフットプリントやシンボルを見つけられるようになるという点に注意してください。データベースライブラリやコンパイルされた統合ライブラリが「インストール済み」タブのファイルベースのライブラリ設定に追加されている場合、Altium 365にまだ移行していない場合は、これらが良い選択肢です。
アナログおよびデジタルのセンサーボードは同じボードレイアウトを持ちますが、コネクタ上の電気的接続は異なります。私は、最も一般的に利用可能で最も安価なコネクタの一つであるHirose DF12(3.0)-14Dシリーズのメザニンコネクタを使用してボードを積み重ねます。ボード間の3mmの高さはこれらのセンサーにとって完璧で、コンパクトなスタックを可能にしますが、各センサータイプは上下のボードの影響を受けずにボード間に収まるべきです。
プロジェクトテンプレートを作成するには、通常のディレクトリに他のプロジェクトと同じようにプロジェクトを作成することから始めることができます。その後、通常どおりに回路図とPCBを追加します。
プロジェクトを構築するテーマを続けて、このテンプレートを使用するすべてのプロジェクトに共通する回路図の部分を追加します。Altium 365を使用して、このプロジェクトテンプレートを簡単に保存およびアクセスすることができます。まず、プロジェクトパネルから「Make Project Available Online」コマンドを使用して、プロジェクトをAltium 365 Workspaceに配置する必要があります。
このコマンドはプロジェクトをAltium 365 Workspaceに配置します。また、プロジェクトを正式なバージョン管理に追加することもできるので、このテンプレートプロジェクトへの変更は自動的に追跡されます。
このテンプレートプロジェクトをAltium 365に配置した後、現在のプロジェクトをクローンして新しいセンサーカードを作成することができます。これを行う最も簡単な方法は、Webブラウザを介してワークスペースに入り、「クローン」コマンドを使用することです。これにより、プロジェクトのコピーが作成され、Altium Designerで開いて変更することができます。テンプレートプロジェクトを本番プロジェクトから分けておくことは、可能な場合は命名/番号付けスキームを使用して、常に良いアイデアです。プロジェクトをクローンすると、テンプレートと新しい本番プロジェクトの違いを追跡できるように名前を変更する機会があります。
このプロジェクトでは、同じレイアウトのメザニンコネクタを両方追加しています。ライブラリでフットプリントを作成したとき、ピン1がメイトするコネクタのピン1と一致するようにしました。この決定により、製造業者の製造図面からのピン番号と完全に一致しない場合でも、スタックを簡単に作成できます。
14ピンコネクタを使用することで、3.3Vおよび5Vの電源を両方持つことができるだけでなく、10チャンネルのアナログも利用可能です。10枚のボードを積み重ねることもできますが、使用する予定のいくつかのアナログセンサートポロジーは出力に差動ペアを使用できるため、そして私たちのホストボードは差動ペアをサポートできるADC入力を持っています。
前にも述べたように、単一のセンサーカードで動作するボードに単一のボードを差し込んで、ボードの迅速かつ簡単な検証やセンサーのテストができるようにしたいと考えています。これを実現するために、ボードの端に接点を設けて、カードエッジコネクタに差し込むことができるようにしたいと思います。
カードエッジホストに10個のアナログチャネルが必要ないため、私はネットタイとしてゼロオーム抵抗を2つ使用しました。これにより、エンドランチパッドへのアナログ接続を分離したい場合にそれらを取り外すこともできます。カードエッジコネクタはTE 5650118-3を使用し、12ピンの接続性を提供します。それでも、センサーボードをどちらの向きにも差し込んで何かを焼損させることなく接続できるようにしたいので、下側の接続は上側と同じですが、逆になっています。テンプレートには、特定のボードセンサーの実装とそれが使用するアナログチャネルに依存するため、抵抗に対して入力ネットを提供していません。非差動センサー接続の場合、負の側はセンサースキーマティックで単にグラウンドに接続できます。
PCBには3mmの取り付け穴を追加しましたので、スタックはメザニンコネクタだけによって支えられるわけではありません。エッジコネクタを超えてボードが25mm幅、50mm長になるように、私たちが使用する予定の各センサートポロジーに十分な大きさのボードを用意しました。
私はチャンネル用のシルクスクリーンキーを追加しました。これにより、センサーが使用する各アナログチャンネルボックスにフィル領域を追加でき、センサースタックを構築する際に、2つのチャンネルが同じアナログポートに接続されてしまうことがないようにします。また、ダミーテキストも追加しました。これにより、各ボードにセンサータイプとトポロジーの説明が同じ場所に追加され、最終的に見栄えの良い一致したセットのセンサーが得られます。
この記事の冒頭で述べたように、センサーを基板の残りの部分から熱的に隔離する必要があります。私は、基板の端を熱的に隔離するために、ルーティング層に3mmのルーテッドスロットを追加しました。これにより、取り付け穴とスロットの間にアンプや他の熱源を配置しても、温度センシング要素をそれから離しておくことができます。基板にスロットを追加するときに覚えておくべき重要な点は、スロットパスと同一のキープアウトパスを追加することです。スロットを横切ってルーティングしてしまうことを防ぐものは何もありません!幸いなことに、過去には、基板ファイルを製造会社に送る前の最終チェック時に、ここでのミスを常にキャッチすることができましたが、時には非常に接近戦でした!
センサーの応答速度をテストする際には、各センサーが平等に扱われるように一貫した基板エリアを持ちたいので、センサーボードを構築する過程でこのスロットのサイズや位置を変更しようとは思いません。
これはすべて見栄えが良く、一貫したレイアウトを保証しますが、このようなプロジェクトのテンプレートの最も強力な機能の一つは、ほぼ同一のボードを大量に製造する際に、すべての共通の配線を配置できることです。
配線にそれほど時間はかかりませんが、同じボードを20回以上も行う必要がある場合、このテンプレートは多くの時間を節約できます!
この温度センサーカードのデジタルバージョンにテンプレートプロジェクトを作成するために同じプロセスを使用できます。異なるアナログ温度センサーを動かすために2つの電源電圧を使用する代わりに、ボード上のI2CおよびSPIバスを使用してデジタル温度センサーとインターフェースします。このセンサーカードのテンプレートプロジェクトは以下に示されています。上の画像で、私がテンプレートにパネライゼーション機能も含めたことに気付くかもしれません。
フライス加工されたスロットの切り欠き部分にメッキされていないパッドを追加し、マウスバイト機能を作成しました。これにより、設計が製造される際に簡単に取り外せるタブが作成されます。端部をきれいにルーティングしたかったので、ボードの長い側全部にわたって荒いVスコアエッジを作りたくありませんでした - そのため、比較的きれいなボードエッジを保つためにはマウスバイトタブが最適な選択でした。ドリルをボードのアウトラインのすぐ上に配置することで、タブがボードからどれだけ伸びるかを減らすことができます。これらのボードはタイトフィットのエンクロージャーに入れるわけではないので、回路基板の折り取られたタブの精度の悪さがフィットや機能に問題を引き起こすことはありません。
センサーボードはボード間のメーティング高さが3mmであるため、上にあるコンポーネントに衝突するようなコンポーネントが配置されないようにルールを追加したいと考えています。最大で、3mmよりも高いコンポーネントを持つボードはスタックごとに1枚、最上部のコンポーネントが可能です。
通常の設計ルールに加えて、デフォルトの配置/高さルールも変更し、高さを2.9mmに制限します。私のCelestial Altium Libraryでは、すべてのコンポーネントに正確な3Dモデルが含まれており、すべてのキャパシターも含まれているため、少し高すぎるキャパシターや他のコンポーネントを誤って配置することがありません。
デジタル温度センサーについては、ゼロから始めるのではなく、上に示したアナログプロジェクトテンプレートのコピーを作成し、必要な回路図シートの変更を行い、その後、ボード上で少しの再ルーティングを行います。
コネクタのピン配置は、私たちの2つのデジタルプロトコル:SPIとI2Cをサポートするために完全に変更する必要があります。余分なピンはすべて、SPIベースのセンサーのチップセレクトラインに専用されています。これは、マルチセンサーボードが、どのセンサーがどのチップセレクトラインにあるかを知るファームウェアを必要とすることを意味します。
カードエッジコネクタは私が望むほど洗練されていません。基板をソケット内でリバーシブルにすることにより、SPIとI2Cの両方を同時に公開するのに十分な接点がありません。3mmの基板設計の高さ制限を満たす、手頃な価格のデュアルスロースイッチを見つけることができませんでした - その代わりに、選択的に実装された抵抗を使用しています。テンプレートには4つの抵抗がすべて含まれていますが、最終基板では使用しない抵抗を完全に取り除くつもりです。
アナログ設計と同様に、チップセレクトラインのネットタイとして抵抗を使用し、正しいチップセレクトラインがカードエッジコネクタのピンにマッピングされるようにします。基板は、私がそれのために回路図を更新したばかりなので、アナログ基板と非常に似ています。これにより、設計のテストに進んだ時にすべてが一貫性を持つようになります。これは、基板設計のために、デジタルセンサーがそのアナログ対応物と比較して性能に関して偽陽性または偽陰性を持たないようにするために重要です。センサー間のクリーンな比較を望んでいます、それらの取り付け方法ではありません。
アナログ設計と同様に、この特定のボードがSPIを使用している場合、どのチップセレクトラインを使用しているかを示すためにシルクスクリーンのセクションを持っています。これにより、スタックにはユニークなチップセレクトのみが含まれることを確認できます。
アナログボードと同様に、各センサーボードのコネクタルーティングがすでに完了していることは、私の時間を大幅に節約してくれます。これにより、各ボードのコネクタルーティングではなく、センサーに集中できます。
これらのセンサーカードを再利用する別のオプションは、それぞれのプロジェクトテンプレートを作成することです。これは、テンプレートとして使用されるプロジェクト、つまり、ここで行ったようにクローンしてから変更するプロジェクトとは異なります。
既存のセンサーカードで使用されている設定とファイルを迅速に適用するもう一つの方法は、ファイルメニューの「Save Project to Server as Template」コマンドを使用することです。これにより、プロジェクトがAltium 365ワークスペースの「Managed Content\Templates\Project Templates」フォルダに新しいテンプレートとして作成されます。これで、アナログまたはデジタルセンサーの新しいセンサーカードを作成したいときに、Altium Designer内からこのテンプレートを新しいプロジェクトに適用できます。
この一連の記事の一部として、すべての主要なタイプのセンサーを使用する方法について詳しく説明します。ここで作成されたテンプレートを使用してセンサーカードを構築し、センサーのタイプを使用するためのすべての主要なトポロジーについて実際の世界で比較できるようにします。一部のトポロジーは他のものより確かに優れていますが、実際の条件に直面したときにそれがどれほど重要かを見るのは興味深いでしょう。
評価するもの:
シリーズの最後には、2つのホストボードを設計し、さまざまな厳しい温度極限を通じてすべてのセンサーを直接比較する機会を得ます!
これらのテンプレートを使用してセンサーを構築し、シリーズの最後に作成するホストボードで使用できます。GitHubでテンプレートをダウンロードしてローカルで使用するためのリポジトリをチェックしてください。
このシリーズで開発するすべてのセンサーカードも、同じGitHubリポジトリで見つけることができますので、リポジトリをチェックすることで、シリーズの次に何が来るのかちらっと見ることができるかもしれません!
いつものように、これらのプロジェクトはオープンソースで、MITライセンスの下でリリースされており、非常に少ない制限で使用することができます。温度センサーカードとプロセッサーボードを構築する準備ができたら、Altium Designer®のPCB設計ツールを使用してください。デザインが完成し、チームメイトとデザインを共有したい場合は、Altium 365™プラットフォームがプロジェクトの共同作業と共有を簡単にします。Altium DesignerとAltium 365で可能なことの表面をかすめただけです。製品ページでより詳細な機能説明を確認するか、オンデマンドウェビナーのいずれかをチェックしてください。