L298N: module upang makontrol ang mga motor para sa Arduino

l298n

Maraming mga module para sa Arduino o para magamit sa mga proyekto ng DIY ng mga gumagawa. Sa kaso ng Ang L298N ay isang module upang makontrol ang mga motor. Sa kanila maaari mong gamitin ang mga simpleng code upang programa ang aming Arduino board at makontrol ang mga DC motor sa isang simple at kontroladong paraan. Sa pangkalahatan, ang ganitong uri ng modyul ay ginagamit nang higit pa sa mga robotiko o sa mga motor na tagapagtaguyod, bagaman maaari itong magamit para sa maraming mga application.

Naipasok na namin ang lahat ng kailangan mo ang module ng ESP, na may ESP8266 chip, A module na nagbibigay-daan upang pahabain ang mga capacities Mga board ng Arduino at iba pang mga proyekto upang magkaroon sila ng pagkakakonekta sa WiFi. Ang mga modyul na ito ay hindi lamang magagamit sa pag-iisa, ang magandang bagay ay maaari silang pagsamahin. Halimbawa, maaaring magamit ang isang ESP8266 para sa aming prototype at L298N, kung saan makakakuha kami ng isang makokontrol na motor sa pamamagitan ng Internet o wireless.

Panimula sa L298N at mga datasheet:

l298n pinout

Bagaman sa Arduino maaari ka ring magtrabaho kasama ang mga stepper motor, na kilalang-kilala sa mga robot, sa kasong ito kadalasan ay mas karaniwang gamitin ang controller o driver para sa DC motor. Maaari kang makakuha ng impormasyon tungkol sa L298 chip at ang mga module sa mga datasheet ng mga tagagawa, tulad ng STMicroelectronics mula sa link na ito. Kung nais mong makita ang isang datasheet ng tukoy na module, at hindi lamang ang chip, maaari mong i-download ang iba pang PDF ng Handsontec L298N.

Ngunit sa malawak na pagsasalita, ang isang L298N ay isang H-tulay na uri ng driver na pinapayagan ang bilis at direksyon ng pag-ikot ng DC motors upang makontrol. Maaari din itong magamit sa mga stepper motor na madali salamat sa 2 H-tulay nagpapatupad iyon. Iyon ay upang sabihin, ang isang tulay sa H, na nangangahulugang nabuo ito ng 4 na transistors na magpapahintulot na baligtarin ang direksyon ng kasalukuyang upang ang rotor ng motor ay maaaring paikutin sa isang direksyon o sa iba pang gusto namin. Ito ay isang kalamangan sa mga Controller na nagbibigay-daan lamang sa iyo upang makontrol ang bilis ng pag-ikot (RPM) sa pamamagitan lamang ng pagkontrol sa halaga ng boltahe ng suplay.

Ang L298N ay maaaring gumana sa iba't ibang voltages, mula 3v hanggang 35v, at sa tindi ng 2A. Ito ang totoong matutukoy ang pagganap o bilis ng pag-ikot ng motor. Dapat isaalang-alang na ang mga electronics na kinakain ng module ay karaniwang kumonsumo sa paligid ng 3v, kaya't ang motor ay palaging makakatanggap ng 3v na mas kaunti mula sa lakas na pinapakain natin ito. Ito ay isang medyo mataas na pagkonsumo, sa katunayan mayroon itong isang mataas na elemento ng lakas na nangangailangan ng isang heatsink tulad ng nakikita mo sa imahe.

Upang makontrol ang bilis, maaari kang gumawa ng isang bagay na kabaligtaran sa ginawa namin sa LM35, sa kasong ito, sa halip na makakuha ng isang tiyak na boltahe sa output at kailangang i-convert ito sa degree, narito ang magiging kabaligtaran. Pinakain namin ang driver ng isang mas mababa o mas mataas na boltahe upang makuha isang mas mabilis o mas mabagal na pagliko. Bilang karagdagan, pinapayagan din ng module na L298N ang Arduino board na pinalakas sa 5v hangga't pinapagana namin ang driver na may hindi bababa sa 12v boltahe.

Pagsasama sa Arduino

circuit diagram ng l298n kasama ang Arduino

doon dami ng mga proyekto kung saan maaari mong gamitin ang modyul na L298N. Sa katunayan, maiisip mo lamang ang lahat ng magagawa mo dito at makapagtrabaho. Halimbawa, ang isang simpleng halimbawa ay ang pagkontrol ng dalawang direktang kasalukuyang motor na makikita sa nakaraang diagram na ginawa kasama ng Fritzing.

Bago magtrabaho kasama ang L298N dapat nating isaalang-alang ang input ng module o Vin sumusuporta sa mga voltages sa pagitan ng 3v at 35v at dapat din nating ikonekta ito sa lupa o GND, tulad ng makikita sa imahe na may pula at itim na cable ayon sa pagkakabanggit. Kapag nakakonekta sa lakas, ang susunod na bagay ay upang ikonekta ang motor o ang dalawang motor na tinatanggap nitong kontrolin nang sabay-sabay. Ito ay simple, kailangan mo lamang ikonekta ang dalawang mga terminal ng motor sa tab ng koneksyon na mayroong module sa bawat panig.

At ngayon darating marahil ang pinaka-kumplikado, at upang ikonekta ang mga koneksyon sa module o maayos ang mga pin sa Arduino. Tandaan na kung ang jumper o tulay ng regulator ng module ay sarado, iyon ay, sa, ang boltahe ng regulator ng module ay naaktibo at mayroong isang output na 5v na maaari mong gamitin upang mapalakas ang Arduino board. Sa kabilang banda, kung aalisin mo ang jumper ay deactivate mo ang regulator at kailangan mong i-power ang Arduino nang nakapag-iisa. mata! Dahil ang jumper ay maitatakda lamang sa 12v voltages, para sa higit sa dapat mong alisin ito upang hindi makapinsala sa module ...

Maaari mong pahalagahan iyon mayroong 3 mga koneksyon para sa bawat motor. Ang mga minarkahan bilang IN1 hanggang IN4 ay ang mga kumokontrol sa mga motor A at B. Kung wala kang isa sa mga motor na nakakonekta dahil kailangan mo lang ng isa, hindi mo na kailangang ilagay ang lahat. Ang mga jumper sa bawat panig ng mga koneksyon na ito para sa bawat motor ay ang ENA at ENB, iyon ay, upang buhayin ang motor A at B, na dapat naroroon kung nais naming gumana ang parehong mga motor.

Sa motor A (Ito ay magiging pareho para sa B), dapat magkaroon kami ng IN1 at IN2 na konektado na makokontrol sa direksyon ng pag-ikot. Kung ang IN1 ay Mataas at ang IN2 ay mababa, ang motor ay lumiliko sa isang direksyon, at kung ang mga ito ay mababa at mataas, ito ay lumiliko sa iba pa. Upang makontrol ang bilis ng pag-ikot dapat mong alisin ang mga jumpers ng INA o INB at gamitin ang mga pin na lilitaw upang ikonekta ito sa Arduino PWM, upang kung bigyan namin ito ng isang halaga mula 0 hanggang 255 nakakakuha kami ng isang mababa o mas mataas na bilis ayon sa pagkakabanggit.

Sa mga tuntunin ng madali rin ang programa sa Arduino IDE. Halimbawa, ang isang code ay:

<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>

Maging una sa komento

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.