· 

RaspberryPi CM4 シャットダウン後の自動電源オフ

shutdownコマンドやpoweroffコマンドででLinuxを落とした後、RaspberryPi CM4外付けの電源回路を自動でオフする方法です。

バッテリなどで使用している場合にとても便利です。

 

Pi_nLED_Activityピン

Pi_nLED_Activityを利用します。

SBCのRaspberryPi 3やRaspberryPi 4でピコピコ光るLEDと同じです。

このピコピコLEDが変化しなっくなったらシャットダウンが完了したとみなして、

外付けの電源回路をオフしてしまいます。

RaspberryPi部の回路

とても単純です。

LEDのカソード側(LEDがある場合)を出力するだけです。

ただ、LEDがあるとPi_nLED_Activityが遮断された時に電流がほんとに流れなくっなてしまうことがあるので

念のために抵抗をLEDと並列に接続しておきます。

電源制御部の回路

+5Vはもちろんモバイルバッテリなどの5Vに直接接続します。

常時電源がオンになっていることが必要です。

 

Pi_nLED_Activityは、

前章のRaspberryPiのPi_nLED_Activityに接続します。

 

RaspberryPi GPIOは、

RaspberryPiのGPIOに接続します。ここで気を付けなくてはけないこととして、

RaspberryPiのGPIOは電源投入しHi.(PullUp)またはlo.(PullDown)のどちらかになりますが、

必ずlo.(PullDown)のピンを接続してください。

 

nPWR_OFFは、

前回ブログRaspberryPi CM4用5V入力電源回路

のコンバータのENピンを制御します。FETで直接入力電源ラインを切ってもよいかもしれません。

 

コンデンサ10 uF x3個と100 kohmで時定数が3 Secになります。

LVCのL->Hの閾値は電源の50%くらいになり、自然対数で約0.7です。

よってPi_nLED_ActivityがHi.になったあとおおよそ約2.1 Secで電源オフします。

 

DIODEはSN74LVC1G14のようなioff パーシャルパワーダウンタイプは不要ですが他のデバイスを使いたいときのために

念のため保険で付けています。

 

制御方法

以下のようなスクリプトを作成し実行してください。

gpio_numberは、前章のRaspberryPi GPIOの番号になります。

pass_wordはrootのパスワード(suになるときのパスワード)になります。

 

 

gpio_number=11

pass_word = "1234"

 

echo "${gpio_number}" > /sys/class/gpio/export

echo "out" > /sys/class/gpio/gpio${gpio_number}/direction

echo "1" > /sys/class/gpio/gpio${gpio_number}/value

 

pass=pass_word

echo $pass | sudo -S poweroff

sleep 1