- 締切済み
離散化したP制御
サーボモータの速度制御をc言語で行いたいです. http://www.picfun.com/motor05.html ↑のページを参考にして以下のように考えましたが うまくいきませんでした.プログラム中の変数は, ・vel_ref:希望速度指令値 ・vel_fb :モータからのフィードバック速度 ・ref_now:モータへの速度指令値 としました.ゲインや必要な変換定数は書いてありませんが,アルゴリズムとして評価いただければ幸いです.制御に詳しい方のご指導がいただければうれしいです.よろしくお願いします. vel_err = vel_ref - vel_fb; delta = Kp*(vel_err - vel_err_old); ref_now = ref_old + delta; ref_old = ref_now; vel_err_old = vel_err;
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- goo_taro1982
- ベストアンサー率0% (0/0)
回答No.2
- foobar
- ベストアンサー率44% (1423/3185)
回答No.1
お礼
早速の御回答ありがとうございます. ref_nowはモータへの速度指令電圧です. 私もfoobarさんの言われるように ref_now=Kp*(vel_ref - vel_fb); で一度組んでみたところ,vel_refとvel_fbが一致しません(2倍程度違います).何か問題があるのかと疑問に思いながら上記のページを参考に組みなおしてみました.おそらく上記のページでは,PIDを前提に書かれているかと思います.ですから単純にP制御でよければfooberさんの方法でいいはずですよね. おそらく他の部分に問題がありそうです. もう一度他の部分をあたってみます.ありがとうございました.