
概要
しばらくぶりのアップデートとなる、STEPシリーズ共通ファームウェアのバージョン 2.0.0 を公開しました。
https://github.com/ponoor/step-series-universal-firmware/releases/tag/v2.0.0
このバージョンでは、指示値に対するモータの挙動の誤りを修正したほか、サーボモードの安定性などを改善しています。
ただし、同じコマンドを送った場合でも、旧バージョンと動作が異なる場合があります。特に、加減速の挙動が異なるほか、サーボモードの追従特性に変化が生じる可能性があります。
ファームウェアを更新される際は、以下の変更点をご確認ください。
主な変更点
1. 加減速度・速度計算の修正
これまで、内部で使用していた変換係数に誤りがあり、実際の加減速挙動が指示値の物理量と一致していませんでした。
今回、以下の通り数値を修正しました。
| Register Name | 修正前 | 修正後 |
|---|---|---|
| ACC / DEC | 0.137438 | 0.06871948 |
| INT_SPD | 4.1943 | 16.777216 |
| SPEED | 67.106 | 67.108864 |
※ INT_SPD は従来からレジスタ値を直接指定していたため、実動作への影響はありません。
加減速度の変化
旧バージョンでは指定値より約2倍速く加減速していました。新バージョンでは正しい値に修正されたため、同じ設定値で動かすと加減速に要する時間が約2倍になります。
速度の変化
/run コマンドで指定した速度が、以前よりもごくわずかに速く動作するようになりました。
背景
これらの係数は SparkFun_AutoDriver_Arduino_Libraryに由来しており、STEP400/800用のPonoorライブラリ群でも同様に引き継がれていました。

今回は数値修正をライブラリに対して行っています。すなわち、加減速やスピードに関する修正についてはSTEP-series Universal Firmwareのコード内部ではなく、参照されている各ライブラリのバージョンを変更することによって行われています。
Arduino IDEを使用されている方は、ライブラリマネージャーから Ponoor L6470 / PowerSTEP01 Library を最新版に更新してください。
PlatformIOでは自動的に新バージョンが読み込まれます。
2. ステータス取得およびサーボモード計算周期の見直し
モータドライバのステータス取得や、サーボモードでの追従制御において、MCUの計算能力に対して周期が短すぎる設定となっていました。
そのため、OSC通信などの負荷が増えると計算周期が乱れ、動作の一貫性が損なわれる場合がありました。
新バージョンでは、MCU性能に合わせた現実的な周期設定に変更し、サーボモードの安定性を改善しています。
これにより、OSC通信の影響を受けにくく、より一貫したモータ動作が期待できます。
アップデート時の注意点まとめ
- 加減速が遅くなるため、必要に応じて設定値を約2倍に調整してください。
- サーボモードの追従挙動が変化する可能性があるため、PIDパラメータを再調整してください。
- Arduino IDE使用時は、関連ライブラリを最新版に更新してください。