Come controllare il motore DC con Arduino

Come controllare il motore DC con Arduino
Arduino è una scheda di sviluppo elettronica basata su hardware e software. Arduino dà la libertà ai suoi utenti di progettare progetti multi-livello basati su diversi moduli, hardware e motori. Con il tempo la domanda di arduino per progetti di robotica è in aumento. Quando parliamo di progetti robotici la prima cosa che mi viene in mente sono i motori e i controller. I motori DC svolgono un ruolo vitale nella costruzione di progetti di robotica. Qui discuteremo di come i motori DC possono essere usati con Arduino.

Controllo del motore CC con Arduino

Un motore a CC è uno dei tipi di motore ampiamente utilizzati. Viene fornito con due cavi, uno positivo e secondo negativo. Se colleghiamo questi due lead con una batteria o una fonte di alimentazione, il motore inizierà a ruotare; Tuttavia, se invertiamo la polarità del motore del terminale inizierà a ruotare nella direzione opposta.

Usando Arduino, possiamo controllare la velocità e la direzione del motore in modo più flessibile. Per controllare il motore con Arduino utilizziamo un modulo del driver del motore. Un modulo del driver del motore è un circuito esterno in grado di interfacciarsi un Arduino con uno qualsiasi dei motori DC.

Qui useremo il LN293D Modulo del driver del motore IC per controllare la direzione e la velocità del motore CC. LN293D è un modulo del driver del motore a 16 pin in grado di controllare contemporaneamente due motori CC. Può guidare un motore con corrente fino a 600 mA per canale e l'intervallo di tensione inizia da 4.5 fino a 36 V (al pin 8). Usando questo modulo driver, possiamo controllare più motori DC di piccole dimensioni.

Schema elettrico
Per controllare il motore CC, progettare il circuito secondo lo schema menzionato. Collegare il pin 2 e 7 del driver IC con il pin digitale D10 e D9 di Arduino Uno rispettivamente. Usando i pin digitali, controlleremo la direzione e la velocità del nostro motore. Il pin 1 e 8 viene data una logica di alto livello utilizzando la tensione del livello logico Arduino 5V. Il motore CC è collegato al pin 3 e 6 del modulo driver. Il pin 4 e 5 sono brevi a causa del terreno comune nel modulo del driver del motore.

Usando il pin 9 e 10 possiamo controllare la direzione del motore. Quando il pin 10 è alto e il pin 9 è un motore basso ruoterà in una direzione e verrà applicata nelle condizioni inverse della direzione opposta.

Schematico

Codice

const int dcmotorsignal1 = 9; /*pin 9 per il primo input del motore*/
const int dcmotorsignal2 = 10; /*PIN 10 per il secondo ingresso del secondo posto*/
void setup ()

pinMode (dcMoTorsignal1, output); /*Inizializza il pin DCMoTorsignal1 come output*/
pinMode (dcMoTorsignal2, output); /*Inizializza il pin DCMoTorsignal2 come output*/

void loop ()

in senso orario (200); /*ruota in senso orario*/
ritardo (1000); /*ritardo di 1 secondo*/
in senso antiorario (200); /*ruotare in senso antiorario*/
ritardo (1000); /*ritardo per 1 secondo*/

void in senso orario (int rotazionale) /*Questa funzione guiderà e ruoterà il motore in senso orario* /

AnalogWrite (DCMoTorsignal1, RotationalSpeed); /*imposta la velocità del motore*/
AnalogWrite (DCMoTorsignal2, basso); /*arrestare il pin DCMoTorsignal2 del motore*/

void in senso antiorario (int rotazionale) /*La funzione guiderà e ruoterà il motore in senso antiorario* /

AnalogWrite (DCMoTorsignal1, basso); /*arrestare il pin DCMoTorsignal1 del motore*/
AnalogWrite (DCMoTorsignal2, RotationalSpeed); /*imposta la velocità del motore*/

Qui nel codice sopra inizializziamo due pin digitali per il controllo del motore DC. Il pin digitale 9 è impostato come input per il primo pin e D10 è impostato come input per il secondo pin del motore CC. Poi usando il pinmode funzione inizializziamo entrambi questi pin digitali come output.

Nel ciclo continuo Sezione del codice due funzioni denominate in senso orario e in senso antiorario sono inizializzate con una velocità di rotazione di 200. Successivamente usando due funzioni vuote in senso orario e in senso antiorario cambiamo la direzione della rotazione del motore impostando il pin 9 e 10 come basso e alto.

Perché abbiamo usato il modulo del driver del motore con Arduino?

I driver del motore possono prendere un segnale a bassa corrente da un Arduino o qualsiasi altro microcontrollore e aumentarlo in un segnale ad alta corrente che può guidare facilmente qualsiasi motore a CC. Normalmente Arduino e altri microcontroller lavorano su bassa corrente mentre per alimentare i motori DC richiedono un input costante ad alta corrente che Arduino non può fornire. Arduino può fornirci un massimo di 40 mA di corrente per pin che è solo una frazione di ciò che un motore a CC richiede per funzionare. I moduli del driver del motore come L293D possono controllare due motori e fornire agli utenti la mano libera per controllare la velocità e la direzione in base alla loro facilità.

Nota: Mentre si utilizza più motori con Arduino si consiglia di utilizzare l'alimentazione separata esterna per i motori DC insieme al modulo del driver del motore perché Arduino non può trattenere la corrente più di 20 mA E normalmente i motori prendono la corrente molto più di questo. Un altro problema è Kickback, I motori a passo d'appalto hanno componenti magnetici; Continueranno a creare elettricità anche quando la potenza viene tagliata, il che può portare a una tensione negativa sufficiente che può danneggiare la scheda Arduino. Quindi, in breve, è necessario un driver a motore e un alimentatore separato per eseguire un motore a CC.

Conclusione

I motori DC sono un componente importante per la progettazione di progetti di robotica a base di arduino. L'uso di motori DC Arduino può controllare il movimento e la direzione delle periferiche del progetto. Per controllare questi motori senza intoppi abbiamo bisogno di un modulo del driver che non solo salva la scheda Arduino da picchi di corrente estrema, ma dà anche il controllo completo all'utente. Questo articolo ti guiderà a progettare e interfaccia motori DC in qualsiasi progetto Arduino.