close

影片



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

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

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

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

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


網站架設 ESP32 控制 TB6612FNG 直流馬達驅動
程式實現
在申明程式之前
必需提到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 網頁設計

arrow
arrow
    文章標籤
    網站架設
    全站熱搜
    創作者介紹
    創作者 thaneuh4326 的頭像
    thaneuh4326

    台北網站架設

    thaneuh4326 發表在 痞客邦 留言(0) 人氣()