Linux Computing
  1. ホーム
  2. BeagleBone Black の電源 OFF/ON 制御

BeagleBone Black の電源 OFF/ON 制御

BeagelBone Black をネットワークオーディオの専用機にするには Raspberry Pi でするのに比べて幾つかのメリットがあります。DSD ネイティブ再生ができることもそのひとつですが電源をオン・オフできることが筆者にとっては大きなことです。

Raspberry Pi でも Volumio や RuneAudio などの WebUI でシャットダウンしたり PC から ssh でログインしてコマンドでシャットダウンすることはできます。しかし電源をオンすることはできません。オンするには DC アダプターのジャックを抜き差ししなければなりません。

それに対し BeagleBone Black には DC コネクタの近くにあるタクトスイッチ(S3)がパワースイッチになっています。このパワースイッチを押下することで電源をオンすることができます。タクトスイッチで電源オンできるので完全に電源がオフされているわけではありませんが BeagleBone Black 基板に実装されているパワーコントロール IC の一部のみ電源が入っている状態で BeagleBone Black としては電源オフ状態といって良いと思います。

Volumio 等を使ってネットワークオーディオを構築した場合スマートフォンやタブレットで操作をするのでリモコンの必要性はあまり感じてはいませんが電源のオフオンができることにはとっても意味があると思います。そこで BeagleBone + Botic + BBB ブリッジ基板でリモコン操作の電源オフオンの確認をしてみます。本当はマイコンで赤外線リモコンの受信処理をするのが良いのですが使い勝手の実験のためとりあえずハードで実現します。

電源制御信号のピンアサイン

BeagleBone Black の回路図からパワースイッチ(S3) の制御信号 PWR_BUT はパワーコントロール IC に入力されているとともに IO コネクタ P9 の 9 番ピンにアサインされています。BBB ブリッジ基板では CN1 の10番ピンです。

ir-04.jpg(93558 byte)

この PWR_BUT 信号をオシロスコープで確認すると BeagleBone Black の電源がオフ状態の時でも "H" になっています。パワースイッチ(S3)を押下するとこの信号が"L"になって電源のオフオンができます。なのでこの信号を外部から制御してやれば BeagleBone Black の電源を制御することができるようになります。

いちばん簡単なのはこの信号と GND をケーブルで外に出してタクトスイッチに接続することですね。BeagleBone Black に BBB ブリッジ基板を接続するとパワースイッチが隠れて押しにくくなるのでこれだけでも大分使い勝手がよくなります。

リモコンの動作確認

リモコンは既に使わなくなった Panasonic の DVD プレーヤーのリモコンを使います。まずこのリモコンから送信される信号を受信モジュールで受信し出力される信号を確認します。

ir-01.jpg(87040 byte)

先頭のリーダー部の "L" 期間は約4mS "H"期間が約 2mS になっています。赤外線リモコンの通信フォーマットをこちらのページで確認すると Panasonic のリモコンは家製協(AEHA)フォーマットのようです。T を Typical 値の 425uS とするとリーダー部の "H" 期間は T=4 x 350us=1.7mS となっています。ちなみに受信モジュールからの出力は入力を反転した信号になっています。

仕様

リモコンで制御するのですが受信信号をマイコンで処理するわけではないので単純にリモコン受信モジュールから出力される "1" "0" の信号が来たらPWR_BUT を"L"にします。ただ受信モジュールからの出力信号は数百uSから数mSの間隔で "1" "0" が変化しますので受信モジュールから出力されている間は "L" になっているようにします。多分数十ミリ秒になるとおもうのでパワーコントロール IC が "L" 入力を検知するには十分な時間でしょう。PWR_BUT の必要な "L" 時間についてはそのうちデータシートで調べたいと思います。

このように赤外線受信モジュールの出力の立ち上がりで PWR_BUT を一定時間 "L" にするという仕様なのでどんなリモコンでもリモコンのどのキーがおされても電源がオフオンされることになります。ひどい仕様ですね。実用的ではないですがとりあえずなのでよしとします。

回路図

赤外線リモコン受信モジュールは PL-IRM2161-XD1 を使います。この出力の立ち上がりをトリガとしてモノマルチバイブレータ TA74HC123 で抵抗とコンデンサで設定した時間のパルスを出力します。ここでは約 6.5mS 程度に設定していますが、受信モジュールから出力されている間はこの 6.5mS 以内に次のトリガが入ってくるので受信モジュールからの出力信号の最後の立ち上がりエッジから 6.5mS 程度まで TA74HC123 の出力は "H" を保持することになります。この信号を FET で反転(オープンドレイン)して PWR_BUT 信号とします。この回路の電源は 3V のコイン電池で供給します。

pwcnt_schematic.jpg(21227 byte)

オフオン動作の確認

この回路をブレッドボードに組んで動作を確認します。

ir-02.jpg(60974 byte)

実際にリモコンで受信したときの受信モジュール出力(CH1)と PWR_BUT(CH2)信号波形です。赤外線リモコン受信モジュールから出力されている間 PWR_BUT は "L" を保持しています。

ir-03.jpg(54091 byte)

ばっちり BeagleBone Black の電源をオフオン制御できました。そして仕様のとおり別のリモコン(三洋のエアコンのリモコン)でもオンオフしています。他にリモコン機器がある部屋では使えませんね ^^)。でもとっても便利です。赤外線リモコン通信ができるスマホがあるともっと使い勝手が良くなりますね。筆者は iPhone なのでだめですが。

このページは2015年9月6日にはじめてアップされました。

目次
PR
コンテンツ
最近のトピック
週間アクセスランキング
デル株式会社
Copyright (C) 2017 Linux Computing All rights reserved