L298N: modul för styrning av motorer för Arduino

l298n

Det finns många moduler för Arduino eller för tillverkare av DIY-projekt. I fallet med L298N är en modul för styrning av motorer. Med dem kan du använda enkla koder för att programmera vårt Arduino-kort och kunna styra likströmsmotorer på ett enkelt och kontrollerat sätt. Generellt används denna typ av modul mer i robotik eller i motoriserade manöverdon, även om den kan användas för en mängd applikationer.

Vi har redan skrivit in allt du behöver om ESP-modulen med ESP8266-chipen modul som gör det möjligt att utöka kapaciteterna Arduino-kort och andra projekt så att de har WiFi-anslutning. Dessa moduler kan inte bara användas isolerat, det bästa är att de kan kombineras. Till exempel kan en ESP8266 användas för vår prototyp och L298N, med vilken vi skulle få en kontrollerbar motor via Internet eller trådlöst.

Introduktion till L298N och datablad:

l298n pinout

Även om du med Arduino också kan arbeta med stegmotorer, som är välkända inom robotik, är det i det här fallet vanligtvis vanligare att använda styrenheten eller drivenhet för likströmsmotorer. Du kan få information om L298-chipet och modulerna i tillverkarens datablad, t.ex. STMicroelectronics från den här länken. Om du vill se ett datablad för den specifika modulen, och inte bara chipet, kan du ladda ner den här andra PDF-filen av Handsontec L298N.

Men i stort sett är en L298N en H-bridge-typ som gör det möjligt att kontrollera hastigheten och rotationsriktningen för likströmsmotorer. Den kan också enkelt användas med stegmotorer tack vare 2 H-bro som implementerar. Det vill säga en bro i H, vilket innebär att den bildas av fyra transistorer som gör det möjligt att vända strömriktningen så att motorns rotor kan rotera i en eller annan riktning som vi vill. Detta är en fördel jämfört med styrenheter som bara låter dig styra rotationshastigheten (RPM) genom att endast kontrollera värdet på matningsspänningen.

L298N kan fungera med olika spänningar, från 3v till 35v, och med en intensitet av 2A. Detta är vad som verkligen kommer att avgöra motorns prestanda eller rotationshastighet. Man måste komma ihåg att elektroniken som modulen förbrukar brukar förbruka cirka 3v, så motorn kommer alltid att få 3v mindre från den ström som vi matar den till. Det är en något hög förbrukning, det har faktiskt ett högt effektelement som behöver en kylfläns som du kan se på bilden.

För att kontrollera hastigheten kan du göra något inverterat till vad vi gjorde med LM35, i det här fallet, istället för att få en viss spänning vid utgången och behöva konvertera den till grader, här blir det motsatt. Vi matar föraren med en lägre eller högre spänning för att få en snabbare eller långsammare sväng. Dessutom gör L298N-modulen också att Arduino-kortet kan drivas med 5V så länge vi driver drivrutinen med minst 12 volt spänning.

Integration med Arduino

kretsschema för l298n med Arduino

Det många projekt som du kan använda den här modulen L298N med. I själva verket kan du bara föreställa dig allt du kan göra med det och komma till jobbet. Till exempel skulle ett enkelt exempel vara styrningen av två likströmsmotorer, vilket kan ses i det föregående diagrammet med Fritzing.

Innan vi arbetar med L298N måste vi ta hänsyn till att ingången till modulen eller Vin stöder spänningar mellan 3v och 35v och att vi också måste ansluta den till jord eller GND, vilket framgår av bilden med den röda respektive svarta kabeln. När du väl är ansluten till strömmen är nästa sak att ansluta motorn eller de två motorerna som den accepterar för att styra samtidigt. Detta är enkelt, du behöver bara ansluta de två terminalerna på motorn till anslutningsfliken som har modulen på varje sida.

Och nu kommer kanske det mest komplicerade, och är att ansluta modulanslutningarna eller stift till Arduino ordentligt. Kom ihåg att om modulens regulatorbygel eller brygga är stängd, det vill säga på, är modulens spänningsregulator aktiverad och det finns en 5v-utgång som du kan använda för att driva Arduino-kortet. Å andra sidan, om du tar bort bygeln inaktiverar du regulatorn och du måste driva Arduino oberoende. öga! Eftersom bygeln bara kan ställas in på 12 volt spänningar måste du ta bort den för att inte skada modulen ...

Du kan uppskatta det det finns 3 anslutningar för varje motor. De som är markerade som IN1 till IN4 är de som styr motorerna A och B. Om du inte har någon av motorerna anslutna för att du bara behöver en behöver du inte sätta dem alla. Bygeln på vardera sidan av dessa anslutningar för varje motor är ENA och ENB, det vill säga för att aktivera motor A och B, som måste finnas om vi vill att båda motorerna ska fungera.

till motor A (Det skulle vara detsamma för B), vi måste ha IN1 och IN2 anslutna som styr rotationsriktningen. Om IN1 är HÖG och IN2 är LÅG, vänder motorn i en riktning, och om de är LÅG och HÖG, vänder den den andra. För att kontrollera rotationshastigheten måste du ta bort INA- eller INB-hopparna och använda stiften som verkar för att ansluta den till Arduino PWM, så att om vi ger det ett värde från 0 till 255, får vi en låg respektive högre hastighet.

Beträffande programmering är också enkelt i Arduino IDE. Till exempel skulle en kod vara:

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

Bli först att kommentera

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.