Search Code

ኢኤስፒ32 ትምህርት 15/55 - የዲሲ ሞተር ፍጥነት መቆጣጠሪያ ከኢኤስፒ32 L293D ጋር | የሰንፋውንደር ኢኤስፒ32 አይኦቲ መማሪያ ኪት

ኢኤስፒ32 ትምህርት 15/55 - የዲሲ ሞተር ፍጥነት መቆጣጠሪያ ከኢኤስፒ32 L293D ጋር | የሰንፋውንደር ኢኤስፒ32 አይኦቲ መማሪያ ኪት

የESP32 ትምህርት 15/55 - የዲሲ ሞተር ፍጥነት መቆጣጠሪያ ከESP32 L293D ጋር | የSunFounder's ESP32 IoT መማሪያ ኪት

የዲሲ ሞተርን በESP32 መቆጣጠር አስፈሪ ሊመስል ይችላል፣ ነገር ግን በትክክለኛ ክፍሎች እና ግንዛቤ በጣም ሊተዳደር የሚችል ነው። በዚህ ትምህርት ውስጥ፣ የL293D ሞተር ሾፌርን በመጠቀም የዲሲ ሞተርን ፍጥነት እና አቅጣጫ እንድንቆጣጠር የሚያስችለንን ፕሮጀክት እንገነባለን። በመጨረሻው ላይ፣ ሞተሩን ወደ ፊት እና ወደ ኋላ የሚያሽከረክር እና ፍጥነቱን የሚያስተካክል የሚሰራ ዝግጅት ይኖርዎታል። ለእይታ ማጣቀሻ፣ ቪዲዮውን በ (በቪዲዮ 00:00) መመልከትዎን ያረጋግጡ።

ESP32-15_L293D_motor_schematic

የሃርድዌር ማብራሪያ

የዚህ ፕሮጀክት ዋና ክፍሎች የESP32 ማይክሮኮንትሮለር እና የL293D ሞተር ሾፌር ያካትታሉ። ESP32 አብሮ የተሰራ ዋይፋይ እና ብሉቱዝ አቅም ያለው ኃይለኛ ማይክሮኮንትሮለር ነው፣ ይህም ለIoT አፕሊኬሽኖች ተስማሚ ያደርገዋል። በGPIO ፒኖቹ በኩል ሞተሮችን ጨምሮ የተለያዩ የሃርድዌር ክፍሎችን መቆጣጠር ይችላል። L293D ድርብ H-bridge ሞተር ሾፌር ሲሆን የሁለት ዲሲ ሞተሮችን አቅጣጫ እና ፍጥነት እንዲቆጣጠሩ ያስችልዎታል። እያንዳንዱ H-bridge በሞተር ተርሚናሎች ላይ የሚደርሰውን የቮልቴጅ ፖላሪቲ በመቀየር ሞተርን በሁለቱም አቅጣጫ ማሽከርከር ይችላል። በተጨማሪም፣ L293D በአንድ ቻናል እስከ 600 mA የሚደርስ ጅረት መቆጣጠር ይችላል፣ ይህም ለትንሽ እና መካከለኛ መጠን ላላቸው ሞተሮች ተስማሚ ያደርገዋል።

L293D-Motor-Driver-IC

የዳታሼት ዝርዝሮች

አምራች Texas Instruments
የክፍል ቁጥር L293D
የሎጂክ/IO ቮልቴጅ 2.5 – 7 ቪ
የአቅርቦት ቮልቴጅ 4.5 – 36 ቪ
የውጤት ጅረት (በአንድ ቻናል) 600 mA (በተለምዶ)
ከፍተኛ ጅረት (በአንድ ቻናል) 1.2 ኤ (ከፍተኛ)
የPWM ድግግሞሽ መመሪያ 20 kHz (በተለምዶ)
የግቤት ሎጂክ ገደቦች 0.8 ቪ (ከፍተኛ)፣ 2.0 ቪ (ዝቅተኛ)
የቮልቴጅ ጠብታ / RDS(on) / ሳቹሬሽን 1.5 ቪ (ከፍተኛ)
የሙቀት ገደቦች 150 °C (ከፍተኛ)
ፓኬጅ 16-DIP
ማስታወሻዎች / ልዩነቶች አራት እጥፍ ግማሽ-H ሾፌር

 

  • ለከፍተኛ ጅረት አፕሊኬሽኖች ትክክለኛ የሙቀት መስጠትን ያረጋግጡ።
  • የቮልቴጅ መጨመርን ለመከላከል የኃይል አቅርቦቱን በካፓሲተሮች ይለያዩ።
  • የተገላቢጦሽ ፖላሪቲን ለመከላከል በሽቦ አያያዝ ላይ ይጠንቀቁ።
  • ከመጠን በላይ ሙቀትን ለማስወገድ ለፍጥነት መቆጣጠሪያ PWM ይጠቀሙ።
  • ጉዳትን ለመከላከል የሞተሩን ደረጃ የተሰጠው ቮልቴጅ ያረጋግጡ።

የሽቦ መገጣጠም መመሪያዎች

ESP32-15_L293D_motor_wiring

ESP32 እና L293D ሞተር ሾፌርን ለማገናኘት፣ ኃይልን በማገናኘት ይጀምሩ። የL293D ፒን 16ን ከኃይል አቅርቦትዎ አወንታዊ ተርሚናል ጋር እና ፒን 4ን ከመሬት ጋር ያገናኙ። በመቀጠል ሞተሩን ያገናኙ፡ አንድ ተርሚናል ከፒን 3 እና ሌላውን ከL293D ፒን 6 ጋር። ለቁጥጥር ምልክቶች፣ የESP32 የGPIO ፒን 13ን ከL293D ፒን 2 ጋር እና የGPIO ፒን 14ን ከፒን 7 ጋር ያገናኙ። በመጨረሻም፣ የጋራ ማጣቀሻን ለማረጋገጥ የESP32 መሬትን ከL293D መሬት ጋር ማገናኘትዎን ያረጋግጡ። ቪዲዮው አማራጭ ሽቦ መገጣጠምን ከጠቀሰ (በቪዲዮ 05:00)፣ የተወሰኑ ለውጦችን መከተልዎን ያረጋግጡ።

የኮድ ምሳሌዎች እና ማብራሪያ

ሞተሩን ለመቆጣጠር የሚያስችለው ኮድ የሞተሩን ፒኖች መግለጽ እና ሁነታቸውን ማዘጋጀት ያካትታል። ከሴትአፕ ተግባር የተወሰደ ክፍል እነሆ፡

#define motor1A 13
#define motor2A 14

void setup() {
  pinMode(motor1A, OUTPUT);
  pinMode(motor2A, OUTPUT);  
}

በዚህ ክፍል ውስጥ፣ የሞተር መቆጣጠሪያ ፒኖችን እንደ ቋሚዎች እንገልጻለን እና በሴትአፕ ተግባር ውስጥ እንደ ውጤቶች እናዘጋጃቸዋለን። ይህ ሞተሩን ለመቆጣጠር ፒኖቹን ስለሚያዘጋጅ ወሳኝ ነው። የሉፕ ተግባር የሞተሩ ባህሪ የሚቆጣጠርበት ቦታ ነው። የሉፕ ቁልፍ ክፍል እነሆ፡

void loop() {
  digitalWrite(motor1A, HIGH);     
  digitalWrite(motor2A, LOW);   
  delay(2000); 

  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, HIGH);    
  delay(2000); 

  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, LOW);    
  delay(3000);
}

ይህ ኮድ ሞተሩን ለ2 ሰከንድ በአንድ አቅጣጫ ያሽከረክራል፣ ከዚያም አቅጣጫውን ለሌላ 2 ሰከንድ ይቀይራል፣ እና በመጨረሻም ሞተሩን ለ3 ሰከንድ ያቆማል። ይህ ሉፕ ያለማቋረጥ ይደጋገማል፣ ይህም ቀጣይነት ያለው ቁጥጥር ያስችላል። ለበለጠ ዝርዝር ግንዛቤዎች እና ሙሉ ኮድ፣ ከጽሑፉ በታች የሚጫነውን ሙሉ ፕሮግራም ይመልከቱ።

ማሳያ / ምን እንደሚጠበቅ

በተሳካ ሁኔታ ሽቦ ከገጠሙ እና ኮዱን ከጫኑ በኋላ፣ ሞተሩ ለ2 ሰከንድ በአንድ አቅጣጫ ሲሽከረከር፣ አቅጣጫውን ለሌላ 2 ሰከንድ ሲቀይር፣ ከዚያም ለ3 ሰከንድ ሲቆም ማየት ይኖርዎታል። ሞተሩ እንደተጠበቀው ምላሽ ካልሰጠ፣ እንደ የተገላቢጦሽ ፖላሪቲ ወይም የተሳሳተ የፒን ግንኙነቶች ያሉ የተለመዱ ችግሮችን ያረጋግጡ (በቪዲዮ 08:00)። ይህ ዝግጅት ESP32 እና L293D በመጠቀም የዲሲ ሞተርን ፍጥነት እና አቅጣጫ ለመቆጣጠር ቀላል መንገድ ይሰጣል።

የቪዲዮ የጊዜ ምልክቶች

  • 00:00 መጀመሪያ
  • 2:01 የዲሲ ሞተር መግቢያ
  • 6:14 L293D ሞተር ሾፌር
  • 9:17 የፕሮጀክት ሰነዶች
  • 11:04 የሽቦ አያያዝ ተብራርቷል
  • 14:41 የአርዱኖ ሞተር ቁጥጥር ከESP32 ጋር
  • 17:10 ለESP32 ቦርድ የአርዱኖ ፖርቶችን መምረጥ
  • 18:52 የፕሮጀክት ማሳያ
  • 22:08 የሞተር ፍጥነት ቁጥጥር በESP32 በመጠቀም
  • 26:22 የፍጥነት ቁጥጥር ማሳያ
  • 28:01 የፍጥነት እና አቅጣጫ ቁጥጥር የአርዱኖ ኮድ
  • 29:05 የፍጥነት እና አቅጣጫ ማሳያ

ምስሎች

L293D-Motor-Driver-IC
L293D-Motor-Driver-IC
ESP32-15_L293D_motor_schematic
ESP32-15_L293D_motor_schematic
ESP32-15_L293D_motor_wiring
ESP32-15_L293D_motor_wiring
814-ESP32 Tutorial 15/55- Arduino code for L293D motor control
ቋንቋ: C++
#define motor1A 13
#define motor2A 14

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin as an output.
  pinMode(motor1A, OUTPUT);
  pinMode(motor2A, OUTPUT);  
}

// the loop function runs over and over again forever
void loop() {
  
  // Rotate
  digitalWrite(motor1A, HIGH);     
  digitalWrite(motor2A, LOW);   
  delay(2000); 

  // Rotate in the opposite direction
  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, HIGH);    
  delay(2000); 

  // Stop
  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, LOW);    
  delay(3000);
}

እንደሚያስፈልግዎት ይችላል

ምንጮች እና ምንጮች

ፋይሎች📁

የዳታ ማዕከል (pdf)