マイクロコントローラ入力ピンをソフトパワースイッチから保護する


10

瞬間的なスイッチで回路をオンにできるマイクロコントローラー(マイクロコントローラーを含む)のソフト電源スイッチに取り組んでいます。スイッチを2回押すと、クリーンアップを実行した後、マイクロコントローラーがシャットダウンします。

回路図

私はこれまでのところ上記の回路を使用していますが、信頼できるかどうかはわかりません。リチウムイオンバッテリー(3.7〜4.2V)とTC1015レギュレーター(3.0V出力)を使用しています。アイデアは、スイッチが押されるとレギュレータがオンになり、次にマイクロコントローラがuC Powerハイに設定されてそれ自体をオンに保つというものです。スイッチがもう一度押されると、割り込みがオンにuC Switchなると、マイクロコントローラーはuC Powerローに設定され、それ自体をオフにします。

バッテリー電圧からマイクロコントローラーを保護する必要があるかどうかはわかりません。私が使用しているマイクロコントローラーは、I / OピンにVdd + 0.4Vの絶対最大電圧を持っているので、その最適な処理方法がわかりません。

第2に、この回路は、レギュレータが「オフ」状態のときにレギュレータがオンにならないようにしますか?イネーブルラインでプルダウン抵抗を使用することを考えていましたが、チップの電源がオンのときの電流引き込みが心配です。

編集:マイクロコントローラーは切り替えられる主要な負荷であるため、残念ながら低電力モードにすると、ここでは機能しません。

編集#2(回答が投稿された後):

私は以下の回路を使用してしまいました:

固定回路図

以前に投稿された回路はあまりうまく機能せず、マイクロコントローラーが電力を供給していないときにフローティングイネーブルラインに問題がありました。

新しい回路はフリップフロップを使用し、データラインは通常ローにプルダウンされます。スイッチを押すと時計が鳴り、システムがオンになります。その後スイッチを押すと、CLOCKラインがHighに駆動されます(マイクロコントローラーが押しを感知できるようになります)が、レギュレーターの出力には影響しません。マイクロコントローラの電源をオフにする準備ができると、DATAラインがハイに設定され、CLOCKラインがハイに設定されます。これにより、レギュレータがシャットダウンします。

このセットアップの非常に優れた点の1つは、最初のボタンを押すとレギュレーターがオンになり、マイクロコントローラーがシャットダウンする準備ができるまでオンのままになることです。バウンスは問題ではありません。何故クロックラインがハイになったとしても、データラインは依然としてプルダウンによってローに保持されているからです。さらに、電流引き込みは非常に最小限でなければならず(オフのときはフリップフロップとTC1015だけ)、オンのときは抵抗を通る電流引き込みが最小になります。

マイクロコントローラーは、クロックラインのバッテリー電圧から保護する必要がありますが、@ Andy akaが示唆しているように、オンの抵抗でそれを行うことができますCLOCK

回答:


4

R1とR2はuCのピンへの電流を制限します。これは通常、デバイスを保護するのに十分です。その「制限」電流が何であるかを仕様で確認し、uCが供給される場合に適切な抵抗値を選択するだけです。 0Vの場合があります(電源なし)。ツェナーはこれに基づいて除外できます。

信頼性も問題です。スイッチバウンスにより、uCがオンになり、その後数回オフになる場合があるため、これを認識できるようにコードを記述します。

抵抗を有効にすることをお勧めしますが、おそらく+ 10Kの領域にあり、これはおそらく100k以上になる可能性があります。

シャットダウンピンの電圧はVinの少なくとも45%である必要があるため、これは問題になりません。


3

これはセルフラッチングリレー回路のように理論​​上は機能するセルフラッチングシステムのようです(ボタンを使用してリレーをオンにし、ロードピンとコイルピンが結合されているため、リレーはオンのままです電力が負荷ピンに送られる限り)。

マイクロコントローラーを危険にさらすことなくそれをテストするには、これを行うことができます。ダミーの負荷を追加してレギュレーターを幸せに保ち(いくつかのLED、それが機能していることも確認できます)、出力がマークされているポイントに接続しuC Powerます。スイッチを押すとレギュレータが起動し、LEDとuC電源がオンになり、EnableピンがロジックHighに維持されます(シャットダウンロジックHighはVINの最小45%であるため、4.2V入力で1.89Vです。 )。

したがって、ボタンを押して、ボタンを離してもLEDが点灯したままであれば、機能します。そうでない場合は、そのままでは機能しません。

警告:私は、ツェナーダイオードが回路をどのように反応させるかがはっきりしないと言います。


0

バッテリー、マイクロコントローラー信号、レギュレーターのSHDN *入力(ENに改名)をリンクする回路は、怪しげに見えます。

鍵(バッテリー電源で動作)を使用してキーの閉鎖をキャプチャするのはどうでしょう。次に、このラッチの出力をMCUからの信号信号とOR演算して、レギュレーターのSHDN *ピンを駆動します(回路図ではENに名前が変更されています)。起動時に、MCUはまずイネーブルラインを駆動し、次にラッチをクリアする必要があります。これにより、ENがアサートされたままになります。

その後のボタンの動作は、ラッチを介して監視できます。スイッチをもう一度押すと、ラッチは再びハイになります。MCUはこれに気づき、ラッチとそのイネーブル信号の両方をクリアして、シャットダウンをトリガーします。スイッチはラッチされているので、MCUはゆったりとした頻度でポーリングするだけで、非常に便利にこれを監視できます。

もう1つのオプションの改良は、バッテリー自体がオンラインになったときに、ボタンを使用せずにシステムの電源が入るようにする回路です。これは、ラッチを設定するある種のパルスである可能性があります。


0

適切な抵抗でENをLowに引き、MCUのIOピンに接続します。スイッチは、MCUの入力ピンになります。ボタンを押すと、LDUのENピンを制御する出力ピンを切り替える、MCU入力ピンの割り込みがトリガーされます。

MCUをディープスリープにすると、ピンがLowになり、LDOが無効になります。スイッチで割り込みをトリガーすると、ウェイクアップされ、ピンが再びハイになり、LDOを再度有効にします。


申し訳ありませんが、もう少し明確に指定する必要がありました。マイクロコントローラーはLDOがスイッチングする主要な負荷であるため、低電力状態のままにしても機能しません。
Carson Darling
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.