close

ESP32 節制 TB6612FNG 直流馬達驅動∕節制板


ESP32 節制 TB6612FNG 直流馬達驅動∕節制板
程式實現
在申明程式之前
必須提到PWM會用到analogWrite

然則ESP32並不支援
所以改用LEDChannel取代





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

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

影片



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

ESP32 節制 TB6612FNG 直流馬達驅動∕節制板

  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. }
複製代碼

ESP32 節制 TB6612FNG 直流馬達驅動∕節制板

ESP32 節制 TB6612FNG 直流馬達驅動∕節制板



以下內文出自:
arrow
arrow
    文章標籤
    網頁設計
    全站熱搜
    創作者介紹
    創作者 nalrenu7oe6l6 的頭像
    nalrenu7oe6l6

    中壢網頁設計

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