Sommario:

Tutorial Arduino L293D Motor Driver Shield: 8 passaggi
Tutorial Arduino L293D Motor Driver Shield: 8 passaggi

Video: Tutorial Arduino L293D Motor Driver Shield: 8 passaggi

Video: Tutorial Arduino L293D Motor Driver Shield: 8 passaggi
Video: Motor driver shield control (L293D IC) 2024, Luglio
Anonim
Tutorial sullo scudo del driver del motore Arduino L293D
Tutorial sullo scudo del driver del motore Arduino L293D

Puoi leggere questo e molti altri fantastici tutorial sul sito ufficiale di ElectroPeak

Panoramica

In questo tutorial imparerai come pilotare motori DC, passo-passo e servomotori utilizzando uno shield driver motore Arduino L293D.

Cosa imparerai:

  • Informazioni generali sui motori DC
  • Introduzione allo scudo motore L293D
  • Azionamento di motori DC, Servo e Stepper

Passaggio 1: motori e driver

Motori e driver
Motori e driver

I motori sono una parte inseparabile di molti progetti di robotica ed elettronica e hanno diversi tipi che è possibile utilizzare a seconda della loro applicazione. Ecco alcune informazioni sui diversi tipi di motori:

Motori CC: il motore CC è il tipo più comune di motore che può essere utilizzato per molte applicazioni. Possiamo vederlo in auto telecomandate, robot e così via. Questo motore ha una struttura semplice. Inizierà a rotolare applicando una tensione adeguata alle sue estremità e cambierà direzione cambiando la polarità della tensione. La velocità dei motori DC è direttamente controllata dalla tensione applicata. Quando il livello di tensione è inferiore alla tensione massima tollerabile, la velocità diminuirà.

Motori passo-passo: in alcuni progetti come stampanti 3D, scanner e macchine CNC, è necessario conoscere accuratamente i passaggi di rotazione del motore. In questi casi utilizziamo motori passo passo. Il motore passo-passo è un motore elettrico che divide una rotazione completa in un numero di passaggi uguali. La quantità di rotazione per passo è determinata dalla struttura del motore. Questi motori hanno una precisione molto elevata.

Servomotori: il servomotore è un semplice motore a corrente continua con un servizio di controllo della posizione. Usando un servo sarai in grado di controllare la quantità di rotazione dell'albero e spostarlo in una posizione specifica. Di solito hanno dimensioni ridotte e sono la scelta migliore per i bracci robotici.

Ma non possiamo collegare questi motori a microcontrollori o schede controller come Arduino direttamente per controllarli poiché potrebbero aver bisogno di più corrente di quella che un microcontrollore può pilotare, quindi abbiamo bisogno di driver. Il driver è un circuito di interfaccia tra il motore e l'unità di controllo per facilitare la guida. Le unità sono disponibili in molti tipi diversi. In questa istruzione imparerai a lavorare sullo scudo del motore L293D.

L293D shield è una scheda driver basata su L293 IC, che può pilotare 4 motori DC e 2 stepper o servomotori contemporaneamente.

Ogni canale di questo modulo ha la corrente massima di 1.2A e non funziona se la tensione è superiore a 25v o inferiore a 4.5v. Quindi fai attenzione nella scelta del motore appropriato in base alla sua tensione e corrente nominali. Per ulteriori caratteristiche di questo shield ricordiamo la compatibilità con Arduini UNO e MEGA, la protezione elettromagnetica e termica del motore e il circuito di sezionamento in caso di innalzamento di tensione non convenzionale.

Passaggio 2: come utilizzare Arduino L293D Motor Driver Shield?

Come utilizzare Arduino L293D Motor Driver Shield?
Come utilizzare Arduino L293D Motor Driver Shield?

Durante l'utilizzo di questo shield 6 pin analogici (che possono essere utilizzati anche come pin digitali), il pin 2 e il pin 13 di arduino sono liberi.

In caso di utilizzo di servomotore, i pin 9, 10, 2 sono in uso.

In caso di utilizzo di un motore CC, pin11 per #1, pin3 per #2, pin5 per #3, pin6 per #4 e pin 4, 7, 8 e 12 per tutti sono in uso.

In caso di utilizzo del motore passo-passo, i pin 11 e 3 per il n. 1, i pin 5 e 6 per il n. 2 e i pin 4, 7, 8 e 12 per tutti sono in uso.

È possibile utilizzare pin liberi tramite connessioni cablate.

Se stai applicando un'alimentazione separata ad Arduino e shield, assicurati di aver scollegato il jumper sullo shield.

Passaggio 3: guidare il motore CC

Azionamento del motore CC
Azionamento del motore CC

#includere

La libreria di cui hai bisogno per controllare il motore:

AF_DCMotore motore (1, MOTOR12_64KHZ)

Definire il motore DC che stai utilizzando.

Il primo argomento rappresenta il numero dei motori nello scudo e il secondo rappresenta la frequenza di controllo della velocità del motore. Il secondo argomento può essere MOTOR12_2KHZ, MOTOR12_8KHZ, MOTOR12_8KHZ e MOTOR12_8KHZ per i motori numero 1 e 2, e può essere MOTOR12_8KHZ, MOTOR12_8KHZ e MOTOR12_8KHZ per i motori numero 3 e 4. E se non è selezionato, sarà 1KHZ per impostazione predefinita.

motor.setSpeed(200);

Definizione della velocità del motore. Può essere impostato da 0 a 255.

ciclo vuoto() {

motore.run(AVANTI);

ritardo(1000);

motore.run(INDIETRO);

ritardo(1000);

motore.run(RELEASE);

ritardo(1000);

}

La funzione motor.run() specifica lo stato di movimento del motore. Lo stato può essere AVANTI, INDIETRO e RILASCIO. RELEASE è lo stesso del freno, ma potrebbe volerci del tempo prima che il motore si fermi completamente.

Si consiglia di saldare un condensatore da 100nF a ciascun pin del motore per ridurre il rumore.

Passaggio 4: guida del servomotore

Servomotore di guida
Servomotore di guida

La libreria e gli esempi Arduino IDE sono adatti per pilotare un servomotore.

#includere

La libreria di cui hai bisogno per pilotare il servomotore

Servo mio servo;

Definizione di un oggetto Servomotore.

void setup() {

mioservo.attach(9);

}

Determinare il pin che si collega a Servo. (pin 9 per sevo n. 1 e pin 10 per servo n. 2)

ciclo vuoto() {

mioservo.write(val);

ritardo(15);

}

Determinare la quantità di rotazione del motore. Da 0 a 360 o da 0 a 180 a seconda del tipo di motore.

Passaggio 5: guida del motore passo-passo

Motore passo-passo di guida
Motore passo-passo di guida

#include < AFMotor.h>

Determina la libreria di cui hai bisogno

AF_Motore passo-passo(48, 2);

Definizione di un oggetto motore passo-passo. Il primo argomento è la risoluzione del passo motore. (ad esempio, se il tuo motore ha la precisione di 7,5 gradi/passo, significa che la risoluzione del passo del motore è. Il secondo argomento è il numero del motore passo-passo collegato allo schermo.

void setup() { motor.setSpeed(10);

motor.onestep(AVANTI, SINGOLO);

motore.rilascio();

ritardo(1000);

}

void loop() { motor.step(100, FORWARD, SINGLE);

motor.step(100, INDIETRO, SINGOLO);

motor.step(100, AVANTI, DOPPIO); motor.step(100, INDIETRO, DOPPIO);

motor.step(100, FORWARD, INTERLEAVE); motor.step(100, BACKWARD, INTERLEAVE);

motor.step(100, AVANTI, MICROSTEP); motor.step(100, INDIETRO, MICROSTEP);

}

Determinare la velocità del motore in giri/min.

Il primo argomento è la quantità di passo necessaria per muoversi, il secondo è per determinare la direzione (AVANTI o INDIETRO), e il terzo argomento determina il tipo di passi: SINGLE (Attiva una bobina), DOUBLE (Attiva due bobine per più coppia), INTERLEAVED (Variazione continua del numero di spire da una a due e viceversa a doppia precisione, però in questo caso la velocità è dimezzata), e MICROSTEP (Il cambio dei passi va fatto lentamente per una maggiore precisione. In questo caso, la coppia è inferiore). Di default, quando il motore si ferma, mantiene il suo stato.

È necessario utilizzare la funzione motor.release() per rilasciare il motore.

Passaggio 6: acquista lo scudo del driver del motore Arduino L293D

Acquista Arduino L293D Shield da ElectroPeak

Passaggio 7: progetti correlati:

  • L293D: teoria, diagramma, simulazione e piedinatura
  • La guida per principianti al controllo dei motori di Arduino e L293D

Passaggio 8: metti mi piace su Facebook

Se ritieni che questo tutorial sia utile e interessante, metti mi piace su Facebook.

Consigliato: