マイクロコントローラピンの12V入力


8

パルス/秒をカウントしようとしています。マイクロコントローラピンの5〜100 Hzの範囲。µCは5V入力で動作できるので、電圧レベルを安全に下げる必要があります。

簡単な抵抗が思い浮かびますが、それでもサージはµCピンに直接開いたままになります-meh

私はこの答えに出くわしましたが、その回路が「高速」な100Hzの変化に対応できるかどうかという疑問が残ります。

5Vまたは3.3Vピンを「ダーティ」な 12V入力に接続する、実績のある信頼できる方法(ICを使用しているのでしょうか?)はありますか?「既製」のICを駆動するために利用できる12Vと5Vを持っています。


2
抵抗分割器+ツェナー/クランプダイオード?
ウェズリーリー

2
これは、単純なGoogle検索では答えられない質問ですか?
Ale..chenski 2017

16
それは答えることができますが、私は自分の愚かさによって私の機器を破壊する前に、質の高い答えをとても望んでいます。「安心」でましょうか?
クリスチャン

8
@AliChen stackexchangeは、質問と回答の標準的なリポジトリになることを目的としています。簡単な質問でも、役に立つ答えを集めればよいでしょう。
ウェインコンラッド

2
100Hzは速くありません。
user253751 2017

回答:


13

次のような回路を使用します。

概略図

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

R1とR2は電圧範囲を決定し、初期分割を実行します。これらの抵抗は、ある程度の電力が可能でなければなりません。通常はMELFです 0.4W。その他はすべてチップ抵抗器/コンデンサにすることができます。

R3は、サージがシュミットトリガーに害を及ぼすのを防ぎます。R4およびR5は、フローティング信号を防ぐためのオプションです。
ただし、必要に応じて、R3 / R4の組み合わせを使用してしきい値を調整することもできます。

C1とC2が最大速度を決定します。R3 / C2の組み合わせは、低速でフィルタリングできます。C1はトランジェントをフィルタリングします。

あなたはそれらを本当に小さくて安いものにすることができるので、別個のシュミットトリガーが使用されます。そして、それは長いトレースを介して弱い信号をルーティングすることを防ぎます。また、大きな急増の犠牲となる部分でもあります。

私はPLCの内部で見たものに基づいてこの回路を設計しました。上記の回路は24V用です。IEC61131-2に従って12Vに一致するように抵抗を調整します。

iec 61131-2
この規格のコンセプトは、入力が「1」と見なされる前に、最小量の電流をシンクする必要があることを保証することです。3つのタイプは、量を指定し、環境ノイズに基づいて適用されます。これにより、グリッチがそのリレーや近くのリレーに触れるのを防ぎます。欠点は、R1 / 2は適切な電力定格と低抵抗でなければならないことです。


ワオ。最初は単純な質問のように思われたものに対する非常に徹底的な答え。ありがとうございました。
クリスチャン、

私はR4とR5に本当に興味があります。とにかくR2 + R3> R4。「頑丈な」コンポーネントのいずれかが故障した場合、それはありますか?
パイプ

@pipe R3およびR4は、ロジックへの高インピーダンスパスを提供しながら、しきい値の設定に役立ちます。ほとんどの場合、R5は不要ですが、これを使用した設計では、MCUプルダウンを使用できませんでした。何らかの理由でバッファが失敗した場合、mcu入力は50hzハムを読み取れません。(注:信頼性が要求されました)
Jeroen3

17

以下に示すような抵抗分割器ソリューションを試してみます。

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

入力がその公称電圧にあるときに分圧電圧がMCUに適切なレベルになるように抵抗比を選択します。ツェナーダイオード電圧は、入力が最大入力を超えたときにMCU入力をクランプするように選択されます。入力が負になった場合、ツェナーはMCUも保護します。

このソリューションは、指定した比較的低い周波数範囲に最適です。


1
なぜツェナーを4v7にするのか?5v2(5v1?)がより良い解決策でしょうか?
R.Joshi 2017

7
@ R.Joshi:5Vマイクロコントローラーが10%トレラント電源(4.5-5.5V VDD)から電力供給されている場合、ピンに5.2Vを印加すると、通常のVDD + 0.3V絶対最大値よりも高くなる可能性があります。ロジックハイは、TTLの場合は2V、CMOSの場合は2/3 * VDDで認識されるため、4V7ツェナーの問題はありません。
ハンス

2
2つの回答を「選択済み」としてマークできるといいのですが。あなたの道は毎日の行き方ですが、Jeroenの答えはもう少し詳細です。ただし、お時間を割いていただきありがとうございます。
クリスチャン

8

私は抵抗分割器を使用し、5.1vツェナーでuCを保護します

たとえば、10kのプルダウン抵抗と並列にピンとグランドの間にツェナーを配置すると、電圧分割信号が供給されます...ツェナーは十分に速く、安価/簡単です。

私はよくこれを行い、ツェナービットの前にポットで信号を分割します。

他のオプションはリンクされていますが、本当に心配なオプトが使用される可能性がある場合、安全上の問題ではない場合、上記で行くか、ピンを通常5V Vccから高くして、fetでそれを低くします(頭の上から) 2N7000は動作するはずです)-しかし、ツェナーオプションほど単純ではありません。


7

信号レベルがGNDおよび12V(または> 5V)の場合、最も簡単で100%安全な方法は次のとおりです。

概略図

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

それが本当に役立つかどうかは、12V信号の実際のインピーダンス(R1よりかなり低いはず)と「ダーティ」の意味によって異なります。

また、@ MichaelKarasが正しく指摘しているように、µCの入力の低レベルは、12V信号の低レベル+ダイオードのVf(最大約0.7V)までシフトされる場合があります。これが問題であるかどうかを確認する必要があります。その場合でも、Vfが約0.35Vのショットキーダイオードを試して使用できます。


ほとんどのµCでは、抵抗をドロップして、そのピンの内部プルアップをアクティブにすることもできます。
ヤンカ

ここで提案されているダイオードソリューションは、常に最良または最適なソリューションとは限りません。MCUに提供される低レベルの入力電圧は、1つのダイオード順方向電圧降下に加えて、0〜12Vの信号を生成している低レベルの出力電圧だけGNDより高くなります。これは、信号がノイズを運ぶ可能性があり、MCU入力がV <sub> IL </ sub>のTTLタイプの電圧レベルで指定されている場合に特に問題になる可能性があります。多くの場合、この仕様はわずか0.8Vです。したがって、このソリューションを使用する場合は注意が必要で、少なくともBAT54のような順方向電圧降下の低いダイオードを使用します。
マイケルカラス2017

@MichaelKarasダイオードのVfによる低レベルのシフトについてはあなたは正しいです。これを考慮する必要があります。5V µCの場合、0.8VのV [IL]は非常に低いように思えます。私は一般的に0.3Vcc(〜1.5V)仕様を見つけたようです。
JimmyB 2017

MCUにV <sub> IL </ sub>のCMOSタイプ仕様がある場合は、問題なく動作する可能性があります。スペックがそれよりもはるかに低い場合でも、できるだけ多くの運用マージンを得るために機能する方法で設計することは今でも好きです。このタイプの回路を使用することを選択した場合、低ドロップダイオードを指定することの違いでさえ、そのための良い一歩です。あなたの回路は、12V入力に負の変動がある可能性がある場合には特に良くありません。
Michael Karas

同意する。マージンの設計は良いことです。また、12V信号の負の電圧は、実際に回路に大混乱をもたらす可能性があります。
JimmyB 2017

5

私はオプトアイソレーターを使います、100Hzはまともなものの範囲内に簡単にあります。4n25は一般的な部品番号として思い浮かびますが、100Hzよりはるかに優れていることは知っています。


この問題を解決するために光アイソレータを使用する場合の問題は、12V信号から電流を引き出すことができると想定していることです。12V信号をバッファリングできますが、その場合は追加の電源が必要になります。
Jason Morgan

私はあなたがマイクロ入力とほぼ同じ電流で効果的であるオプトを得ることができると確信しています、12Vからそれは小さなLEDを点灯するために多くの負荷をかけるつもりはないでしょう。
ジョンU

1
デジタル入力リークは通常10nAから1uAの間です(温度とプロセスに依存)。1uAでも動作するオプトカプラーに出会ったことはありません。Broadcom ACPL-x6xLなどの低電力として販売されている一般的なオプトカプラーには1.6mAが必要です。これは、1600から160000倍の電流です。しかし、私が答えで述べているように、それは機能する要件に依存するため、オプトソリューションを却下していません。
Jason Morgan


2

選択される方法は、入力信号の機能、動作、および入力回路とそれを読み取るコードにどのように影響するかによって部分的に異なりますか?

たとえば、常に12Vですか?スパイクやノイズはありますか?どれだけの電流を流すことができますか?電流をそれに流すことができますか?それから電流を取ることは他に何か影響を与えますか?安全性は重要ですか?...

このため、「正しい」解決策はシステムの他の部分の動作に依存するため、この質問に対する普遍的な答えはあり得ません。要件を満たすソリューションを選択すると、コストと複雑さが異なります。

とはいえ、まだ誰も提案していないので、私はFET入力に行きます。

JFETまたはMOSFETを使用でき、共通ソースモードまたは共通ドレインモードのいずれかになります。たとえば、一般的なドレイン:

概略図

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

コモンドレインモードの利点は、入力をアナログ(ADCなど)またはデジタルピンの両方に接続できることです。信号が本当にデジタルである場合、CPU入力(ある場合)でシュミットトリガーを有効にするか、外部シュミットバッファーをCPUの入力ピンに追加します。

メリット

  • 非常に高い入力インピーダンス
  • 部分的に絶縁された入力(FETの選択によっては+/- 30Vに耐えることができます)
  • アナログ可能
  • 外部信号への影響は最小限


1

概略図

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

R1、R2、およびC1は、1kHzのローパスフィルターを備えた分圧器を形成します。12Vで移動する不要な高周波信号をフィルターで除去できます。フィルター周波数の計算は、1 /(2 pi R2 C1)です。注:ベースが正しく機能するには、最低0.7Vが必要です。抵抗を調整するときは注意してください。

BJTはmosfetに比べて非常に一般的であるため、使用されています。12Vはまだアクティブですが、uCの5Vがダウンしている場合、BJTは電流をピンに流さず、損傷を引き起こしません。

uCプログラミングの場合、高から低のトリガーを使用してパルスをカウントします。この回路はパルスを反転させるためです。


-2

通常、MCU入力は、クランプダイオードで既に保護されていますが、最適化された値の抵抗(クランプには十分高く、サンプリングには十分に低い)があり、VDDとVSSの間に十分なバイパス容量がある限り、それを心配する。したがって、抵抗だけで十分です。

編集:PeterJのコメントのおかげで、私はそれをもう少し説明したいと思います。MCUが消費する最小電力(スリープしない場合)、バイパス容量、抵抗値。これらのすべてが妥協点にあるとき-これは、約10kOhmの抵抗を使用する条件だけの非常に一般的なケースです-OPの単純なアプリケーションには、唯一の抵抗で十分です。


4
何年も前に私がこれで見つけた1つの問題は、Vccは何も損傷しないかもしれないが、ダイオードが導通するまで内部で少しドリフトし、マイクロコントローラーによってはADCの読み取り値などをスローする可能性があることです。
PeterJ 2017

@PeterJ少なくともその量の電流が供給から取り出されることが保証できれば、問題なく動作します。最悪の場合、ダミー抵抗を追加します…
CL。

「厄介」ではありますが、これは多くの安価な消費財で行われています。目覚まし時計を修理したのは、メインがタイミング基準として10M抵抗を介してデジタル入力に供給されていたときです。当然のことながら、チップは死んでいました。
Jason Morgan

-5

それぞれ5Vと3.3VのLM7805 / LM7803電圧レギュレータを選択できます。


1
それは創造的です。しかし、高速では仕様の範囲外で動作します。もしそれがあなたがうそをついていたすべてだったら。
Jeroen3 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.