Lチカアルティメット-6 RaspberryPiの電源を切る話。

RaspberryPiを使っていると、そのうち気づくこと

RaspberryPiを使ってると、、気づくことがありますよね。
そう、

電源のON-OFFボタンとか無い

わけです。
そして、基本的には、Micro-USB OR TypeCでの給電になるので、、
まぁ、シャットダウンして、しばらくたってUSBを抜けばいいんだけれども、、
なんか、

美しくない

ですよね。

でも、、無線LANで連携したり、GPIOで制御したり、、、、
みたいなことができるわけですから、、
なんとかしたいところです。っていうか、、なんとかできますよね。きっと。

Lチカから段々派生していきますね(o^^o)

シャットダウンのタイミングはどうやってとるのか!?

なんらかソフトウェア的にでもハードウェア的にでも、シャットダウンが終了したタイミング、
即ち、電源を切っても(給電を中止しても)よいタイミングをどうやってとるかという話です。

実は、RaspberryPiには最初から、そのような設定ができるようになっています。
答えを書くと、
/book/config.txtに以下のような記述することによって、とることができます。

dtoverlay=gpio-poweroff,gpiopin=26,active_low=0

この例では、シャットダウン終了後に、 GPIOの26番をHIGHにするものです。

ということは、この、HIGH状態、即ち0V➡3.3Vのタイミングで電源を切るようにすればよいってことになります。

とは言うものの、どうやってRaspberryPiの電源を切るのか?(o^^o)

ここでよく考えてみましょう。
USBで給電している電源をSTOPさせることは、USBを抜かない限り無理わけですよね。
ということは、

給電そのもの(電源ONのこと)からコントロールしなければならない

ということになります。

それでは、設計というか、仕組みを考えましょう。

電源ON~ ~ ~ shutdwon ~ ~ 電源STOP、のしくみ

こんな感じです。

① 謎の”装置”にACアダプタ(5V)をつなぎます。そう、5V-3Aくらいのやつがよいですね。
② 謎の”装置” の電源をONにします。
③ RaspberryPiに5Vが給電されます。
~ ~ ~ あれやこれや ~ ~ ~
④ 何らかの方法でRaspberryPiをShutdownします。
⑤ GPIOを通して、謎の”装置”に3.3V送られます
⑥ 謎の装置が、RaspberryPiへの給電をSTOPします。

これを見てわかることがいくつかありますね。
ざっと、以下のような感じです。

その1:後から電源が切れるようにするからには、電源のON-OFFは、物理的なスイッチではなく、トランジスタ等で行う

その2:給電をSTOPさせるのも、GPIOの3.3Vによって実現するからには、このスイッチもトランジスタ等で行う。 

その3:ON状態からOFFにもっていくためには、いわゆる、【自己保持回路】みたいなものが必要になる。
※必要になるっていうか、それが全てだね^^;^^;

その4:5V-3Aをスイッチングするので、省電力のトランジスタ1コでは無理なので、複数のトランジスタをつかうことになる。

その5:給電はUSBコネクタではなく、GPIOの2番を使う(GNDも使うね^^V)

自己保持回路って何?

自己保持回路は、何種類も考えられますが、その一例の原理を書いてみましょ。
原理なので、抵抗とか描いてません。

●負荷(図の”ふか”)に電気が通じるには、T1の【e】から【c】へ流れなければならない
➡ T1の 【e】から【c】 へ流れるには、T1の 【e】から【B】へ流れなければならない
➡ T1の 【e】から【B】 へ流れるには、SW1を押して、T1の【B】をGNDへつなげなければならない。

ということで、SW1を押せば、めでたく負荷に電流を流すことができます。

でも、このままでは(T2が無ければ)SW1を離すと、電流が途切れますよ。
そこで、謎の迂回路が登場です。

●SW1を押して負荷に電流が流れるようになれば、迂回路を通して、
T1の【c】⇒T2の【B】 ⇒ T2の【e】 ⇒ GND
と電流が流れるようになり、T2の【c】 ⇒ 【e】へ電流が流れるようになる
➡ T2の【c】 ⇒ 【e】へ電流が流れれば、SW1が離されても、
T1の【B】⇒のT2の【c】⇒T2の【e】⇒GND
と電流がながれるため、T1の【e】⇒【c】が流れつづけ、負荷に電流を供給しつづけることができる!(o^^o)

とまぁ、こんな感じで。

実際にどうやってつくるかは、、次回へ!

#Lチカ
#Lチカアルティメット
#電子工作
#RaspberryPi
#Arduino
#2SK4017
# RaspberryPi 電源OFF

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です