
Spisu treści:
- Krok 1: Demonstracja
- Krok 2: Wykorzystane zasoby
- Krok 3: Wifi LoRa 32- Pinout
- Krok 4: ESC (elektroniczna kontrola prędkości)
- Krok 5: Elektroniczna kontrola prędkości ESC (ESC)
- Krok 6: Sterowanie serwomotorem PWM
- Krok 7: Przechwytywanie analogowe
- Krok 8: Obwód - połączenia
- Krok 9: Kod źródłowy
- Krok 10: Pliki
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:03



Dzisiaj mówimy o silnikach dronów, często nazywanych silnikami „bezszczotkowymi”. Są szeroko stosowane w modelarstwie lotniczym, głównie w dronach, ze względu na ich moc i dużą rotację. Dowiemy się, jak sterować silnikiem bezszczotkowym za pomocą ESC i ESP32, wykonywać analogiczne uruchamianie na ESC za pomocą wewnętrznego kontrolera LED_PWM oraz używać potencjometru do zmiany prędkości silnika.
Krok 1: Demonstracja
Krok 2: Wykorzystane zasoby

- Zworki do połączenia
- Wi-Fi LoRa 32
- ESC-30A
- Silnik bezszczotkowy A2212 / 13t
- Kabel USB
- Potencjometr do sterowania
- Płyta prototypowa
- Zasilacz
Krok 3: Wifi LoRa 32- Pinout

Krok 4: ESC (elektroniczna kontrola prędkości)


- Elektroniczny regulator prędkości
- Układ elektroniczny do sterowania prędkością silnika elektrycznego.
- Sterowanie ze standardowego serwomechanizmu 50Hz PWM.
- Zmienia szybkość przełączania sieci tranzystorów polowych (FET). Regulując częstotliwość przełączania tranzystorów, zmienia się prędkość silnika. Prędkość silnika jest zmieniana poprzez dostosowanie taktowania dostarczanych impulsów prądowych do różnych uzwojeń silnika.
- Dane techniczne:
Prąd wyjściowy: 30A ciągły, 40A przez 10 sekund
Krok 5: Elektroniczna kontrola prędkości ESC (ESC)

Krok 6: Sterowanie serwomotorem PWM

Stworzymy serwo PWM do działania na wejściu danych ESC, kierując kanał 0 LED_PWM dla GPIO13 i użyj potencjometru do sterowania modulacją.
Do przechwytywania użyjemy potencjometru 10k jako dzielnika napięcia. Przechwytywanie zostanie wykonane na kanale ADC2_5, dostępnym przez GPIO12.
Krok 7: Przechwytywanie analogowe


Konwersja analogowo-cyfrowa
Przekonwertujemy wartości AD na PWM.
PWM serwa wynosi 50 Hz, więc okres impulsu wynosi 1/50 = 0,02 sekundy lub 20 milisekund.
Musimy działać w ciągu co najmniej 1 milisekundy do 2 milisekund.
Gdy PWM wynosi 4095, szerokość impulsu wynosi 20 milisekund, co oznacza, że powinniśmy osiągnąć maksimum przy 4095/10, aby osiągnąć 2 milisekundy, więc PWM powinno otrzymać 410 *.
A po co najmniej 1 milisekundzie, czyli 409/2 (lub 4095/20), PWM powinien otrzymać 205*.
* Wartości muszą być liczbami całkowitymi
Krok 8: Obwód - połączenia

Krok 9: Kod źródłowy
nagłówek
#include // Niezbędne dla Arduino 1.6.5 i tylne#include "SSD1306.h" // do wiadomości #include "SSD1306Wire.h" //OLED_SDA -- GPIO4 //OLED_SCL -- GPIO15 //OLED_RST -- GPIO16 #definiuj SDA 4 #definiuj SCL 15 #definiuj wyświetlacz RST 16 SSD1306 (0x3c, SDA, SCL, RST); //Instanciando e ajustando os pinos do objeto "wyświetl"
Zmienne
const int częst = 50;stała int kanał_A = 0; const int resolucao = 12; const int pin_Atuacao_A = 13; const int Leitura_A = 12; int potencja = 0; wewn. leitura = 0; int ciclo_A = 0;
Ustawiać
void setup(){ pinMode(pin_Atuacao_A, WYJŚCIE); ledcSetup(canal_A, freq, resolucao); ledcAttachPin(pin_Atuacao_A, canal_A); ledcWrite(kanał_A, ciclo_A); display.init(); display.flipScreenPionowo(); //Przejdź do ekranu pionowego display.clear(); //dostosuj ustawienie do wyświetlania.setTextAlignment(TEXT_ALIGN_LEFT); //ustaw czcionkę dla Arial 16 display.setFont(ArialMT_Plain_16); }
Pętla
void loop() { leitura = analogRead(Leitura_A); ciclo_A = mapa(leitura, 0, 4095, 205, 410); ledcWrite(kanał_A, ciclo_A); potencia = mapa(leitura, 0, 4095, 0, 100); display.clear();//limpa o bufor wyświetl 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("Potencjał:")); display.drawString(72, 36, String(potencja)); display.drawString(98, 36, String("%")); display.display(); //most bez wyświetlania }
Krok 10: Pliki
Pobierz pliki
JA NIE
Zalecana:
Silnik krokowy sterowany silnikiem krokowym - Silnik krokowy jako enkoder obrotowy: 11 kroków (ze zdjęciami)

Silnik krokowy sterowany silnikiem krokowym | Silnik krokowy jako enkoder obrotowy: Masz kilka silników krokowych i chcesz coś zrobić? W tej instrukcji użyjmy silnika krokowego jako enkodera obrotowego do sterowania pozycją innego silnika krokowego za pomocą mikrokontrolera Arduino. Więc bez zbędnych cere
Silnik elektryczny + silnik Fidget: 12 kroków

Elektro Motor + Fidget Motor: In deze instructable wordt uitgelegd hoe je 2 verschillede elektromotoren kan maken. De eerste is een kleine elektromotor waarbij de spoel draait en de magneet vast zit. De tweede is fidget motor waarbij de spoel vast zit en de magneten op een fidg
Silnik indukcyjny z pojedynczą cewką / silnik elektryczny: 6 kroków

Silnik indukcyjny z pojedynczą cewką / silnik elektryczny: W tym projekcie zamierzamy wykonać silnik indukcyjny z pojedynczą cewkąKomercyjne i znacznie bardziej rozbudowane wersje tego silnika elektrycznego są używane w większości urządzeń na prąd przemienny. Nasz silnik nie ma wysokiego momentu obrotowego, chodzi bardziej o działanie
Silnik 'N Silnik: 7 kroków

Motor 'N Motor: Ten projekt rozpoczął się od dwóch oddzielnych pomysłów. Jednym z nich było wykonanie elektrycznej deskorolki, a drugim samochodem zdalnie sterowanym. Choć brzmi to dziwnie, podstawy tych projektów są bardzo podobne. Oczywiście staje się to bardziej skomplikowane, gdy przychodzi
Kontrolowany światłem silnik krokowy + wspornik ścienny / stojak: 6 kroków

Kontrolowany światłem silnik krokowy + uchwyt ścienny / stojak: Ten stojak służy do umieszczenia silnika krokowego sterowanego przez Arduino, zaprojektowanego do automatycznego sterowania kurtyną w zależności od poziomu światła w pomieszczeniu. Możesz również dodać ekran LCD, aby wydrukować poziom światła. Sprzęt 3D służy tylko do demonstracji