
Índice:
- Etapa 1: Demonstração
- Etapa 2: Recursos usados
- Etapa 3: Wifi LoRa 32- Pinagem
- Etapa 4: ESC (controle eletrônico de velocidade)
- Etapa 5: ESC Controle Eletrônico de Velocidade (ESC)
- Etapa 6: Controle do servo motor PWM
- Etapa 7: captura analógica
- Etapa 8: Circuito - Conexões
- Etapa 9: Código Fonte
- Etapa 10: Arquivos
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03



Hoje estamos discutindo motores drones, frequentemente chamados de motores "sem escova". Eles são amplamente utilizados em aeromodelismo, principalmente em drones, devido à sua potência e alta rotação. Aprenderemos como controlar um motor sem escovas usando ESC e ESP32, realizando uma atuação analógica no ESC usando o controlador LED_PWM interno e usando um potenciômetro para alterar a velocidade do motor.
Etapa 1: Demonstração
Etapa 2: Recursos usados

- Jumpers para conexão
- Wifi LoRa 32
- ESC-30A
- Motor Brushless A2212 / 13t
- cabo USB
- Potenciômetro para controle
- Protoboard
- Fonte de energia
Etapa 3: Wifi LoRa 32- Pinagem

Etapa 4: ESC (controle eletrônico de velocidade)


- Controlador Eletrônico de Velocidade
- Circuito eletrônico para controlar a velocidade de um motor elétrico.
- Controlado a partir de um servo controle PWM de 50 Hz padrão.
- Ele varia a taxa de comutação de uma rede de transistores de efeito de campo (FETs). Ajustando a frequência de chaveamento dos transistores, a velocidade do motor é alterada. A velocidade do motor é variada ajustando-se o tempo dos pulsos de corrente fornecidos aos vários enrolamentos do motor.
- Especificações:
Corrente de saída: 30A contínua, 40A por 10 segundos
Etapa 5: ESC Controle Eletrônico de Velocidade (ESC)

Etapa 6: Controle do servo motor PWM

Criaremos um servo PWM para atuar na entrada de dados ESC direcionando o canal 0 do LED_PWM para o GPIO13 e usaremos um potenciômetro para controlar a modulação.
Para a captura, usaremos um potenciômetro de 10k como divisor de tensão. A captura será feita no canal ADC2_5, acessível pelo GPIO12.
Etapa 7: captura analógica


Conversão analógica para digital
Vamos converter os valores de AD para o PWM.
O PWM do servo é 50 Hz, então o período de pulso é 1/50 = 0,02 segundos ou 20 milissegundos.
Precisamos agir em pelo menos 1 milissegundo a 2 milissegundos.
Quando o PWM está em 4095, a largura de pulso é de 20 milissegundos, o que significa que devemos atingir o máximo em 4095/10 para atingir 2 milissegundos, então o PWM deve receber 410 *.
E depois de pelo menos 1 milissegundo, portanto, 409/2 (ou 4095/20), o PWM deve receber 205 *.
* Os valores devem ser inteiros
Etapa 8: Circuito - Conexões

Etapa 9: Código Fonte
Cabeçalho
#include // Necessário apenas para o Arduino 1.6.5 e posterior # include "SSD1306.h" // o mesmo que #include "SSD1306Wire.h" // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 SSD1306 display (0x3c, SDA, SCL, RST); // Instanciando e ajustando os pinos do objeto "display"
Variáveis
const int freq = 50; const int canal_A = 0; const int resolucao = 12; const int pin_Atuacao_A = 13; const int Leitura_A = 12; potência int = 0; int leitura = 0; int ciclo_A = 0;
Configurar
void setup () {pinMode (pin_Atuacao_A, OUTPUT); ledcSetup (canal_A, freq, resolucao); ledcAttachPin (pin_Atuacao_A, canal_A); ledcWrite (canal_A, ciclo_A); display.init (); display.flipScreenVertically (); // Vira a tela verticalmente display.clear (); // ajusta o alinhamento para a exibição esquerda.setTextAlignment (TEXT_ALIGN_LEFT); // ajusta a fonte para Arial 16 display.setFont (ArialMT_Plain_16); }
Ciclo
loop void () {leitura = analogRead (Leitura_A); ciclo_A = mapa (leitura, 0, 4095, 205, 410); ledcWrite (canal_A, ciclo_A); potencia = mapa (leitura, 0, 4095, 0, 100); display.clear (); // limpa o buffer do display display.drawString (0, 0, String ("AD:")); display.drawString (32, 0, String (leitura)); display.drawString (0, 18, String ("PWM:")); display.drawString (48, 18, String (ciclo_A)); display.drawString (0, 36, String ("Potência:")); display.drawString (72, 36, String (potência)); display.drawString (98, 36, String ("%")); display.display (); // mostra no display}
Etapa 10: Arquivos
Baixe os arquivos
EU NÃO
Recomendado:
Motor de passo controlado por motor de passo sem microcontrolador !: 6 etapas

Motor de passo controlado por motor de passo sem microcontrolador !: Neste instrutivo rápido, faremos um controlador de motor de passo simples usando um motor de passo. Este projeto não requer circuitos complexos ou um microcontrolador. Então, sem mais delongas, vamos começar
Motor de passo controlado por motor de passo sem microcontrolador (V2): 9 etapas (com imagens)

Motor de passo controlado por motor de passo sem microcontrolador (V2): Em um dos meus Instructables anteriores, mostrei como controlar um motor de passo usando um motor de passo sem um microcontrolador. Foi um projeto rápido e divertido, mas veio com dois problemas que serão resolvidos neste Instructable. Então, sagacidade
Locomotiva modelo com motor de passo controlado - Motor de passo como codificador giratório: 11 etapas (com imagens)

Locomotiva modelo com motor de passo controlado | Motor de passo como codificador giratório: Em um dos instrutíveis anteriores, aprendemos como usar um motor de passo como codificador giratório. Neste projeto, agora usaremos aquele motor de passo girado em codificador rotativo para controlar um modelo de locomotiva usando um microcontrolador Arduino. Então, sem fu
Motor de passo controlado por motor de passo - Motor de passo como codificador giratório: 11 etapas (com imagens)

Motor de passo controlado por motor de passo | Motor de passo como codificador rotativo: Você tem alguns motores de passo por aí e quer fazer alguma coisa? Neste Instructable, vamos usar um motor de passo como um codificador rotativo para controlar a posição de outro motor de passo usando um microcontrolador Arduino. Então, sem mais delongas, vamos
Controlar eletrodomésticos em LoRa - LoRa em Domótica - Controle remoto LoRa: 8 etapas

Controle de eletrodomésticos sobre LoRa | LoRa em Domótica | LoRa Controle Remoto: Controle e automatize seus aparelhos elétricos de longas distâncias (Quilômetros) sem a presença da internet. Isso é possível através do LoRa! Ei, tudo bem, pessoal? Akarsh aqui da CETech. Este PCB também tem um display OLED e 3 relés que