開ループ伝達関数

ブラシレスモータ用制御部の設計をしている。お客様とは長い付き合いで、今回の機種では、位置検出器の分解能を上げてほしいとの要望である。

モータは同じで、位置検出器の分解能が上がったので、開ループ伝達関数を同じに保つため、ゲインの配分を変更する必要がある。

しかも、速度ループの開ループ伝達関数、位置ループの開ループ伝達関数をともに前の機種と同じに保ち、かつ、制御器のゲインニューニング感覚も同じようにしたい。

半日くらい考えていた。

実装して(コーディングは、お任せしているが)デバッグを始めたところ、「動作がおかしい」と、お呼びがかかった。

位置検出器データの下位をマスキングして、以前の機種の制御構造に戻すと動作が良くなる。

位置ループを切って、速度指令を入れて、動作を評価する。

速度PI制御器のI項(積分項)をなくして、速度制御を行う。

速度ループを切って、速度指令を入力して、トルク指令を観測する。

再度、速度PI制御器のI(積分項)を入れて、トルク指令を観測する。

等々。

約1日、デバッグにかかった。

時間かけすぎだが、わかった。位置検出器データのビット数が増えていたので、オーバーフローしているところがあった。そのほかにも何点かバグがあって、わかりにくくしていた。

組込機器のネガティブフィードバック制御のデバッグは、中の状態が連続時間で観測できないので、時間がかかる。

仮説を立てて、検証を繰り返す。論理的思考、発想力が勝負。