Управление двигателем постоянного тока с использованием драйвера мотора L293D и широтно-импульсной модуляции Arduino
Этот проект демонстрирует, как управлять скоростью и направлением постоянного двигателя с помощью схемы драйвера L293D и возможностей широтно-импульсной модуляции (ШИМ) Arduino. Эта конфигурация позволяет точно контролировать мотор, что делает ее подходящей для различных приложений.
Вот несколько идей для проектов с использованием этой конфигурации:
- Робототехника:Контролируйте движение колес небольшого робота.
- Автоматизированные устройства:Создайте автоматические шторы, жалюзи или небольшой конвейер.
- Управление вентилятором:Регулируйте скорость вентилятора охлаждения в зависимости от показаний температуры.
- Солнечные трекеры:Разместите небольшие солнечные панели так, чтобы они следовали за солнцем в течение дня.
Аппаратное обеспечение/Компоненты
- Arduino Uno (или совместимая плата)
- L293D драйвер двигателей
- Двигатель постоянного тока (рассчитан на пределы напряжения и тока L293D, до 600 мА)
- 9В блок питания (для мотора)
- Соединительные провода
- Макетная плата (рекомендуется)
Схема подключения
Чип L293D выполняет функцию интерфейса между Arduino и DC-двигателем. Он позволяет Arduino контролировать как скорость, так и направление вращения мотора. Чип требует отдельного источника питания для мотора, так как Arduino не может обеспечить достаточный ток для большинства моторов.
%%ПРОВОДКА%%
Объяснение кода
Код Arduino контролирует драйвер L293D, который, в свою очередь, управляет DC-двигателем. Код использует ШИМ для изменения скорости двигателя и цифровые сигналы для переключения направления.
Вот ключевые настраиваемые параметры в коде:
#define P1A 10 // Arduino pin connected to L293D input 1A
#define P2A 11 // Arduino pin connected to L293D input 2A
#define EN12 9 // Arduino pin connected to L293D enable pin (1,2EN)
const int speedStep = 15; // Increment for speed changes
const int speedDelay = 1000; // Delay between speed steps (in milliseconds)
ТонL293D()функция управляет направлением и скоростью мотора. 'L' устанавливает мотор на вращение по часовой стрелке, 'R' - против часовой стрелки.spdпараметр управляет скоростью (0-255) иenвключает (1) или выключает (0) мотор. (в видео на 09:24)
void L293D(char dir,int spd, int en)
{
if(dir =='L') // Clockwise rotation
{
// ...
analogWrite(P1A,spd); // Set speed using PWM
digitalWrite(P2A,LOW);
}else{ // Counter-clockwise rotation
// ...
digitalWrite(P1A,LOW);
analogWrite(P2A,spd); // Set speed using PWM
}
}
Живой проект/демонстрация
Видео демонстрирует проект в действии, показывая скорость и направление вращения мотора. Показания осциллографа визуализируют сигналы ШИМ, управляющие мотором. (в видео на 11:07)
Главы
- Введение в управление двигателем постоянного тока с L293D
- [00:30] Демонстрация и объяснение проекта
- [01:12] Обзор драйвера двигателя L293D
- [02:08] Технические характеристики двигателей постоянного тока
- [02:30] Объяснение технического паспорта L293D
- [04:40] Объяснение проводки и демонстрация
- [07:05] Объяснение кода Arduino
- [11:07] Демонстрация проекта и показания осциллографа
This code has not been parsed yet. Please return to the admin panel to parse it.
This code has not been parsed yet. Please return to the admin panel to parse it.
Ресурсы и ссылки
Файлы📁
Нет доступных файлов.