はじめに
こんにちは,じゃにです.
今回は前回のPCBA発注に続き,JLCPCBでPCBAを発注したのでその基板についての記事です.
今回は,Raspberry Pi Pico 2Wが載った基板を設計し,Raspberry Pi Pico 2Wも含めてPCBAしていただきました.
※この記事はJLCPCBの提供でお送りします.
WARNING
記事内の回路構成や、コードを用いて発生した損害について、筆者は一切の責任を負いません.
JLCPCBについて
JLCPCBは,香港に本社がある基板製造の会社です.
すでに多くの人が知っているかもしれませんが,100mm×100mm以下の2層基板であれば,2ドルで製造していただけるなどとても安く高品質な基板を手に入れることができます.
基板以外にも,JLC3DP,JLCCNC(CNC加工、板金加工)などの機械加工サービスも提供されています.
私も高専時代から基板を何度も発注してきましたが,大学4年生になってから初めてPCBAを発注しました.
基板が届いてから,チップ部品を実装していき自分で基板を完成させる過程も楽しいですが,届いてから基板がすぐ使える状態だとかなり楽で,すぐに基板の試験に入ることができ,最近はかなりお世話になってます.(記事にしてない基板でもPCBAを利用しています)
↓初めてPCBAを発注した時の記事
↓PCBAで使用する部品はこのページから探しています
今回は発注した基板のうち2枚にPCBAをお願いしました.(5枚すべてPCBAしてもらうとかなり高額になったので...)
今回発注した基板
今回発注した基板は,Raspberry Pi Pico 2Wを搭載した趣味ロボットのメイン基板です.
ロボットの制御用にCANやi2C,UART用の通信ポートを引き出しています.また,電源のスイッチング機能も搭載することでこの基板を載せるだけで簡単にロボットを動かせることを目指しました.
また,スイッチやディスプレイも搭載し簡単なUIとして使用することを想定しています.
この基板は知能ロボコンに出場するロボットに搭載する予定で開発をしています.
基板詳細
回路図
回路図を示します.


枠内にすべて入らなかったので一部が枠外にはみ出しています.
機能
- 駆動電源スイッチング機能
- VSYS供給電源切替回路
- CANバス ×2
- UART,i2C 各1系統
- 通信用XAコネクタ電源の3.3V / 5V切り替えスイッチ
- ユーザーボタン ×4
- ディスプレイ搭載
- ブザー
- GPIO連動LED
【駆動電源スイッチング機能】

Pch MOSFETを使ったハイサイドスイッチ回路です.
↓使用したMOSFET
ちょうどよさげなMSOFETを選定しました.もともと自分が使っていた電源のスイッチング回路はNch MOSFETを使ったローサイドスイッチでしたが,今回からハイサイドスイッチに変更しました.
XAコネクタの3,4番ピンに非常停止スイッチを接続します.「EM_FLAG」にはマイコンのGPIOを接続し遠隔非常停止機能を使えるようにしました.「EM_FLAG」がHIGHの時は駆動電源がONになって,LOWの時は駆動電源がOFFになるという動作です.SW1でトランジスタのベース「Tr_B」の接続先を切り替えることで,非常停止スイッチ自体の有効/無効を切り替えます.
【VSYS供給電源切替回路】
パワーマルチプレクサを使用した,VSYSへの供給電源を切り替える回路です.
DCDCによって駆動電源から降圧した5Vと,USBのVBUSのどちらをVSYSに供給するかを切り替えます.USBが接続されているときは,USBが優先されるようになってます.
USBのVBUSが実測で5.1V程度,DCDCから出力される電圧が5Vです.この素子はPR1>CP2の時にIN1の電源が優先されるので,PR1>CP2となるように分圧しています.
↓素子選定の際はこちらのブログを参考にしました.
使用しているDCDCが3A出力できるもので上記ブログよりも大きな電流を扱えるものを探して以下のものを使用しています.
↓使用したパワーマルチプレクサ
パッケージが小さいため自分では実装したくないです.PCBAできれいに実装していただきました.

↓使用しているDCDC
小さいサイズ(17.5mm×12mm)で30V入力することができ,出力も3Aと大きいです.研究室の先輩に教えてもらって使ってます.これがメインの基板ということで,ほかの基板に対して5Vを供給することもあるため出力に余裕があるものを載せています.
【CANバス×2】

いつも通りのCANトランシーバーを2個載せています.今回の基板はCANの根元でこの基板をCANが通り抜けること(表現があってるかわからない)はないので以前の基板のような終端抵抗のON/OFF切替スイッチはついていません.片方のCANバスがXT30PW(2+2)コネクタ,もう片方のCANバスはXAコネクタから出力しています.
↓使用しているCANトランシーバー
前回の基板を発注した際は在庫切れになっているものしか見つけられなかったのですが,今回の基板を発注するにあたり再度探したところ,XT30PW(2+2)も見つけたのでPCBAしていただきました.
基板図
深い意味はないですが,基板サイズは秋月のユニバーサル基板 Bタイプと同じサイズです.
設計ミス
設計ミス① GNDベタの未接続
いつもGND以外を配線して最後にGNDベタをして発注しているのですが,GNDを配線していない状態でGNDベタをすることによってGNDベタ同士が接続されずに結果として浮いたGNDが基板上にできていました.DRCをしただけで満足してその結果をよく見直さずに発注したためです.いつもの基板より規模が大きいのでいつもより念入りにチェックしておくべきでした.
図示しようかと思いましたが,思ったより大変そうだったのでやめました.
設計ミス② SPIピンの接続ミス
まず,ディスプレイの回路を以下に示します.

MOSIはGPIO22に,SCKはGPIO28に接続されています.次にraspberry pi picoのピンアサインの画像を示します.
GPIO22,28はどちらもSPIのピンではありません,そういうことです.
回路図を書いていた初期に仮でGPIOを配置して後から調べようと思ってたらそのまま配線してしまってました.
PCBAの感想
今までは抵抗,LEDやCANトランシーバーなどそういう「素子!」みたいなものしかPCBAで実装してもらってなかったのですが,今回初めてマイコンボードを実装してもらいました.手元に2個しかなく,自分で裏面含めて実装した際にミスって壊したらいやだなって思ってPCBAをお願いしました.

USBのデータ線やVSYSを通すために一部のGNDパッドを削除して変則的なフットプリントになっていますが,USB-C経由でしっかり書き込むことができてしっかり裏面のパッドのはんだ付けできていそうでした.
動くので全く問題ないのですが,少しはんだ付けの見た目は気になりました.自分でちょっと手直ししようと思ってます.

まとめ
今回もきれいに基板を製造していただき,部品の実装ミスなどもなく素晴らしいサービスでした.
今回設計ミスがあった点は,次回の発注の際に修正を済ませる予定です.
おまけ
Robomaster C610とM2006を使うのに慣れていたら,それらを使っていない状態で駆動電源を入れた時に「ティロリ~♪」が聞こえないと少し寂しいのと本当に駆動電源が入ったか一瞬迷うことがあります(?).
この基板には,駆動電源の状態を読む用のフォトカプラを載せており,マイコン側で駆動電源のON/OFFがわかるようになっているのと,ブザーが載っているので,駆動電源がONになったらあの音が鳴るようにしました.

















