Search Code

ESP32 оқулығы 16/55 - ESP32 және L293D көмегімен мини су сорғысы | SunFounder ESP32 IoT оқу жиынтығы

ESP32 оқулығы 16/55 - ESP32 және L293D көмегімен мини су сорғысы | SunFounder ESP32 IoT оқу жиынтығы

Бұл оқулықта біз ESP32 микроконтроллері мен L293D қозғалтқыш драйверін пайдаланып, 5V су сорғысын қалай басқаруды үйренеміз. Бұл жоба микроконтроллерлермен қозғалтқыш драйверлерін қолдануға тамаша кіріспе болып табылады, бұл микроконтроллер тікелей бере алатын токтан көбірек токты қажет ететін құрылғыларды басқаруға мүмкіндік береді. Осы оқулықтың соңында сізде бағдарламалық түрде қосылатын және өшірілетін жұмыс істейтін су сорғысы болады.

ESP32 - бұл кірістірілген Wi-Fi және Bluetooth мүмкіндіктері бар қуатты микроконтроллер, бұл оны IoT қолданбалары үшін қолайлы етеді. L293D қозғалтқыш драйвері қозғалтқышты жұмыс істету үшін қажет жоғары токты басқару арқылы су сорғысын басқару үшін қолданылады. Бұл қондырғы ESP32 шамадан тыс ток тұтынудан қауіпсіз болуын қамтамасыз ете отырып, сорғыны іске қосуға және тоқтатуға мүмкіндік береді.

Аппараттық құрал түсіндірмесі

Бұл жобада біз әмбебаптығы мен қосылу мүмкіндіктерімен танымал ESP32 микроконтроллерін қолданамыз. Ол Arduino сияқты жұмыс істей алады, сонымен қатар Wi-Fi және Bluetooth сияқты қосымша мүмкіндіктерді ұсынады. L293D қозғалтқыш драйвері ESP32 мен су сорғысы арасындағы интерфейс ретінде әрекет етеді, микроконтроллерді шамадан тыс жүктемей сорғының жұмысын басқаруға мүмкіндік береді.

L293D екі H-көпірден тұрады, бұл оған қозғалтқыштың бағыты мен жылдамдығын басқаруға мүмкіндік береді. Әрбір H-көпір қозғалтқышты екі бағытта да жүргізе алады, бұл оны қозғалтқышты басқару қажет болатын қолданбалар үшін қолайлы етеді. Бұл жағдайда бізге тек сорғыны бір бағытта жұмыс істету қажет болады.

Деректер парағының мәліметтері

ӨндірушіTexas Instruments
Бөлшек нөміріL293D
Логика/IO кернеуі4.5 - 36 В
Қоректендіру кернеуі4.5 - 36 В
Шығыс тогы (арнаға)600 мА
Ең жоғары ток (арнаға)1.2 А
PWM жиілігі бойынша нұсқау1 кГц - 10 кГц
Кіріс логикалық шектері2 В (жоғары), 0.8 В (төмен)
Кернеу төмендеуі / RDS(on) / қанығу1.5 В (макс)
Жылулық шектер+150 °C (макс)
ҚаптамаDIP-16
Ескертулер / нұсқаларИндуктивті жүктемеден қорғауға арналған кірістірілген диодтарды қамтиды

  • Үздіксіз жұмыс үшін дұрыс жылу таратуды қамтамасыз етіңіз.
  • Тұрақты қоректендіру үшін разрядтау конденсаторларын қолданыңыз.
  • Зақымдануды болдырмау үшін кіріс кернеуіне абай болыңыз.
  • Қажет болса, жылдамдықты басқару үшін PWM қолданыңыз.
  • Әсіресе индуктивті жүктемелермен қысқа тұйықталуды болдырмау үшін сымдарды тексеріңіз.

Сымды қосу нұсқаулары

ESP32-16-motor-pump_wiring

ESP32 мен L293D қозғалтқыш драйверін су сорғысымен қосу үшін мына қадамдарды мұқият орындаңыз. Алдымен қоректендіру көзін L293D-ге қосыңыз. 1-ші түйреуішті (A қозғалтқышы үшін қосу түйреуіші) және 8-ші түйреуішті (Vcc2) оң кернеу көзіне (5В) қосыңыз. 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 Сумен демонстрация

Суреттер

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
Тіл: 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
}

Ресурстар мен сілтемелер

Файлдар📁

Техникалық сипаттама (pdf)