24h購物| | PChome| 登入
2023-09-06 18:35:11| 人氣4| 回應0 | 上一篇 | 下一篇
推薦 0 收藏 0 轉貼0 訂閱站台

網站架設 ESP32 控制 TB6612FNG 直流馬達驅動

影片



TB6612FNG是東芝生產的馬達驅動與控制IC,內部包含兩組H橋式電路,可驅動和控制兩個小型直流馬達,或者一個雙極性步進馬達。

1.jpg

2.jpg

3.png

4.png



程式實現
在說明程式之前
必須提到PWM會用到analogWrite

但是ESP32並不支援
所以改用LEDChannel取代

  1. int PWMA = 13;
  2. int INA1 = 12;
  3. int INA2 = 14;
  4. int STBY = 27;
  5. int INB1 = 25;
  6. int INB2 = 26;
  7. int PWMB = 33;
  8. const int ledPin = 2;
  9.  
  10. void setup() {
  11.   // put your setup code here, to run once:
  12.   Serial.begin(115200);
  13.   pinMode(ledPin, OUTPUT); //設定腳位為輸出
  14.   pinMode(INA1,OUTPUT);
  15.   pinMode(INA2,OUTPUT);
  16.   pinMode(PWMA,OUTPUT);
  17.   pinMode(STBY,OUTPUT);
  18.   pinMode(INB1,OUTPUT);
  19.   pinMode(INB2,OUTPUT);
  20.   pinMode(PWMB,OUTPUT);
  21.   //digital output test
  22.   digitalWrite(INA1,HIGH); //設定腳位HIGH LOW
  23.   digitalWrite(INA2,LOW);
  24.   digitalWrite(PWMA,LOW);
  25.   digitalWrite(STBY,HIGH);
  26.   digitalWrite(INB1,HIGH);
  27.   digitalWrite(INB2,LOW);
  28.   digitalWrite(PWMB,LOW);
  29.   delay(1000);
  30.   
  31.   //analog output(PWM) test 設定LED Channel PWM 頻率
  32.   ledcSetup(0, 10000, 8);
  33.   ledcSetup(1, 10000, 8);
  34.   ledcSetup(2, 10000, 8);
  35.   ledcSetup(3, 10000, 8);
  36.   ledcSetup(4, 10000, 8);
  37.   ledcSetup(5, 10000, 8);
  38.   ledcSetup(6, 10000, 8);
  39.   //設定腳位Channel
  40.   ledcAttachPin(INA1, 0);
  41.   ledcAttachPin(INA2, 1);
  42.   ledcAttachPin(PWMA, 2);
  43.   ledcAttachPin(STBY, 3);
  44.   ledcAttachPin(INB1, 4);
  45.   ledcAttachPin(INB2, 5);
  46.   ledcAttachPin(PWMB, 6);
  47.   
  48. }
  49.  
  50. void loop() {
  51.   // 開始前先閃動ESP32板子上LED
  52.   digitalWrite(ledPin,LOW);
  53.   delay(500);
  54.   digitalWrite(ledPin,HIGH);
  55.   delay(500);
  56.   digitalWrite(ledPin,LOW);
  57.   //設定馬達1為正轉
  58.   ledcWrite(0, 255); //INA1
  59.   ledcWrite(1, 0);   //INA2
  60.   ledcWrite(2, 255); //PWMA
  61.   ledcWrite(3, 255); //STBY
  62.   //設定馬達2為正轉
  63.   ledcWrite(4, 255); //INB1
  64.   ledcWrite(5, 0); //INB2
  65.   ledcWrite(6, 255); //PWMB
  66.   delay(3000);
  67.   
  68.   digitalWrite(ledPin,LOW);
  69.   delay(500);
  70.   digitalWrite(ledPin,HIGH);
  71.   delay(500);
  72.   digitalWrite(ledPin,LOW);
  73.   //設定馬達1為反轉
  74.   ledcWrite(0, 0);   //INA1
  75.   ledcWrite(1, 255); //INA2
  76.   ledcWrite(2, 255); //PWMA
  77.   ledcWrite(3, 255); //STBY
  78.   //設定馬達2為反轉
  79.   ledcWrite(4, 0);   //INB1
  80.   ledcWrite(5, 255); //INB2
  81.   ledcWrite(6, 255); //PWMB
  82.   delay(3000);
  83. }
複製代碼





參考文章
https://swf.com.tw/?p=1066

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

台長: jamieyw2
人氣(4) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 藝術設計(手創、設計、室內空間、裝潢) | 個人分類: NetYea |
此分類下一篇:使用 pytube4 下載影片
此分類上一篇:如何用bing登錄網站

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文