Simulinkで作るコンペアマッチタイマ

Simulinkで作るコンペアマッチタイマ
コンペアマッチタイマというかアナログ-デジタル回路というか///
PWM波形の作り方紹介します。
Simulinコンペアマッチ
重要なのはコンペアマッチタイマよりもPWM波形です。

Simulinkで作るタイマ回路
Simulinkで作るタイマ回路は大ざっぱに言って
2種類あります。

  • 時間に関するブロックを使う方法
  • 微分、積分を使う方法

もしかすると他にもあるかもしれませんが
私の場合は後者をよく使います。
Simulinkコンペアマッチ

この図では1の定数を1で積分。積分値がになったらリセットするため、
1秒周期ののこぎり波タイマ。

積分の出力後コンペアマッチを0.3に設定し、
積分値が0.3以下の時は出力がハイになるように設定した。

そのためduty比0.3のPWMモジュレータが完成。

理由はトランジスタで電子回路組む時の
イメージに近いからです。
つまり、アナログチックです。
昔トランジスタでよく遊んでたから好きなだけです。

逆に時間に関するブロックを使う方法は
CPUやそのプログラムに近い方法です。

Simulinkで簡易表現するアナログ回路

ここで言うアナログ回路というのはトランジスタで
構成するアナログ回路のことです。

詳細は省略しますが、コンデンサと抵抗
いわゆるCR回路を構成すると、
擬似的に積分回路、微分回路ができます。
という結果だけを使います。
ですからトランジスタ回路とは異なります。

まずPWM波形を作るのに、基準となるのは周期(タイマ)です。
タイマを時計に関するブロックを使わずに作ると
どうなるでしょうか?

定数を積分すればOKなわけです。
すると時間に関して傾き一定なので、そこである値まで行ったら
リセットをするような仕掛けを作れば、簡単にのこぎり波のタイマができます。

これはトランジスタ回路でいえば、CR回路をトランジスタにくっつけて
積分回路を作るのと同じです。

次にのこぎり波を矩形波にするわけですが・・・
もうお分かりですよね?

CR回路使って微分すれば良さそうです。
その途中のこぎり波のあるレベルまで微分回路をONにして、
それ以上になったら微分回路をOFFにしてグランドレベルにするとかそんな感じです。

と思わせておいてそんなことしません。
アナログ-デジタル的な手法なんでトランジスタをC級動作させます。

C級動作というのはいわゆるスイッチングです。

ですから、のこぎり波をあるレベルに達するまで、出力をハイレベル
のこぎり波があるレベル以上であれば出力をローレベルにする。

と、いう事をやれば簡単にSimulinkでコンペアマッチタイマ/PWM
を表現できます。

これ、学生さんとか企業の入門講座で出題するとこういった発想
できる人少ないですよ。

ですが、覚えておくと大変便利なのでぜひ使ってください。

ちなみに、ECUのプログラムモデルを作る場合、
当然こんなことをせずに純粋にコンペアマッチタイマ使うので不要です。

Tags:

Leave a Reply