Мазмұны:

DC қозғалтқышты басқару Arduino Uno R3: 6 қадам
DC қозғалтқышты басқару Arduino Uno R3: 6 қадам

Бейне: DC қозғалтқышты басқару Arduino Uno R3: 6 қадам

Бейне: DC қозғалтқышты басқару Arduino Uno R3: 6 қадам
Бейне: Lesson 95: Using L293D 4 DC Motors Shield for Arduino UNO and Mega | Arduino Step By Step Course 2024, Қараша
Anonim
DC қозғалтқышты басқару Arduino Uno R3
DC қозғалтқышты басқару Arduino Uno R3

Бұл экспериментте біз L293D драйвер чипінің көмегімен шағын көлемді тұрақты ток қозғалтқышының бағыты мен жылдамдығын бақылауды үйренеміз. Қарапайым эксперименттер жасай отырып, біз моторды солға және оңға айналдырамыз және автоматты түрде жылдамдық немесе баяулау жасаймыз.

1 -қадам: компоненттер

- Arduino Uno тақтасы * 1

- USB кабелі * 1

- L293D *1

- Тұрақты тұрақты ток қозғалтқышы * 1

- Нан тақтасы * 1

- Өткізгіш сымдар

2 -қадам: принцип

Arduino енгізу -шығару портының максималды тогы - 20 мА, бірақ қозғалтқыштың қозғаушы тогы - кемінде 70 мА. Сондықтан біз токты жүргізу үшін енгізу -шығару портын тікелей пайдалана алмаймыз; оның орнына біз қозғалтқышты жүргізу үшін L293D қолдана аламыз. L293D L293D 4,5 В -тан 36 В кернеуде 600 мА дейінгі екі бағытты жетекті токтарды беруге арналған. Ол релелік, электромагниттік, тұрақты және биполярлық қозғалтқыштар сияқты индуктивті жүктемелерді, сондай-ақ басқа да жоғары ток/жоғары вольтты жүктемелерді оң жеткізу үшін қолданылады.

Төмендегі түйреуіштердің суретін қараңыз. L293D -де электрмен жабдықтауға арналған екі түйреуіш бар (Vcc1 және Vcc2). Vcc2 моторға қуат беру үшін, ал Vcc1 чип үшін. Мұнда шағын көлемді тұрақты ток қозғалтқышы қолданылатындықтан, екі түйреуішті де +5В-қа қосыңыз. Егер сіз жоғары қуатты қозғалтқышты қолдансаңыз, Vcc2 сыртқы қуат көзіне қосу керек.

3 -қадам: Схемалық диаграмма

Схемалық диаграмма
Схемалық диаграмма

4 -қадам: процедуралар

Процедуралар
Процедуралар
Процедуралар
Процедуралар

L293D 1, 2EN қосқыш түйреуіші 5В қосылады, сондықтан L293D әрқашан жұмыс күйінде болады. 1А және 2А түйреуішін тиісінше басқару тақтасының 9 және 10 түйреуішіне жалғаңыз. Қозғалтқыштың екі штыры сәйкесінше 1Y және 2Y түйреуіштеріне қосылған. Егер түйреуіш 10 жоғары деңгейге және түйреуіш 9 төмен деп орнатылса, қозғалтқыш бір бағытқа қарай айнала бастайды. Ілмек 10 төмен және түйреуіш 9 жоғары болғанда, ол кері бағытта айналады.

1 -қадам:

Схеманы құрыңыз.

2 -қадам:

Кодты https://github.com/primerobotics/Arduino сайтынан жүктеп алыңыз

3 -қадам:

Эскизді Arduino Uno тақтасына жүктеңіз

Кодты басқару тақтасына жүктеу үшін Жүктеу белгішесін басыңыз.

Егер терезенің төменгі жағында «Жүктеу аяқталды» пайда болса, бұл эскиз сәтті жүктелгенін білдіреді.

Енді, тұрақты ток қозғалтқышының қалақшасы солға және оңға қарай айнала бастайды, сәйкесінше өзгереді.

5 -қадам: код

Код
Код

// Тұрақты ток қозғалтқышын басқару

// Тұрақты ток қозғалтқышы

солға және оңға айнала бастайды, және оның жылдамдығы сәйкесінше өзгереді.

// Веб -сайт: www.primerobotics.in

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

const int motorIn1

= 9; // қозғалтқыштың түйреуішінің біріне бекітіңіз

const int motorIn2

= 10; // қозғалтқыштың басқа түйреуішіне бекітіңіз

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

жарамсыз орнату ()

{

pinMode (motorIn1, OUTPUT); // қозғалтқыш In1 түйреуішін шығару ретінде инициализациялау

pinMode (motorIn2, OUTPUT); // қозғалтқыш In2 түйреуішін шығару ретінде инициализациялау

}

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

бос цикл ()

{

сағат тілімен (200); // сағат тілімен бұру

кешіктіру (1000);

// секунд күтіңіз

сағат тіліне қарсы (200); // сағат тіліне қарсы бұру

кешіктіру (1000);

// секунд күтіңіз

}

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

/To функциясы

жетек қозғалтқышы сағат тілімен бұрылады

сағат тілінің бағытымен бос (int

Жылдамдық)

{

analogWrite (motorIn1, Speed); // қозғалтқыштың жылдамдығын орнатыңыз

analogWrite (motorIn2, 0); // қозғалтқышты тоқтату In2 қозғалтқышы

}

// Жүргізу функциясы

қозғалтқыш сағат тіліне қарсы айналады

жарамсыз

сағат тіліне қарсы (int Speed)

{

analogWrite (motorIn1, 0); // қозғалтқышты тоқтату In1 қозғалтқышы

analogWrite (motorIn2, Speed); // қозғалтқыштың жылдамдығын орнатыңыз

}

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

Ұсынылған: