DC motorvezérlés Arduino Uno R3: 6 lépés
DC motorvezérlés Arduino Uno R3: 6 lépés
Anonim
DC motorvezérlés Arduino Uno R3
DC motorvezérlés Arduino Uno R3

Ebben a kísérletben megtanuljuk, hogyan lehet egy kis méretű egyenáramú motor irányát és sebességét az L293D meghajtó chip segítségével szabályozni. Egyszerű kísérleteket végezve csak a motort forgatjuk balra és jobbra, és automatikusan gyorsítunk vagy lassítunk.

1. lépés: Alkatrészek

- Arduino Uno tábla * 1

- USB kábel * 1

- L293D *1

- Kis egyenáramú motor * 1

- Kenyeretábla * 1

- Jumper vezetékek

2. lépés: Alapelv

Az Arduino I/O port maximális árama 20mA, de a motor hajtási árama legalább 70mA. Ezért nem használhatjuk közvetlenül az I/O portot az áram meghajtására; ehelyett egy L293D -t használhatunk a motor meghajtására. L293D Az L293D -t úgy tervezték, hogy akár 600mA kétirányú meghajtóáramot biztosítson 4,5 V és 36 V közötti feszültségen. Induktív terhelések, például relék, mágnesszelepek, egyenáramú és bipoláris léptetőmotorok, valamint más nagyáramú/nagyfeszültségű terhelések meghajtására használják pozitív tápellátású alkalmazásokban.

Lásd az alábbi csapok ábráját. Az L293D két tűvel rendelkezik (Vcc1 és Vcc2) az áramellátáshoz. A Vcc2 a motor áramellátására szolgál, míg a Vcc1 a chipre. Mivel itt kis méretű egyenáramú motort használnak, csatlakoztassa mindkét tűt +5V-ra. Ha nagyobb teljesítményű motort használ, akkor a Vcc2 -t külső tápegységhez kell csatlakoztatnia.

3. lépés: A vázlatos diagram

A sematikus diagram
A sematikus diagram

4. lépés: Eljárások

Eljárások
Eljárások
Eljárások
Eljárások

Az L293D 1., 2. EN engedélyezőcsapja már 5V -ra van csatlakoztatva, így az L293D mindig működő állapotban van. Csatlakoztassa az 1A és a 2A tüskét a vezérlőkártya 9. és 10. tűjéhez. A motor két csapja az 1Y és 2Y csapokhoz van csatlakoztatva. Ha a 10 -es csap magas szintre van állítva, és a 9 -es csap alacsonynak, a motor forogni kezd egy irányba. Ha a 10 csap alacsony és a 9 csap magas, akkor az ellenkező irányba forog.

1. lépés:

Építsd fel az áramkört.

2. lépés:

Töltse le a kódot a https://github.com/primerobotics/Arduino webhelyről

3. lépés:

Töltse fel a vázlatot az Arduino Uno táblára

Kattintson a Feltöltés ikonra a kód feltöltéséhez a vezérlőpultra.

Ha a "Kész feltöltés" felirat jelenik meg az ablak alján, az azt jelenti, hogy a vázlat sikeresen feltöltődött.

Most a DC motor pengéje forogni kezd jobbra -balra, ennek megfelelően változó sebességgel.

5. lépés: Kód

Kód
Kód

// DC motorvezérlés

// Az egyenáramú motor

elkezd forogni balra és jobbra, és sebessége ennek megfelelően változik.

// E -mail: [email protected]

//Weboldal: www.primerobotics.in

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

const int motorIn1

= 9; // rögzítse a motor egyik csapjához

const int motorIn2

= 10; // rögzítse a motor másik csapjára

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

üres beállítás ()

{

pinMode (motorIn1, OUTPUT); // inicializálja a motorIn1 tűt kimenetként

pinMode (motorIn2, OUTPUT); // inicializálja a motorIn2 tűt kimenetként

}

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

üres hurok ()

{

az óramutató járásával megegyező irányban (200); // forgatás az óramutató járásával megegyező irányba

késleltetés (1000);

// várj egy percet

az óramutató járásával ellentétesen (200); // forgassa az óramutató járásával ellentétes irányba

késleltetés (1000);

// várj egy percet

}

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

/A funkció a

a hajtómotor az óramutató járásával megegyező irányba forog

üres az óramutató járásával megegyező irányban (int

Sebesség)

{

analogWrite (motorIn1, sebesség); // állítsa be a motor fordulatszámát

analogWrite (motorIn2, 0); // állítsa le a motort

}

// A hajtás funkciója

a motor az óramutató járásával ellentétes irányba forog

üres

az óramutató járásával ellentétes irányban (sebességnél)

{

analogWrite (motorIn1, 0); // a motor leállítása A motor 1 érintkezőjében

analogWrite (motorIn2, sebesség); // állítsa be a motor fordulatszámát

}

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

Ajánlott: