Motor Profilerを用いてモータのパラメータ同定が可能.
STのモータ制御系設計ソフトウェア,GUIでの提供あり
5.4.2でまともにモータ回るようにはなった(手持ちのアイテムに関しては)
CubdIDEでDebugビルドとreleaseビルドの設定ができるようになった.
stm32G431CBに関して間違ったクロック設定が出力されていた模様,8MHzに設定しても実際は24MHzが出力されていた模様.
この問題も修正され,B-G431-ESC1がちゃんと動くようになった.
しかし依然としてデフォルトのFOC rateだ演算が間に合わないのが「FOC duration」faultが結構発生する.
ただ,手持ちのモータの電気時定数が小さすぎるゆえ,PWM周波数が大きくなりすぎるのかもしれない.
F0の場合,FOCは10kHzくらいが限度だけどデフォルトだと30kHzくらいになる.これでモータを回そうとしたら「FOC duration」faultが発生した.
位置制御はMCWorkbenchの画面からなにかできることはなさそう?
デモコード移植を頑張ってみよう.
CubeMXのパスの設定がミスっていると生じる
Workbench generating incomplete source
そういえばF0ってextiペリフェラルって使えたのだろうか?MCWorkbenchからコードを出力すると「stm32f0xxhalexti.h」が無いとエラーが出る.
しかし探してみると,ヘッダファイルは見つかるがソースファイルは見つからない.
過去のCubeF0の中身も見たけど,ソースファイルは存在しない模様.
全く同じ質問飛ばしている人がいた.
What is the reason for compile errors with STM32CubeIDE for STEVAL-SPIN3201 and STEVAL-ESC001V1 sample programs that are unable to find modules even though the libraries with the "missing" modules are in the includes?
Ver.5.4.2からCubeIDEへのプロジェクトの出力が可能になった.
STSPIN32F0の場合,最適化オプションを1以上にしないとコードサイズがオーバーするので注意,-O0
はだめっぽい
やはり処理能力が低いため,F0はそこまで高い周期での処理は無理そう.
リリースノートを読んでると,18kHz以上にするとソフトウェアエラー出ることがあったから修正したと書いてある
最新のやつじゃなくてすこし古い資料を参照してみると,F0のFOC更新レートは~11kHzと書いてあったので,PWM周波数を20kHzにして,Exceution Rateを2にしてやったら一応回った.ボタンでコマンド投げてもちゃんと変更できた.
16kHz,Rate 1 でも周りこそしたけどMCWorkbenchの通信が切れるので微妙だった.
一応回るソースを作る手順が見つけられたみたいなので,今後のベースにしよう.
ホールセンサモードやろうと思ったら回らなかった.ホールセンサは相をちきんとあわせないと回らないのでそれかと思ったけど,以前行ったハンダ付けがミスっていることが発覚した.これを先に直そう.
なお,センサつけると強制転流はなくなるので立ち上がりが早くなることに期待.
強制転流?の期間の立ち上がりをとにかく減らす.
ランプアップをとにかく減らす.
I制御のアンチワインドが実装されているのかわからないくらいには戻りが遅い
使用モータ : MaxonMotor EC-4pole_488162
センサを有効にしてわかったけど,センサが有効だと強制転流シーケンスは存在しないのでステップで立ち上げ可能(そりゃそうか)
MCSDKの出力するコードの内部で4逓倍しているので,エンコーダのカウント値はそのまま入力すればよい.
エンコーダつないでうまく回らないときはAB相の入力を入れ替えてやると解決することがある.Motor + encoder not spinning in Motor Control Workbench Monitor
ホールセンサを使う場合,モータの相とホールセンサの相をきちんと合わせること.