Spiegazione del modulo driver motore CC L298N

Prova Il Nostro Strumento Per Eliminare I Problemi





In questo post impareremo a conoscere il modulo driver per motore CC doppio ponte H L298N che può essere utilizzato per azionare motori CC con spazzole e motori passo-passo con microcontrollori e circuiti integrati.

Panoramica

I circuiti stampati modulari sono il miglior risparmio di tempo per i progettisti di elettronica che riducono anche gli errori di prototipazione. Questo è preferito principalmente dai programmatori che scrivono codice per microcontrollori trascorrono la maggior parte del tempo digitando codici davanti al computer e hanno meno tempo per saldare i componenti elettronici discreti.



Ecco perché possiamo trovare tonnellate e tonnellate di diversi circuiti modulari realizzati solo per schede Arduino, è facile da interfacciare e ha il vantaggio di errori hardware minimi durante la progettazione del nostro prototipo.

Illustrazione del modulo L298N:

Illustrazione del modulo L298N:



Il modulo è costruito attorno all'IC L298N, è comunemente disponibile sui siti di e-commerce.

Noi usiamo Driver per motori DC perché i circuiti integrati e i microcontrollori non sono in grado di fornire una corrente non superiore a 100 milliampere in generale. I microcontrollori sono intelligenti ma non potenti questo modulo aggiungerà alcuni muscoli ad Arduino, circuiti integrati e altri microcontrollori per pilotare motori CC ad alta potenza.

Può controllare 2 motori DC contemporaneamente fino a 2 amp ciascuno o un motore passo-passo. Noi possiamo controllare la velocità utilizzando PWM e anche la sua direzione di rotazione dei motori.

Questo modulo è ideale per costruzione di robot e progetti di movimento terra come le macchinine.

Vediamo i dettagli tecnici del modulo L298N.

dettagli tecnici del modulo L298N.

Descrizione pin:

· Sul lato sinistro ci sono le porte OUT1 e OUT2, che serve per il collegamento del motore CC. Allo stesso modo, OUT3 e OUT4 per un altro motore CC.

· ENA e ENB sono pin di abilitazione, collegando ENA ad alto o + 5V si abilitano le porte OUT1 e OUT2. Se colleghi il pin ENA a basso oa massa, disabilita OUT1 e OUT2. Allo stesso modo, per ENB e OUT3 e OUT4.

· Da IN1 a IN4 sono i pin di ingresso che verranno collegati ad Arduino. Se inserisci IN1 + Ve e IN2 –Ve dal microcontrollore o manualmente, OUT1 diventa alto e OUT2 basso, quindi possiamo guidare il motore.

· Se inserisci IN3 alto, OUT4 diventa alto e se inserisci IN4 basso OUT3 diventa basso, ora possiamo azionare un altro motore.

· Se si desidera invertire il senso di rotazione del motore, invertire la polarità IN1 e IN2, analogamente per IN3 e IN4.

· Applicando il segnale PWM a ENA e ENB è possibile controllare la velocità dei motori su due diverse porte di uscita.

· La scheda può accettare nominalmente da 7 a 12V. È possibile immettere l'alimentazione al terminale + 12V e la messa a terra a 0V.

· Il terminale + 5V è OUTPUT che può essere utilizzato per alimentare Arduino o qualsiasi altro modulo, se necessario.

Ponticelli:

Ci sono tre pin jumper che puoi scorrere verso l'alto per vedere l'immagine illustrata.

Tutti i ponticelli verranno collegati inizialmente togliere o tenere il ponticello a seconda delle proprie necessità.

Jumper 1 (vedi immagine illustrata):

· Se il motore necessita di un'alimentazione superiore a 12V, scollegare il ponticello 1 e applicare la tensione desiderata (massimo 35V) al terminale 12V. Portane un altro Alimentazione 5V e ingresso al terminale + 5V. Sì, è necessario immettere 5 V se è necessario applicare più di 12V (quando il ponticello 1 viene rimosso).

· L'ingresso 5V serve per il corretto funzionamento dell'IC, poiché la rimozione del ponticello disabiliterà il regolatore 5v integrato e proteggerà da una tensione di ingresso più alta dal terminale 12v.

· Il terminale + 5V funge da uscita se l'alimentazione è compresa tra 7 e 12V e funge da ingresso se si applicano più di 12V e il ponticello viene rimosso.

· La maggior parte dei progetti richiede solo una tensione del motore inferiore a 12V, quindi mantenere il ponticello così com'è e utilizzare il terminale + 5V come uscita.

Jumper 2 e Jumper 3 (vedi immagine illustrata):

· Se rimuovi questi due ponticelli devi inserire il segnale di abilitazione e disabilitazione dal microcontrollore, la maggior parte degli utenti preferisce rimuovere i due ponticelli e applicare il segnale dal microcontrollore.

· Mantenendo i due ponticelli le uscite da OUT1 a OUT4 saranno sempre abilitate. Ricordare il ponticello ENA per OUT1 e OUT2. Ponticello ENB per OUT3 e OUT4.

Ora vediamo un circuito pratico, come possiamo motori di interfaccia, Arduino e alimentazione al modulo driver.

Schema:

diagramma schematico del modulo L298N.

Il circuito sopra può essere utilizzato per le macchinine, se si modifica il codice in modo appropriato e si aggiunge un joystick.

Hai solo bisogno di alimentare il modulo L289N e il modulo alimenterà Arduino tramite il terminale Vin.

Il circuito di cui sopra farà ruotare entrambi i motori in senso orario per 3 secondi e si fermerà per 3 secondi. Dopodiché il motore ruoterà in senso antiorario per 3 secondi e si fermerà per 3 secondi. Questo dimostra il ponte H in azione.

Dopodiché entrambi i motori inizieranno a ruotare lentamente in senso antiorario guadagnando velocità gradualmente fino al massimo e riducendo gradualmente la velocità a zero. Ciò dimostra il controllo della velocità dei motori tramite PWM.

Programma:

//----------------Program developed by R.GIRISH--------------//
const int Enable_A = 9
const int Enable_B = 10
const int inputA1 = 2
const int inputA2 = 3
const int inputB1 = 4
const int inputB2 = 5
void setup()
{
pinMode(Enable_A, OUTPUT)
pinMode(Enable_B, OUTPUT)
pinMode(inputA1, OUTPUT)
pinMode(inputA2, OUTPUT)
pinMode(inputB1, OUTPUT)
pinMode(inputB2, OUTPUT)
}
void loop()
{
//----Enable output A and B------//
digitalWrite(Enable_A, HIGH)
digitalWrite(Enable_B, HIGH)
//----------Run motors-----------//
digitalWrite(inputA1, HIGH)
digitalWrite(inputA2, LOW)
digitalWrite(inputB1 , HIGH)
digitalWrite(inputB2, LOW)
delay(3000)
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
//-------Reverse Motors----------//
digitalWrite(Enable_A, HIGH)
digitalWrite(Enable_B, HIGH)
digitalWrite(inputA1, LOW)
digitalWrite(inputA2, HIGH)
digitalWrite(inputB1 , LOW)
digitalWrite(inputB2, HIGH)
delay(3000)
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
//----------Speed rise----------//
for(int i = 0 i < 256 i++)
{
analogWrite(Enable_A, i)
analogWrite(Enable_B, i)
delay(40)
}
//----------Speed fall----------//
for(int j = 256 j > 0 j--)
{
analogWrite(Enable_A, j)
analogWrite(Enable_B, j)
delay(40)
}
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
}
//----------------Program developed by R.GIRISH--------------//

Prototipo dell'autore:

Prototipo Arduino del circuito del driver del motore utilizzando il modulo L298N.

In caso di domande relative a questo progetto di driver del motore CC L298N, non esitare a esprimere nella sezione commenti, potresti ricevere una rapida risposta.




Precedente: Circuito caricabatterie multiplo con condensatore di scarico Avanti: Auto RC a 2,4 GHz controllata da joystick con Arduino