Search Code

د ESP32 ټیوټوریل 16/55 - د ESP32 او L293D په کارولو سره مینی واټر پمپ | د SunFounder د ESP32 IoT زده کړې کټ

د ESP32 ټیوټوریل 16/55 - د ESP32 او L293D په کارولو سره مینی واټر پمپ | د SunFounder د ESP32 IoT زده کړې کټ

په دې ټیوټوریل کې به موږ زده کړو چې څنګه د ESP32 مایکروکنټرولر او د L293D موټر ډرایور په کارولو سره د 5V اوبو پمپ کنټرول کړو. دا پروژه د مایکروکنټرولرونو سره د موټر ډرایورونو کارولو لپاره یوه ښه پېژندنه ده، چې تاسو ته دا وړتیا درکوي چې هغه وسایل کنټرول کړئ چې د مایکروکنټرولر څخه ډیر جریان ته اړتیا لري. د دې ټیوټوریل په پای کې به تاسو یو کار کوونکی اوبو پمپ ولرئ چې په پروګراماتیک ډول فعال او غیر فعال کیدی شي.

ESP32 یو پیاوړی مایکروکنټرولر دی چې د جوړ شوي وای-فای او بلوتوت وړتیاو سره راځي، چې دا د IoT غوښتنلیکونو لپاره مناسب کوي. د L293D موټر ډرایور د اوبو پمپ کنټرول لپاره کارول کیږي ترڅو د موټر چلولو لپاره اړین لوړ جریان اداره کړي. دا ترتیب موږ ته اجازه راکوي چې پمپ پیل او بند کړو پداسې حال کې چې ډاډ ترلاسه کوو چې ESP32 د ډیر جریان اخیستلو څخه خوندي پاتې کیږي.

هارډویر تشریح شوی

په دې پروژه کې، موږ د ESP32 مایکروکنټرولر څخه کار اخلو، کوم چې د خپل استعداد او ارتباطي اختیارونو لپاره پیژندل کیږي. دا کولی شي د Arduino په څیر کار وکړي پداسې حال کې چې اضافي ځانګړتیاوې لکه وای-فای او بلوتوت وړاندې کوي. د L293D موټر ډرایور د ESP32 او اوبو پمپ ترمنځ د انٹرفیس په توګه کار کوي، چې د مایکروکنټرولر له بارولو پرته د پمپ د عملیاتو کنټرول اجازه ورکوي.

L293D دوه H-پلونه لري، چې دا توان ورکوي چې د موټر سمت او سرعت کنټرول کړي. هر H-پل کولی شي موټر په هر لوري کې وګرځوي، چې دا د هغو غوښتنلیکونو لپاره مناسب کوي چیرې چې د موټر کنټرول ته اړتیا وي. په دې حالت کې، موږ یوازې اړتیا لرو چې پمپ په یو لوري کې د چلولو وړ کړو.

ډیټاشیټ تفصیلات

جوړونکیTexas Instruments
د پرزې شمېرهL293D
منطق/IO ولتاژ4.5 - 36 V
د برېښنا رسولو ولتاژ4.5 - 36 V
د تولید جریان (په هر چینل)600 mA
د لوړ جریان (په هر چینل)1.2 A
د PWM فریکونسي لارښوونه1 kHz - 10 kHz
د داخلې منطق حدونه2 V (لوړ)، 0.8 V (ټیټ)
د ولتاژ کمښت / RDS(on) / سنتریشن1.5 V (اعظمي)
حرارتي حدونه+150 °C (اعظمي)
بسته بنديDIP-16
یادښتونه / بڼېد انډکټیو بار محافظت لپاره جوړ شوي ډایوډونه شامل دي

  • د دوامداره عملیاتو لپاره د تودوخې مناسب ضایع کول ډاډمن کړئ.
  • د مستحکم برېښنا رسولو لپاره د ډیکپلینګ کیپاسیټرونه وکاروئ.
  • د زیان مخنیوي لپاره د داخلې ولتاژ څخه محتاط اوسئ.
  • که اړتیا وي د سرعت کنټرول لپاره PWM پلي کړئ.
  • د شارټ سرکټ مخنیوي لپاره تارونه وګورئ، په ځانګړي توګه د انډکټیو بارونو سره.

د تارونو د نښلولو لارښوونې

ESP32-16-motor-pump_wiring

د ESP32 او L293D موټر ډرایور د اوبو پمپ سره د نښلولو لپاره، دا ګامونه په دقت سره تعقیب کړئ. لومړی، د برېښنا رسولو سرچینه L293D سره وصل کړئ. پن 1 (د موټر A لپاره د فعالولو پن) او پن 8 (Vcc2) د مثبت ولتاژ سرچینې (5V) سره وصل کړئ. پن 4 (ځمکه) د خپل سرکټ ځمکې سره وصل کړئ.

بیا، ESP32 د L293D سره تار کړئ. د ESP32 څخه GPIO پن 13 د L293D په پن 2 (انپټ 1) سره وصل کړئ، او GPIO پن 14 د پن 7 (انپټ 2) سره وصل کړئ. په پای کې، اوبو پمپ د L293D پن 3 (آوټ پټ 1) او پن 6 (آوټ پټ 2) سره وصل کړئ. ډاډ ترلاسه کړئ چې ټول ځمکني اړیکې د سم عملیات لپاره یوځای تړل شوي دي. که تاسو دا لارښوونې تعقیب کړئ، ستاسو تارونه به ساده او فعال وي.

د کوډ مثالونه او تفصیل

په کوډ کې، موږ د موټر کنټرول لپاره د پن اړیکې تعریف کوو. پیژندونکي motor1A او motor2A په ترتیب سره د ESP32 په GPIO پنونو 13 او 14 سره مطابقت لري. دا پنونه به د L293D ډرایور له لارې اوبو پمپ کنټرول کړي.

#define motor1A 13
#define motor2A 14

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

په setup() فنکشن کې، موږ د موټر کنټرول پنونه د آوټ پټ په توګه پیل کوو. دا ډاډ ورکوي چې موږ کولی شو د پمپ کنټرول لپاره L293D ډرایور ته سیګنالونه واستوو. د loop() فنکشن بیا د پمپ عملیات کنټرولوي.

void loop() {
  digitalWrite(motor1A, HIGH);     
  digitalWrite(motor2A, LOW);   
  delay(5);
  
  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, LOW);    
  delay(2000); // یوه ثانیه انتظار
}

په loop() فنکشن کې، موږ د پمپ پیل کولو لپاره motor1A لوړ (HIGH) او motor2A ټیټ (LOW) ټاکو. د لنډ ځنډ وروسته، موږ دواړه پنونه ټیټ (LOW) په ټاکلو سره پمپ بندوو. دا دوره په غیر محدوده توګه تکرار کیږي، چې پمپ ته اجازه ورکوي چې د لنډې مودې لپاره وګرځي او بیا ودریږي.

ښودنه / څه تمه وکړو

یوځل چې تاسو تارونه بشپړ کړل او کوډ یې پورته کړ، تاسو باید وګورئ چې اوبو پمپ په یوه دوره کې فعال او غیر فعال کیږي. پمپ به د لنډې مودې لپاره وګرځي، بیا به ودریږي، چې د آن-آف بڼه رامینځته کوي. ډاډ ترلاسه کړئ چې ستاسو د برېښنا رسولو سرچینه د پمپ اړتیاو لپاره کافي ده ترڅو له کومې ستونزې څخه مخنیوی وشي (په ویډیو کې په 09:30).

د ویډیو وختونه

  • 00:00 پیل
  • 1:50 د پروژې پېژندنه
  • 3:17 ولې موږ د Arduino سره L293D ته اړتیا لرو؟
  • 5:47 د اوبو پمپ لپاره د تارونو نښلول تشریح شوي
  • 10:01 د Arduino کوډ تشریح شوی
  • 12:21 د Arduino IDE کې د ESP32 لپاره د COM پورټ غوره کول
  • 14:03 د پمپ د چلولو ښودنه
  • 15:25 د اوبو سره ښودنه

Images

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
Language: 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
}

Resources & references

Files📁

Datasheet (pdf)