三相正弦波PWM キャリア周波数と正弦波周波数について

こんにちは、高野です。SHマイコンはまだ初心者なのですが、僕は今、SH7216マイコンを使って電車の音を再現する「VVVFインバータ制御」をしようと思っているのですが、そのためにまずルネサスHPから「 MTU2 三相の正弦波PWM 出力(相補PWM モード)」というサンプルコードをダウンロードし、MTU2Sで出力するように書き換えたのですがここで一つ気になることがあり、プログラム中の「C_CYCLE」と「ROT_CYCLE」は、値を小さくすると周期が早くなり、値を大きくすると周期が遅くなるようですが、これは一体どういう事でしょうか。VVVFインバータ制御をするために「入力した値=キャリア周波数・正弦波周波数」というようにしたいのですがハードウェアマニュアルやソースコードを読んでみたのですがよく分かりません。どうすれば良いでしょうか。

  • 『SH7214グループ、SH7216グループ ユーザーズマニュアル ハードウェア編』の「11.マルチファンクションタイマパルスユニット2 (MTU2)」を分かるまで読み続けましょう。「図11.2 相補PWMモードの出力レベルの例」を見るのが早いと思います。
  • わわいです
    まあ、言うことは前の方と同じなんですが、

    三相のPWM出力をどうやって発生させてるか、というのを理解しましょう
    別に、魔法を使って出してる、とか、何かわからないすごい難しい理論を使ってる、とかいうことはありません。
    ごくごく単純にクロックとカウンタをたくさん組み合わせて使って出してます。
    難しいことはなにも使ってません
    がんばってください

    #周波数を与えてその通りに出す、という処理を書くことも可能ですぜ
  • サンプルソフトを見ていませんが、C_CYCLEはキャリア周期、ROT_CYCLEは回転周期ではないでしょうか?
    他の方も言われてますが、三相PWM制御を理解する所からはじめた方がよいと思いますよ。
    ちなみに、当方はRLシリーズを使ってますが、タイマー関連でさわる値は基本的にカウント値です。カウント値は周期にかかわりますので、値が小さいと周波数が高くなり、値が大きいと周波数は低くなります。もちろん、使い方によっては、その通りにならない場合がありますが。
    資料を読んで理解しながら、サンプルソースを触るのがよいと思いますが、変数をさわりながら、挙動を確認するのであれば、変数は一つづつ触らないと訳が分からななくなりますよ。
    ちなみに、実際にモータを回すんですか?
  • 分かりました。まず三相PWMが出力される仕組みを理解してみます。
  • 分かりました。まずはPWMの出力される仕組みなどをマニュアルを見て理解することから始めようと思います。