Оглавление:

Управление двигателем постоянного тока Arduino Uno R3: 6 шагов
Управление двигателем постоянного тока Arduino Uno R3: 6 шагов

Видео: Управление двигателем постоянного тока Arduino Uno R3: 6 шагов

Видео: Управление двигателем постоянного тока Arduino Uno R3: 6 шагов
Видео: Управление моторами с Arduino 2024, Июль
Anonim
Управление двигателем постоянного тока Arduino Uno R3
Управление двигателем постоянного тока Arduino Uno R3

В этом эксперименте мы узнаем, как управлять направлением и скоростью малогабаритного двигателя постоянного тока с помощью микросхемы драйвера L293D. Проводя простые эксперименты, мы просто заставим мотор вращаться влево и вправо и автоматически ускоряться или замедляться.

Шаг 1: Компоненты

- Плата Arduino Uno * 1

- USB-кабель * 1

- L293D * 1

- Малый двигатель постоянного тока * 1

- Макетная плата * 1

- перемычки

Шаг 2: Принцип

Максимальный ток порта ввода-вывода Arduino составляет 20 мА, но приводной ток двигателя составляет не менее 70 мА. Следовательно, мы не можем напрямую использовать порт ввода-вывода для управления током; вместо этого мы можем использовать L293D для привода двигателя. L293D L293D предназначен для обеспечения двунаправленных управляющих токов до 600 мА при напряжении от 4,5 до 36 В. Он используется для управления индуктивными нагрузками, такими как реле, соленоиды, DC и биполярные шаговые двигатели, а также другие сильноточные / высоковольтные нагрузки в приложениях с положительным питанием.

См. Рисунок контактов ниже. L293D имеет два контакта (Vcc1 и Vcc2) для питания. Vcc2 используется для питания двигателя, а Vcc1 - для микросхемы. Поскольку здесь используется малогабаритный двигатель постоянного тока, подключите оба контакта к + 5В. Если вы используете двигатель большей мощности, вам необходимо подключить Vcc2 к внешнему источнику питания.

Шаг 3: принципиальная схема

Принципиальная схема
Принципиальная схема

Шаг 4: Процедуры

Процедуры
Процедуры
Процедуры
Процедуры

Контакты включения 1, 2EN L293D уже подключены к 5 В, поэтому L293D всегда находится в рабочем состоянии. Подключите контакты 1A и 2A к контактам 9 и 10 платы управления соответственно. Два контакта двигателя подключены к контактам 1Y и 2Y соответственно. Когда для контакта 10 установлен высокий уровень, а для контакта 9 - низкий, двигатель начнет вращаться в одном направлении. Когда штифт 10 находится в положении «Низкий», а штифт 9 - в положении «Высокий», он вращается в противоположном направлении.

Шаг 1:

Постройте схему.

Шаг 2:

Загрузите код с

Шаг 3:

Загрузите скетч на плату Arduino Uno

Щелкните значок «Загрузить», чтобы загрузить код на плату управления.

Если в нижней части окна отображается «Готово», это означает, что скетч был успешно загружен.

Теперь лопасть двигателя постоянного тока начнет вращаться влево и вправо со скоростью, которая изменяется соответственно.

Шаг 5: Код

Код
Код

// Управление двигателем постоянного тока

// Двигатель постоянного тока

начнет вращаться влево и вправо, и его скорость будет соответственно меняться.

// Сайт: www.primerobotics.in

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

const int motorIn1

= 9; // прикрепляем к одному из штифтов мотора

const int motorIn2

= 10; // присоединяем к другому выводу мотора

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

установка void ()

{

pinMode (motorIn1, ВЫХОД); // инициализируем вывод motorIn1 как выход

pinMode (motorIn2, ВЫХОД); // инициализируем вывод motorIn2 как выход

}

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

пустой цикл ()

{

по часовой стрелке (200); //повернуть по часовой стрелке

задержка (1000);

// ждем секунду

против часовой стрелки (200); //вращаться против часовой стрелки

задержка (1000);

// ждем секунду

}

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

/ Функция для

приводной двигатель вращается по часовой стрелке

пусто по часовой стрелке (int

Скорость)

{

analogWrite (motorIn1, Speed); // устанавливаем скорость мотора

analogWrite (motorIn2, 0); // останавливаем двигатель, вывод In2 двигателя

}

// Функция для вождения

двигатель вращается против часовой стрелки

пустота

против часовой стрелки (int Speed)

{

analogWrite (motorIn1, 0); // остановка мотора Вход 1 мотора

analogWrite (моторВ2, Скорость); // устанавливаем скорость мотора

}

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

Рекомендуемые: