Turinys:

DC variklio valdymas „Arduino Uno R3“: 6 žingsniai
DC variklio valdymas „Arduino Uno R3“: 6 žingsniai

Video: DC variklio valdymas „Arduino Uno R3“: 6 žingsniai

Video: DC variklio valdymas „Arduino Uno R3“: 6 žingsniai
Video: Lesson 95: Using L293D 4 DC Motors Shield for Arduino UNO and Mega | Arduino Step By Step Course 2024, Liepa
Anonim
Nuolatinės srovės variklio valdymas „Arduino Uno R3“
Nuolatinės srovės variklio valdymas „Arduino Uno R3“

Šiame eksperimente mes išmoksime valdyti mažo dydžio nuolatinio variklio kryptį ir greitį tvarkyklės mikroschema L293D. Atlikdami paprastus eksperimentus, mes tik priversime variklį suktis į kairę ir į dešinę ir automatiškai pagreitinti arba sulėtinti greitį.

1 žingsnis: komponentai

- „Arduino Uno“lenta * 1

- USB kabelis * 1

- L293D *1

- Mažas nuolatinės srovės variklis * 1

- Duonos lenta * 1

- jungiamieji laidai

2 žingsnis: principas

Didžiausia „Arduino“įvesties/išvesties srovės srovė yra 20 mA, tačiau variklio pavaros srovė yra ne mažesnė kaip 70 mA. Todėl mes negalime tiesiogiai naudoti įvesties/išvesties prievado srovei valdyti; vietoj to mes galime naudoti variklį L293D. L293D L293D sukurtas tiekti dvipusę pavaros srovę iki 600 mA esant 4,5 V - 36 V įtampai. Jis naudojamas indukcinėms apkrovoms, tokioms kaip relės, solenoidai, nuolatinės srovės ir bipoliniai žingsniniai varikliai, taip pat kitoms didelės srovės/aukštos įtampos apkrovoms valdyti teigiamam tiekimui.

Žiūrėkite kaiščių paveikslėlį žemiau. L293D turi du kaiščius (Vcc1 ir Vcc2) maitinimo šaltiniui. Vcc2 naudojamas variklio energijai tiekti, o lustas - Vcc1. Kadangi čia naudojamas mažo dydžio nuolatinės srovės variklis, abu kaiščius prijunkite prie +5 V. Jei naudojate didesnės galios variklį, turite prijungti „Vcc2“prie išorinio maitinimo šaltinio.

3 žingsnis: schema

Scheminė diagrama
Scheminė diagrama

4 žingsnis: procedūros

Procedūros
Procedūros
Procedūros
Procedūros

L293D įjungimo kaištis 1, 2EN jau prijungti prie 5 V įtampos, todėl L293D visada veikia. Prijunkite 1A ir 2A kaiščius prie valdymo plokštės 9 ir 10 kaiščių. Du variklio kaiščiai yra prijungti prie atitinkamai 1Y ir 2Y kaiščių. Kai kaištis 10 nustatytas kaip aukštas lygis ir 9 kaištis yra žemas, variklis pradės suktis viena kryptimi. Kai kaištis 10 yra žemas, o 9 - aukštas, jis sukasi priešinga kryptimi.

1 žingsnis:

Sukurkite grandinę.

2 žingsnis:

Atsisiųskite kodą iš

3 žingsnis:

Įkelkite eskizą į „Arduino Uno“lentą

Spustelėkite įkėlimo piktogramą, kad įkeltumėte kodą į valdymo skydelį.

Jei lango apačioje rodoma „Įkeltas“, eskizas sėkmingai įkeltas.

Dabar nuolatinės srovės variklio ašmenys pradės suktis į kairę ir į dešinę atitinkamai kintančiu greičiu.

5 žingsnis: kodas

Kodas
Kodas

// DC variklio valdymas

// Nuolatinės srovės variklis

pradės suktis į kairę ir į dešinę, o jo greitis atitinkamai skirsis.

// El. Paštas: [email protected]

// Svetainė: www.primerobotics.in

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

const int motorIn1

= 9; // pritvirtinkite prie vieno iš variklio kaiščių

const int motorIn2

= 10; // pritvirtinkite prie kito variklio kaiščio

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

negaliojanti sąranka ()

{

pinMode (motorIn1, OUTPUT); // inicijuoti motorIn1 kaištį kaip išvestį

pinMode (motorIn2, OUTPUT); // inicijuoti motorIn2 kaištį kaip išvestį

}

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

tuštumos kilpa ()

{

pagal laikrodžio rodyklę (200); // pasukti pagal laikrodžio rodyklę

vėlavimas (1000);

// palauk sekundę

prieš laikrodžio rodyklę (200); // pasukti prieš laikrodžio rodyklę

vėlavimas (1000);

// palauk sekundę

}

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

/Funkcija į

pavaros variklis sukasi pagal laikrodžio rodyklę

tuštuma pagal laikrodžio rodyklę (tarpt

Greitis)

{

analogWrite (motorIn1, greitis); // nustatyti variklio greitį

analogWrite (motorIn2, 0); // sustabdyti variklį In2 variklio kaištis

}

// Funkcija vairuoti

variklis sukasi prieš laikrodžio rodyklę

tuštuma

prieš laikrodžio rodyklę (greitis)

{

analogWrite (motorIn1, 0); // sustabdyti variklįIn1 variklio kaištis

analogWrite (motorIn2, greitis); // nustatyti variklio greitį

}

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

Rekomenduojamas: