• 締切済み

モータの制御

実験装置の一部として、ステッピングモータをクローズドループで制御したいと考えています。外部信号を取り込んでこの信号の増加、減少に応じてモータの正、逆回転、停止を制御したいのですが、このような場合どのような制御装置が必要でしょうか。通常のドライバではあらかじめ決まった動きしかできないのでダメだと言われました。よく温度制御コントローラで温度をモニターしておいて、ヒーターのON/OFFを切り替えるというものがありますがイメージ的にはああいう感じのものだと思います。ただ、ON/OFF制御では誤差が大きいのでできればPID制御したいと考えています。ちょっと小耳にはさんだのですが、光学式エンコーダというのはこういう制御に使う装置でしょうか?この辺りももし御存じの方がいらっしゃいましたらお願い致します。

noname#12472
noname#12472

みんなの回答

  • CAW
  • ベストアンサー率14% (37/257)
回答No.4

まあ確かに、ステッピングモータというのはどちらかというと オープンループで使いますね、フェーズを変えてやればちゃんと 回転角が変わっているのを期待しているというか、ただ、ステッピングモータの 大きな特徴としてとにかく低いスピードの回転に対応できるという 特性があります。そのために、低い速度での対応のために、 制御ループのうちに組み込むこともありえます。 ただ超低速回転ということを想定してPIDパラメータを設定する必要はあります。

回答No.3

ステッピングモータをクローズドループで使うより、 サーボモーターを使ったほうが簡単だと思います。

  • daitchian
  • ベストアンサー率47% (29/61)
回答No.2

こんにちは. saiwaonaoeさんの目指している目的とは ステッピングモータの動作により何らかの制御対象の 状態が変化し,その変化に合わせて今後のステッピングモータの 動作を決定していくということでよいのでしょうか? その場合,ステッピングモータの動作と制御対象の状態値との 関係(特性)をまずはきっちり知る必要があると思います. 温度制御の場合,恐らく非線形系となるのではないかと思います. PID制御は線形制御理論ですので,この非線形な特性を 補償しておかないと,PIDパラメータの決定がシビアになる可能性があります. 逆に非線形特性を把握しておけば,PIDパラメータは 教科書にのっているような手法で求めても大丈夫です. ですから,モータに対するクローズドループと考えず, システム全体に対するクローズドループと捉え, その中にステッピングモータが存在しているものと 捉えた方が良いような気がします. 光学式エンコーダというのは,一般的にモータ軸の回転位置や 速度などを知るために用いられるものであり, ロボットなどの分野では広く利用されています. モータ軸に穴(スリットと呼ばれる)の空いた円板を取り付け, その円板をフォトカプラではさんでやります. モータが回転すると光が通ったり通らなかったりしますので パルス列が出力として出てきます.そのパルスをカウントすることで モータの現在位置を知ることができますし, パルス列の周波数を調べることでモータの回転速度を 知ることができます. モータ単体の制御を考える際には利用すべきだと思いますが, 今回のケースでは必要ないように思えます. そもそもステッピングモータはパルス列を入力として 送り,そのパルス数に応じた角度分(分解能に依存する) 動作する代物ですので,オープンループで使われることが 多いと思います.

  • CAW
  • ベストアンサー率14% (37/257)
回答No.1

最終的、制御対象の現状の値と目標値は分かるのですね。 それならいわゆる指示調節計でPID演算結果による 制御量を得ることができます。指示調節計と言うと たとえばヤマタケのSDC-XXなんてやつです。 制御量はオプションでON/OFF、0-100%に対応する 4-20mA、正転逆転などが選べます。 それを、ステッピングモータメーカが出している モータコントローラの入力にあわせて選んで つないでやるということで、できるでしょう。 現在値とか制御量とか相手が期待している 1-5Vとか4-20mAにあわせたりそれのオフセットを 設定したりという必要はあります。 おっしゃるところの光学式エンコーダは回転系の 位置とか、速度、方向を与える物ですので 最終的制御対象の現在値がわかれば不要です。

noname#12472
質問者

お礼

早速の御回答ありがとうございます。指示調節計で一度調べてみます。光学式エンコーダは今回の目的と違うようですが、そもそもこれはどのようなものなのでしょうか?

関連するQ&A

  • ヒータのON/OFF制御

    ヒータの温度制御を交流電源の半波単位でゼロクロスのON/OFF制御 をしました。 100V、1500Wのヒータは制御できましたが 200V、3000Wのヒータは温度の振動が大きく失敗しました。 現象としては 目標値に達したのでOFFしても2秒ほど温度が上がり続ける。 それから温度が下がりはじめ 目標値を下回ったのでONしても2秒ほど温度が下がり続ける。 熱的に慣性が大きいようなイメージです。 結果的に温度の振動が大きくなってしまいました。 このような場合ON/OFF制御では限界でしょうか? 何か解決策となるようなアドバイスをいただけたら 幸いです。 最初はPID制御で電源の半波100個ぐらいを ゼロクロスでデューティ制御しようと思いましたが わかりやすい参考例もなく、 また調整が難しそうで断念していましたが、やはりPID制御 にすべきでしょうか?

  • PID制御のサンプリング単位と制御出力の時間間隔

    水の中にヒータを入れ、PID制御のプログラムを書いて、温度制御しています。 ヒータの通電制御はSSRなので、実際はON/OFFしかできません。そのため、1秒のうちの通電期間と非通電期間の比率を変えています。例えば、50%の出力なら、ON0.5秒、OFF0.5秒です。50Hzなら1秒を50分割するため2%単位で出力を変更できます。 通電の比率はPID制御で、1秒毎にサンプリングを行って出力を計算しています。 今まで、通電の比率を変える間隔が1秒なので、PIDによる出力量の計算も1秒単位で行っていました。PIDの計算は位置型で行っています。 ですが、速度型PID制御なら、サンプリング期間のみの出力から制御対象の変化分だけの出力を行える、と気づきました。サンプリング期間をもっと短くし、それを1秒間積算した値を1秒毎に出力すれば、もっと適切な出力になるのではないかと、、 質問ですが、PID制御のサンプリング単位と制御出力の時間間隔は、同じでなくても良いですか? 世の中の温度調節器などはどうしているのでしょう? どうぞ宜しくお願いします。

  • スッテピングモータのon/off制御

    モータの制御について調べてみたのですが、ステッピングモータのon/off制御について全くヒットしません。 もしかしてステッピングモータはon/off制御できないのでしょうか? 制御したい値がモータの回転角によりどのような変化をするかわからない(一律でない可能性あり)のであるon/off制御がしたいのです。 一度に必要な回転角は多くないのでDCモータでは粗すぎると感じ、ステッピングモータを選択しました。 モータの制御に明るい方、ご協力お願いします。

  • インバーター、モータのPID制御について

    インバータ、モータのPID制御につきまして、おしえてください。 初心者のため、的外れや、間違いあるかもしれませんが、その場合はご指摘頂ければ幸いです。 1)ステッピングモータを用いたバルブと流量センサで、流量のPID制御を行いたいと考えて います。流量センサの信号をマイコンにフィードバックさせ、目標値(目標流量)と流量センサ の測定値が同じとなるように、制御する予定です。。。予定というかPID制御したいと思っています。 この場合、ステッピングモータの操作量は何になるのでしょうか?速度でしょうか? PID制御は目標値と測定値から偏差を求めて操作量を変化させ動かすことは知っていますが、 この場合は、偏差が大きいときは、速度を速く、小さいときは速度を遅くして制御するという 認識で宜しいのでしょうか? 2)上記は流量センサをフィードバックしますが、DCモータ等では、ポテンショメータ等で位置 をフィードバックし目標開度とポテンショメータ測定開度が同じとなるように、制御する手法も あると思います。 この場合、PID制御の操作量は何になるのでしょうか。またこの操作量は変化するのでしょうか? 目標開度とポテンショメータ位置が同じになるようにモータを回すだけだと思うので、操作量 の変化というもの自体がないと思うのですが(モータを回すか回さないかのみ??)、、、、 特にステッピングモータでポテンショをフィードバック制御した場合は、指定開度でピッタシ止まる ので、操作量変化はないように思います。PID制御は偏差に応じて操作量が変化するものと思い ますが、上記のような制御は(特にステッピングモータを用いて測定値をフィードバックし制御する 方法)PID制御とは言わないのでしょうか? またインターネットで、位置型PID、速度型PIDがあることを知りましたが、どういったものか教えて 頂けないでしょうか? 3)インバータにもPID制御があると思います。その場合は回転数を制御しているものと思います。 例えばですが、流量センサをフィードバックし、目標流量と同じとなるようにポンプ周波数をPID 制御するとします。 その場合の目標流量=測定流量となるまでの周波数変化はどのようになるのでしょうか? 動き始めは、目標流量>測定流量(フィードバック値)が大きく、(例えば)100Hzとしたら、 目標流量と測定流量が近くなるにつれて、周波数はさがっていくという認識で宜しいでしょうか? (75Hz・・・50Hzといった感じに) そして、同じとなった周波数で回転数変化停止ということで宜しいでしょうか? 今一、ピンときていないのですが、目標流量と測定流量が近くなったとしても、まだ目標流量>測定流量が成り立っている場合に、周波数をさげてしまうと、逆に目標値と測定流量の差は大きく なるものではないかとイメージ的に考えてしまうのですが。。。。動きはじめ100HZで動かしている にも関わらず目標流量に到達していないところを周波数をさげてもよいのでしょうか? 的外れなことが多々あると思いますが、よろしくお願いいたします。

  • カスケード制御とは

    お世話になります。 普段、FA機器・温度調節器を使用してPID制御でヒーターを制御しているのですが、カスケード制御とゆう制御方式があると聞きました。 詳しく知りたいのですが、わかりやすいサイトなどないでしょうか。 よろしくお願いします。

  • PID制御をON-OFF制御と比較し、利点を説明

    「PID制御をON-OFF制御と比較し、利点を説明しなさい」とあるのですがよくわかりません。わかる方是非教えてください。お願いします!

  • 制約条件下でのブラシ付きDCモータの角度制御

    制約条件下でのブラシ付きDCモータの角度制御について教えてください. ブラシ付きDCモータの角度制御の制御シミュレーションをMATLABでしています.連続時間系です. 制御対象のモデルは,「印可電圧を入力,電流を出力とする1次遅れ系の伝達関数」→「電流を入力,モータ軸の角速度を出力とする1次遅れ系の伝達関数」→「角速度から角度に変換するための積分器」,および「角速度から印可電圧に負帰還する逆起電力のフィードバック信号」から構成されています. 制御構造は,電流フィードバックループ(PID制御),角速度フィードバックループ(PD制御),角度フィードバックループ(PID制御)をから成るカスケード制御系です. 制約の無い条件下ではシミュレーションが上手くいったのですが,制御入力(印可電圧)に上限値を設定するとワインドアップが発生しました.そこで,アンチリセットワインドアップ補償器を付けたのですが,制御量(角度)が目標値に収束しません.角度フィードバックループを外して,電流フィードバックループ(PID制御)と角速度フィードバックループ(PD制御)からなる角速度フィードバック制御系にすると,アンチワインドアップ補償器を付けると制御量(角速度)が目標値に収束します. なぜ角度フィードバックループを付けると,アンチリセットワインドアップをつけても目標値に収束しないのでしょうか?どうすれば収束しますでしょうか? ご教授の程よろしくお願い致します.

  • SPMSMモーター センサレスベクトル制御について

    現在、勉強&開発を兼ねてインバータで表記制御を行おうとしています。 あるインバータキットを使用おり、制御部を自在に組み込めるというものを使用してテストしています。 センサ情報はU相とV相の電流センサです。 モータの速度起電力を得るために、ある回転数までオープンループでd軸電流に一定の強い電流を流し、q軸は0[A]に制御して回します。 (位置推定がオープンループで、厳密には電流センサからd,q軸電流のPI制御はあります) ある回転数まで到達したら、位置推定の計算を開始し、センサレス制御に切り替えています。 位置推定には電流推定誤差を用いた手法で計算しています。 (dq軸とδγ軸の角度誤差を0にするように制御、モータの速度起電力を元に計算) 今困っているのが、オープンループ制御で回してセンサレス制御に切り替えた時にモーターがなぜか逆転してしまいます。 もちろん逆転するときにはモーターは一旦0[rpm]で停止して逆転を開始します。 ですので引き込みきれず、脱調する場合も多々あります。(ゲイン調整が悪い可能性もあるかと思いますが・・・) 考え付くのはIPMへのPWM信号がどこかで逆転している、電流センサの読み取りが反転しているorU相、V相が振り変わっている?? ただ、これらの場合はオープンループ制御と呼んでいますが、d,q軸のPI制御があるので仮にどこか振り変わっていたらとても始動しないのでは?と思っています。 乱文申し訳ありませんが、原因、考えられることをご教授いただきたく、よろしくお願いします。 (専門の方が見られたら情報が足りない、表現がわからない等あると思いますのでご指摘下さい)

  • こういう制御方法を何と言いますか

    ヒーターなどを100%通電すると能力が大きすぎるためある比率でON/OFFします。8/3とか7/10など正弦波いくつ分のいくつをONする方法をデューティー制御といい、分母にあたるところをデューティー周期というと思います。 これに対し、0~1の任意の実数比率(αとする)で制御する方法です。 アルゴリズムで説明すると次のようになります。 合計を記憶する変数Sを準備し、各正弦波周期ごとにS=S+αを実行します。 Sが1を超えたサイクルはヒーターをONし、Sから1を引きます。 Sが1未満であればヒーターをOFFします。 これで任の比率αでヒータの通電量を決めることができます。デューティー周期のようなものは存在しません。 このような制御方法に名前はありますか。

  • シーケンス、クローズドループ、オープンループの違…

    シーケンス、クローズドループ、オープンループの違いについて 熱帯魚水槽で水温を一定に保つ場合に用いられるものに、ヒーターとサーモスタットの二種類があるというケースで。 ・この場合、サーモスタットは水温を常に監視して自動的に温度調整を行っているのでシーケンス制御と言って良いのですか?それともこれはクローズドループ制御になるのでしょうか? ・また、ヒーターの場合は、常に加熱するか一定時間おきに加熱するような制御なのでクローズドループ制御になるのですか?それともこちらがオープンループ制御になるのか? 表題の3つの違い、いろいろググったり、ウィキったりしてるのですが、いまいち漠然としか理解ができません。 また、「次のうちクローズドループ制御を使用しているものを全て選びなさい」といわれた場合、どれが当てはまるのでしょうか? 焚き火、ファンヒーター、ステッピングモーター、サーボモーター、工業用切削機 どなたかアドバイス、ご教授のほどよろしくお願いいたします 稚拙な質問でしたが、こんなにたくさんの皆様からアドバイスを頂戴できましてまことに嬉しく思います。 本当に皆様ありがとうございます。 正直、今も頭の中でまだまとまってないのですが、皆様のアドバイスを元に、自分なりに結果を求めたいと思います。 ※何人かの方からもご指摘あるとおり、学校の宿題です。本来このような工業系の専門職の方々がたくさん投降するような場での質問に相応しくなかったかもしれません、すみませんm(__)m