Taula de continguts:

Control del motor de CC Arduino Uno R3: 6 passos
Control del motor de CC Arduino Uno R3: 6 passos

Vídeo: Control del motor de CC Arduino Uno R3: 6 passos

Vídeo: Control del motor de CC Arduino Uno R3: 6 passos
Vídeo: Servo Motor Control using Arduino | Arduino Programming for Beginner 2022 2024, Desembre
Anonim
Control de motor CC Arduino Uno R3
Control de motor CC Arduino Uno R3

En aquest experiment, aprendrem a controlar la direcció i la velocitat d’un motor de corrent continu de petites dimensions mitjançant un xip controlador L293D. Fent experiments senzills, només farem que el motor giri a l’esquerra i a la dreta i accelerem o desaccelerem automàticament.

Pas 1: components

- Tauler Arduino Uno * 1

Cable USB * 1

- L293D * 1

- Petit motor de corrent continu * 1

- Taula de pa * 1

- Cavalls de pont

Pas 2: Principi

El corrent màxim d'un port d'E / S Arduino és de 20 mA, però la intensitat d'unitat d'un motor és d'almenys 70 mA. Per tant, no podem utilitzar directament el port d'E / S per conduir el corrent; en canvi, podem utilitzar un L293D per accionar el motor. L293D L293D està dissenyat per proporcionar corrents d’acció bidireccionals de fins a 600 mA a tensions de 4,5V a 36V. S’utilitza per conduir càrregues inductives com relés, solenoides, motors pas a pas i bipolars, així com altres càrregues d’alta intensitat / alta tensió en aplicacions de subministrament positiu.

Vegeu la figura dels pins a continuació. L293D té dos pins (Vcc1 i Vcc2) per a la font d'alimentació. Vcc2 s’utilitza per subministrar energia al motor, mentre que Vcc1, per al xip. Com que s’utilitza un motor de corrent continu de petites dimensions, connecteu els dos pins a + 5V. Si utilitzeu un motor de potència superior, heu de connectar Vcc2 a una font d'alimentació externa.

Pas 3: el diagrama esquemàtic

El diagrama esquemàtic
El diagrama esquemàtic

Pas 4: Procediments

Tràmits
Tràmits
Tràmits
Tràmits

El pin Habilita 1, 2EN del L293D ja està connectat a 5V, de manera que L293D sempre està en estat de treball. Connecteu els pins 1A i 2A als pins 9 i 10 de la placa de control respectivament. Els dos pins del motor estan connectats als pins 1Y i 2Y respectivament. Quan el pin 10 està configurat com a Nivell alt i el pin 9 com a Baix, el motor començarà a girar cap a una direcció. Quan el pin 10 és baix i el pin 9 és alt, gira en sentit contrari.

Pas 1:

Construeix el circuit.

Pas 2:

Baixeu-vos el codi des de

Pas 3:

Pengeu l’esbós al tauler Arduino Uno

Feu clic a la icona Puja per penjar el codi al tauler de control.

Si "Càrrega finalitzada" apareix a la part inferior de la finestra, significa que l'esbós s'ha carregat correctament.

Ara, la fulla del motor de CC començarà a girar cap a l'esquerra i cap a la dreta, a una velocitat que varia en conseqüència.

Pas 5: Codi

Codi
Codi

// Control del motor de CC

// El motor de corrent continu

començarà a girar cap a l'esquerra i cap a la dreta i la seva velocitat variarà en conseqüència.

// Lloc web: www.primerobotics.in

/***************************************/

const int motorIn1

= 9; // fixar-lo a un dels passadors del motor

const int motorIn2

= 10; // fixar-lo a un altre passador del motor

/***************************************/

configuració nul·la ()

{

pinMode (motorIn1, OUTPUT); // inicialitzeu el pin motorIn1 com a sortida

pinMode (motorIn2, OUTPUT); // inicialitzeu el pin motorIn2 com a sortida

}

/****************************************/

bucle buit ()

{

en sentit horari (200); // gira en sentit horari

retard (1000);

// espera un segon

en sentit antihorari (200); // gira en sentit antihorari

retard (1000);

// espera un segon

}

/****************************************

/ La funció a

el motor de la unitat gira en sentit horari

buit en sentit horari (int

Velocitat)

{

analogWrite (motorIn1, Velocitat); // Estableix la velocitat del motor

analogWrite (motorIn2, 0); // parar el motorIn2 pin del motor

}

// La funció per conduir

el motor gira en sentit antihorari

buit

en sentit antihorari (velocitat int)

{

analogWrite (motorIn1, 0); // atureu el motor a 1 pin del motor

analogWrite (motorIn2, Velocitat); // Estableix la velocitat del motor

}

/****************************************/

Recomanat: