moteus BLDC を RaspberryPi PICO でいごかす

1.はじめに

スタッフのみやけです。

ブラシレスDCモーターのうちのひとつに、mjbots Robotic Systems社のから販売されている、moteusというモーターがある。

mjbots Robotic Systems

moteus-Arduinoというライブラリが提供されている

対象は、Arduino Leonardo、Teensy

RaspberryPi PICOで動くか試行する

2.moteusブラシレスモーターとは

ブラシレスDCモーターです。

https://github.com/mjbots/moteus

https://github.com/mjbots/moteus-arduino

3.接続・配線

基本回路の参考:MCP2517データシート・p.4 より抜粋

RaspberryPi PICOpinMCP2517FDpinMCP2542pin
SPI0・RX1SDO12
SPI0・CSn2nCS13
SPI0・SCK4SCK10
SPI0・TX5SDI11
3V3 (DC3V OUT)36VDD14
GND38VSS7VSS2
VSYS (DC5V OUT)39VDD3
RaspberryPi PICOとMCP2517FD間のピン接続

4.評価用ソースコード

ArduinoIDEに組み込んだ機能適用バージョン
ライブラリ・moteus-Arduino
https://github.com/mjbots/moteus-arduino
1.0.2
コンパイラ・RP2040/RP23504.2.0
評価に使用した各種ライブラリのバージョン

5.結果

いずれも制御モード「POSITION」

マイコン
種類
運転cmd.velocity
の値
cmd.position
の値

制御の
成否
実験中の
気付き
PICO2位置決め0.0任意のfloat値良好〇
↑(同上)↑(同上)NaN↑(同上)良好〇
↑(同上)↑(同上)代入しない↑(同上)良好〇
↑(同上)速度指定任意のfloat値0.0異常指定速度よりも遅い
↑(同上)↑(同上)↑(同上)NaN良好〇
↑(同上)↑(同上)↑(同上)代入しない異常指定速度よりも遅い
PICO1位置決め0.0任意のfloat値良好〇
↑(同上)↑(同上)NaN↑(同上)異常ほぼ回転せず
その場で振動
↑(同上)↑(同上)代入しない↑(同上)良好〇
↑(同上)速度指定任意のfloat値0.0異常指定速度よりも遅い
↑(同上)↑(同上)↑(同上)NaN異常limit指定値まで
加速して回転したままになる
↑(同上)↑(同上)↑(同上)代入しない異常指定速度よりも遅い
moteusの制御

6.考察

  • PICO1
    • 位置決めだけに使うのであれば、使用可能
    • 速度指定の回転には不適切
  • PICO2
    • 位置決め、速度指定の両方に、使用可能
    • 使わない側の設定値は「NaN」を代入すること

7.まとめ

moteusのArduinoライブラリは、RaspberryPi PICO2で使用可能

A.参考資料

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です