Мазмуну:

DC Motor Control Arduino Uno R3: 6 кадам
DC Motor Control Arduino Uno R3: 6 кадам

Video: DC Motor Control Arduino Uno R3: 6 кадам

Video: DC Motor Control Arduino Uno R3: 6 кадам
Video: Control a DC Motor with Arduino (Lesson #16) 2024, Июль
Anonim
DC Motor Control Arduino Uno R3
DC Motor Control Arduino Uno R3

Бул экспериментте биз L293D айдоочу чипинин жардамы менен кичинекей көлөмдөгү DC моторунун багытын жана ылдамдыгын кантип башкарууну үйрөнөбүз. Жөнөкөй эксперименттерди жасап, моторду жөн эле солго жана оңго бурабыз жана автоматтык түрдө ылдамдайбыз же жайлайбыз.

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

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

- USB кабели * 1

- L293D *1

- Чакан DC мотору * 1

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

- секирүүчү зымдар

2 -кадам: Принцип

Arduino I/O портунун максималдуу агымы 20 мА, бирок кыймылдаткычтын ток агымы кеминде 70 мА. Ошондуктан, биз түздөн -түз токту киргизүү үчүн I/O портун колдоно албайбыз; Анын ордуна, биз моторду айдаш үчүн L293D колдоно алабыз. L293D L293D 4.5Vдан 36Vга чейинки чыңалууда 600мАга чейин эки багыттуу диск агымдарын камсыз кылуу үчүн иштелип чыккан. Бул реле, соленоиддер, туруктуу жана биполярдык тепкич моторлору, ошондой эле оң камсыздоочу тиркемелердеги башка жогорку ток/жогорку вольттуу жүктөр сыяктуу индуктивдүү жүктөрдү айдаш үчүн колдонулат.

Төмөндөгү төөнөгүчтөрдүн сүрөтүн караңыз. L293Dда электр менен камсыздоо үчүн эки төөнөгүч (Vcc1 жана Vcc2) бар. Vcc2 моторду энергия менен камсыздоо үчүн колдонулат, ал эми Vcc1 чип үчүн. Бул жерде кичинекей көлөмдөгү DC мотору колдонулгандыктан, эки пинди +5Vга туташтырыңыз. Эгерде сиз жогорку кубаттуулуктагы моторду колдонсоңуз, Vcc2ди тышкы электр булагына туташтыруу керек.

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

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

4 -кадам: Процедуралар

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

Иштетүү пин 1, 2en L293D 5Vга мурунтан эле туташкан, андыктан L293D дайыма иштөө абалында болот. 1А жана 2А пинтерин контролдоо тактасынын 9 жана 10 -пиндерине туташтырыңыз. Кыймылдаткычтын эки төөнөгү тийиштүү түрдө 1Y жана 2Y пинге туташтырылган. Пин 10 жогорку деңгээлде жана пин 9да төмөн деп коюлганда, мотор бир багытка бурула баштайт. 10 -пин төмөн жана 9 -пин жогору болгондо, ал карама -каршы багытта айланат.

1 кадам:

Районду куруңуз.

2-кадам:

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

3 -кадам:

Эскизди Arduino Uno тактасына жүктөңүз

Кодду башкаруу тактасына жүктөө үчүн Жүктөө сөлөкөтүн басыңыз.

Терезенин ылдыйында "Жүктөө бүттү" пайда болсо, бул эскиз ийгиликтүү жүктөлгөнүн билдирет.

Эми, DC моторунун бычагы ошого жараша өзгөрүп турган ылдамдыкта солго жана оңго бурула баштайт.

5 -кадам: Код

Code
Code

// DC Motor Control

// DC мотору

солго жана оңго бурула баштайт жана анын ылдамдыгы ошого жараша өзгөрөт.

//Website:www.primerobotics.in

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

const int motorIn1

= 9; // мотордун төөнөгүчүнүн бирине тиркөө

const int motorIn2

= 10; // мотордун башка пинине бекит

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

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

{

pinMode (motorIn1, OUTPUT); // motorIn1 пинин чыгаруу катары баштоо

pinMode (motorIn2, OUTPUT); // motorIn2 пинин чыгаруу катары инициализациялоо

}

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

боштук цикл ()

{

сааттын жебеси боюнча (200); // саат жебеси боюнча айлануу

кечигүү (1000);

// бир секунд күтө туруңуз

сааттын жебесине каршы (200); // сааттын жебесине каршы айлануу

кечигүү (1000);

// бир секунд күтө туруңуз

}

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

/Функциясы

кыймылдаткыч мотору саат жебеси боюнча айланат

боштук сааттын жебеси боюнча (int

Ылдамдык)

{

analogWrite (motorIn1, Speed); // мотордун ылдамдыгын коюңуз

analogWrite (motorIn2, 0); // моторду токтотуу

}

// Айдоо функциясы

мотор саат жебесине каршы айланат

жараксыз

сааттын жебесине каршы (int Speed)

{

analogWrite (motorIn1, 0); // моторду токтотуу1 мотору

analogWrite (motorIn2, Speed); // мотордун ылдамдыгын коюңуз

}

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

Сунушталууда: