L298N: modul për të kontrolluar motorët për Arduino

l298n

Ka shumë module për Arduino ose për t'u përdorur në projekte DIY nga prodhuesit. Në rastin e L298N është një modul për të kontrolluar motorët. Me ta mund të përdorni kode të thjeshta për të programoni bordin tonë Arduino dhe të jetë në gjendje të kontrollojë motorët DC në një mënyrë të thjeshtë dhe të kontrolluar. Në përgjithësi, ky lloj moduli përdoret më shumë në robotikë ose në aktuatorë të motorizuar, megjithëse mund të përdoret për një mori aplikimesh.

Ne tashmë kemi futur gjithçka që ju nevojitet moduli ESP, me çipin ESP8266, Një modul që lejon zgjerimin e kapaciteteve Bordet Arduino dhe projektet e tjera në mënyrë që ata të kenë lidhje WiFi. Këto module jo vetëm që mund të përdoren të izoluara, gjëja e mirë është që ato të kombinohen. Për shembull, një ESP8266 mund të përdoret për prototipin tonë dhe L298N, me të cilin do të merrnim një motor të kontrollueshëm përmes internetit ose wireless.

Hyrje në L298N dhe fletët e të dhënave:

l298n pinout

Edhe pse me Arduino mund të punoni edhe me motorë stepper, të cilët janë të njohur në robotikë, në këtë rast zakonisht është më e zakonshme të përdorni kontrolluesin ose drejtues për motorët DC. Ju mund të merrni informacione rreth çipit L298 dhe moduleve në fletët e të dhënave të prodhuesve, si p.sh. STMikroelektronika nga kjo lidhje. Nëse dëshironi të shihni një fletë të dhënash të modulit specifik, dhe jo vetëm çipin, mund të shkarkoni këtë PDF tjetër të Handsontec L298N.

Por duke folur gjerësisht, një L298N është një drejtues i tipit urë H që lejon kontrollimin e shpejtësisë dhe drejtimit të rrotullimit të motorëve DC. Mund të përdoret gjithashtu me motorë stepper lehtësisht falë 2 Urë H që zbaton. Kjo do të thotë, një urë në H, që do të thotë se ajo është formuar nga 4 tranzistorë që do të lejojnë të kthejnë drejtimin e rrymës në mënyrë që rotori i motorit të mund të rrotullohet në një drejtim ose në tjetrin siç duam. Ky është një avantazh ndaj kontrolluesve që ju lejojnë të kontrolloni vetëm shpejtësinë e rrotullimit (RPM) duke kontrolluar vetëm vlerën e tensionit të furnizimit.

L298N mund të punojë me të ndryshme tensione, nga 3v në 35v, dhe me një intensitet prej 2A. Kjo është ajo që me të vërtetë do të përcaktojë performancën ose shpejtësinë e rrotullimit të motorit. Duhet të kihet parasysh se elektronika që moduli konsumon zakonisht konsumon rreth 3v, kështu që motori gjithmonë do të marrë 3v më pak nga energjia për të cilën po e ushqejmë. Isshtë një konsum disi i lartë, në fakt ka një element të fuqisë së lartë që ka nevojë për një ftohës siç mund ta shihni në imazh.

Për të kontrolluar shpejtësinë, mund të bëni diçka të anasjelltë me atë që bëmë me LM35, në këtë rast, në vend që të merrni një tension të caktuar në dalje dhe ta keni për ta kthyer atë në gradë, këtu do të jetë e kundërta. Ne e ushqejmë shoferin me një tension më të ulët ose më të lartë për të marrë një kthesë më e shpejtë ose e ngadaltë. Përveç kësaj, moduli L298N lejon që bordi Arduino të mundësohet me 5v për sa kohë që ne jemi duke furnizuar drejtuesin me tension të paktën 12v.

Integrimi me Arduino

diagrami qarkor i l298n me Arduino

Atje shumë projekte me të cilat mund të përdorni këtë modul L298N. Në fakt, ju thjesht mund të imagjinoni gjithçka që mund të bëni me të dhe të futeni në punë. Për shembull, një shembull i thjeshtë do të ishte kontrolli i dy motorëve të rrymës së drejtpërdrejtë siç mund të shihet në diagramin e mëparshëm të bërë me Fritzing.

Para se të punojmë me L298N duhet të kemi parasysh që hyrja e modulit ose Vin mbështet tensione midis 3v dhe 35v dhe se ne gjithashtu duhet ta lidhim atë me tokën ose GND, siç mund të shihet në imazh përkatësisht me kabllot e kuq dhe të zi. Pasi të lidhet me energjinë, gjëja tjetër është të lidhni motorin ose dy motorët që ai pranon të kontrollojë njëkohësisht. Kjo është e thjeshtë, thjesht duhet të lidhni dy terminalet e motorit në skedën e lidhjes që ka modulin në secilën anë.

Dhe tani vjen mbase më e komplikuara, dhe është të lidhni lidhjet e modulit ose kunjat në Arduino siç duhet. Mos harroni se nëse bluza ose ura e rregullatorit të modulit është e mbyllur, domethënë në, rregullatori i tensionit të modulit aktivizohet dhe ekziston një dalje 5v që mund ta përdorni për të furnizuar bordin Arduino. Nga ana tjetër, nëse hiqni bluzën, ju çaktivizoni rregullatorin dhe duhet të furnizoni Arduino në mënyrë të pavarur. sy! Për shkak se kërcyesi mund të vendoset vetëm në tensione 12v, për më shumë se kaq duhet ta hiqni atë në mënyrë që të mos dëmtojë modulin ...

Ju mund ta vlerësoni atë ekzistojnë 3 lidhje për secilin motor. Ata që shënohen si IN1 deri IN4 janë ata që kontrollojnë motorët A dhe B. Nëse nuk keni të lidhur një nga motorët sepse ju duhet vetëm një, atëherë nuk do të duhet t'i vendosni të gjithë. Kërcyesit në secilën anë të këtyre lidhjeve për secilin motor janë ENA dhe ENB, pra për të aktivizuar motorin A dhe B, i cili duhet të jetë i pranishëm nëse duam që të dy motorët të funksionojnë.

motor A (Do të ishte e njëjta gjë për B), duhet të kemi të lidhur IN1 dhe IN2 që do të kontrollojnë drejtimin e rrotullimit. Nëse IN1 është në HIGH dhe IN2 në Low, motori kthehet në një drejtim, dhe nëse janë në LOW dhe HIGH, ai kthehet në tjetrin. Për të kontrolluar shpejtësinë e rrotullimit duhet të hiqni kërcyesit INA ose INB dhe të përdorni kunjat që shfaqen për ta lidhur atë me Arduino PWM, kështu që nëse i japim një vlerë nga 0 në 255 të fitojmë përkatësisht një shpejtësi të ulët ose më të lartë.

Sa për programimi është gjithashtu i lehtë në Arduino IDE. Për shembull, një kod do të ishte:

<pre>// Motor A
int ENA = 10;
int IN1 = 9;
int IN2 = 8;

// Motor B
int ENB = 5;
int IN3 = 7;
int IN4 = 6;

void setup ()
{
 // Declaramos todos los pines como salidas
 pinMode (ENA, OUTPUT);
 pinMode (ENB, OUTPUT);
 pinMode (IN1, OUTPUT);
 pinMode (IN2, OUTPUT);
 pinMode (IN3, OUTPUT);
 pinMode (IN4, OUTPUT);
}
//Mover los motores a pleno rendimiento (255), si quieres bajar la velocidad puedes reducir el valor hasta la mínima que son 0 (parados)</pre>
<pre>//Para mover los motores en sentido de giro contrario, cambia IN1 a LOW e IN2 a HIGH

void Adelante ()
{
 //Direccion motor A
 digitalWrite (IN1, HIGH);
 digitalWrite (IN2, LOW);
 analogWrite (ENA, 255); //Velocidad motor A
 //Direccion motor B
 digitalWrite (IN3, HIGH);
 digitalWrite (IN4, LOW);
 analogWrite (ENB, 255); //Velocidad motor B
}</pre>

Bëhu i pari që komenton

Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.