
Оглавление:
- Шаг 1: демонстрация
- Шаг 2. Используемые ресурсы
- Шаг 3: Wifi LoRa 32- Распиновка
- Шаг 4: ESC (электронная регулировка скорости)
- Шаг 5: Электронная регулировка скорости ESC (ESC)
- Шаг 6: управление серводвигателем с ШИМ
- Шаг 7: Аналоговый захват
- Шаг 8: Схема - Подключения
- Шаг 9: Исходный код
- Шаг 10: файлы
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-06-01 06:10



Сегодня мы обсуждаем двигатели для дронов, которые часто называют «бесщеточными». Они широко используются в авиамоделировании, в основном в дронах, из-за их мощности и высокой скорости вращения. Мы узнаем об управлении бесщеточным двигателем с помощью ESC и ESP32, выполнении аналогового срабатывания ESC с помощью внутреннего контроллера LED_PWM и использовании потенциометра для изменения скорости двигателя.
Шаг 1: демонстрация
Шаг 2. Используемые ресурсы

- Перемычки для подключения
- Wi-Fi LoRa 32
- ESC-30A
- Бесщеточный двигатель A2212 / 13t
- USB-кабель
- Потенциометр для управления
- Протоборд
- Источник питания
Шаг 3: Wifi LoRa 32- Распиновка

Шаг 4: ESC (электронная регулировка скорости)


- Электронный регулятор скорости
- Электронная схема для управления скоростью электродвигателя.
- Управляется стандартным сервоуправлением с ШИМ 50 Гц.
- Он изменяет скорость переключения сети полевых транзисторов (FET). Регулируя частоту переключения транзисторов, скорость двигателя изменяется. Скорость двигателя изменяется, регулируя синхронизацию импульсов тока, подаваемых на различные обмотки двигателя.
- Характеристики:
Выходной ток: 30 А непрерывный, 40 А в течение 10 секунд
Шаг 5: Электронная регулировка скорости ESC (ESC)

Шаг 6: управление серводвигателем с ШИМ

Мы создадим сервопривод PWM для воздействия на ввод данных ESC, направив канал 0 LED_PWM для GPIO13, и будем использовать потенциометр для управления модуляцией.
Для захвата мы будем использовать потенциометр 10k в качестве делителя напряжения. Захват будет производиться на канале ADC2_5, доступном через GPIO12.
Шаг 7: Аналоговый захват


Аналого-цифровое преобразование
Преобразуем значения AD в ШИМ.
ШИМ сервопривода составляет 50 Гц, поэтому период импульса составляет 1/50 = 0,02 секунды или 20 миллисекунд.
Нам нужно действовать как минимум за 1-2 миллисекунды.
Когда ШИМ находится на уровне 4095, ширина импульса составляет 20 миллисекунд, что означает, что мы должны достичь максимума на 4095/10, чтобы достичь 2 миллисекунд, поэтому ШИМ должен получить 410 *.
И, по крайней мере, через 1 миллисекунду, следовательно, 409/2 (или 4095/20), ШИМ должен получить 205 *.
* Значения должны быть целыми числами.
Шаг 8: Схема - Подключения

Шаг 9: Исходный код
Заголовок
#include // Необходимое условие для Arduino 1.6.5 и последующее # include "SSD1306.h" // или сообщение #include "SSD1306Wire.h" // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 Дисплей SSD1306 (0x3c, SDA, SCL, RST); // Установка и установка изображения для объекта "display"
Переменные
const int freq = 50; const int canal_A = 0; const int resolucao = 12; const int pin_Atuacao_A = 13; const int Leitura_A = 12; int Potencia = 0; int leitura = 0; int ciclo_A = 0;
Настраивать
void setup () {pinMode (pin_Atuacao_A, ВЫХОД); ledcSetup (canal_A, freq, resolucao); ledcAttachPin (pin_Atuacao_A, canal_A); ledcWrite (canal_A, ciclo_A); display.init (); display.flipScreenVertical (); // Выполнить вертикальное отображение display.clear (); // установить или изменить настройки display.setTextAlignment (TEXT_ALIGN_LEFT); // установить шрифт для Arial 16 display.setFont (ArialMT_Plain_16); }
Петля
void loop () {leitura = analogRead (Leitura_A); ciclo_A = карта (лейтура, 0, 4095, 205, 410); ledcWrite (canal_A, ciclo_A); Potencia = map (leitura, 0, 4095, 0, 100); display.clear (); // ограничить буфер do display display.drawString (0, 0, String ("AD:")); display.drawString (32, 0, String (leitura)); display.drawString (0, 18, String ("ШИМ:")); display.drawString (48, 18, String (ciclo_A)); display.drawString (0, 36, String ("Potência:")); display.drawString (72, 36, String (потенция)); display.drawString (98, 36, String ("%")); display.display (); // почти нет отображения}
Шаг 10: файлы
Скачайте файлы
Я НЕТ
Рекомендуемые:
Светодиод, управляемый через Интернет, с использованием веб-сервера на базе ESP32: 10 шагов

Светодиод, управляемый через Интернет с использованием веб-сервера на основе ESP32: обзор проекта В этом примере мы выясним, как настроить веб-сервер на основе ESP32 для управления состоянием светодиода, доступного из любой точки мира. Для этого проекта вам понадобится компьютер Mac, но вы можете запустить это программное обеспечение даже на i
ESP32 с модулем E32-433T LoRa Учебное пособие - Интерфейс LoRa Arduino: 8 шагов

ESP32 с модулем E32-433T LoRa Учебное пособие | Интерфейс LoRa Arduino: Привет, ребята, как дела! Акарш здесь из CETech. Этот мой проект связывает модуль E32 LoRa от eByte, который представляет собой модуль приемопередатчика высокой мощности 1 Вт, с ESP32 с использованием Arduino IDE. Мы поняли работу E32 в нашем последнем уроке
Управление бытовой техникой через LoRa - LoRa в домашней автоматизации - Пульт дистанционного управления LoRa: 8 шагов

Управление бытовой техникой через LoRa | LoRa в домашней автоматизации | LoRa Remote Control: управляйте и автоматизируйте свои электроприборы с больших расстояний (километров) без подключения к Интернету. Это возможно через LoRa! Эй, как дела, ребята? Акарш здесь от CETech. Эта печатная плата также имеет OLED-дисплей и 3 реле, которые
Как создать двумерный персонаж с помощью контроллера символов в Unreal Engine 4 с помощью Visual Script для ПК: 11 шагов

Как создать 2-мерный персонаж с помощью контроллера символов в Unreal Engine 4 с помощью Visual Script для ПК: Как создать 2-мерный персонаж с контроллером символов в Unreal Engine 4, используя визуальный скрипт для ПК Привет, я Джордан Стелц. Я занимаюсь разработкой видеоигр с 15 лет. В этом уроке вы узнаете, как создать базового персонажа с помощью
Катящийся робот с ESP32 Thing и драйвером TB6612FNG, управляемый Android через BLE: 11 шагов

Катящийся робот с ESP32 Thing и драйвером TB6612FNG, управляемый Android через BLE: Всем привет Это мое первое руководство. Катящийся робот (по прозвищу Райдо - от руны, связанной с движением), основанный на ESP32 Thing, TB6612 FNG и BLE. Одна часть, которая может показаться странной, заключается в том, что фотографии не из процесса изготовления