TShopping

 找回密碼
 註冊
搜索
查看: 2615|回復: 0
打印 上一主題 下一主題

[教學] Arduino EPS32 DEVKIT V1 用PWM控制轉速正反轉

[複製鏈接]
跳轉到指定樓層
1#
發表於 2020-5-16 18:26:38 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
 
Push to Facebook
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. }
複製代碼


影片



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

 

臉書網友討論
*滑块验证:
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2024-4-26 12:07 , Processed in 0.104846 second(s), 25 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表