2021年になったので景気づけに三相モーターを回してみました。

 使った回路はこのときと同じで、↓のとおりとなります。
VVVFhbd_回路図
 使ったプログラムは最後に書いておきます。

 こんな感じで回してました。
 YouTubeにも上げました。


 そんなこんなで2021年もよろしくお願いします。

 以下コード(これもリンク先の記事と同じはずです。)
  1. const int IN_U = 3;
  2. const int SD_U = 2;
  3. const int IN_V = 5;
  4. const int SD_V = 4;
  5. const int IN_W = 9;
  6. const int SD_W = 8;

  7. int delayTime;

  8. void setup() {
  9.   pinMode(IN_U, OUTPUT);
  10.   pinMode(IN_V, OUTPUT);
  11.   pinMode(IN_W, OUTPUT);
  12.   pinMode(SD_U, OUTPUT);
  13.   pinMode(SD_V, OUTPUT);
  14.   pinMode(SD_W, OUTPUT);

  15.   analogWrite(IN_U, 0);
  16.   analogWrite(IN_V, 0);
  17.   analogWrite(IN_W, 0);
  18.   digitalWrite(SD_U, HIGH);
  19.   digitalWrite(SD_V, HIGH);
  20.   digitalWrite(SD_W, HIGH);
  21. }
  22. void loop() {
  23.   if (millis() < 8000) {
  24.     delayTime = 5 - millis() / 2000;
  25.   }

  26.   analogWrite(IN_U, 250);
  27.   analogWrite(IN_V, 0);
  28.   analogWrite(IN_W, 0);
  29.   digitalWrite(SD_U, HIGH);
  30.   digitalWrite(SD_V, LOW);
  31.   digitalWrite(SD_W, HIGH);
  32.   delay(delayTime);

  33.   analogWrite(IN_U, 250);
  34.   analogWrite(IN_V, 0);
  35.   analogWrite(IN_W, 0);
  36.   digitalWrite(SD_U, HIGH);
  37.   digitalWrite(SD_V, HIGH);
  38.   digitalWrite(SD_W, LOW);
  39.   delay(delayTime);

  40.   analogWrite(IN_U, 0);
  41.   analogWrite(IN_V, 0);
  42.   analogWrite(IN_W, 250);
  43.   digitalWrite(SD_U, LOW);
  44.   digitalWrite(SD_V, HIGH);
  45.   digitalWrite(SD_W, HIGH);
  46.   delay(delayTime);

  47.   analogWrite(IN_U, 0);
  48.   analogWrite(IN_V, 0);
  49.   analogWrite(IN_W, 250);
  50.   digitalWrite(SD_U, HIGH);
  51.   digitalWrite(SD_V, LOW);
  52.   digitalWrite(SD_W, HIGH);
  53.   delay(delayTime);

  54.   analogWrite(IN_U, 0);
  55.   analogWrite(IN_V, 250);
  56.   analogWrite(IN_W, 0);
  57.   digitalWrite(SD_U, HIGH);
  58.   digitalWrite(SD_V, HIGH);
  59.   digitalWrite(SD_W, LOW);
  60.   delay(delayTime);

  61.   analogWrite(IN_U, 0);
  62.   analogWrite(IN_V, 250);
  63.   analogWrite(IN_W, 0);
  64.   digitalWrite(SD_U, LOW);
  65.   digitalWrite(SD_V, HIGH);
  66.   digitalWrite(SD_W, HIGH);
  67.   delay(delayTime);
  68. }