バイクジムカーナのためのシステム開発:かわっちタイマーのハードウェア設計

Posted on Posted in 趣味的なIT・ネットの話題

かわっちタイマーはバイクジムカーナ向け、タイム計測システムです。この文書はかわっちタイマーのハードウェアの設計、実装についてのメモです。

 

  1. 回路設計
    1. 電源
      5Vの電源はモバイルバッテリーから既に供給されているため、作成が不要です。モバイルバッテリーからRaspberryPiに入れて、PiのEXTから取り出します。Piの電源回路が弱いため本来はEXTに行くラインにバッテリーを接続したいのですが、そうすると保護回路(ポリスイッチ)をショートカットしてしまうので、電源保護に不安がのこります。ただ実際に接続してみると、USB接続機器が電源が原因のようにみえる動作不安定が生じている様に見えます。そこで止む得ませんので、EXTラインに直接接続する形にします(ただし未実装)。またここからUSBの電源に直接配線を引っ張って電流容量を確保します。使用しているAnkerのバッテリーに過電流保護回路が付いているっぽいので、本来望ましくはないですが、保護はこれのみで妥協します。
      12Vの回路は電源モジュールに直接配線しているだけですので回路図は割愛します。このモジュールは出力電圧可変式ですので、DMMで電圧を調整しました。よくよく考えてみると、電圧は12V以上であればよく、12Vである必要は無いのですが、システム全体の効率からは12Vが良さそうなので、12Vに設定しました。
    2. ブザーインダクタを使って昇圧する回路です。防犯ブザーで用いられているものと同じだと思います。容量と許容電流量が大きなインダクタを用いないと、音量が確保できないので、電子部品店を回って一番大きなものを購入しました。
      最初はデジタルトランジスタを使って試作しましたが、どうにも音量が出ないので、ダーリントントランジスタに変えたところ、満足な音量を得ることができました。音量切り替えは使用するインダクタの数を変更する回路にする予定でしたが、トランジスタへのベース電流を変化させて行う方式に変更しました。普通はボリューム抵抗使うと思いますが、無段階切り替えよりも室内用、屋外用、バイクの側用といった切り替えの方が便利なように思いましたので、3接点スイッチを使って切り替える方式にしました。
      実際の使用電流量を計測してみると(普通のDMMなのでパルスのへ平均が出ていると思います)、図に記載した通りの電流となり、許容可能な電流値となりました。
    3. 光電スイッチ光電スイッチは12Vで駆動していますので、電圧をPiの側のトレラント電圧とスレショールド電圧に合うように変圧する必要があります。動作速度を考えると、12V入力3.3V出力のバッファICを利用するのが望ましいですが、そういった製品がなかなか見あたらない、あってもパッケージの変換が必要でしたので利用は断念し、単純に抵抗分圧で電圧を変化させました。電流量が減りますので、スイッチングが若干遅延しますが、計算してみたところマイクロセコンド単位でしたし、スタートとゴールで同じ時間ずつ遅延し、電源電圧が同じであるかぎりはばらつきが無いので、計測精度への悪影響は無いと判断しました。
      抵抗分圧で行う場合、スイッチングのオンオフにかかわらず電流を消費します。そこでスイッチングスピードに影響を与えない範囲で大きめの抵抗を使用しました。
    4. LED大電流のスイッチングが必要なので、本来はリレーやスイッチング用の素子が必要です。もっとも今回使用するLEDドライバはスイッチング用のコントロールが付いていて、PWM調光ができるぐらいの周波数にも対応します。そこで素直にこの端子を使用する事にします。ただし12V系の回路にマイコンを直接接続するのは怖いので(何かの拍子に12Vが流れると一瞬で破壊しそう)、フォトカプラを使って絶縁します。
      Piの出力電流には余裕が無いので、ドライブできる範囲でできるだけ大きめの抵抗を使用しました。
      このドライバモジュールはモジュール上の半固定抵抗で光量が調整できます。各色の輝度が同じぐらいになるように、自分の感覚と、iPhoneアプリの照度計で調整をしました。
    5. プッシュスイッチチャタリングの除去をソフトウェアで行うとCPU側の負担が増えるので、回路側でチャタリング波形の除去を行います。立ち上がりと立ち下がりのチャタリング両方を除去しようとすると、回路図用に抵抗2本とコンデンサ1つが必要です。スイッチがノーマリーオフなので、プルダウンしておいて、スイッチオン時以外は電流を消費させないようにしました。
      かなり大きめのコンデンサを用いないとチャタリングの吸収ができませんでしたので、1.5uFの積層セラミックコンデンサを使用しました。波形を見た限りではチャタリングを除去できていたように見えたのですが、Piに投げてみると、それでもチャタリングが出ました。オンの遅延を考慮せずもっとなめらかな波形になる定数を選択した方がよかったと思います。
  2. ハードウェアの制作
    1. pi
      piはタイプAとタイプBがありますが、イーサネットコントローラが電力を食いそうなので、タイプAを採用予定でした。が、タイプAはUSBポートが一つしか無いので、アクセスポイント用に無線LAN子機を挿すと、インターネットにアクセスできません。インターネットにアクスできないと、aptやnpmが使えないので、インストールで苦労します。そこで一通りの形ができあがるまではタイプBを使用する事にし、必要に応じてタイプAを使うことにしました。
      piはそのままでは筐体への固定ができませんので、一旦市販のケースに入れて、それからビスで固定しています。アクセスポイント化する場合には、使用する無線LANチップが限定されますので、実績のあるものを選びます。最初に別の製品を使用した際には接続不可でした。
    2. 基板
      プリント基板を起こすと制作や再製作が楽ですが、一点もののために作るのはコストが合いませんので、ユニバーサル基板で作成しました。piとの接続はスマートさを重視してフラットケーブルです。コンパクトに収めようと思うとある程度計画性をもって制作しないといけませんので、使用するユニバーサル基板のコピーを取ってから、配置のイメージを描いてみました。

      また個々の回路についても、できるだけコンパクトで配線が楽な配置を予め考えておいて、それから実際に実装をしました。

    3. 電源
      電源はモバイルバッテリーそのままです。基板上にはストリナさんの昇圧モジュールを入れます。
    4. 筐体
      タカチの防水型ケースを使用しました。蓋がポリカーボネートですので、中身がそのまま確認できます。内部は2階建て構造で、底にユニバーサル基板、見える部分にマーカーレンズを付けたLED、pi、モバイルバッテリーを配置しています。
      加工はプッシュスイッチとコネクタ用の穴開けだけですが、サイズを注意しないと防水性が失われるので、リーマーで注意しながら穴を広げました。背面はVESAマウントサイズの穴を開けたので、汎用のVESAスタンドを使用できます。
    5. 光電スイッチオムロンの製品を使用します(E3JK-RN12)。特に加工はありません。防水性を確保するためケーブルの先端には七星科学のNJW(http://www.nanabosi.co.jp/connector/njw.html)シリーズを接続しました。業務用っぽいですが、マルツや共立で入手できました。オムロン純正のマウント金具を介して、卓上三脚で自立させています。三脚のネジはインチサイズで使いにくいので、Eリングをはずして、ミリねじと蝶ねじ、蝶ナットに交換しました。

      反射板側はマウントの穴の位置が合いませんでしたので、三脚のベース部分に穴を開けて、ミリねじの蝶ねじ、蝶ナットで固定しました。

      抵抗3本の配置はパズル的です。

      設定は感度はほぼ最大、オンオフはノーマリーオフです。

    6. 液晶
      I2C規格は本来は基板上といった狭い範囲での情報伝送を想定したものですので、ケーブルでの信号伝送には向いていません。piのプルアップ抵抗が小さめなので(1kしかない)、信号線の長さの波形への悪影響は小さいと思われますが、短いにこしたことは無いでしょう。ただし液晶のドライブ回路の容量が小さいようですので、本来はpiとストリナの液晶は相性が悪いと思います。piのプルアップ抵抗値を大きくしたいのですが、基板上のチップ抵抗を変更するのは大変なので止めておきました。単にチップを外して外側の回路で抵抗を付けるのは簡単なので、液晶のトラブルが続くようであれば試してみます。
    7. シリアルモニターをつなげずに開発していると、接続設定に失敗すると永遠にログイン不可になりかねません。そこでもしもの時のために、シリアルピンをアクセスしやすいところに引き出しておきました。
    8. ブザー基板上は回路図の通り組むだけです。ブザー本体は大きいものがなかなか手に入らなかったので、秋月の大音量ブザーを分解して、自励回路部分を除いて、ブザーとケーシングを利用しました。本来防水性は無いのですが、少しでも耐久性を高めるため、筐体の下部に下向きに取り付けました。そのまま取り付けると筐体全部が振動しそうなので、スポンジゴムを介してフローティングマウントしています。
    9. スイッチ普通に付けるだけですが、防水スイッチなので、ねじ込みのトルクは強めにしています。LED、ブザー、LED、スイッチはいずれも、細めのケーブルで引っ張って、QIコネクタで基板上のピンに挿しています。回路部分は受動素子3点だけですので簡単です。
    10. RFIDリーダUSB接続ですのでそのままつなげるだけですが、消費電力が多そうなので、三つ叉になっている電源供給コネクタ付きUSBホストケーブルを使用しています。血走ったライダーがフルパワーでタッチするとすぐに壊れてしまいそうですので、FRP板の裏側に配置して、FRP板にはタッチ位置のピクトグラムを描きました。RFIDリーダはタブレットと組み合わせて、ブーム付きのマイクスタンドに取り付けています。これは「バイクに乗車したまま、左手でクラッチを握ったまま、右手で手を伸ばして届く範囲」という制約があるためです。サウンドハウスでK&Nのスタンドが安価で販売されていますので、これを利用しました。値段の割には、重量感があって、しっかりしています。実際に設置する際には、マイクスタンドの足にタイヤをかぶせて安定させています。

      カードには番号を振ってあり、固定番号と対応させたテーブルを保持しています。

    11. タブレット
      「USB以外から充電できる」という仕様はかなり珍しく、新品での入手可能な製品が中華パッドしかなかったため、原道双撃となりました。背面にマグネットシートを貼って、マウントに磁力で固定します。強力タイプを使用したので、タブレットの重量を保持するには十分な吸着力です。
    12. LEDストリナさんのドライバを4枚使用しました。フォトカプラはどこにでもある汎用品です。

      ハイパワーLEDは秋月の放熱板付きのものを使用しています。切り欠きとパターンとの隙間が小さいのでかなり小さめのネジで固定しています。
      マーカーレンズは今回の制作で一番入手に苦労した部品です。これの名前が「マーカーレンズ」だと知るためだけにかなり時間がかかり、LED対応の手高さの低い製品を探すのにも一苦労しました。


Facebooktwittergoogle_pluspinterestlinkedinmail
納得したらすぐにシェア!