• ベストアンサー
  • すぐに回答を!

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

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

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数679
  • ありがとう数0

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

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

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

共感・感謝の気持ちを伝えよう!

その他の回答 (2)

  • 回答No.2

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

共感・感謝の気持ちを伝えよう!

  • 回答No.1

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

共感・感謝の気持ちを伝えよう!

質問者からの補足

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

関連するQ&A

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

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

  • 位相補償について

    オシロスコープを用いた実験を授業で行っているのですが、「プローブのマッチングボックスによる位相補償について説明せよ」という報告事項があります。  調べてみたのですが、内容が難しくいまいちよくわかりません。以下にその内容を載せます。もう少し分かり易く説明していただけるとありがたいです。帰還回路、正帰還などもわかりません・・・。 OPアンプなどの広帯域、高利得の増幅回路では、帰還をかけて使用するが、増幅回路自体の位相が180度をこすと、帰還回路から正帰還される為に発振してしまう。このため、適正な利得周波数特性を保つため、回路の一部に補償回路を設けて位相をコントロールして、発振を防止し、安定動作をさせている。

  • 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度をこすと、帰還回路から正帰還される為に発振してしまう。このため、適正な利得周波数特性を保つため、回路の一部に補償回路を設けて位相をコントロールして、発振を防止し、安定動作をさせている。』と記載されていました。同じ様な内容は他の文献、ウェブサイト等で見聞きしていましたが、殆ど理解は出来ていません。ボード線図で考えるとわかりやすいとも聞きますがいまいちわかりません。どなたか詳しい方、基本的な考え方からわかりやすく教えて頂けないでしょうか?

  • オペアンプの位相補償

    オペアンプの位相補償について教えて頂きたいです。 物理的なイメージでとらえたいと考えています。 (本来は伝達関数やラプラス変換から導かれるかと思うのですが。。) 図1のようなオペアンプでは、文献なんかによると容量の大きなCcをつけることでもっとも基本的な位相補償(発振回避)ができると記載してあります。 私のイメージでは、高周波をCcを介してGND側に逃がすつまり帰還される信号の高周波を遮断することで発振しにくくなる、ととらえています。 その続きとして図2のようにCcを入れることでミラー効果を利用して容量の小さなCcで代用できる、と文献にあります。 これも理解できるのですが、ここで1つ疑問があります。 図2のようになると、Ccを介して高周波が通りやすくなり帰還信号に乗って発振しやすくなってしまうのではないでしょうか? どこの考え方がおかしいでしょうか?

  • 位相接続について

    位相シフトスペックル干渉法を用いてポアソン比測定をしようとしているのですが精度があまりよくないため位相接続をして精度を上げようとしているのですが位相接続の方法がいまいちわからないので教えてもらえるとうれしいです。その方法のプログラムなどがあればほしいです。とにかく位相接続について知識がぜんぜんないので何かやくだちそうなことでもいいので教えてほしいです。お願いします。

  • 電力系統の位相制御

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

  • 位相次元について記載されている本を探しています

    位相次元について調べているのですが、位相幾何の本を見ても記載されておらず、位相次元について記載されている本が見つからなくて困っています。 位相次元の定義などが書かれている本を教えて頂きたいです。 本だけでなくサイトのURLでもかまいません。 よろしくお願いします。

  • 位相余裕がわかりません

    いつもお世話になっております。 位相余裕の式がわかりません、、、。 まず位相ゲインとは: ・位相が-180度のとき,  ゲインが0dBから何dBあるかを示したものがゲイン余裕 ・あとどれだけ位相が遅れると制御系が不安定になるか. とありますが、 以下のような考え方で位相ゲインを理解できるのでしょうか? ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー まず、ゲイン余裕は以下のように考えることができる: 開ループ伝達関数にゲインKをかけて、そのKを増やしていったときに、閉ループ伝達関数の極が正側になる (つまり、不安定にかわる)ときのKの値がゲイン余裕。 位相余裕も上のように考えることができるので、 開ループ伝達関数に”なにかをして”、その”なにか”を増やすor変えていったときに、閉ループ伝達関数の極が正側になる(つまり、不安定に代わる)ときの”なんか”の値が位相余裕。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーー このように考えた場合の”なにか”とは何なのでしょうか? また、位相遅れはどんなことをすれば位相をおくらせれるのでーしょうか?よろしくおねがいします。 (伝達関数で説明してくれると上しいです。) よろしくおながいします。

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

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