DCモータのプログラムと回転制御について

このQ&Aのポイント
  • DCモータのプログラムを作成して回転させるが、一定に回転しない
  • データを書き出し、エクセルで処理して再度プログラムに組み込む必要はあるか
  • 回転数の制御にこだわる必要性についての意見を求める
回答を見る
  • ベストアンサー

DCモータのプログラム

全くの初心者で申し訳ありませんが、 大学の研究で実験を行なうための準備で、あるプログラムを組んで、モータを回転させるようにしたのですが、その回転というのは正確には一定には回転してませんよね。(PID制御が働いて、回転しすぎたならば少し回転数を落とすとか) そこで、そのデータ(座標や速度)を書き出して、エクセルでデータを書き直して、再度プログラムの中に入れ直してモータをきれいに回転させる、といった操作は必要なのでしょうか。 自分としては、そこまできれいな回転をさせなくても、せっかく制御とかして入力した回転数で回転しているのに、そこまでする必要はないと思うのですが。 よくわからない文章でなってしまい、大変申し訳ありません。ご意見をお聞かせいただければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • Pesuko
  • ベストアンサー率30% (2017/6702)
回答No.2

>ガタガタした曲線なわけです たとえばXが時間軸 Yが回転数として サインカーブで制御しているのにカーブではなく階段状に変化しているという意味ですね。 (PIDは関係ないような・・) 制御している単位時間が短いだけでしょう。 たとえば1秒毎に回転数を上げれば1秒単位に階段状になるのは当たり前。 回転をあげる単位を0.1秒にすればかなり改善されるはず。 (通常制御系では0.1秒でも遅いと思うけど) 俗に言う円弧補間に近い処理をするなら処理系の単位時間が遅いだけだと思います。

typhoon1207
質問者

補足

再度の返信ありがとうございます。 よくわかりました。 言い忘れてましたが、円補間による2軸制御とか、先生が言っていました。 なにしろ、プログラムがN88BASICで動いているので、先生にしか、その先生もよく憶えていないらしく、PID制御が働いているから回転数が大きくなりすぎたら、その分制御しているんだと言っていたので、鵜呑みにしていました。

その他の回答 (1)

  • Pesuko
  • ベストアンサー率30% (2017/6702)
回答No.1

>操作は必要なのでしょうか 必要かどうかは目的によりますから、解らないとしか言いようないような。 PIDは必要なんでしょ。 到達点までに回転制御しないといけない訳ですよね。 >エクセルでデータを書き直して かなり時間的な遅れが出ますがその程度でいいのでしょうか? PIDの回転変化を止めたい? 目的がわからない。

typhoon1207
質問者

補足

御返事ありがとうございます。 言っている意味がわからなくて申し訳ありません。 目的はsin曲線でモータを回転させたいのです。 そのとき、その曲線の波形はきれいな曲線ではなく、ガタガタした曲線なわけです。そのガタガタをPC内で数値として出力させてエクセルで座標を見ると、確かにx座標が増加するにつれて、y座標も増加するはずなのですが、x座標がある部分では減少している部分もあるわけです。しかし、それは制御が働いてそうなっているわけで、そのガタガタはある意味仕方ないことなのではないかな、と思うわけです。

関連するQ&A

  • DCモータのPWM制御について

    DCモータのPWM制御について 会社の課題で、DCモータ(5W程度)の回転数をPWM制御によってコントロールするという物が出ました。 また、制御の条件として (1)ボリューム等によって回転数を0から最大まで可変できること。 (2)正転、逆転ができること。 (3)回転速度の補償をすること(回転数フィードバックあり) 上記以外の仕様は自由。マイコンの使用はOK、ただし市販キットによる代用は不可。 というようになっています。 当方は電気系の学科を卒業していますが、電子工作の経験はあまりありません。 なので1から勉強しなおしたいので、上記の制御について詳しく書かれている書籍・サイトをお教え 願えないでしょうか。(できれば回路図まで載っているものを) 電子工作をする上でのアドバイスも歓迎します。 特に(3)に関しての情報が欲しいです。タコジェネレータとPID制御を用いればよさそうなことはわかりますが・・・。

  • DCモータについて

    現在、コンピュータでモータを制御する実験をしています。 20キロの重さのものを車輪で動かそうとしています。 動かしたい速さは人が小走りするくらいの速さです。 モータは、下の電動アクチュエータから取り出したものを使っています。 http://www.matoba.co.jp/jap/actuator/lam-7314.html 一応このアクチュエータのギアの機構(モータの回転する軸にギアのみぞが彫られていて、それと直交する感じで大きなギアに力を伝えている。)をそのまま使い動かすことはできました。 しかし満足のいく速さを満たすことができませんでした。 電源はDC24Vを使っているのですが、モータの回転の速さを上げたいのですが、どうしたらよいのでしょうか?? 電源は自作したものをもらったのですが、単純にボルト数をあげれば済むことでしたら、どのようなものを手にいれればよいのでしょうか? モータを変える、という方法もあると思うのですが、その際どうのようなモータを選定すればよいのでしょうか?

  • DCモータの特性について

    DCモータのスペックを見ると、必ずその特性曲線が一緒に載っています。 その特性曲線の参考の仕方がイマイチわかりません。 直感としては、モータにかける電圧が高いほど回転数が上がる、としか感じられないので、「横軸が電圧値である特性曲線」のようなものをみたいのですが、どんな特性曲線を見ても、横軸は電流値かトルクとなっています。 実際に使用することを考えたときに、電圧値が一定なのに、何を原因として電流値を制御したり、それに伴って、回転数を変化させたりするのですか? 回転数を制御するのは、電圧値を上下させることによるんじゃないんですか?(PWM信号などを用いて) わかりにくい質問でごめんなさい。どなたかご回答願います。

  • 回転するモーターかつ速度の変わるモーター 

    素人です。モーターは回転するものだと思っているのですが、どうすれば速度がかわるのでしょうか?あるいは速度を一定にすることはできるのでしょうか?3段階あるいはそれ以上に速度を制御できたらなと思っているのですが、それは可能ですか? なぜこのような変な質問をしてしまったかといえば、コマは回転するのですが、ある時間になると、回転をやめてしまうからです。そこで、一定の速度で回せたらなと思っているわけです。

  • DCモータのトルク制御とは?

    DCモータの回転数を制御する場合、モータに印加する電圧の大きさを調整しますよね。 DCモータのトルクを制御する場合は、何を調整しているのでしょうか? もちろん、トルクの大きさを変えるということは電流の大きさを変えるということだと思いますが、電流の大きさはどうやって変えるのでしょうか?電流の大きさというのは、モータに掛かる負荷によって決定されてしまうのではないのでしょうか? 一定の負荷が掛かる負荷器にDCモータを繋いでトルク(電流値)を制御する場合、その電流の大きさはどのようにして調整されるのでしょうか?

  • DCモータの伝達関数

    DCモータをPWM制御で速度制御した時のモータの伝達関数を求める方法がよく分かりません. 実際に,DCモータをPWM制御で速度制御した時のトルク-回転速度のグラフはいくつか取り終えています.できればそのグラフも使用して伝達関数表現したいと考えています.まずは,どのようなことから手をつけていけば良いか,何かいいアドバイスがあればぜひ教えてもらいたいと思います.宜しくお願いします.

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

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

  • DCモーターの角度制御

    DCモーターを角度制御したいのですがどのようにしたら良いのかわかりません.(どういったものが必要なのかなど) 角度制御は,例えばモーターが時計回りにθ1回転したら,スイッチなど外部からの入力をしないで反時計回りにθ2回転する,というようにしたいです. 宜しくお願いします.

  • DCモータ制御について

    質問です。  複数のDCモータ(PC用ファン)をPWMで制御したいと思っています。 以下のような製品を見つけました。 http://www.robotsfx.com/robot/AGB_SC_01.html が、RCサーボモータのコントロールを行うようです。 RCサーボモータの制御信号でDCモータを回転(速度調整)させることは 可能でしょうか? また、複数のDCモータを簡単にシリアル接続で制御できる方法などありましたら、お教えください。 よろしくお願いします。

  • モーターと駆動回路

    負荷は小さいんですが、回転数は1000~4000回転/分で制御したいんです。具体的には、卒業研究で3cm×3cmくらいのガラス板を回転して、その表面に「スピンコート」を行いたいんです。 どんなモーターが適していて、回転数を制御するための駆動電源はどのようなものが必要なのか教えてください。 なるべく低予算で、駆動電源も作るかキットで買いたいと思っています。

専門家に質問してみよう