Raspberry Pi Zeroによるスマートプラレール製作記 (1) システム試作編

公開 | 更新 

リモコンで操作する プラレール はメーカーから製品として発売されていて、初期はハードウェアマスコンを使い、赤外線リモコンで操作するしくみでしたが、今ではWiFi接続してスマホアプリから操作したり、デュアルカメラ搭載と飽くなき進化を続け、さすがに値が張ります。これを Raspberry Pi Zero で実現してしまう記事をちらほら見てるうちに、自分でも作りたくなった製作記シリーズの第1回です。

当初、先頭制御&電源車にモーター車が連結する、次のような構成を考えました。

図1.ダイヤグラム初案

図1.ダイヤグラム初案

このとき必要な部品を列記すると、こんな感じに。

  • プラレール機関車(試作中は適当なDCモータで代用)
  • Raspberry Pi Zero W
  • 同カメラモジュール
  • モータドライバ L9110S
  • 電源18650
  • DC-DCコンバータ
図2.部品

図2.部品

しかし、プラレールの機関車タイプへの移植を考えると、先頭車をモータ&制御とする次のような構成を採用することにしました(実は、いくつか試したDC-DCコンバータがいずれも不安定で使用に耐えず、よくあるUSBモバイルチャージャーが良かったのでこれを採用したのも大きい)。

図3.ダイヤグラム決定案

図3.ダイヤグラム決定案

早速、Raspberry Pi Zero WにRaspbianを入れたSDカード挿して起動。初めてのPWM制御に挑戦します。モータを電圧ではなく、周波数・力率で調整出来るのはとても楽ちん。一応USBテスターで電流値を確認しながら周波数値を決めます。

図4.試作通電

図4.試作通電

電流値1.75Aに仰天。PWM周波数を調整してだいぶ落とせましたが、DCモータがこんなに電力消費するものとは知りませんでした。ここでモータドライバへの電源もRaspberry Piからぶら下がりで得る回路図になっていたのを思い出し、慌ててバッテリから直接得る形へと変更した次第です。PWMテストプログラムはこんな感じ。周波数で全体的な傾きを、Duty Cycleで出力度合いを制御し、最後は必ずGPIOをcleanup()するのが礼儀。ほぼほぼ小学生並のプログラミング基礎。

開発中、Raspberry Pi Zeroへは母艦からsshで繋いでいるのですが、DHCPで一体今日はIPいくつなんだろ、が地味に面倒。ジャンク箱にI2C接続のLCDがあったので、IPアドレス表示させるようにしています。

これをcronで定期的に実行します。併せて、過去の経験からRaspberry PiのWiFi系がいまいち信用出来ないので、外向きにひたすらpingして応答無き時はインターフェースのリセットを試みる仕組みも定期運用。

図5.LCD接続

図5.LCD接続

次回は、制御とカメラ受像のためのWeb UI構築について記したいと思います。

 

 

参考と鳴謝)

コメントを残す

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

CAPTCHA