,

STEP Series Universal Firmware 2.0.0 リリースのお知らせ

概要

しばらくぶりのアップデートとなる、STEPシリーズ共通ファームウェアのバージョン 2.0.0 を公開しました。
https://github.com/ponoor/step-series-universal-firmware/releases/tag/v2.0.0
このバージョンでは、指示値に対するモータの挙動の誤りを修正したほか、サーボモードの安定性などを改善しています。

ただし、同じコマンドを送った場合でも、旧バージョンと動作が異なる場合があります。特に、加減速の挙動が異なるほか、サーボモードの追従特性に変化が生じる可能性があります。

ファームウェアを更新される際は、以下の変更点をご確認ください。


主な変更点

1. 加減速度・速度計算の修正

これまで、内部で使用していた変換係数に誤りがあり、実際の加減速挙動が指示値の物理量と一致していませんでした。

今回、以下の通り数値を修正しました。

Register Name修正前修正後
ACC / DEC0.1374380.06871948
INT_SPD4.194316.777216
SPEED67.10667.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使用時は、関連ライブラリを最新版に更新してください。
Back to top