Raadi Koodka

Tutorial ESP32 16/55 - Bam-bam yar yar biyo oo la isticmaalayo ESP32 iyo L293D | Qalabka Barashada ESP32 IoT ee SunFounder

Tutorial ESP32 16/55 - Bam-bam yar yar biyo oo la isticmaalayo ESP32 iyo L293D | Qalabka Barashada ESP32 IoT ee SunFounder

Tushen casharkan, waxaan baran doonnaa sida loo xakameeyo bam-biyoodka 5V iyadoo la isticmaalayo microcontroller-ka ESP32 iyo darawalka matoorka L293D. Mashruucani waa horudhac aad u fiican oo ku saabsan isticmaalka darawalada matoorka ee microcontroller-yada, kaa ogolaanaya inaad xakamayso qalabka u baahan hadda ka badan inta microcontroller-ku si toos ah u bixin karo. Markaad dhammayso casharkan, waxaad yeelan doontaa bam-biyood shaqeeya oo lagu shidi karo laguna damin karo barnaamij ahaan.

ESP32 waa microcontroller awood badan oo la yimaada awoodaha Wi-Fi iyo Bluetooth-ka ee ku dhex dhisan, taasoo ka dhigaysa mid ku habboon codsiyada IoT. Darawalka matoorka L293D waxaa loo isticmaalaa in lagu xakameeyo bam-biyoodka iyadoo lagu maareynayo hadda sare ee loo baahan yahay si matoorku u shaqeeyo. Qaabkani wuxuu noo ogolaanayaa inaan bilowno oo joojinno bamka iyadoo la hubinayo in ESP32-ga uu ammaan ka yahay soo jiidashada hadda ee xad-dhaafka ah.

Qalabka La Sharaxay

Mashruucan, waxaan isticmaalaynaa microcontroller-ka ESP32, kaasoo caan ku ah kala-duwanaanshihiisa iyo ikhtiyaarrada isku-xirnaantiisa. Wuxuu u shaqayn karaa sidii Arduino isagoo bixinaya astaamo dheeri ah sida Wi-Fi iyo Bluetooth. Darawalka matoorka L293D wuxuu u dhaqmeyaa sidii isku-xirhaye u dhexeeya ESP32-ga iyo bam-biyoodka, isagoo u oggolaanaya xakamaynta hawlgalka bamka iyada oo aan la culeysayn microcontroller-ka.

L293D wuxuu leeyahay laba H-bridge, taasoo u oggolaanaysa inuu xakameeyo jihada iyo xawaaraha matoorka. H-bridge kastaa wuxuu kaxayn karaa matoor jiho kasta, taasoo ka dhigaysa mid ku habboon codsiyada loo baahan yahay xakamaynta matoorka. Kiiskan, waxaan u baahan doonnaa oo kaliya inaan awood u siinno bamka inuu ku shaqeeyo hal jiho.

Faahfaahinta Xaashida Xogta

Soo-saareTexas Instruments
Nambarka qaybtaL293D
Danabka Logic/IO4.5 - 36 V
Danabka sahayda4.5 - 36 V
Hadda soo-saarka (kanaal kasta)600 mA
Hadda ugu sarreysa (kanaal kasta)1.2 A
Hagaha soo-noqnoqoshada PWM1 kHz - 10 kHz
Heerarka caqabadaha gelinta2 V (sare), 0.8 V (hoose)
Hoos-u-dhaca danabka / RDS(on) / dheregsanaanta1.5 V (ugu badnaan)
Xadka kulaylka+150 °C (ugu badnaan)
BaakadDIP-16
Qoraallo / noocyo kaleWaxaa ku jira diodes-ka ku dhisan oo loogu talagalay ilaalinta culeyska inductive

  • Hubi faafinta kulaylka habboon ee hawlgalka joogtada ah.
  • Isticmaal capacitors-ka kala-goysa si aad u hesho sahayda danab oo deggan.
  • Ka digtoonow danabka gelinta si aad uga hortagto waxyeelada.
  • Hirgeliso PWM si loo xakameeyo xawaaraha haddii loo baahdo.
  • Hubi fiilooyinka si aad uga fogaato gaabiska, gaar ahaan culeysyada inductive.

Tilmaamaha Fiilooyinka

ESP32-16-motor-pump_wiring

Si aad ugu xirto ESP32-ga iyo darawalka matoorka L293D ee bam-biyoodka, raac tillaabooyinkan si taxadar leh. Marka hore, ku xir sahayda danab ee L293D. Ku xir pin-ka 1 (pin-ka awood-siinta matoorka A) iyo pin-ka 8 (Vcc2) isha danab ee togan (5V). Ku xir pin-ka 4 (dhulka) dhulka wareeggaaga.

Marka xigta, ku xir ESP32-ga L293D. Ku xir GPIO pin-ka 13 ee ESP32-ga pin-ka 2 (gelinta 1) ee L293D, iyo GPIO pin-ka 14 pin-ka 7 (gelinta 2). Ugu dambeyntii, ku xir bam-biyoodka pin-ka 3 (soo-saarka 1) iyo pin-ka 6 (soo-saarka 2) ee L293D. Hubi in dhammaan isku-xirnaanta dhulka ay isku xiran yihiin si hawlgalku u saxnaado. Haddii aad raacdo tilmaamahan, fiilooyinkaagu waxay noqon doonaan kuwo toos ah oo shaqeeya.

Tusaalooyinka Koodhka & Sharaxaadda

Koodhka, waxaan ku qeexaynaa isku-xirnaanta pin-ka ee xakamaynta matoorka. Aqoonsiyada motor1A iyo motor2A waxay u dhigmaan GPIO pin-yada 13 iyo 14 ee ESP32-ga, siday u kala horreeyaan. Pin-yadani waxay xakamayn doonaan bam-biyoodka iyada oo loo marayo darawalka L293D.

#define motor1A 13
#define motor2A 14

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

Shaqada setup(), waxaan ku bilaabaynaa pin-yada xakamaynta matoorka sida soo-saareyaal. Tani waxay hubinaysaa inaan u diri karno calaamado darawalka L293D si aan u xakameyno bamka. Shaqada loop() ayaa markaa xakameynaysa hawlgalka bamka.

void loop() {
  digitalWrite(motor1A, HIGH);     
  digitalWrite(motor2A, LOW);   
  delay(5);
  
  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, LOW);    
  delay(2000); // sug ilbiriqsi
}

Shaqada loop(), waxaan u dhigaynaa motor1A heerka HIGH iyo motor2A heerka LOW si aan u bilowno bamka. Ka dib dib-u-hakasho gaaban, waxaan joojinaynaa bamka iyadoo labada pin loo dhigo LOW. Wareeggani wuxuu si aan dhammaad lahayn u socdaa, taasoo u oggolaanaysa bamka inuu shaqeeyo muddo gaaban ka dibna joogsado.

Muuujin / Waxa Lagu Filan Karaa

Markaad dhammeysato fiilooyinka oo aad kor u qorto koodhka, waxaad arki doontaa bam-biyoodka oo shiidaya oo dami maya wareegyo. Bamku wuxuu shaqeyn doonaa muddo gaaban, ka dibna joogsan doonaa, isagoo abuuraya qaab shiid-dami. Hubi in sahayda danabku ku filan tahay shuruudaha bamka si aad uga fogaato dhibaatooyinka (fiidiyowga 09:30).

Waqtiyada Fiidiyowga

  • 00:00 Bilow
  • 1:50 Hordhaca Mashruuca
  • 3:17 Maxaynu ugu baahanahay L293D ee Arduino?
  • 5:47 Fiilooyinka bam-biyoodka oo la sharaxay
  • 10:01 Koodhka Arduino oo la sharaxay
  • 12:21 Doorashada COM port-ka ee ESP32 ee Arduino IDE
  • 14:03 Muujinta shaqeynta bamka
  • 15:25 Muujinta biyaha

Sawirro

ESP32-15_L293D_motor_schematic
ESP32-15_L293D_motor_schematic
ESP32-16-motor-pump_wiring
ESP32-16-motor-pump_wiring
5V DC water pump
5V DC water pump
815-ESP32 Tutorial 16/55 - Arduino code to control DC water pump
Luqadda: 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(5);

  // Stop
  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, LOW);    
  delay(2000); // wait for a second
}

Kheyraadka & Tixraacyada

Faylasha📁

Waraaqa xogta (pdf)