ボタンでマイクロコントローラーの電源を切り替える方法は?


13

バッテリー電源のマイクロコントローラーデバイスを持っています。現在、単純なオン/オフスイッチで電源を切り替えています。回路図(およびおそらくマイクロコントローラープログラム)の変更を最小限に抑え、デバイスがオフのときは電力を消費せずに、1つのプッシュボタンで電源を切り替えたいと思います。どうすればできますか?

追加されました。私は次のトリックを知っています:

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

ここで、開始時にマイクロコントローラーはPB3を高に設定し、デバイスの電力を保持します。ただし、S1を押してデバイスをオフにする必要があるため、これは私の問題の解決策ではありません。

追加されました。回路からVT2を除外できますか(VT1のマイクロコントローラードライブベース)。


プッシュボタンをラッチすることは許容できる解決策でしょうか?
-AndrejaKo

@AndrejaKo:いいえ

じゃあ、頑張ってね!私が見る1つの方法は、プッシュボタンが押されている間にコンデンサを充電し、MOSFETなどの何かでそれをアクティブにしようとすることですが、それはボタンが押される時間に依存します。
-AndrejaKo

@tcrosleyそれは重複ではなく、あなたが言及する質問は、ボタンが押されたときに電源を切り替える必要はなく、マイクロコントローラがシャットダウンできるように電源を入れるだけです。
ブルーノフェレイラ

@BrunoFerreiraわかりました、同意します-以前のコメントを削除しました。この回答のマイクロに行を追加しましたが、回答に追加したようにツェナーを含めませんでした。これは良い追加です。
tcrosley

回答:


6

提供する回路に基づいて、スイッチ(S1)(スイッチに接続されたカソード)の直後にダイオードを直列に追加するだけで、入力を使用してスイッチが再び押されたかどうかを検出できます。 PB3。
変更が必要

ツェナーダイオードは、電源からの電圧からPIC入力を保護します。


ダイオードの役割は何ですか?
m。アリン

@ m.Alinここのダイオードにより、マイクロコントローラはスイッチがリリースされたことを検出できます。ダイオードがない場合、VT1が導通を開始すると、マイクロコントローラーの入力が常に高レベルになります。
ブルーノフェレイラ

8

本当にオフにする必要がありますか?多くの最新のマイクロコントローラのスリープ電流は、小さなバッテリーの自己放電電流よりもかなり低くなっています。プッシュボタンでマイクロのI / Oピンを駆動するだけで、ボタンを押すたびにスリープモードとアクティブモードを切り替えることができます。いくつかのデバウンスが必要になりますが、それはすべてファームウェアでも実行可能です。

この種のオン/オフ方法は、最近ではかなり一般的になっています。µAしか必要としない場合、マイクロコントローラは真にオフである必要はなく、スリープ状態である必要があります。これは独自の制御下で実行できます。ボタンラインは、マイクロをスリープから復帰させることができるものに配線する必要がありますが、ほとんどすべてのマイクロには、少なくとも1つ(通常は複数)があります。


1
同意しました。最近の私のデザインの多くは、オン/オフボタンさえも持たず、ボタンを押すだけで起動します。
オリグレイザー

Meデバイスには、LCDやその他の周辺機器も含まれています。したがって、私もそれをパワーダウンする必要があります。

4
@user:それは、マイクロの電源を切る必要があるという意味ではなく、他のロジックだけです。マイクロがオン/オフの思考を行うことで、マイクロは他のデバイスへの電力を制御して、マイクロがスリープしているときにオフになるようにすることができます。つまり、物事のオン/オフを切り替えるのに便利な極性であれば、意図的なデジタル出力が得られ、アナログハードウェアでトグルを実装する必要はありません。
オリンラスロップ

多くのマイクロコントローラのスリープ電流は非常に低くなっていますが、品質の高いレギュレータは低価格のものよりも高価です。追加の250uA(または2.5mA)を使用するレギュレーターは、デバイスの使用中にのみアクティブにする必要がある場合は問題ないかもしれませんが、デバイスが「オフ」になっている場合でもアクティブにする必要がある場合はまったく受け入れられません。 。私が数年前に設計した製品の1つでは、レギュレータも使用していませんでした。代わりに、3つのトランジスタと約7つの抵抗を使用して、プロセッサ制御のシャットダウンで公称5ボルトの電源を提供していました。「レギュレータ」規格により、その電圧精度は本当に
ぎこちなかった...-supercat

1
@OlinLathrop:2N3094と2N3906のコストは0.07ドル未満です。10個のコンポーネントを組み立てるのに1ペニーかかる場合でも、1ユニットあたり10セント節約できます。100,000ユニットが製造された場合、10,000ドルになります。製品がそのようなボリュームを持たない場合、0.10ドルを絞り出そうとする価値はないかもしれません。ものを設計するときに今日のレギュレーターが利用可能であり、売れるかどうかを事前に知らなければ、おそらくスタンバイ制御を備えたレギュレーターを使用していたでしょうが、私の回路は機能し、他のものよりも安価です。それを使い続けない理由はありません。
-supercat

3

編集-リフレクションでは、以下の回路(参照のために残しておきます)は、おそらくマイクロのない回路での使用に最適です。他の回答で述べたように、本当に数uAの余裕がない限り、電源トグルを制御するためにマイクロを使用しないことは実際には意味がありません。
最も単純なバージョンは、プルアップとボタンを接地したIOC(変更時割り込み)入力のようなものです。マイクロは常に電力が印加されており、回路の残りの部分でPチャンネルMOSFET(ゲートからソースへのプルアップ)を制御します。スリープ状態になると、ゲートをフロートさせて回路をオフにします。

基準回路:

トグルスイッチ

最初はP-MOSFETがオフになっているため、Q2にもベース電流はなく、これもオフです。Q1はオフなので、Q1cは5Vです。回路は静的です。

S1(+および-ノードを無視し、SPICEトリガーのためにあります)を押すと、Q1cの5VがQ2ベースに接続され、オンになります。これにより、P-MOSFETゲートが接地され、オンになります。
R4は5Vを認識し、S1が解放されると、R2を流れる電流がC1を〜600mVに充電するとQ1がオンになり(したがって、MOSFETもオンになる)、Q1がオンになります。 <200mV(つまり、Q1がオンになります)
回路は再び静的になりました。

S1が再び押されると、Q1はR4から電流をシンクし(Q2をオンに維持します)、Q2をオフにします。R1はMOSFETのベースを最大5Vまで引き上げて、再びオフにします。

シミュレーションは次のとおりです(V(push)highはボタンが押されたときを表します)。

ToggleSwitchSim

また、現在のヘッドの電源をオフにした後(C1が放電し、Q1がオフになるため)、回路がオフ状態で電力を消費しないことがわかります(I(V1)のカーソルは19.86sで329nAになります)。

ToggleSwitchPower

元の回路のアイデアは私のものではなく、EEVblogの Dave Jonesからのものです


1

ブルーノ・フェレイラが示唆したように、ボタンを「オフ」スイッチとして機能させる最も簡単な方法は、回路を変更することです。ボタンが押されたときをプロセッサに知らせることです。抵抗器を使用すると、ツェナーを必要とせずにVDDを超える電圧からプロセッサの入力を保護することができます。

使用する可能性のある回路設計の概略図を以下に示します。右半分はプロセッサの動作を表しており、トランジスタ、ツェナー、および抵抗の組み合わせを使用してレギュレーターの代わりになりました。このシミュレータのゲートは常に+ 5V出力を生成するため、プロセッサの出力はゲートではなくVDDのアナログスイッチを使用して表されます。

無視すると問題を引き起こす可能性がある回路の重要な側面は、VDDが少なくとも〜3.6ボルトでない限り、プロセッサが回路をオンにできないように設計されていることです。また、VDDが3.5ボルトを下回ると、プロセッサが常に出力をオンにしようとするように、シミュレータを装備しました。プロセッサの電力がなくなっても、プロセッサがロジックHighを出力しないことを前提とする多くのデザインを見てきました。この仮定は、テストで使用されるチップの一部のバッチでは問題なく動作する可能性がありますが、本格的な生産で使用されるチップの他のバッチでは失敗します。低電圧状態でのほとんどのプロセッサの動作は規定されていません。そのような状況でのプロセッサの動作が問題にならないように、優れた設計を設計する必要があります(若干の注意:動作していないプロセッサを想定するのはおそらく安全です)印加電圧よりも高い電圧を生成するように明示的に設計されたものは、魔法のようにそれを開始しません。そのための明確な仕様はないと思いますが、ほとんどの場合、安全に推測できると思います)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.