オリジナルのマイコンボードを作る(1)

Bluetoothとラジコンサーボに特化したオリジナルのマイコンボードを作ってみようという企画です。

つくりたいもの

ロボット用マイコンボードです。スマホやPCから操縦できるようにBluetoothを搭載します。BluetoothはUART接続のモジュールを使うのが簡単ですが、高価ですし技適の問題があったりするので、USBドングルを使うことにします。USBドングルはマイコンで扱うのがすこし難しいですが、安価なうえに技適に関する心配がありません。またRCサーボを9個程度PWM制御できるようにして、ボード上にコネクタを設けます。電源はNi-MH電池4セル〜6セル(4.8V〜7.2V)またはLi-Po電池2セル(7.4V)を想定します。

  • Bluetooth搭載 (安価なUSBドングル)
  • RCサーボ9個をPWM制御
  • 電源4.8V〜7.4V
  • C基板サイズ(72x48mm)

Bluetoothとラジコンサーボのパルス制御に特化するということで、BluePulsar(ぶるーぱるさー)命名します。

マイコンの選定条件

  • RCサーボPWM×9ch程度
    → 工夫次第でたいていのマイコンでOKでしょう。
  • Bluetooth USBドングル
    → USBホストが必要です。安価なマイコンでUSBホストを持つものは限られます。
    Bluetoothスタックが必要です。自力で実装するのはかなり困難でしょう。

btstackについて

Bluetoothスタックはbtstackを利用するとしましょう。btstackは、Matthias Ringwaldさん作のBluetoothスタックです。リソースの乏しいマイコンでも利用できるのが特長で、4kBしかRAMがないMSP430でも最低限SPPは動くらしいです。

で、マイコンへのポーティングですが、MSP430へのポーティングのみ上記の本家サイトで配布されています。それ以外のマイコンへのポーティングが各自でおこなう必要があります。ありがたいことに@hrdakinoriさんがPIC24FとGR-SAKURA(RX63N)にポーティングしたものを公開されています。GR-SAKURA版は私もすでに茶運び人形ロボットで利用しました。

PIC24Fを採用

RX63Nは高価だし、技術的にもハードルが高そうなので、PIC24Fを採用することにします。トランジスタ技術2012年9月号に@hrdakinoriさんの記事が載っており (第9章 1,000円でどこでも買える無線モジュールで作れる! 1Mbpsが数十m飛ぶ! Bluetooth対応のワイヤレスPICマイコンI/O基板)、ここではDIPパッケージのPIC24FJ64GB002を使われています。DIPパッケージは、ユニバーサル基板やブレッドボードで使えるのがメリットですが、今回はせっかく基板を起こすのでリソースに余裕がありピン数も多いPIC24FJ256GB106(TQFP64パッケージ)を採用することにします。

BluePulsar概要

概要

BluePulsar回路図

回路図エディタはいままでBSchを使っていましたが、今回ははじめての基板設計ということで、基板CADに統合されたものに移行したいと思います。基板CADはEagle、KiCAD、DesignSpark PCBあたりを検討中です。いずれにしても初めてのCADを習得することになるので、今回はまず回路設計は紙で下書きしておくことにします。

  • 5V(USB)と3.3V(PIC)が必要なので、LDOレギュレータで作ります。バッテリーがNi-MH4セル(4.8V)の場合、LDOで5Vは作れないので別途給電とします。昇降圧DC/DCも考えましたが、高価なので断念しました。
  • 推奨はできませんが、経験上、Ni-MH4セルを直接給電してもBluetoothドングルは動作しました。(USBの規格ではVbusは4.75〜5.25Vの範囲とされているので、まあ動きます。)
  • これら電源系の経路を切り替えるためにジャンパJ1,J2を設けました。6V以上の単電源をデフォルトとします。
  • 内蔵クロックでもUSBの動作に必要な精度は満たせるようですが、いちおう外付け水晶発振子のためのパターンを用意することにします。ただし、とりあえず未実装とします。
  • RE0〜7とRF0の9ポートをラジコンサーボのPWM用とします。
  • RB0〜15とRD0〜RD11を拡張コネクタに出します。ただし、RB6とRB7はPICkit3との接続に使用するので除外します。
  • LED3個をボード上に載せ、RF3〜5で駆動します。
  • 開発用にPICkit3用コネクタを設けます。

【回路図】 (クリックで拡大します)
回路図

BluePulsar部品リスト

部品リストを作成しました。ボード1枚あたり1000円くらいになります。