Taula de continguts:
- Pas 1: demostració
- Pas 2: recursos utilitzats
- Pas 3: Wifi LoRa 32- Pinout
- Pas 4: ESC (control electrònic de velocitat)
- Pas 5: Control electrònic de velocitat ESC (ESC)
- Pas 6: Control del servomotor PWM
- Pas 7: captura analògica
- Pas 8: Circuit - Connexions
- Pas 9: codi font
- Pas 10: fitxers
Vídeo: Motor de drons controlat ESP32 LoRa: 10 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Avui estem parlant de motors de drons, anomenats freqüentment motors "sense escombretes". S’utilitzen àmpliament en aeromodelisme, principalment en avions no tripulats, a causa de la seva potència i alta rotació. Aprendrem sobre el control d’un motor sense escombretes mitjançant ESC i ESP32, la realització d’una acció analògica a l’ESC mitjançant el controlador LED_PWM intern i l’ús d’un potenciòmetre per canviar la velocitat del motor.
Pas 1: demostració
Pas 2: recursos utilitzats
- Jumpers per a connexió
- Wifi LoRa 32
- ESC-30A
- Motor sense escombretes A2212 / 13t
- Cable USB
- Potenciòmetre de control
- Protoboard
- Font d'alimentació
Pas 3: Wifi LoRa 32- Pinout
Pas 4: ESC (control electrònic de velocitat)
- Controlador de velocitat electrònic
- Circuit electrònic per controlar la velocitat d’un motor elèctric.
- Controlat des d’un servo control PWM de 50Hz estàndard.
- Varia la velocitat de commutació d'una xarxa de transistors d'efecte de camp (FET). Ajustant la freqüència de commutació dels transistors, es canvia la velocitat del motor. La velocitat del motor es varia ajustant el temps dels polsos de corrent subministrats als diferents bobinatges del motor.
- Especificacions:
Corrent de sortida: 30A continu, 40A durant 10 segons
Pas 5: Control electrònic de velocitat ESC (ESC)
Pas 6: Control del servomotor PWM
Crearem un servo PWM per actuar sobre l'entrada de dades ESC dirigint el canal 0 del LED_PWM per al GPIO13 i utilitzarem un potenciòmetre per controlar la modulació.
Per a la captura, utilitzarem un potenciòmetre de 10k com a divisor de tensió. La captura es farà al canal ADC2_5, accessible per GPIO12.
Pas 7: captura analògica
Conversió analògica a digital
Convertirem els valors d’AD a PWM.
El PWM del servo és de 50Hz, de manera que el període de pols és 1/50 = 0,02 segons o 20 mil·lisegons.
Hem d’actuar entre 1 i 2 mil·lisegons com a mínim.
Quan el PWM és a 4095, l'amplada del pols és de 20 mil·lisegons, és a dir, hauríem d'arribar al màxim a 4095/10 per arribar a 2 mil·lisegons, de manera que PWM hauria de rebre 410 *.
I després d’almenys 1 mil·lisegon, per tant 409/2 (o 4095/20), el PWM hauria de rebre 205 *.
* Els valors han de ser enters
Pas 8: Circuit - Connexions
Pas 9: codi font
Capçalera
#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 los pinos do objeto "display"
Les variables
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;
Configuració
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 verticalment display.clear (); // ajusta o alinhamento per a l'esquerra display.setTextAlignment (TEXT_ALIGN_LEFT); // ajusta a fonte per Arial 16 display.setFont (ArialMT_Plain_16); }
Bucle
void loop () {leitura = analogRead (Leitura_A); ciclo_A = map (leitura, 0, 4095, 205, 410); ledcWrite (canal_A, ciclo_A); potencia = map (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 (potencia)); display.drawString (98, 36, String ("%")); display.display (); // mostra no display}
Pas 10: fitxers
Descarregueu els fitxers
INO
Recomanat:
Motor pas a pas controlat Motor pas a pas sense microcontrolador: 6 passos
Motor pas a pas controlat pel motor pas a pas sense microcontrolador. Aquest projecte no requereix cap circuit complex ni un microcontrolador. Així doncs, sense més, comencem
Motor pas a pas controlat pel motor pas a pas sense microcontrolador (V2): 9 passos (amb imatges)
Motor pas a pas controlat amb motor pas a pas sense microcontrolador (V2): en una de les meves instruccions anteriors, us vaig mostrar com controlar un motor pas a pas mitjançant un motor pas a pas sense microcontrolador. Va ser un projecte ràpid i divertit, però va venir amb dos problemes que es resoldran en aquest instructiu. Llavors, enginy
Motor pas a pas controlat Motor pas a pas com a codificador rotatiu: 11 passos (amb imatges)
Motor pas a pas controlat Motor pas a pas com a codificador rotatiu: teniu un parell de motors pas a pas al voltant i voleu fer alguna cosa? En aquesta instrucció, fem servir un motor pas a pas com a codificador rotatiu per controlar la posició d’un altre motor pas a pas mitjançant un microcontrolador Arduino. Així doncs, sense més preàmbuls, anem a
Cotxe controlat a distància: controlat mitjançant un controlador Xbox 360 sense fils: 5 passos
Cotxe controlat a distància: controlat mitjançant controlador Xbox 360 sense fils: són instruccions per construir el vostre propi cotxe controlat a distància mitjançant un controlador Xbox 360 sense fils
Com es construeix un robot controlat amb braç de pinça controlat mitjançant Nrf24l01 Arduino: 3 passos (amb imatges)
Com es construeix un robot controlat amb braç de pinça controlat mitjançant Nrf24l01 Arduino: la instrucció "Com construir robot controlat amb braç de pinça mitjançant Via Nrf24l01 Arduino" explicarà com construir un braç de pinça de tres graus de llibertat instal·lat en rodes de rodes controlades pel mòdul L298N de doble motor amb MEG