Motora kontrolieris L298N Tā ir ļoti populāra iespēja robotikas un elektronikas projektos kopumā, pateicoties tā zemajām izmaksām un ērtai lietošanai. Ar šo moduli varam vadīt gan līdzstrāvas motorus, gan pakāpju motorus, regulējot to ātrumu un griešanās virzienu. Šajā rakstā mēs noskaidrosim visu, kas jums jāzina par L298N, sākot no pamata savienojumiem un beidzot ar to, kā to izmantot kopā ar Arduino motora vadībai. Lasiet tālāk, lai maksimāli izmantotu šo daudzpusīgo kontrolieri.
Ja kādreiz esat strādājis ar robotikas projektiem vai transportlīdzekļiem, ko kontrolē mikrokontrolleris, piemēram, Arduino, iespējams, esat nonācis situācijā, kad nepieciešama lielāka jauda, lai pārvietotu noteikta izmēra motorus. Šī ir vieta, kur L298N modulis, kontrolieris, kas ļauj vienkāršā veidā pārvaldīt šo papildu jaudu elektromotoriem. Iedziļināsimies visās tā detaļās.
Kas ir L298N un kā tas darbojas?
L298N ir a motora kontrolieris kas izmanto H-Bridge sistēmu, lai mainītu strāvas polaritāti un tādējādi kontrolētu motora griešanās virzienu. Šis modulis spēj kontrolēt divi līdzstrāvas motori vai pakāpju motors. Maksimālā strāva, ko tas var nodrošināt, ir 2A uz vienu izeju ar maksimālo maksimumu 3A, un tā atbalsta jaudas diapazonu no 3V līdz 35V. Ir svarīgi atzīmēt, ka šim modulim ir salīdzinoši zema efektivitāte, kas nozīmē, ka motori saņems aptuveni par 3 V zemāku spriegumu nekā modulim. Šie zudumi tiek izkliedēti kā siltums.
Moduļa iekšējā struktūra ietver divi H tilti, tehnoloģija, ko plaši izmanto elektronikā, lai kontrolētu strāvas virzienu. Katrs tilts sastāv no četriem tranzistoriem, kas sakārtoti tādā konfigurācijā, kas ļauj kontrolēt gan motora polaritāti, gan atvienošanu. Turklāt L298N ietver aizsardzības diodes un citi pasākumi, lai izvairītos no iespējamiem bojājumiem, ekspluatējot šos dzinējus.
Pamatkomponenti un savienojumi
El L298N modulis To raksturo lietošanas vienkāršība un elastība, lai to pielāgotu dažāda veida projektiem. Zemāk mēs izskaidrojam svarīgākos kontroliera savienojumus:
- Vin un GND: Šīs tapas tiek izmantotas moduļa barošanas avota pievienošanai. Tas var atbalstīt no 3 V līdz 35 V ieejas spriegumu.
- loģiski V: Šai tapai ir divas funkcijas atkarībā no tā, vai sprieguma regulators tiek aktivizēts, izmantojot džemperi. Ja ir pievienots džemperis, šī tapa nodrošinās 5 V izeju, ko mēs varam izmantot tādu ierīču darbināšanai kā Arduino. Ja džemperis ir noņemts, mums ir jābaro loģiskais komponents ar 5 V avotu.
- IN1, IN2, IN3, IN4: Šīs tapas kontrolē motoru virzienu. Piemēram, motoram A, ja IN1 ir HIGH un IN2 ir LOW, motors griezīsies vienā virzienā. Ja IN1 ir zems un IN2 ir AUGSTS, tas griezīsies pretējā virzienā.
- ENA un ENB: Tie kontrolē motoru ātrumu, izmantojot PWM (impulsa platuma modulācijas) signālus. Ja džemperi atrodas vietā, motori darbosies ar nemainīgu ātrumu; Ja nē, mēs varam pielāgot ātrumu ar vērtībām no 0 līdz 255.
L298N darbība un barošanas avoti
Ir divi galvenie veidi, kā barot a L298N:
- Ar vienu barošanas avotu: Šajā gadījumā mēs izmantojam avotu līdz 12 V, pievienojam džemperi, lai iespējotu 5 V regulatoru, un neko nepievienojam 5 V tapai, jo tas darbosies kā izeja.
- Ar diviem enerģijas avotiem: Vēl viena alternatīva ir moduļa barošana ar diviem dažādiem avotiem, no kuriem viens nodrošinās 5 V, kas nepieciešami moduļa loģiskajai daļai, bet otrs 12 V vai vairāk motoram, šajā gadījumā atvienojot regulatora džemperi, lai neradītu bojājumus modulis.
Neatkarīgi no tā, vai izmantojat vienu vai divus barošanas avotus, vienmēr atcerieties pievērst uzmanību ievades un izvades tapas lai izvairītos no īssavienojumiem vai iespējamiem bojājumiem.
Programmēšana ar Arduino
Viena no lielākajām priekšrocībām L298N ir tā vieglā integrācija ar projektiem, kuru pamatā ir Arduino. Tas ir tāpēc, ka, tikai savienojot dažas tapas, mēs varam kontrolēt gan viena vai vairāku motoru ātrumu, gan virzienu. Šeit mēs parādīsim, kā ieprogrammēt L298N ar Arduino:
Pirmkārt, mēs piešķiram tapas, kuras izmantosim motoru vadīšanai:
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
Mēs sākam, konfigurējot tapas kā izejas uz setup()
un deklarējot funkcijas, kas nepieciešamas motoru pārvietošanai abos virzienos:
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);
}
Mēs varam regulēt motoru ātrumu, mainot vērtības funkcijā analogWrite()
, kas pieņem vērtības no 0 līdz 255, kur 255 ir maksimālais ātrums.
L298N Aizsardzība
Ievērojama iezīme L298N ir tas, ka tajā ir iekļauti vairāki aizsardzības līdzekļi, lai novērstu gan kontroliera, gan motoru bojājumus. Šie aizsardzības līdzekļi ietver:
- Pārstrāvas aizsardzība: Ja modulis konstatē strāvu, kas ir lielāka nekā tas spēj izturēt, tas aktivizēs aizsardzību, lai novērstu bojājumus.
- Aizsardzība pret pārkaršanu: L298N ir paredzēts ekspluatācijas laikā radītā siltuma izkliedēšanai, bet, ja temperatūra pārsniegs noteiktas robežas, modulis aktivizēs savu termisko aizsardzību.
- Aizsardzības diodes: Šīs diodes neļauj dzinēju inerces izraisītajiem sprieguma lēcieniem sabojāt moduli.
Praktisks piemērs: Robotizētas automašīnas vadība
Kontroliera izmantošana L298N Tas ir ļoti izplatīts robotikas projektos, piemēram, robotizētās automašīnās, kuras tiek vadītas ar Arduino. Šajā iestatījumā, uzstādot L298N uz šasijas un savienojot to ar Arduino, mēs varam kontrolēt gan automašīnas riteņu virzienu, gan ātrumu.
Parastā savienojuma shēma ir šāda: Jūs barojat L298N moduli ar ārēju akumulatoru motoriem (parasti 6V vai 12V) un pievienojiet 5V izejas tapu Arduino. No Arduino jūs kontrolējat IN1, IN2, IN3 un IN4 tapas, lai vadītu motorus. Šis iestatījums ļauj pagriezt automašīnu uz priekšu, atpakaļ un veikt pagriezienus dažādos virzienos.
Ja vēlaties vienkāršot programmēšanu un vadību, varat izmantot tādas bibliotēkas kā LEANTEC_ControlMotor.h. Šī bibliotēka ļauj programmēt motorus ar vienkāršākām komandām, piemēram: control.Motor(velocidad, direccion)
.
L298N ir lielisks risinājums motoru vadībai mazos un vidējos projektos, un tā izmantošana ir plaši izplatīta ražotāju aprindās. Lai gan ir arī citi uzlaboti un efektīvāki kontrolieri, L298N daudzpusības, cenas un vienkāršības kombinācija padara to par vienu no labākajām iespējām DIY projektiem.