Обзор Motor Shield для NodeMCU
Сегодня расскажу о плата расширения Motor Shield на чипе L293DD, которая увеличивает возможности платы NodeMCU v. 2.. С данной платы можно управлять одним шаговым двигателем с потреблением тока до 1.2 А или двумя двигателями постоянного тока с потреблением тока до 0,6 А
Технические параметры.
► Микросхема драйвера: L293DD
► Напряжения питания логической части: от 4.5 до 9 В
► Напряжения питания силовой части: от 4.5 до 36 В
► Максимальный ток для двигателей постоянного тока: до 0,6 А на канал
► Максимальный ток для шагового двигателя: 1,2 А
► Скорость переключения: до 5 кГц
► Габариты: 42 x 57 x 10 мм
Общие сведения.
Плата расширения Motor Shield имеет посадочное место 22 мм, для установки платы NodeMCU v.2 на UART чипе CP2102, (NodeMCU v.3 на UART чипе CH340G не подойдет, так она шире). Основная микросхема на плате Motor Shield, это L293DD которая может управлять одним шаговым двигателем или двумя двигателями постоянного тока. Источник питания у модуля и двигателей раздельное. Для модуля необходимо напряжение от 4.5 В до 9 В, а для двигателей требуется напряжение от 4,5 В до 36 В. Питание для модуля подключается к клеммам VIN и GND, а питание для двигателей подключается к клеммам VH и GND. Имеется возможность питать от одного источника, для этого необходимо закоротить VIN и VM, которые находятся слева от контактов UART.
Внимание! Нельзя устанавливать перемычку, если напряжение двигателей больше 9 В
Подключение двигателей осуществляется с помощью 4-х контактного зажимного разъема с обозначенными выводами A-, A+, B-, B+. Также, на плате выведены контакты VIN, 3.3 В, DIO, AIO, SDIO, UART, SPI, RST и EN, для удобного подключения всех видов датчиков (например, температуру и влажность, зуммер, реле и так далее).
После установки платы NodeMCU V2.0 на модуль Motor Shield используется всего четыре конаткта для управления двигателями. В таблице ниже показаны, какие из контактов используются модулем, а какие свободны.
Управление двигателями постоянного тока с помощью NodeMCU
Необходимые детали:
► Модуль NodeMcu v.2, ESP8266-12E, CP2102 x 1 шт.
► Плата расширения для NodeMCU v2, Motor Shield x 1 шт.
► Двигатель постоянного тока x 2 шт.
► Провода DuPont, 2,54 мм, 20 см x 1 шт.
Подключение
В примере используем контроллер NodeMCU v.2 (ESP8266), Motor Shield и два двигателя постоянного тока. Первым делом устанавливаем плату NodeMCU на модуль Motor Shield, ориентир рисунок антенны на на модуле Motor Shield. Далее подключаем два двигателя, первый к выводам A- и A+, второй подключаем к выводам B- и B. Теперь можно подключать питание, в примере будем использовать один источник питания (в моем случаи это блок питания на 5 В), подключаем его к выводам VIN и GND, так же необходимо установить джампер (перемычку), чтобы сделать общие питание модуля и двигателей. Схему подключения можно посмотреть на рисунке ниже.
Программа:
Первом делом, необходимо установить поддержку NodeMCU в среде разработке Arduino IDE, как это сделать можно посмотреть в этом обзоре. Теперь, когда все готово, скачиваем или копируем скетч и загружаем его в NodeMCU.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
// Двигатель A #define in1 5 #define in2 0 // Двигатель B #define in3 4 #define in4 2 void setup() { pinMode(in1, OUTPUT); // Устанавливаем in1 как выход pinMode(in2, OUTPUT); // Устанавливаем in2 как выход pinMode(in3, OUTPUT); // Устанавливаем in3 как выход pinMode(in4, OUTPUT); // Устанавливаем in4 как выход } void loop() { digitalWrite(in1, HIGH); // Включаем двигатель A digitalWrite(in2, LOW); // Вращение двигателем А по часовой стрелке delay(2000); // Пауза digitalWrite(in2, HIGH); // Вращение двигателем А против часовой стрелке delay(2000); // Пауза digitalWrite(in1, LOW); // Выключаем двигатель А delay(2000); digitalWrite(in3, HIGH); // Включаем двигатель B digitalWrite(in4, LOW); // Вращение двигателем B по часовой стрелке delay(2000); // Пауза digitalWrite(in4, HIGH); // Вращение двигателем B против часовой стрелке delay(2000); // Пауза digitalWrite(in3, LOW); // Выключаем двигатель B delay(2000); } |
Данный скетч просто заставит вращать двигателями А и В по часовой стрелке и против.
Купить на Aliexpress
Модуль NodeMcu v.2, ESP8266-12E, CP2102
Плата расширения для NodeMCU v2, Motor Shield
Мотор-колесо, диаметр 66 мм
Провода DuPont, 2,54 мм, 20 см
Купить в Самаре и области
Модуль NodeMcu v.2, ESP8266-12E, CP2102
Плата расширения для NodeMCU v2, Motor Shield
Мотор-колесо, диаметр 66 мм
Провода DuPont, 2,54 мм, 20 см