TShopping

標題: Arduino EPS32 DEVKIT V1 用PWM控制轉速正反轉 [打印本頁]

作者: woff    時間: 2020-5-16 18:26
標題: Arduino EPS32 DEVKIT V1 用PWM控制轉速正反轉
Arduino EPS32 DEVKIT V1 腳位


使用L9110 Fan Motor,可以用PWM控制轉速,不會像DC馬達一起動吃掉電流,導致當機。

數位輸出時結果
INA
INB
結果
HIGH
LOW
正轉
LOW
HIGH
反轉
LOW
LOW
停止
HIGH
HIGH
停止
類比輸出要注意的地方則是,由於電壓太低通常無法啟動,所以先把output加到255,再從80逐漸上升。
INA
INB
結果
80~255
LOW
慢慢增加正轉
LOW
80~255
慢慢增加反轉


將INB、INA分別接在GPIO26及GPIO27上,INB與INA代表正反轉


  1. int INA = 26;
  2. int INB = 27;

  3. void setup()
  4. {
  5.   Serial.begin(9600);
  6.   pinMode(INA,OUTPUT);
  7.   pinMode(INB,OUTPUT);
  8.   //digital output test
  9.   Serial.println("INA=LOW,INB=HIGH");
  10.   digitalWrite(INA,LOW);
  11.   digitalWrite(INB,HIGH);
  12.   delay(3000);
  13.   Serial.println("INA=HIGH,INB=LOW");
  14.   digitalWrite(INA,HIGH);
  15.   digitalWrite(INB,LOW);
  16.   delay(3000);
  17.   Serial.println("INA=LOW,INB=LOW");
  18.   digitalWrite(INA,LOW);
  19.   digitalWrite(INB,LOW);
  20.   delay(3000);
  21.   Serial.println("INA=HIGH,INB=HIGH");
  22.   digitalWrite(INA,HIGH);
  23.   digitalWrite(INB,HIGH);
  24.   delay(3000);
  25.   //analog output(PWM) test  
  26.   ledcSetup(0, 5000, 8);
  27.   ledcSetup(1, 5000, 8);
  28.   ledcAttachPin(INA, 0);
  29.   ledcAttachPin(INB, 1);  
  30.   //prepare forward
  31.   Serial.println("INA=i++,INB=LOW");
  32.   ledcWrite(1, 0);
  33.   ledcWrite(0, 255);//避免電流太低無法啟動
  34.   delay(300);
  35.   for (int i=80;i<=255;i++)
  36.   {
  37.     ledcWrite(0, i);
  38.     ledcWrite(1, 0);
  39.     Serial.println(i);
  40.     delay(100);
  41.   }
  42.   ledcWrite(0, 0);
  43.   ledcWrite(1, 0);
  44.   delay(3000);
  45.   //prepare reverse
  46.   Serial.println("INA=LOW,INB=i++");
  47.   ledcWrite(0, 0);
  48.   ledcWrite(1, 255);//避免電流太低無法啟動
  49.   delay(300);
  50.   for (int i=80;i<=255;i++)
  51.   {
  52.     ledcWrite(1, i);
  53.     ledcWrite(0, 0);
  54.     Serial.println(i);
  55.     delay(100);
  56.   }
  57.   ledcWrite(0, 0);
  58.   ledcWrite(1, 0);
  59.     delay(3000);
  60. }

  61. void loop()
  62. {


  63. }
複製代碼


影片
[youtube]RV_jtaogaNo[/youtube]


文章出處:網頁設計,網站架設 ,網路行銷,網頁優化,SEO - NetYea 網頁設計




歡迎光臨 TShopping (http://www.tshopping.com.tw/) Powered by Discuz! X3.2