bambi_RCJのブログ

ロボカップジュニア / エンジニア

JLCPCBに発注した基板の紹介

はじめに

2024年度のロボカップジュニア・サッカーオープンリーグに参加するロボットに搭載される基板を紹介します。省スペース化、軽量化のために初めてチップマイコンやチップ抵抗を実装したり、 JLCPCBのPCBAサービスを活用して部品の実装をしてもらうなど、初めて挑戦したことが多い基板です。

今回の基板は下の写真のようなA4くらいのサイズの箱で家に届きました。基板はもちろんのこと、箱にも目立った傷はなく、非常に丁寧に梱包・運送されているんだと思います。

基板紹介

下ユニット

メイン基板

メインマイコンにはSTM32-F446REを採用しました。このマイコンは、180MHzと速いクロック速度を出すことができ、6つのUARTのチャンネルを持ち、周辺回路がコンデンサ・抵抗器だけで非常に少なく済むという理由で採用しました。Nucleoを使うよりもチップ実装した方がかなり設計が楽でした。他のマイコンとは全てUARTで通信しています。

IMU基板

ジャイロセンサはMPU6050を使用しています。MPU6050内蔵のDMP機能を使用することで、簡単にyaw軸のデータを取得することができます。メインマイコンにI2Cを接続するのはフリーズのリスクがあり不安だったので、ATmega328pでMPU6050の値を取得して、UARTでメインマイコンに送信しています。

2*3のピンソケットはArduinoブートローダーを書き込むために用意しましたが、ブートローダー書き込み済みのマイコンを半田付けするのであれば使わないので、正直いらなかったかもしれません。

モータードライバ基板

モータードライバICには秋月電子で売っているTB67H450FNGを採用しました。HSOP8パッケージとかなり小さいですが、最大電流3.5Aと、使用しているモーターのストール電流(3A以下)よりも大きいので定格は守っています。(定格は余裕を持った方がいいです)

電源のコネクタは前年度機体までVHコネクタを使用していましたが、2pinのVHコネクタはグラグラしていて不安だったので、XT30コネクタに変更しました。コネクタの信頼性は大切だなと感じました。

キッカー駆動基板

DCDC昇圧モジュールにはAmazonで買ったMT3608を使用しています。おそらくICが偽物なのですが、ちゃんと35Vまで昇圧してくれているので問題ありません!(問題大有り)

キッカーの駆動にはNchMOSFETを2つ使用しています。ひとつはコンデンサへの充電のON/OFF、もうひとつはソレノイド駆動のためです。ソレノイドを動かすときは、かなりのノイズが発生するので完全に他の回路と遮断できるようにしています。

↓これは設計ミスで動作しないので部品未実装です。

電源基板

主な機能は、5V・3.3Vの生成、電圧の監視、逆接保護です。DCDCコンバーターには村田製作所のOKL-T/3-W5N-Cを使用しています。

バッテリーのコネクタはタミヤコネクタを使用していましたが、接触不良でマイコンがリセットされることが多かったので、XT60コネクタを採用しました。繰り返しになりますが、コネクタの信頼性は本当に大切です。

また、今回は物理電源スイッチではなく、PchMOSFETのハイサイドスイッチを採用しました。物理スイッチの方が望ましいですが、大電流が流せるのと基板の小型化のためにMOSFETを選びました。

ラインセンサ基板

24個の円型と左右それぞれ3個のフォトセンサが搭載されています。どんな環境でも動かすことができるようにすべてのセンサをアナログで読んでいます。F446REのアナログピンの数では足りないのでマルチプレクサ(TC4052BP)で枝を生やしています。この数のフォトセンサとLED、チップマイコンを実装するためにはJLCPCBのPCBAサービスは必須です。

↓これも設計ミスで動作しないので部品未実装です。

上ユニット

LiDAR基板

TofセンサのVL53L0Xを16個搭載しています。ロボットや壁を認識して面白い動きができたらなと思って実装しました。このセンサも通信規格がI2CなのでLiDAR処理専用のATmega328pを乗せています。

普通は同じI2Cアドレスのセンサは複数接続できませんが、それぞれのセンサのXSHUTピンにデジタルピンを接続し、起動時に全てのセンサのI2Cアドレスを書き換えることで16個同時に値を取得することができます。

カメラ基板

Sipeed m1nを4方向に乗せていています。4つのカメラから得た情報をSTM32-F446REで計算してマインマイコンにUARTで送信しています。

LiDAR基板とUI基板の中継の役割もしています。

↓これも設計ミスで動作しないので部品未実装です。

UI基板

ディスプレイはいつも通りSSD1306を採用しました。スイッチは12mm角の大きいものを3つ乗せています。UIが複雑なのは嫌だったのでシンプルな構成にしました。

Root41さんのロボットを見ていて憧れていたNeoPixelを自作しました。円型のラインセンサ、ボールの角度、LiDARなどの情報を円型に表すことができるとかなり開発が捗りました。この基板はカメラの上にあるため、カメラ開発の妨げになることはありません。しかし、他のロボットからは認識されてしまうので、試合中は光らせることができません。

JLCPCBについて

JLCPCBは中国にある基板製造メーカーです。私は以前、プリント基板制作は小さなものでも非常に高価になるという印象がありました。しかし、JLCPCBでは最安$2から基板を発注することができます。国内ではこんなに安く基板発注をできるサービスはおそらくないでしょう。

さらに、JLCPCBは基板作成だけでなく、部品実装(PCBA)、3Dプリント、CNC加工などのサービスも展開されています。これらも非常にお手軽な価格になっています。

新規ユーザーには$54クーポンも貰うことができます。

↓公式サイト

PCB Prototype & PCB Fabrication Manufacturer - JLCPCB

↓発注方法の動画

JLCPCBへの発注方法 - YouTube