Inhaltsverzeichnis:
- Schritt 1: Demonstration
- Schritt 2: Verwendete Ressourcen
- Schritt 3: Wifi LoRa 32- Pinbelegung
- Schritt 4: ESC (Elektronische Geschwindigkeitsregelung)
- Schritt 5: Elektronische Geschwindigkeitsregelung (ESC) ESC
- Schritt 6: PWM-Servomotorsteuerung
- Schritt 7: Analoge Aufnahme
- Schritt 8: Schaltung - Anschlüsse
- Schritt 9: Quellcode
- Schritt 10: Dateien
Video: ESP32 LoRa-gesteuerter Drohnenmotor - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Heute diskutieren wir über Drohnenmotoren, die häufig als „bürstenlose“Motoren bezeichnet werden. Aufgrund ihrer Leistung und hohen Rotation werden sie häufig im Flugmodellbau verwendet, hauptsächlich in Drohnen. Wir lernen, einen bürstenlosen Motor mit ESC und ESP32 zu steuern, eine analoge Betätigung des ESC mit dem internen LED_PWM-Controller durchzuführen und ein Potentiometer zum Ändern der Motordrehzahl zu verwenden.
Schritt 1: Demonstration
Schritt 2: Verwendete Ressourcen
- Jumper zum Anschluss
- WLAN LoRa 32
- ESC-30A
- Bürstenloser A2212 / 13t Motor
- USB-Kabel
- Potentiometer zur Steuerung
- Protoboard
- Energieversorgung
Schritt 3: Wifi LoRa 32- Pinbelegung
Schritt 4: ESC (Elektronische Geschwindigkeitsregelung)
- Elektronischer Geschwindigkeitsregler
- Elektronische Schaltung zur Steuerung der Drehzahl eines Elektromotors.
- Gesteuert von einer standardmäßigen 50Hz PWM-Servosteuerung.
- Es variiert die Schaltrate eines Netzwerks von Feldeffekttransistoren (FETs). Durch Einstellen der Schaltfrequenz der Transistoren wird die Motordrehzahl verändert. Die Motordrehzahl wird variiert, indem das Timing der zugeführten Stromimpulse an die verschiedenen Wicklungen des Motors angepasst wird.
- Spezifikationen:
Ausgangsstrom: 30A kontinuierlich, 40A für 10 Sekunden
Schritt 5: Elektronische Geschwindigkeitsregelung (ESC) ESC
Schritt 6: PWM-Servomotorsteuerung
Wir werden ein PWM-Servo erstellen, um auf die ESC-Dateneingabe zu reagieren, indem wir Kanal 0 des LED_PWM für den GPIO13 leiten und ein Potentiometer verwenden, um die Modulation zu steuern.
Für die Erfassung verwenden wir ein Potentiometer von 10k als Spannungsteiler. Die Erfassung erfolgt auf Kanal ADC2_5, auf den über GPIO12 zugegriffen werden kann.
Schritt 7: Analoge Aufnahme
Analog-Digital-Wandlung
Wir konvertieren die Werte von AD in PWM.
Die PWM des Servos beträgt 50Hz, also beträgt die Pulsperiode 1/50 = 0,02 Sekunden oder 20 Millisekunden.
Wir müssen in mindestens 1 Millisekunde bis 2 Millisekunden handeln.
Wenn die PWM bei 4095 liegt, beträgt die Pulsbreite 20 Millisekunden, was bedeutet, dass wir das Maximum bei 4095/10 erreichen sollten, um 2 Millisekunden zu erreichen, also sollte PWM 410 * erhalten.
Und nach mindestens 1 Millisekunde, also 409/2 (bzw. 4095/20), sollte die PWM 205* erhalten.
* Werte müssen ganze Zahlen sein
Schritt 8: Schaltung - Anschlüsse
Schritt 9: Quellcode
Header
#include // Notwendig für Arduino 1.6.5 und posterior#include "SSD1306.h" // oder mesmo que #include "SSD1306Wire.h" //OLED_SDA -- GPIO4 //OLED_SCL -- GPIO15 //OLED_RST -- GPIO16 #define SDA 4 #define SCL 15 #define RST 16 SSD1306 Anzeige (0x3c, SDA, SCL, RST); //Instanciando e ajustando os pinos do objeto "display"
Variablen
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-Potenzial = 0; int leitura = 0; int ciclo_A = 0;
Aufstellen
Void setup () {pinMode (pin_Atuacao_A, AUSGANG); ledcSetup (Kanal_A, Freq, Auflösung); ledcAttachPin(pin_Atuacao_A, Kanal_A); ledcWrite(Kanal_A, ciclo_A); display.init(); display.flipScreenVertically(); //Vira a tela verticalmente display.clear(); // ajusta oder alinhamento para a esquerda display.setTextAlignment(TEXT_ALIGN_LEFT); // ajusta a fonte para Arial 16 display.setFont (ArialMT_Plain_16); }
Schleife
Void Schleife () {Leitura = analogRead (Leitura_A); ciclo_A = map(leitura, 0, 4095, 205, 410); ledcWrite(Kanal_A, ciclo_A); potencia = map(leitura, 0, 4095, 0, 100); display.clear(); //limpa o Buffer do 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 keine Anzeige}
Schritt 10: Dateien
Laden Sie die Dateien herunter
INO
Empfohlen:
DIY So zeigen Sie die Zeit auf dem M5StickC ESP32 mit Visuino an - Einfach zu tun: 9 Schritte
DIY So zeigen Sie die Zeit auf dem M5StickC ESP32 mit Visuino an - Einfach zu machen: In diesem Tutorial lernen wir, wie Sie den ESP32 M5Stack StickC mit Arduino IDE und Visuino programmieren, um die Zeit auf dem LCD anzuzeigen
M5STACK So zeigen Sie Temperatur, Feuchtigkeit und Druck auf dem M5StickC ESP32 mit Visuino an - Einfach zu tun: 6 Schritte
M5STACK So zeigen Sie Temperatur, Luftfeuchtigkeit und Druck auf dem M5StickC ESP32 mit Visuino an - Einfach zu machen: In diesem Tutorial lernen wir, wie Sie den ESP32 M5Stack StickC mit Arduino IDE und Visuino programmieren, um Temperatur, Luftfeuchtigkeit und Druck mit dem ENV-Sensor (DHT12, BMP280, BMM150)
Google-Suche auf ESP32: 7 Schritte
Google-Suche auf ESP32: In diesem Tutorial zeige ich Ihnen, wie Sie Google-Suchen mit einem ESP32 durchführen. Das Ergebnis selbst ist nicht sehr nützlich, da die Suchergebnisse im seriellen Monitor des Computers angezeigt werden, aber es ist eine coole Sache, die Leistung von ESP32 zu zeigen. Der Code kann
So fügen Sie jedem Projekt eine WLAN-Steuerung hinzu -- ESP32-Anfängerleitfaden: 5 Schritte
So fügen Sie jedem Projekt eine WLAN-Steuerung hinzu || ESP32-Anfängerhandbuch: In diesem Projekt zeige ich Ihnen, wie einfach / schwierig es ist, einen ESP32 mit der Arduino IDE zu verwenden, um jedem Elektronikprojekt eine WiFi-Steuerung hinzuzufügen. Unterwegs zeige ich Ihnen, wie Sie mit dem ESP32 einen einfachen WLAN-Server erstellen und wie Sie
Anleitung zur Verwendung von LORA SX1278 RF433 – 3 Schritte
Tutorial So verwenden Sie LORA SX1278 RF433: In diesem Tutorial werden wir Ihnen beibringen, wie Sie LORA-SX1278 RF433 dazu bringen, miteinander zu kommunizieren