【自作ロボットROS2化】モーター周り構成変更 はじめてのプリント基板作成(ラズパイ5-L298N中継基板)

どうもこんにちは、
今までロボットのDCモーターを駆動させたり、回転数を取得するために、RaspiPICO+KITRONIK-5331を使っていたのですが、そもそもメインボードにラズパイ5を使うなら、直接モーターからの信号を受けて回転数を計算したり、もっと安価なモータードライバーを使ってPWM出力すればよいのでは?と思い、構成を変更してみました。
構成概要
変更前
変更前は、RaspiPICO+KITRONIK-5331とラズパイ5をUARTで接続し、回転数取得やモーター起動指示を送ってました。

変更後
安価なモータードライバーL298Nを使い、ラズパイ5で直接、エンコーダーからの信号を受け回転数を算出します。モーター出力は、安価なモータードライバーL298Nを使用しモーターを動かします。
なお、ラズパイ5とL298Nを中継するためのプリント基板を新規に作成しました。

プリント基板作成
L298Nとラズパイ5を中継するための基板を作成しました。
初めてのプリント基板作成でしたが、KiCadというツールを使えば割と簡単に作成できました。
KiCadを使った大まかな流れは以下です。
・回路設計&回路図の作成
↓
・シンボル(回路図記号)にフットプリントを割り当てる
※フットプリント・・・部品の形状
↓
<PCBエディターで作業>
・配線パターン、レイアウトの作成
↓
・製造用データに出力
↓
・基板メーカーへ製造依頼
今回作成した回路図は以下です。
基本的に、ラズパイのGPIOとモーターのエンコーダー信号線、L298Nをつなぐシンプルな構成です。

基板メーカーは、「Fusion PCB」で発注しました。
Fusion PCB
やっぱりちゃんと基板を作ると配線がスッキリして良い感じです。

動かしてみる
実際にハード構成を変更し、ラズパイ5のソフト側もUART通信ではなく、GPIOを使うように変更しました。
実際に動かした動画が以下。(障害物回避も安定してできるようになってきました)↓
UARTで通信していたときよりも、モーターオドメトリの精度がかなりUPし、自己位置推定も安定するようになってきました。
やはりハード構成は走りに影響しますね。
プリント基板も思ったより簡単にできたのでよかったです。
それでは!
スポンサーリンク





