1.はじめに
スタッフのみやけです。
ブラシレスDCモーターのうちのひとつに、mjbots Robotic Systems社のから販売されている、moteusというモーターがある。
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 PICO | pin | MCP2517FD | pin | MCP2542 | pin |
|---|---|---|---|---|---|
| SPI0・RX | 1 | SDO | 12 | ー | |
| SPI0・CSn | 2 | nCS | 13 | ー | |
| SPI0・SCK | 4 | SCK | 10 | ー | |
| SPI0・TX | 5 | SDI | 11 | ー | |
| 3V3 (DC3V OUT) | 36 | VDD | 14 | ー | |
| GND | 38 | VSS | 7 | VSS | 2 |
| VSYS (DC5V OUT) | 39 | ー | VDD | 3 |
4.評価用ソースコード
| ArduinoIDEに組み込んだ機能 | 適用バージョン |
|---|---|
| ライブラリ・moteus-Arduino https://github.com/mjbots/moteus-arduino | 1.0.2 |
| コンパイラ・RP2040/RP2350 | 4.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指定値まで 加速して回転したままになる |
| ↑(同上) | ↑(同上) | ↑(同上) | 代入しない | 異常 | 指定速度よりも遅い |
6.考察
- PICO1
- 位置決めだけに使うのであれば、使用可能
- 速度指定の回転には不適切
- PICO2
- 位置決め、速度指定の両方に、使用可能
- 使わない側の設定値は「NaN」を代入すること
7.まとめ
moteusのArduinoライブラリは、RaspberryPi PICO2で使用可能
