Variklio valdiklis L298N Dėl mažos kainos ir naudojimo paprastumo tai labai populiarus robotikos ir elektronikos projektų pasirinkimas. Šiuo moduliu galime valdyti tiek nuolatinės srovės, tiek žingsninius variklius, reguliuoti jų greitį ir sukimosi kryptį. Šiame straipsnyje mes išskaidysime viską, ką reikia žinoti apie L298N, nuo pagrindinių jungčių iki to, kaip jį naudoti su Arduino varikliui valdyti. Skaitykite toliau, kad išnaudotumėte visas šio universalaus valdiklio galimybes.
Jei kada nors dirbote su robotikos projektais ar transporto priemonėmis, valdomomis mikrovaldikliu, pvz., „Arduino“, tikriausiai atsidūrėte situacijoje, kai reikia daugiau galios, kad judintumėte tam tikro dydžio variklius. Čia yra L298N modulis, valdiklis, leidžiantis paprastai valdyti šią papildomą elektros variklių galią. Pasigilinkime į visas jo detales.
Kas yra L298N ir kaip jis veikia?
L298N yra a variklio valdiklis kuri naudoja H-Bridge sistemą, kad pakeistų srovės poliškumą ir valdytų variklio sukimosi kryptį. Šis modulis gali valdyti du nuolatinės srovės varikliai arba žingsninis variklis. Maksimali srovė, kurią jis gali suteikti, yra 2 A vienai išvesties, o didžiausia smailė yra 3 A, ir palaiko galios diapazoną nuo 3 V iki 35 V. Svarbu pažymėti, kad šio modulio efektyvumas yra santykinai mažas, o tai reiškia, kad varikliai gaus maždaug 3 V įtampą, mažesnę nei moduliui. Šie nuostoliai išsisklaido kaip šiluma.
Vidinė modulio struktūra apima du H tiltai, elektronikoje plačiai naudojama technologija srovės krypčiai valdyti. Kiekvienas tiltas sudarytas iš keturių tranzistorių, išdėstytų taip, kad būtų galima valdyti ir poliškumą, ir variklio atjungimą. Be to, L298N apima apsaugos diodai ir kitas priemones, skirtas išvengti galimos žalos naudojant šiuos variklius.
Pagrindiniai komponentai ir jungtys
El L298N modulis Jis pasižymi naudojimo paprastumu ir lankstumu prisitaikyti prie įvairių tipų projektų. Žemiau paaiškiname svarbiausias valdiklio jungtis:
- Vin ir GND: Šie kaiščiai naudojami modulio maitinimo šaltiniui prijungti. Jis gali palaikyti nuo 3 V iki 35 V įvesties įtampą.
- logiška V: Šis kaištis turi dvi funkcijas, priklausomai nuo to, ar įtampos reguliatorius įjungiamas per trumpiklį. Jei trumpiklis yra prijungtas, šis kaištis suteiks 5 V išvestį, kurią galime naudoti įrenginiams, tokiems kaip Arduino, maitinti. Jei trumpiklis pašalinamas, turime maitinti loginį komponentą su 5 V šaltiniu.
- IN1, IN2, IN3, IN4: Šie kaiščiai valdo variklių kryptį. Pavyzdžiui, varikliui A, jei IN1 yra AUKŠTA, o IN2 yra žema, variklis suksis viena kryptimi. Jei IN1 yra LOW, o IN2 yra AUKŠTA, jis suksis priešinga kryptimi.
- ENA ir ENB: Jie valdo variklių greitį naudodami PWM (Pulse Width Modulation) signalus. Jei trumpikliai yra vietoje, varikliai veiks pastoviu greičiu; Jei ne, galime reguliuoti greitį vertėmis nuo 0 iki 255.
L298N veikimas ir maitinimo šaltiniai
Yra du pagrindiniai būdai maitinti a L298N:
- Su vienu maitinimo šaltiniu: Šiuo atveju naudojame šaltinį iki 12 V, jungiame trumpiklį, kad įjungtume 5 V reguliatorių, ir nieko nejungiame prie 5 V kaiščio, nes tai veiks kaip išėjimas.
- Su dviem energijos šaltiniais: Kita alternatyva yra maitinti modulį iš dviejų skirtingų šaltinių, iš kurių vienas tieks 5 V, reikalingą modulio loginei daliai, o kitas 12 V ar daugiau varikliui, šiuo atveju atjungiant reguliatoriaus trumpiklį, kad nebūtų pažeistas modulis.
Nesvarbu, ar naudojate vieną ar du maitinimo šaltinius, visada nepamirškite atkreipti dėmesį į įvesties ir išvesties kaiščiai kad išvengtumėte trumpojo jungimo ar galimos žalos.
Programavimas su Arduino
Vienas iš didžiausių L298N yra lengvas integravimas su Arduino pagrįstais projektais. Taip yra todėl, kad tik sujungę kelis kaiščius galime valdyti vieno ar kelių variklių greitį ir kryptį. Čia parodysime, kaip programuoti L298N su Arduino:
Pirmiausia priskiriame kaiščius, kuriuos naudosime varikliams valdyti:
int ENA = 10; // Habilita motor A
int IN1 = 9; // Dirección Motor A
int IN2 = 8; // Dirección Motor A
int ENB = 5; // Habilita motor B
int IN3 = 7; // Dirección Motor B
int IN4 = 6; // Dirección Motor B
Pradedame sukonfigūruodami kaiščius kaip išėjimus setup()
ir deklaruojant funkcijas, būtinas varikliams judėti abiem kryptimis:
void Adelante() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
analogWrite(ENA, 255);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENB, 255);
}
void Atras() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
analogWrite(ENA, 128);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
analogWrite(ENB, 128);
}
Keisdami funkcijos reikšmes galime reguliuoti variklių greitį analogWrite()
, kuris priima reikšmes nuo 0 iki 255, kur 255 yra didžiausias greitis.
L298N apsaugos
Įsidėmėtinas bruožas L298N yra tai, kad jame yra keletas apsaugos priemonių, kad būtų išvengta žalos valdikliui ir varikliams. Šios apsaugos priemonės apima:
- Apsauga nuo viršsrovių: Jei modulis aptinka srovę, didesnę nei gali atlaikyti, jis suaktyvins apsaugą, kad būtų išvengta žalos.
- Apsauga nuo perkaitimo: L298N skirtas eksploatacijos metu susidariusiai šilumai išsklaidyti, tačiau temperatūrai viršijus tam tikras ribas, modulis įjungs šiluminę apsaugą.
- Apsauginiai diodai: Šie diodai neleidžia dėl variklių inercijos sukeltiems įtampos šuoliais sugadinti modulį.
Praktinis pavyzdys: Roboto automobilio valdymas
Valdiklio naudojimas L298N Tai labai įprasta robotikos projektuose, pavyzdžiui, robotuose automobiliuose, valdomuose su Arduino. Šioje sąrankoje L298N pritvirtinę ant važiuoklės ir prijungę prie Arduino, galime valdyti tiek automobilio ratų judėjimo kryptį, tiek greitį.
Įprasta prijungimo schema yra tokia: Jūs maitinate L298N modulį su išorine variklių baterija (dažniausiai 6 V arba 12 V) ir jungiate 5 V išvesties kaištį prie Arduino. Iš „Arduino“ valdote IN1, IN2, IN3 ir IN4 kaiščius, kad valdytumėte variklius. Ši sąranka leidžia pasukti automobilį pirmyn, atgal ir sukti įvairiomis kryptimis.
Jei norite supaprastinti programavimą ir valdymą, galite naudoti tokias bibliotekas kaip LEANTEC_ControlMotor.h. Ši biblioteka leidžia programuoti variklius paprastesnėmis komandomis, tokiomis kaip: control.Motor(velocidad, direccion)
.
L298N yra puikus sprendimas mažų ir vidutinių projektų varikliams valdyti, o jo naudojimas plačiai paplitęs gamintojų bendruomenėje. Nors yra ir kitų pažangesnių ir efektyvesnių valdiklių, dėl L298N universalumo, kainos ir paprastumo derinys yra vienas geriausių „pasidaryk pats“ projektų variantų.