El controlador de motors L298N és una opció molt popular dins dels projectes de robòtica i electrònica en general, grà cies al baix cost i facilitat d'ús. Amb aquest mòdul, podem controlar tant motors de corrent continu com motors pas a pas, regulant-ne la velocitat i direcció de gir. Al llarg d'aquest article, desglossarem tot el que necessites saber sobre el L298N, des de les connexions bà siques fins a com utilitzar-lo amb un Arduino per al control de motors. Continua llegint per treure el mà xim partit a aquest versà til controlador.
Si mai has treballat amb projectes de robòtica o vehicles controlats per un microcontrolador com Arduino, probablement t'has trobat en la situació de necessitar més potència per moure motors de certa mida. Aquà és on entra en joc el mòdul L298N, un controlador que permet manejar aquesta potència addicional per a motors elèctrics de forma senzilla. Aprofundirem en tots els seus detalls.
Què és i com funciona el L298N?
El L298N és un controlador de motors que utilitza un sistema de ponts-H (H-Bridge) per invertir la polaritat del corrent i, per tant, controlar la direcció de gir del motor. Aquest mòdul és capaç de controlar dos motors de corrent continu o un motor pas a pas. El corrent mà xim que podeu proporcionar és de 2A per sortida, amb un pic mà xim de 3A, i admet un rang d'alimentació d'entre 3V i 35V. És important tenir en compte que aquest mòdul té una eficiència relativament baixa, cosa que implica que els motors rebran una tensió aproximadament 3V menor que l'aplicada al mòdul. Aquestes pèrdues es dissipen en forma de calor.
L'estructura interna del mòdul inclou dos ponts H, una tecnologia molt utilitzada en electrònica per controlar la direcció del corrent. Cada pont està compost per quatre transistors disposats en una configuració que permet controlar tant la polaritat com la desconnexió del motor. A més, el L298N incorpora dÃodes de protecció i altres mesures per evitar possibles danys en manejar aquests motors.
Components i connexions bà siques

El mòdul L298N es caracteritza per la senzillesa d'ús i la flexibilitat per adaptar-se a diversos tipus de projectes. A continuació us expliquem les connexions més importants del controlador:
- Vin i GND: Aquests pins sutilitzen per connectar la font dalimentació del mòdul. Podeu suportar entre 3V i 35V dentrada de voltatge.
- V lògic: Aquest pin té dues funcions, depenent de si el regulador de voltatge està activat mitjançant un jumper. Si el jumper està connectat, aquest pin proporcionarà una sortida de 5V que podem utilitzar per alimentar dispositius com Arduino. Si el jumper està tret, haurem d'alimentar el component lògic amb una font de 5V.
- IN1, IN2, IN3, IN4: Aquests pins controlen la direcció dels motors. Per exemple, per al motor A, si IN1 està a HIGH i IN2 a LOW, el motor girarà en un sentit. Si IN1 està a LOW i IN2 a HIGH, girarà al sentit oposat.
- ENA i ENB: Controlen la velocitat dels motors mitjançant senyals PWM (Modulació per amplada de pols). Si els jumpers estan col·locats, els motors funcionaran a velocitat constant; si no, podrem ajustar la velocitat amb valors de 0 a 255.
Funcionament i alimentacions del L298N
Hi ha dues formes principals d'alimentar un L298N:
- Amb un sol subministrament denergia: En aquest cas, utilitzem una font de fins a 12V, connectem el jumper per habilitar el regulador de 5V i no connectem res al pin de 5V, ja que aquest actuarà com a sortida.
- Amb dues fonts denergia: Una altra alternativa és alimentar el mòdul amb dues fonts diferents, una proveirà els 5V necessaris per a la part lògica del mòdul i l'altra els 12V o més per al motor, desconnectant en aquest cas el jumper del regulador per evitar generar danys al mòdul.
Tant si uses una com dues fonts d'alimentació, recorda sempre prestar atenció als pins d'entrada i sortida per evitar curtcircuits o possibles danys.
Programació amb Arduino
Una de les grans avantatges de l' L298N és la seva fà cil integració amb projectes basats a Arduino. Això és degut a que només connectant uns quants pins podem controlar tant la velocitat com la direcció d'un o més motors. Aquà us mostrem com programar el L298N amb Arduino:
Primer, assignem els pins que utilitzarem per controlar els motors:
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
Comencem configurant els pins com a sortides al setup() i declarant les funcions necessà ries per moure els motors en les dues direccions:
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);
}
Podem ajustar la velocitat dels motors canviant els valors a la funció analogWrite(), que accepta valors entre 0 i 255, on 255 és la velocitat mà xima.
Proteccions del L298N
Una caracterÃstica notable del L298N és que incorpora diverses proteccions per evitar danys tant al controlador com als motors. Aquestes proteccions inclouen:
- Protecció contra sobrecorrent: Si el mòdul detecta un corrent més gran del que pot suportar, activarà una protecció per evitar danys.
- Protecció contra sobreescalfament: El L298N està dissenyat per dissipar la calor generada durant el funcionament, però si la temperatura supera certs lÃmits, el mòdul n'activarà la protecció tèrmica.
- DÃodes de protecció: Aquests dÃodes eviten que els pics de tensió induïts per la inèrcia dels motors danyin el mòdul.
Exemple prà ctic: Control d'un cotxe robòtic
L'ús del controlador L298N és molt comú en projectes de robòtica, com per exemple en cotxes robòtics controlats amb Arduino. En aquest setup, en muntar el L298N al xassÃs i connectar-lo a l'Arduino, podem controlar tant la direcció com la velocitat de les rodes del cotxe.
L'esquema habitual de connexions és el següent: Alimentes el mòdul L298N amb una bateria externa per als motors (usualment 6V o 12V) i connectes el pin de 5V de sortida a l'Arduino. Des de l'Arduino controles els pins IN1, IN2, IN3 i IN4 per manejar els motors. Aquesta configuració et permet fer girar el cotxe cap endavant, cap enrere i fer girs en diferents direccions.
Si vols simplificar la programació i el control, pots utilitzar llibreries com LEANTEC_ControlMotor.h. Aquesta biblioteca et permet programar els motors amb ordres més senzilles com: control.Motor(velocidad, direccion).
El L298N és una excel·lent solució per controlar motors en projectes petits i mitjans, sent el seu ús molt estès a la comunitat maker. Tot i que hi ha altres controladors més avançats i eficients, la combinació de versatilitat, preu i senzillesa del L298N ho fa una de les millors opcions per a projectes DIY.