JLCPCB様よりブラシレスMDと汎用基板製作のご支援をいただきました!

NHK学生ロボコン2025にさきがけて,JLCPCB様より,基板製作費のご支援をいただきました!なんとこれが3回目です!本当にありがとうございます.

※この記事には,一部宣伝・広告に類する内容が含まれております.

NHK学生ロボコン2025に向けてなんと3回目の支援をいただきました.

今回製作した基板とその説明

今回,JLCPCB様のご支援を受けて製作した基板は,次の2つです.

  1. ブラシレスMD: MD_Apis
  2. 汎用基板: Expander_Sparco

それぞれの基板について説明します.

ブラシレスMD: MD_Apis

Robohanでは,ロボットの駆動系にブラシレスモータを使用しています.そのため,ブラシレスモータを駆動するためのモータドライバが必要です.

JLCPCB様のご支援を受け,ブラシ付きMDについては後の代まで残せるものを開発することができ,現役でバリバリ活躍しています.

しかし,ブラシレスMDはRobohanにはなく,市販のESCを使うにとどまっています.そのため,ベクトル制御といった高レベルな駆動ができず,モータの最高性能を引き出すことができませんでした.そこで,今回のMD開発に踏み込んだというわけです!

できあがったMDが以下の画像です.

ブラシレスMDの画像

このMDの特徴は次の通りです.

  • 電流センサがついていて,ベクトル制御が可能.
  • CAN通信によりMDにアクセスでき,トルク電流を指定することが可能.
  • STSPING4を搭載することにより省スペース化.

汎用基板: Expander_Sparco

JLCPCB様のご支援を受け,10月ごろに従来の汎用基板と互換をとりながら改良を加えた汎用基板を製作しました.しかし,互換をとりながら設計をしたため,少し窮屈な設計になってしまい,ところどころ使い勝手が悪い部分がありました.

それを解消するため,今回思い切って互換を切り,新基板の開発に踏み切りました!できあがった基板が以下の画像です.デバッガやEthernetのケーブルなどを接続して実験しています.

Expander_Sparcoの画像

この基板の特徴は次の通りです.

  • Arduino Uno R4 Minimaに準拠したピンソケットを配置し,シールドでの拡張性を容易にした.
  • FDCAN, Ethernetといった,Robohan内で使われている通信を,シールドによる拡張無しで使うことができる.
  • エンコーダインタフェースを4つ備えている.
  • WS2812Bが搭載されているテープLEDのドライバ回路を搭載している.これにより,従来よりも簡単にテープLEDを駆動可能.
  • スイッチやLEDを豊富に搭載し,デバッグがしやすい.
  • USB2.0規格のUSB Type-Cを搭載しており,給電とUSB通信が可能.

さらに,Robohanでよく使われているアクチュエータ類の駆動用に3種類のシールド基板もあわせて発注しました.画像の上から順番にそれぞれ以下のような役割です.

  1. ロボマスモータ用基板
  2. ブラシ付きMD用基板
  3. 電磁弁駆動用基板
ロボマスモータ用基板の画像 ブラシ付きMD用基板の画像 電磁弁駆動用基板の画像

最後になりましたが,Robohanの活動に対して精力的に支援してくださっているJLCPCB様に多大なる感謝申し上げます.1か月後に控えたNHK学生ロボコン2025に向けて,引き続き開発を進めてまいります.これからもよろしくお願いいたします.

JLCPCB様でのPCBAの発注方法

発注方法はNHK2024でのご支援の記事と同じ内容です

設定で時間がかかるものと思っていましたが、Kicadだとプラグインで簡単に出来ました。 私が今回発注に使用したファイルは以下の手順で生成しています。 (使用環境 Windows11 Kicad7)

  1. プラグイン導入
  2. プラグイン&コンテンツ マネージャーから「Fabrication Toolkit」を選択してインストール

    「Fabrication Toolkit」を選択してインストールする様子
  3. 素子選択
  4. 以下のURLから素子を選定し、Kicadの回路図シンボルのフィールドにLCSCという欄を追加して、値に選定した素子のコードを入力する。 「JLCPCBの素子リストURL

    *LCSCという欄を作りコードを入力しなくても、ファイル生成時に抵抗やコンデンサ等だと予測して出力してくれるみたいですが、たまに違うことや、実装に値段がかかる素子の場合もあるので注意が必要です。

  5. ファイル生成
  6. 追加したプラグインのGenerateを選択。
    →追加した素子のコードによって自動的に素子の位置情報などのファイルを勝手に生成してくれます。

    上のようにディレクトリ直下にフォルダが生成されその中に発注に必要なファイルがすべて入っています。

  7. 基板データのアップロード
  8. ここからはJLCPCBの発注画面での操作です。通常の基板通り、Gerberデータとドリルデータのファイルをまとめたzipファイルをアップロードします。
    →実はこのzipファイルも、先の手順で行った「production」のフォルダ下に生成されています。(設定とか忘れることがないので、とても楽ですね)

  9. PCBAのオプションを設定
  10. PCB Assemblyを有効にして、「実装面(Assembly Side)」、「実装する枚数(PCBA Qty)」、「実装後のズレの確認(Confirm Parts Placement)」に関して確認します。 (最後のはオプションなので、デフォルトでは無効になっていますが、ほぼ値段変わらないので、今回は有効にしています。)

    上記の設定が終われば「Confirm」をクリックして実装する部品などのデータを上げていきます。

  11. PCBAに関するデータをアップロード
  12. 最初は先の選択内容に関して表示されているだけなので、問題がなければ「Next」を押してスルーします。

    次に、「部品のデータ(BOM File)」と「部品の位置(CPL File)」を上げます。
    →このデータに関しても「production」フォルダ下にそれぞれ「bom.csv」と「positions.csv」という形で生成されています。

    データを上げた後はそのデータが正しいかの確認です。
    基本的に先の、回路図での設定で上げた「LCSC」という欄に正しいコードを入れていれば問題はありません。

    * 今回の方法では、「LCSCの欄がない」または、「LCSCの欄が無入力」の場合には、プラグインが素子を推測して、先のcsvファイルを生成することがあります。 その場合には、右側の「Select」のチェックを外すか、「Matched Part Detail」の検索ボタンで素子を変更することが出来ます。

  13. パーツの位置データの確認
  14. 最後に、先に確定させたパーツの位置データを確認します。
    ここはしっかり確認しましょう。 フットプリントのデータは基本的に素子リストにある「Easy EDAのライブラリ」を使用しない限り、向きが異なる場合が多々あります。 向きが異なる場合、素子は以下のように個別に向きを変更することが出来ます。

    素子の数が多い場合は、フットプリントを作る段階で
    ・「Easy EDA」から「Kicad」用のデータに変換
    ・「Easy EDAのライブラリ」を参考に向きを調整
    上のどちらかを行っていれば、一つ一つ変更する手間がなく、楽にこのステップを終えることが出来ます。

  15. 最後に
  16. 以上でPCBAまでの設定が終わり、カートに入っていると思います。 あとは「配送方法」や「支払方法」を選択して発注をかけましょう。

    プラグインを使用することで、「基板を初めて発注する方」、「PCBAを利用しない方」も含めて、ボタン一つで必要なファイルがすべて生成され、とても簡単に発注が行えると思います。
    この記事が、基板を発注する手助けになれば幸いです。

おわりに

最後になりましたが,Robohanの活動に対して精力的に支援してくださっているJLCPCB様に多大なる感謝申し上げます.2か月後に控えたNHK学生ロボコン2025に向けて,引き続き開発を進めてまいります.これからもよろしくお願いいたします.

支援していただいたJLCPCB様,本当にありがとうございます.