多くのウィンドウコンパレータの簡素化


10

私は8つのサーミスタを使用していますが、それぞれが温度ウィンドウ内にあることを確認する必要があります。それらはすべて同じウィンドウを持ち、どれが何個が有効範囲内にあるかは気にしません。それらすべてが(同じ)ウィンドウ内にあるかどうかを知る必要があります。これはハードウェアのみのソリューションであるため、ADC読み取りのソフトウェアシーケンスは問題外です。

現在、私の最善の解決策は、多数のコンパレータICを使用し、サーミスタごとに個別のウィンドウコンパレータを実装することです。ソリューションを最適化するために、それぞれにオープンドレイン出力を備えた複数のクワッドコンパレーターを使用して、それらをすべて接続することができます。それでも、本質的には同じ回路です。私が作成できるリファレンス/トリガー電圧は、バッファリングしてからすべてのコンパレータに供給します。

私は問題にコンパレーターの束を投げるだけで愚かだと思います。これ以上の方法がないかどうかはわかりませんが、私は主にボードスペースを最適化しようとしています。あなたが知っている創造的な方法はありますか?たとえば、すべてのサーミスタの最小/最大電圧を選択し、単一のウィンドウコンパレータを使用します(編集:2つのコンパレータofc)。これは、IMHOがより大きなソリューションをもたらすため、良い答えではありません。インスピレーションを得るためにこれについて言及します。

編集:私はソフトウェアベースのソリューションが最善であることを知っています。それが、誰もがそれを示唆するのを防ぐために、冒頭と前にそれを述べた理由です。問題がこのように定義されている理由は、これは安全回路であり、仕様ではソフトウェアモニターに加えてハードウェアのみのソリューションを実装する必要があるためです。したがって、ソフトウェアベースのソリューションはすでに存在しています。ハードウェアベースのソリューションを実装するための最良の方法を見つける必要があるだけです。


1
入力を1つのウィンドウコンパレータに多重化できます。しかし、その場合は、測定をシーケンスして結果を組み合わせるためのものが必要になります。「ソフトウェアなし」の制限は、内蔵ADCを備えた1つのマイクロコントローラーでこれらすべてを実行できるため、私が見ることができる最小のフットプリントをもたらすので、苦痛です。私はハードウェアの男なので、残念ながら認めませんが、uCと小さなプログラムはここで打ち負かすのが困難です。
Bimpelrekkie、2018年

4
必要な精度が過度に「タイト」ではない場合は、プルダウン抵抗付きのダイオードORゲートを使用して、それぞれからダイオードを介してサーミスタによって駆動される高ウィンドウ境界を設定できます。抵抗器の電圧は、ダイオード降下を差し引いた最高電圧になります。プルアップ抵抗器と逆極性ダイオードを使用して、低ウィンドウに対して繰り返します。| これはソフトウェアソリューションではないとおっしゃっていましたが、専用のArduino(またはこのタスクのみを実行するために選択したプロセッサー)は、コンパクトで低コストに近い傾向があります。
ラッセルマクマホン

1
「ADC読み取りのソフトウェアシーケンスは問題外です。」これで、最も簡単で小さなソリューションを破棄できました。
Oldfart

1
2つの独立したシステムのうち1つがハードウェアのみであることが必要な標準は何ですか。独立して実装されたシステムの仕様を見てきましたが、冗長性は必要な信頼性を提供します。たとえば、1つのハードウェアのみのスペースに2つのマイクロベースのチェックシステムを実装できます。
Olin Lathrop

2
FPGAはソフトウェアと見なされますか?
エリックジョンソン

回答:


11

1つのサーミスタをコンパレータに接続する1つのウィンドウコンパレータ、3ビットカウンタ、および8:1アナログマルチプレクサ。

あなたが知る必要があるのはそれらがすべて大丈夫だということだけなら; これは3つのチップです。(74HC163、74HC4051、コンパレータ、それに555のようなものをクロックします)。

Andyが言うように、MUX(たとえば74HC4051)のオン抵抗はかなり低いので、各サーミスタは1つのアナログ入力に接続され、反対側の1本の抵抗が分圧器を提供します。サーミスタがすべてGNDに接続されている場合、抵抗は5Vになります。

概略図

この回路のシミュレーションCircuitLabを使用して作成された回路

仕様から外れたものを記録/表示する必要がある場合は、8個のLEDを駆動する3〜8ラインデコーダー(1つ以上のIC、74HC138)などの回路を追加します。有罪パーティーは順番に点滅します。

それ以上必要な場合は、MCUとソフトウェアを使用してください。


励起源(抵抗器)はMUX(低抵抗MUX)の「1」側にある可能性がありますが、それ以外の場合は+1して私を倒すことができます。
アンディ

@Andyakaそれが私が回路図を気にしなかった理由です!さらに、オンラインschエディターで74(HCT)4051、74x163、74x138が見つかりません...詳細を記入しますが、さらに記入したい場合は、1票か2票に値します。
ブライアンドラモンド

あなたはロールブライアンにいるので、私はあなたと一緒にそれを残しておきます。
アンディ、別名

1
さて、面白いアイデア。出力にわずかな問題があります。たとえば、単一のサーミスタが範囲外の場合、出力は文字通り1/8の時間にそれを通知するだけです。おそらく、win.compの出力を供給することができるほど大したことはありません。オープンドレイン出力を備えたシフトレジスタへ。私はそれを計時する必要があるでしょうが、マルチプレクサを突く同じことはおそらくそれもすることができました。間違いなくフォローする価値のあるアイデアです。より完全な回路図を考え出してみましょう。ここで折り返しご連絡いたします。
ultimA 2018年

まあそれを4 Hzでクロックし、熱システムの時定数が2秒を超える場合、(a)OKであり、(b)かなり目立つ点滅速度(バズレートなど)があります。あなたはシステムの特性を知っています、私は推測することができるだけです。
ブライアンドラモンド

13

ブライアンのSW以外の答えが最良だと思いますが、これは純粋にアナログのソリューションです。本質的に最も高い電圧入力を(いくつかから)選択し、それを出力に入れる回路を使用します。最低電圧のための回路を同上。

精密整流器を考えてみましょう:-

ここに画像の説明を入力してください

正の範囲全体で入力電圧に追従する出力電圧を生成します。次に、次のような2つの入力がある場合に何が起こるかを考えます。-

ここに画像の説明を入力してください

V1とV2のどちらが最高でも、出力ラインを駆動するための戦いに勝利します。8つの入力に対してステップアンドリピートを行い、逆に接続されたダイオードで同じことを行うと、いくつかの異なる電圧源からの最高レベルと最低レベルを表す2つの出力電圧を生成するソリューションがあります。

私は100%ではありませんが、最低電圧のためにオペアンプを再利用できると思います。多分私はこれについて間違っていますか?

次に、両方のラインでコンパレータを使用して、8つのうちの1つが範囲外であるかどうかを判断します。


先ほど、ほぼ同じ質問がありましたが、このソリューションは隠された宝石だと思います。
Janka

@ジャンカ多分あなたはそれを見つけてリンクすることができますか?見たいです。
アンディ

+1私はこれが好きです。たぶん4つのLM324 +有線またはLM393で完了です。*&* $$をフィルタリングして、誤ったトリガーを防ぐことができます。
Spehro Pefhany

1か月以上前ではないという印象があり、その中にマグニチュードという言葉が含まれていましたが、私は間違っていたと思います。それが見つかりません。
Janka 2018年

こんにちは!お返事ありがとうございます。これは実際にはあらゆる面でコストを増加させると思います。元の質問のように単純に8つのウィンドウコンパレータを作成するには、16のコンパレータが必要です。この提案されたソリューションは、min + maxを構築するためだけに16を必要とし、実際の比較とダイオードのアレイのためにさらに4を必要とします。多くの場合、実際のICの数の差はクワッドオペアンプにより小さくなりますが、それでも勝利にはなりません。
ultimA

3

安全回路として使用するために多重化ソリューションを改善するための提案:マルチプレクサー入力の1つを、安全ウィンドウの外で既知の入力(または2つの入力、1つ下の入力)に事前設定します。マルチプレクサーで関連する入力が選択されたときに、コンパレーターからの「外部ウィンドウ」応答があることを確認します。

マルチプレクサーを駆動するのに最適な(同期が最良の)カウンターで、必要な解像度よりも1ビット多い(そして2倍の速度でクロックされる)カウンター:最下位カウンタービットは、トリガー信号として優れているため、コンパレーターの状態をエッジが安定するのに十分な時間が経過した後、エッジトリガーのDフリップフロップ-このトリガー信号は、カウンターの状態に応じてロジックによって異なるDフリップフロップに安全にゲートすることもできます(たとえば、各サーミスタに1つ、またはサーミスタに1つ、セルフに1つ) -上記で提案したテストチャネル)。

さらに安全にするために、回路全体を複製します。サーミスタと関連する入力は理論的にはまだ単一障害点ですが、ウィンドウコンパレータを使用しているという事実により、熱電対の完全な短絡または開放が誤ってOK(誤ってバイアス)として読み取られるのを防ぐ必要があります。


3

こちらが6 xウィンドウコンパレータIC、こちらがクワッドウィンドウコンパレータICです。
残念ながら8はありません。

旧式のLM339クワッドオープンドレインコンパレータ4つでニーズを満たすことができます。
これらは、
1.7mm x 1.7mm(パッドを含めて3mm x 3mm)QFN、
または6.4 x 5mm TSSOPで提供できます

データシートはこちら

また、上側および下側のウィンドウ基準電圧(3つの抵抗)と単一の出力プルアップも必要です。


こんにちは。はい、私は元の質問で、アレイを使用することが可能であることも述べました。これは紛れもなくICカウントを下げます。問題は、より高い統合デバイスを使用するだけではなく、別のアーキテクチャを使用してコンポーネント数を減らすことができるかどうかについての詳細であったと思います。私はブライアンの答えを受け入れました。なぜなら、5〜6個の物理コンポーネントのみを使用して、そのソリューションで16個または32個のサーミスタ用の回路を構築できるからです。8未満などの少数のNTCではないかもしれませんが、それ以上のものとそのソリューションは明らかに勝者です。それにもかかわらず、(以前のコメントも)ありがとうございます。
ultimA 2018年

2

なぜそんなに複雑なのですか?

U2 +は最大(入力)-ダイオードドロップになります。

U1-はmin(inputs)+ダイオードドロップになります。

R3,4,5はしきい値を設定します。いずれかの入力が低すぎる場合、U1はU1 +のしきい値を下回り、U1outは高になります。いずれかの入力が高すぎる場合、U2 +はしきい値を超えます。U2outがハイになります。

どちらかの条件が発生したときに実際に何をしたいのかわからないが、トランジスタ/ FET / SCRを駆動することが頭に浮かんだ。


1

ボードスペースを節約するためにウィンドウコンパレータICを購入できます。たとえば、TPS3700LTC1042LMV7231(16進数)、またはMAX969(4 進数)。


-2
私は主にボードスペースを最適化しようとしています。
私は問題にコンパレーターの束を投げるだけで愚かだと思います。

明らかな解決策は、少なくとも8つのA / D入力を備えたマイクロコントローラーを使用することです。残りはファームウェアです。

遅いマイクロでも8つのサーミスタに対応できます。たとえば、ミリ秒未満で応答するシステムを簡単に作成できます。これは、サーミスタの応答時間よりもはるかに高速であるため、効果的に瞬間的に表示されます。

A / Dリードのシーケンシングは「問題外」であると言いますが、この任意の要件を正当化するものではありませんでした。小型のマイクロコントローラは、多数のコンパレータよりもボードスペースが少なくて済みます。ボードスペースを最適化することは、主にあなたが目指していることなので、これは真剣に検討する必要があるものです。


6
ええ、あなたは間違っていません。関係する宗教はなく、単にハードウェアベースのソリューションが要件である期間がある場合があります。なぜ要件を正当化する必要があるのか​​わかりません。要件がナンセンスだと思っていても、正しい答えはすべての人に教える価値があります。しかし、もちろん、それには理由があります。それは、質問の最後の編集で提供しました。
ultimA

6
ソフトウェアシステムの安全ケースを構築する(編集した質問で必要になる場合があることが明確になるため)には、単純な独立したハードウェアシステムを構築するよりもはるかにコストがかかる可能性があります。
ブライアンドラモンド

3
あなたが何を言っても、あなたの答えが正しくなく、失礼で役に立たないという事実は変わりません
MCG

3
できるからといって鳴り響く。「マイクロを使用する」ソリューションは、多くの場合適切なものですが、ここでは関係ありません。これは結局のところ電子フォーラムであり、それをどのように行うかについての回答を投稿することは、直線的な方法のほうがより教育的な回答です。マイクロを使用するほうがはるかに安価で小型であることを強調する以外に理由がない場合。
Trevor_G 2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.