• ベストアンサー

VC++で位相進み補償を行うには?

現在C++を用いた制御を行っています.そこで,ある入力データに対して位相進み補償を行いたいと考えているのですがそのプログラム方法がわかりません. どなたか分かりやすく説明していただける方、もしくは詳しく記載されているサイト等ご存知でしたらお教え願えないでしょうか?

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

  • ベストアンサー
  • arain
  • ベストアンサー率27% (292/1049)
回答No.3

No.2 http://www32.atwiki.jp/slimebeth/pages/28.html よ >その起動時には、約50ms位な遅れがあり、またOSの状態で >変化します。(一度、起動すれば、後は問題ないと思います) 問題大ありだ。 USBはその仕組み上いくらでも遅れる可能性がある。 >USBのwaveInとwaveOutをそれぞけ入力と出力に使用し、 >入力信号を位相補償して、出力する方式となります。 USBにゃそんな信号はないし、やってることは「位相補償」じゃないぞ。「差動制御」だ。 しかも、質問者のいってることは「位相『進み』補償」だ。全く話になってない。 で本題。 No.1より >おっしゃる通り工業用機械にパソコンをコントローラとしてつなげて機械の制御を行っています. >しかし,時間遅れが大きく,この問題を解決するために位相進み補償を適用したいと考えています. まず、「時間遅れ」の原因を付きつめることが先です。 ・PCの処理による遅延 ・転送ラインの転送速度の問題 ・制御機器のコマンド受信から制御に移るまでの遅延 ・そのた要因 について分かっていなければ、そもそも補償を行う必要があるのかもわかりません。 極端な話、転送速度が遅い問題なら高速な回線に切り替えるだけで解決できる場合もあります。 また、仮に補償を行う場合、この「保障値」はどのように求めるおつもりでしょうか? 過去の「数十サンプリング」から求めるなどとした場合にも、厳密に「どれだけ遅れるのか」が把握できていないと算出することはできません。 その意味でも、「遅れる要因」の把握を行うことが重要です。

その他の回答 (2)

  • shiggy17
  • ベストアンサー率50% (1/2)
回答No.2

Windowsはreal_timeのOSではありません(W3.1はreal_timeのOS的でした) 通常、一つの方法として、USBを使用する方法がありますが、 その起動時には、約50ms位な遅れがあり、またOSの状態で 変化します。(一度、起動すれば、後は問題ないと思います) USBのwaveInとwaveOutをそれぞけ入力と出力に使用し、 入力信号を位相補償して、出力する方式となります。 約3KHz迄の信号に対しては、対応できると思います。 ほかのも、AD,DAモジュールを利用する方法がありますが、 制御理論も重要ですが、その前にどのようにすれば良いのか 例えば、給料を倍増するのはどうするか、自分で考えなければ なりません。 例えが、悪くお気に触ったら御免なさい。

  • ROMIO_KUN
  • ベストアンサー率18% (421/2218)
回答No.1

はて、示された書き方では質問の意味が多くの方から見て意味不明と感じます。 位相制御とは、何かの実験を行った結果を細工したいのでしょうか。 それとも何か工業用の機械にパソコンがコントローラーとしてつながっていて 何か微妙なタイミング制御をしたいのでしょうか。 それとも分かっていないのは私だけなのでしょうか。

yshr10085
質問者

補足

すみません.うまく説明できず申し訳ないです. おっしゃる通り工業用機械にパソコンをコントローラとしてつなげて機械の制御を行っています. しかし,時間遅れが大きく,この問題を解決するために位相進み補償を適用したいと考えています. そもそも,この方法が適用可能なのかどうかもよくわかっていないために的外れな質問をしているのかもしれません. どうかご教授おねがいします.

関連するQ&A

  • 位相進み補償について【古典制御】

    モータのシミュレーションの問題をやっているのですが、位相進み補償についての問題が出ました。 「位相進み補償によると、どのように位相余裕を増加させ、ダンピング特性を改善できるのか、Bode線図を使って説明せよ。」 というものです。 モータのノイズ(高周波)を抑えるため?PIDのD補償の代わりに位相進み補償を適用するというのは調べたんですが、位相余裕の増加、ダンピング特性の改善は何故できるのかといのが分かりません。 (前者はなんとなくボード線図見れば分かるのですが、後者は全然分かりません) どなたか分かりやすく説明していただける方、もしくは詳しく記載されているサイトなんかご存知でしたらお教え願えないでしょうか?

  • PI制御と位相進み補償について

    (カテゴリ間違えて投稿してしまって、かつ以前に書き込んだものを消す方法が分からないので、他のところと重複してます。すいません。) 今演算ソフトを使ってDCモータの制御シミュレーションやってます。 ブロック線図とか書いて、PI制御と位相進み補償を適用しようと思ってます。 http://pict.or.tp/img/19503.png DCモータの等価回路:画像(1)、(2) (誘起電圧定数ke=トルク定数kt、モータの角速度ω(t)) から求めた入力電圧から角速度の伝達関数は、 Ω/V = kt/(LJs^2 + RJs + kt^2) (ここで、R=5Ω、L=10mH、kt=1/π[V/(rad/sec)]、J=1×10^-4kgm^2) になると思います。 画像(3)はPI制御を適用した図、画像(4)は(3)に位相進み補償を適用した図です。 (1)このとき、PI制御の比例ゲインKpと積分時定数Tiは、どのような値になるか教えていただきたいです・・・。 自分なりにやってみたら、Kp=0.5、Ti=0.005になりました。 この際、減衰係数ζ=0.8、固有角周波数ωn=318でした。 自分もよく分かってない状態ですが、固有角周波数はコレ大きいですか? ちなみにそのときの位相余裕は51degくらいでした。 (2)あと、位相進み補償のパラメータ(K,T,α)はまったくよく分かりません…。 手順は調べたんですが、肝心のKとゲイン交差周波数の設定の仕方が分かりませんでした。 結局K=1にして他のパラメータを求めました。 この際、位相余裕が60degくらいにしようとして、59.3くらいでした。 (位相進み補償を入れなくても十分安定してますが、そういう課題なので・・・汗) もし、これらが詳しく記されているサイト等があったら、そちらもお願いします・・・。

  • オペアンプの位相補償

    オペアンプの発振をさせない為の位相補償の考え方について調べています。当カテゴリーで調べたところ『OPアンプなどの広帯域、高利得の増幅回路では、帰還をかけて使用するが、増幅回路自体の位相が180度をこすと、帰還回路から正帰還される為に発振してしまう。このため、適正な利得周波数特性を保つため、回路の一部に補償回路を設けて位相をコントロールして、発振を防止し、安定動作をさせている。』と記載されていました。同じ様な内容は他の文献、ウェブサイト等で見聞きしていましたが、殆ど理解は出来ていません。ボード線図で考えるとわかりやすいとも聞きますがいまいちわかりません。どなたか詳しい方、基本的な考え方からわかりやすく教えて頂けないでしょうか?

  • OPアンプの外部位相補償って何ですか?

    岡村先生の「OPアンプ回路の設計」という本を読んでいるのですが、 一般的に使われるOPアンプの端子は、±電源と±入力端子と出力端子の5つですが、それ以外に外部位相補償のものには3つ端子がついているようなのですが、これってどういうものなのでしょうか? ・コンデンサを挟むことで発振を防ぐためのものであることは分かるのですが、これってフィードバック容量と何が違うのでしょうか? ・それとフィードフォーワード補償のところで、入力端子をこの位相補償用のところに繋いでいるのですが、これってもしかして一つのOPアンプの中に低周波用と高周波用が入っており、その橋渡しをしているのでしょうか? 検索してみてもほとんどかかりませんでしたので、どなたか詳しいお方教えて下さい。

  • 電力系統の位相制御

    電力系統の位相制御をする方法って何でしょうか? また、位相制御は系統間の電力融通のために行われるのでしょうか?この他の目的もあるのでしょうか?  電力系の専門知識にお詳しい方がおられましたら、よろしくお願いいたします。

  • VC++でマイクを使いたいんですが……

    VC++でマイクを使用するプログラムを作ろうと考えているんですが、どのようなソースを作成すればマイクで入力できるのかがわかりません。 いろいろと試してみてはいますが、うまく実行できずに困っています。 マイク入力をするためのソースが記載されているサイトや、ソース自体をご存知の方がいらっしゃいましたら、教えていただけませんでしょうか? よろしくお願いします。

  • 位相って何?

    最近計測器を扱う会社に就職したのですが、文系出身で電気のことが全然わかっていません。 「基礎からわかる電気の本」みたいなものを読んで勉強しているのですが、そんなにすぐにも理解しきれません。 新人研修などでも、交流の話のあたりで「位相」という言葉がしばしば出てきて、しかも重要そうだったのですが、全然わかっていません。 そこで、どなたか「位相」についてお教えいただけませんでしょうか? きちんと正しい知識を理解し切れなくてもかまわないので、小・中学生でもなんとなくつかめる程度で、わかりやすく「こんな感じで捉えておけば大丈夫だよ」ということを教えてください。 現在は、「位相って何?」「位相ってどんなものか知るとどう役に立つの?」ということもわかっていません。 どなたか、電気に詳しくて、なおかつ難しい言葉を使わないでも説明できる方、お願いいたします

  • テスタで歯切れ位相の交流電圧を測る

    位相制御方式により電力調節器で出力電圧を制御しているのですが、実効値そのときの実効値はテスタで測っても良いのでしょうか? 交流電圧をどのように測定しているのかが分からない為、サイリスタ等で半サイクル毎に位相をカットした場合にテスタの表示電圧が正しい実効値であるかがわかりません。(10%入力だと半波の右のちょっとの山がでるのをオシロスコープで確認しました。50%だと半波の3分の2くらいになりました。) 原理の説明と測った値は正しいかを教えていただきたいです。

  • SPICEの電流の位相について

    現在、SPICE(OrCAD10.0 DEMO)を使って電子回路の勉強をしています。 どうしても分かりませんので、教えてください。 ******以下、質問です。******* 交流の電圧源V1(sin波)とキャパシタC1が接続された回路があるとします。 この回路をSPICEを用いて過渡解析を実行すると、 電流の位相がπ/2遅れた結果が出力されます。 webページ:http://oshiete1.goo.ne.jp/kotaeru.php3?q=89689 にもあるように、 コンデンサは電流の位相がπ/2進んでいなければなりませんが、 なぜ、SPICEでは電流の位相がπ/2遅れるのでしょうか? 足りない情報などありましたら、教えてください。 その都度、補足したいとおもいます。 以下に、SPICEで実行したネットリストを記載します。 C_C1 0 NET1 1u V_V1 NET1 0 +SIN 0 5 50 .TRAN 0 20ms 以上、よろしくお願いいたします。

  • 騒音対策 反位相

    騒音対策ですが、反位相の音波を出して、現在の騒音を減弱する方法があるらしいのですが、ご存知の方教えてください。現在当方のエアコン室外機から40HZの音域の騒音が出てしまい、近所に迷惑をかけてしまっています。

専門家に質問してみよう