学ロボに使えるSTM32マイコンを使用したCAN通信基板

こんにちは.今回は,学ロボで使えるCAN通信専用基板についてまとめます.設計,製作は幣部の学ロボプロジェクト元リーダーです.私ではありません.

  • この記事には宣伝が含まれています.

設計思想

設計思想は設計者の言葉をそのまま引用します.(名前部分のみ改変)

この基板は、以下の理念に基づき設計されています。

  • 陳腐化しない
  • 可能な限り小型
  • 高い汎用性

 この基板の設計に当たり最も重要視したのは1番目の、陳腐化しないとの点です。ロボコンの技術は日々進化しており、特に近年では(主にブラシレスDCモーターの躍進による)モタドラ設計の大転換が行われており、回路設計を取り巻く環境は日々変化しています。

 そのため、他校の基板に見られる、マイコンとモタドラ等のロボット制御に必要なコンポーネントを同一の基板に起こすのは、弊部に取っては得策でないと判断しました。マイコン、及びマイコン駆動用の周辺部品は陳腐化しにくいものの、モタドラ等のロボットを構成するコンポーネントは比較的陳腐化しやすいからです。また、ロボコンは毎年ルールが変化し、そのため例えば去年は1chモタドラしかいらなかったが、今年は多チャンネルモタドラが必要不可欠になると行った事態の発生は容易に想像がつきます。

 そのため、絶対に必要な通信機能とその他周辺部品のみをコンパクトにまとめたマイコンボードを開発し、それをモタドラ等と容易に組み合わせる形での回路構成を提案します。具体的には、ロングピンソケットでマイコンボードとモタドラ等の学部基板を無制限に接続できる形を取ります。

 この設計思想は[設計者]の設計した基板のすべてに現れる物となっています。

 また、[設計者]はロボコンのソフトウェアアーキテクチャについて、各モーター等のコンポーネントはそれぞれ固有のマイコンにより制御され、マイコン同士が通信することで目的を達する分散型アーキテクチャが最善であると確信しています。

 そのため、通信は上記のような分散型アーキテクチャに最善と思われるCAN FD通信を採用し、マイコンは当然通信するため、マイコンボードに組み込んでいます。

とのことです.要は通信専用基板を作ればルールが変わっても共通化できるよねってことらしいです.CAN通信機能をつけた学ロボ仕様のマイコンボードを制作するといった感じでしょうか.かなりのこだわりを持って設計してくれたみたいです.

設計

回路図

マイコン

マイコンはSTM32G473を使用しています.CAN通信にはCANコントローラとCANトランシーバの2種類の制御回路が必要ですが,このマイコンにはCANコントローラの機能が周辺機器として備わっています.なので,CAN通信に必要な外部ICはCANトランシーバのみということになります.このマイコンにUSART,NRST,オシレータ,ST-Linkとの接続用のピンなどをあらかじめ設定し,余ったピンは通信回路のGPIOとして利用できるようにしています.

CAN通信

CAN通信周りの回路です.CANトランシーバは回路図中ではMCP2558となっていますが,実際にはTJA1441になると思います.CAN通信の信号線にはコモンモードチョークコイルを使用しノイズ対策を行っています.通信コネクタにはe-conを採用し,簡単に通信ケーブルが制作でき,コネクタとの接続も容易にしています.また,CAN通信には2か所終端抵抗が必要ですが,これをはんだジャンパーを使用することで簡単に設定できるようにしています.

マイコンの電源も通信ケーブルを用いて供給します.電圧は12V程度で,各通信基板上でレギュレータを用いて降圧し,マイコンに電源を与えます.

GPIO

この通信基板にモタドラやセンサーなどを接続するので,通信基板にもGPIOが必要です.コネクタとマイコンのピンを直結させて通信基板のGPIOとしています.

配線図

こちらが配線図です.基板の大きさや穴の位置は秋月D基板とそろえています.D基板はサイズが小さい点,基板サイズをそろえれば基板をカットする手間を省ける点がこのような仕様とした主な理由です.

配線や基板サイズの関係で6層基板を使用しています.

発注,制作

この基板はJLCPCBで発注しています.6層基板にすると金メッキされたりVia in Padが使えるようになります.Via in Padは部品を密に配置したい時に便利らしいです.

金色のパッドがきれいですね.

コネクタとかピン周りはまだはんだ付けしていません.

動作

なんか苦戦しているようです.
まずなぜかレギュレータが飛びました.また,書き込みに使うピンを間違えて上下反対向きになっています.そして書き込み時の電源をST-Linkから得られると思っていたらそうではないらしく,外部から電源供給しないと書き込み,デバッグが出来ない仕様になりました.CAN通信を行うときは通信ケーブルと一緒に電源が供給されますが,例えば機構や回路単体での動作確認時には不便です.
基板の形状もD基板と揃えたつもりが間違えてました.

一応外部から電源供給した状態での書き込みは成功したみたいです.

課題はたくさんありますね.

まとめ

今回は学ロボに使えるCAN通信専用基板を設計しました.本来なら使った感想とかを書くべきなのでしょうが問題点がたくさんあるので,修正出来たら回路図も含めて改めてまとめると思います.

最後に宣伝ですが,今回はJLCPCBに基板発注しました.基板だけじゃなく3DプリンタとかCNCとかも加工依頼できるらしいのでこれらもいつか使ってみたいですね.