Cuprins:

Control motor DC Arduino Uno R3: 6 pași
Control motor DC Arduino Uno R3: 6 pași

Video: Control motor DC Arduino Uno R3: 6 pași

Video: Control motor DC Arduino Uno R3: 6 pași
Video: 💡 Controlar Motor PASO A PASO con Arduino (Stepper Motor) 【 2021 】 - Capítulo #34🔋 2024, Iulie
Anonim
Control motor DC Arduino Uno R3
Control motor DC Arduino Uno R3

În acest experiment, vom învăța cum să controlăm direcția și viteza unui motor DC de dimensiuni mici printr-un cip driver L293D. Efectuând experimente simple, vom face ca motorul să se rotească la stânga și la dreapta și să accelerăm sau să decelerăm automat.

Pasul 1: Componente

- placa Arduino Uno * 1

- Cablu USB * 1

- L293D * 1

- Motor DC mic * 1

- Panou * 1

- fire de jumper

Pasul 2: Principiu

Curentul maxim al unui port Arduino I / O este de 20mA, dar curentul de acționare al unui motor este de cel puțin 70mA. Prin urmare, nu putem folosi direct portul I / O pentru a conduce curentul; în schimb, putem folosi un L293D pentru a conduce motorul. L293D L293D este proiectat să furnizeze curenți de acționare bidirecționali de până la 600mA la tensiuni de la 4,5V la 36V. Este folosit pentru a conduce sarcini inductive, cum ar fi relee, solenoizi, motoare de curent continuu și bipolare, precum și alte sarcini de înaltă tensiune / curent în aplicații cu sursă pozitivă.

A se vedea figura pinilor de mai jos. L293D are doi pini (Vcc1 și Vcc2) pentru alimentare. Vcc2 este utilizat pentru a furniza energie motorului, în timp ce Vcc1, pentru cip. Deoarece aici se folosește un motor DC de dimensiuni mici, conectați ambii pini la + 5V. Dacă utilizați un motor de putere mai mare, trebuie să conectați Vcc2 la o sursă de alimentare externă.

Pasul 3: Diagrama schematică

Diagrama schematică
Diagrama schematică

Pasul 4: Proceduri

Proceduri
Proceduri
Proceduri
Proceduri

Pinul de activare 1, 2EN al L293D este deja conectat la 5V, deci L293D este întotdeauna în stare de lucru. Conectați pinii 1A și 2A la pinii 9 și respectiv 10 ai plăcii de control. Cei doi pini ai motorului sunt conectați la pinii 1Y și respectiv 2Y. Când pinul 10 este setat ca Nivel înalt și pinul 9 ca Scăzut, motorul va începe să se rotească spre o direcție. Când pinul 10 este scăzut și pinul 9 este ridicat, acesta se rotește în direcția opusă.

Pasul 1:

Construiește circuitul.

Pasul 2:

Descărcați codul de la

Pasul 3:

Încărcați schița pe placa Arduino Uno

Faceți clic pe pictograma Încărcare pentru a încărca codul pe placa de control.

Dacă „Încărcare finalizată” apare în partea de jos a ferestrei, înseamnă că schița a fost încărcată cu succes.

Acum, lama motorului continuu va începe să se rotească la stânga și la dreapta, cu o viteză care variază în consecință.

Pasul 5: Cod

Cod
Cod

// Control motor DC

// Motorul de curent continuu

va începe să se rotească la stânga și la dreapta, iar viteza acestuia va varia în consecință.

//Website:www.primerobotics.in

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

const int motorIn1

= 9; // atașați la unul dintre știfturile motorului

const int motorIn2

= 10; // atașați la un alt pin al motorului

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

configurare nulă ()

{

pinMode (motorIn1, OUTPUT); // inițializa pinul motorIn1 ca ieșire

pinMode (motorIn2, OUTPUT); // inițializați pinul motor2 ca ieșire

}

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

bucla nulă ()

{

în sensul acelor de ceasornic (200); //roteste in sensul acelor de ceasornic

întârziere (1000);

// așteptați o secundă

în sens invers acelor de ceasornic (200); //Rotiți în sens invers acelor de ceasornic

întârziere (1000);

// așteptați o secundă

}

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

/ Funcția pentru

motorul de acționare se rotește în sensul acelor de ceasornic

nul în sensul acelor de ceasornic (int

Viteză)

{

analogWrite (motorIn1, Speed); // setați viteza motorului

analogWrite (motorIn2, 0); // opriți motorul în pinul 2 al motorului

}

// Funcția de condus

motorul se rotește în sens invers acelor de ceasornic

nul

în sens invers acelor de ceasornic (viteză int)

{

analogWrite (motorIn1, 0); // opriți motorul În 1 pin al motorului

analogWrite (motorIn2, Speed); // setați viteza motorului

}

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

Recomandat: