複数のデバイス情報を読み取るために 1 つの IO ポートを実装する方法

序文

(1) 今日、私は興味深い問題に遭遇しました。それは、IO ポートを介して複数のモーターの停止したローターを読み取る方法です。すると写真が送られてきました
(2) この質問を見て、事前に簡単なことを言っておきます。複数のボタンを読み取るために 1 つの IO を実装するにはどうすればよいでしょうか? これを理解すると、複数のモーターのストールを簡単に理解できるようになります。

複数のキーを読み取るために 1 つの IO を実装する方法

(1) 複数のボタンを読み取るために 1 つの IO を実装する必要がある場合、次の回路を使用し、IO ポートの ADC 機能を使用して電圧値を読み取り、どのボタンが押されたかを知ることができます。
(2) ボタンのデバウンスのために、その隣に 10nf コンデンサを追加します。

ここに画像の説明を挿入します

1 つの IO で複数のモーターのローターの詰まりを検出

回路解析

(1) まず、モータのストールの特性を知る必要があります。情報を確認すると、モーターがブロックされると電圧が変化することがわかります。(モーターによっては電圧が上がるものと下がるものがあるようですので、これについてはあまり触れません。) ただし、この変化はそれほど大きくない可能性があるため、オペアンプ回路を使用して電圧を増幅する必要があります。 ADCの読み取りを容易にします。
(2) ここでのモータは、ブロックされて正常に動作しているときに電圧を出力しますが、この電圧の出力干渉を減らすために、増幅回路の出力ポートにダイオードを設け、単相導通を使用できます。ダイオードの特性から他の正常に動作する回路は絶縁されます。
(3) 最後のポートは ADC によって電圧を収集します。

ここに画像の説明を挿入します

ネチズンの元の質問

(1) 兄弟、複数のオペアンプを並列接続した場合、出力電圧は最大値として計算されますか? (パワーアンプは入力電圧を増幅するために使用されます)。4 つのモーターが詰まっていないか確認してください。IO ポートが足りないので、IO ポート 1 つだけで済みます。1 つのモーターが停止すると、すべてのモーターが一緒に停止します。

ここに画像の説明を挿入します

アイデアの分析

(1) 質問の意味の分析
<1> 質問の情報は、複数のモータがブロックされている問題を検出した IO であり、1 つのモータがブロックされていれば、どのモータがブロックされているかを知る必要はありません。
<2>オペアンプは増幅回路として機能します。
<3>写真にはダイオードが写っています。
(2) このネットユーザーの奇妙な質問に基づいて、私は対応する推測をすることしかできません。
<1>IO 解析で複数のイベントを処理するには 2 つのアイデアがあります。1 つは ADC 電圧読み取り解析問題、もう 1 つはバス データを読み取るシングル バス プロトコルです。ここの回路には、デバイスを区別するために使用できるさまざまなモーターのアドレス情報がないため、これが単一のバスであるはずがないことは明らかであり、したがって ADC になります。
<2>ダイオードの一方向伝導特性を使用すると、干渉は絶縁に使用される他のオペアンプによって引き起こされるはずであると大まかに推測できます。ローターのロック状態と通常の動作電圧は異なりますが、オペアンプ回路を介して ADC に出力される最終ライン出力は同じであるため、絶縁が行われていない場合、回路に問題が発生する可能性があります。
<3>このオペアンプは増幅用で、彼はすでに与えていますが、私の個人的な推測では、ロックドローター電圧の微妙な変化を増幅するために使用されていると考えています。
(2) この回路をどのようにプログラムするか?
<1> この時点でモーターが正常に動作していると仮定すると、ADC へのライン出力のピン電圧は同じであり、影響はありません。
<2>この時、モータが突然エンストしましたが、回路解析からするとモータのエンスト電圧が上昇しているはずです。その後、このラインの電圧が上昇し、他のラインは正常に動作します。通常動作時の線間電圧は小さくなるため、対応するダイオードが回路を保護するためのカットオフとして機能します。

ここに画像の説明を挿入します

(3) モータストール電圧が増加すると考えられるのはなぜですか? 上記の分析を通じて、実際にはこれを理解できるはずですが、一部の生徒の基礎が不十分であることを防ぐために、それでも説明します。モータのロータロック電圧が小さくなると、正常に動作している他のモータの電圧がロータロックモータの電圧よりも高くなり、ロータロックモータのダイオードが遮断される。ADC で読み取られるのは正常に動作しているモーターの電圧値であり、モーターがブロックされているかどうかを判断することはできません。

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/qq_63922192/article/details/132954887