SRMを回そうープログラム編ー

前回からだいぶ感覚が空いてしまったが、身の回りが落ち着いてきたため再開しようと思う。

インバータのスイッチングをするときには変調波(正弦波)と搬送波(三角波)の比較によって希望の電圧波形に近いパルスを生成するのが一般的である。sin関数の計算は時間がかかるため配列として最初に計算させておく。ここまでは良かったが私はここで同じ時間軸での処理をどうするか悩んだ。

同じ大学の先輩に誘導機を回そうとしてる人がいるので助けを乞うと、離散処理をしてるという。なるほど。


リアルタイム処理ではなく、一定時間感覚での処理(離散化)によってリアルタイムに近い処理を行うという方法だった。目からウロコだった。

正弦波はSin(ωt)と表せる。ここでω=2πfよりSin(2πft)。

時間tを一定間隔τ(=1/サンプリング周波数)おきの処理とすると、t=count × τ となるわけだ。例えば0.5秒おきに処理するとすると2回行えば1秒分の処理になる。これは便利だ。


今回はArduinoを用いて行おうとしているために、そのRAMの少なささ故に処理速度と処理精度を天秤にかけている。サンプリング周波数が搬送波や変調波より十分に早くないと変な波形が出来上がってしまう。ここは手作業で探していくしかあるまい。

多趣味理系大学生の忘備録

日常のこと、趣味のこと、調べたことを書いておく等

0コメント

  • 1000 / 1000