見出し画像

正弦波PWMインバータ

 二相変調の三相正弦波PWM波をマイコンで作りたい。

二相変調(下方式)2相分

 とりあえずお試しで、波形が見たくて作ったもの。 この青と黄色の波形の電圧の差分は

正弦波が見える

紫色の波形になる。
 このオシロじゃ2 ch分しか見れないので、1相でトリガをかけておき、1相目と共に残り2相の波形をそれぞれcsvファイルで保存する。 その後Excelでまとめたのが

二相変調(下方式)3相分

 線間電圧は

三相交流


 これらの波形は平滑後のもので、実際はスイッチングしております。

ch1:PWM波、ch2:平滑後の波

 拡大すると

 実用的ではないけれど、ソースコード(Arduino UNO R4 MINIMA)は

#include "pwm.h"

#define PLOT_NUM 360
const float Freq=10000.0, Duty=0.0;

float waveData[PLOT_NUM];
PwmOut pwm3(3), pwm5(5), pwm6(6);

int i=0, j=PLOT_NUM-1, k=0;

void setup() {

  for(int i=0; i<PLOT_NUM; i++){
    waveData[i] = 100*sin(i *2*M_PI /3/PLOT_NUM);
  }
  pwm3.begin(Freq, Duty);
  pwm5.begin(Freq, Duty);
  pwm6.begin(Freq, Duty);
}

void loop() {

  while(j){
    pwm3.pulse_perc(waveData[++i]);
    pwm5.pulse_perc(waveData[--j]);
  }
  while(i){
    pwm6.pulse_perc(waveData[++k]);
    pwm3.pulse_perc(waveData[--i]);
  }
  while(k){
    pwm5.pulse_perc(waveData[++j]);
    pwm6.pulse_perc(waveData[--k]);
  }
}

 3, 5, 6 pinからPWM波が出てきます。

この記事が気に入ったらサポートをしてみませんか?