Top Page Index About Link Mail Form このページの応用機器製作します

Raspberry Pi PC化基板

2016.5.8
2017.7.2 2017年版追加
→2017年版 PC化基板(PCM5122使用)

→Raspberry Pi用 10inch液晶モニタの作成
→レーザーカット加工アクリルで作った Raspberry Piケース

以前作った拡張基板を最近の RasPiに合わせて作りなおしてみました。

電源コントロール
電源SWを押すと電源が入り、ソフトウェア制御、つまり、終了処理が終わったら自動的に電源を切るパソコンライクな動作を実現します。電源も一般的な 5V ACアダプタが使えるよう、DC入力コネクタをつけています。
RTC(リアルタイムクロック)
基板の裏面に CR2032ボタン電池を実装しています。電源を切っても時計動作を維持します。
I2Sオーディオ出力
音質にこだわる用途向けに I2S D/Aコンバータも搭載しています。
GPIOコネクタ
自作品を繋げやすいように GPIOコネクタをつけられるようにしてあります。プルアップ抵抗や保護回路も追加できます。
シリアルコネクタ
GPIOコネクタのシリアル信号を引き出しています。必要に応じて使います。
5V出力コネクタ
電源動作と連動した 5Vが出力されます。7inch公式タッチパネルディスプレイなどの電源に使えます。

→回路図(PDF)

裏面です。リアルタイムクロック用のCR2032 ボタン電池があります。

DC電源入力コネクタは一般的な外形5.5mm/内径2.1mmの ACアダプタを使うことを前提にしてありますが、ケースの関係上、基板の高さを高くしたくなかったので、基板を切り欠いたうえでスルーホール用のコネクタを横向きに無理やりつけています。表側のハンダづけだけでは心もとなかったのでホットボンドで補強してあります。

Raspberry Pi 3 に搭載したところ。

ケースに入れてみたところ。ケース側面にはオーディオコネクタと DC入力コネクタ用に穴を開けてあります。


制御ソフトウェア

電源投入時はともかく、電源を切る際にはソフトウェア側の処理が必要です。以前の Raspbianでは /etc/default/halt にスクリプトを追加することで電源が切れましたが、Jessieバージョン以降は systemdが使われるようになり、/etc/default/halt は使われなくなりました。

その為、systemdに処理を追加するスクリプトを作成しました。これを実行すると処理スクリプトを自動的に作成・登録します。なお、わたしは終了時の systemdの処理を完全に理解しているわけではないので少々不安な面もありますが、うちでは特に問題は出ていません。そのあたり詳しい方がいらっしゃいましたらご教授願います。

→RaspPC-20用電源OFF処理登録スクリプト

上記ファイルをダウンロード後、$ sudo sh install-yuki-poweroff.sh と実行すると必要なスクリプトを自動生成し、systemdに自動登録します。

ついでに DS1307 リアルタイムクロックを使うようにするためのスクリプトも作成しました。上記同様、systemdに自動登録します。

→DS1307 RTC処理登録スクリプト

こちらも上記ファイルをダウンロード後、$ sudo sh install-ds1307.sh と実行すると必要なスクリプトを自動生成し、systemdに自動登録します。i2c-toolsが無い場合はそれも自動的にダウンロードしますので、ネットに繋いだ状態で実行してください。i2c-toolsがインストール済みならネットに繋いでおく必要はありません。

あと、制御用MCUのファームウェアソースです。以前のものとほぼ同じですが、電源を切るまでの待ち時間を 10秒から 12秒にしてあります。また、待ち時間の間に再度ボタンを押すと電源OFFをキャンセルできるようにしてあります。

→電源ON/OFF制御MCUファームウェアソース


2017年版 PC化基板(PCM5122使用)

昨年版で使った PCM5102Aは音質的には問題ないのですが、音量調整ができないので Raspberry Piのシステムとしては正直使いにくかったので PCM5122を載せるように作り直しました。ALSAの出力デバイスとして使えるので普通に使えます。omxplayerも -o alsa のオプションスイッチを追加すると音が出ます。

追記。omxplayerで音が正常に出ない場合は $ omxplayer -o alsa:plughw:2,0 〜 とするといいかも。

更に追記。$ pacmd set-default-sink alsa_output.platform-soc_sound.analog-stereo と、PulseAudioのデフォルトを切り替えるといいみたい。

左下のピンヘッダは外部にスイッチやLEDを引き出す為のものです。あとはだいたい同じ。

→回路図(PDF)

裏面です。RTCバックアップ用のコイン電池あり。

ケースに組み込んで見た図。前回よりも基板を少し拡大してネジで固定できるようになっています。

設定としては、config.txtに以下を追加。/etc/modulesは変更不要。

		dtoverlay=iqaudio-dacplus
	

あとはメニューの 「設定」 → 「Audio Device Settings」 でサウンドカード「IQaudiODAC」を選択、「コントロールの選択」で「Digital」にチェックを入れ、「閉じる」「Make Default」かな。適当に音量調整すればよろしいかと。

2020.10.3 追記。
「Audio Device Settings」が無い場合は pimixerをインストールすると復活するみたいです。

	  $ sudo apt install pimixer
	

→インデックスに戻る