
Turinys:
- 1 žingsnis: demonstracija
- 2 žingsnis: naudojami ištekliai
- 3 žingsnis: „Wifi LoRa 32“- „Pinout“
- 4 žingsnis: ESC (elektroninis greičio valdymas)
- 5 žingsnis: ESC elektroninis greičio valdymas (ESC)
- 6 žingsnis: PWM servo variklio valdymas
- 7 veiksmas: analoginis fiksavimas
- 8 žingsnis: grandinė - jungtys
- 9 veiksmas: šaltinio kodas
- 10 veiksmas: failai
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:59



Šiandien mes aptariame bepiločius variklius, dažnai vadinamus „bešepetėliais“varikliais. Dėl savo galios ir didelio sukimosi jie plačiai naudojami aerodinaminiame modeliavime, daugiausia dronuose. Išmoksime valdyti bešepetėlinį variklį naudojant ESC ir ESP32, atlikti analoginį ESC įjungimą naudojant vidinį LED_PWM valdiklį ir naudoti potenciometrą variklio greičiui pakeisti.
1 žingsnis: demonstracija
2 žingsnis: naudojami ištekliai

- Džemperiai prijungimui
- „Wi -Fi LoRa 32“
- ESC-30A
- Variklis be šepetėlių A2212 / 13t
- USB kabelis
- Potenciometras valdymui
- Protoboard
- Maitinimo šaltinis
3 žingsnis: „Wifi LoRa 32“- „Pinout“

4 žingsnis: ESC (elektroninis greičio valdymas)


- Elektroninis greičio reguliatorius
- Elektroninė grandinė, skirta valdyti elektros variklio greitį.
- Valdomas naudojant standartinį 50 Hz PWM servo valdiklį.
- Jis keičia lauko tranzistorių (FET) tinklo perjungimo greitį. Reguliuojant tranzistorių perjungimo dažnį, keičiamas variklio greitis. Variklio greitis keičiamas reguliuojant tiekiamų srovės impulsų laiką pagal įvairias variklio apvijas.
- Specifikacijos:
Išėjimo srovė: 30A nuolat, 40A 10 sekundžių
5 žingsnis: ESC elektroninis greičio valdymas (ESC)

6 žingsnis: PWM servo variklio valdymas

Mes sukursime PWM servo sistemą, kuri veiktų pagal ESC duomenų įvestį, nukreipdama GPIO13 LED_PWM kanalą 0, ir moduliacijai valdyti naudosime potenciometrą.
Norėdami užfiksuoti, kaip įtampos daliklį naudosime 10k potenciometrą. Fiksavimas bus atliekamas kanale ADC2_5, prieinamu GPIO12.
7 veiksmas: analoginis fiksavimas


Konvertavimas iš analoginio į skaitmeninį
AD vertes konvertuosime į PWM.
Servo PWM yra 50 Hz, taigi pulso periodas yra 1/50 = 0,02 sekundės arba 20 milisekundžių.
Turime veikti mažiausiai nuo 1 milisekundės iki 2 milisekundžių.
Kai PWM yra 4095, impulso plotis yra 20 milisekundžių, tai reiškia, kad turėtume pasiekti maksimalų 4095/10, kad pasiektume 2 milisekundes, taigi PWM turėtų gauti 410 *.
Ir po mažiausiai 1 milisekundės, taigi 409/2 (arba 4095/20), PWM turėtų gauti 205 *.
* Reikšmės turi būti sveikieji skaičiai
8 žingsnis: grandinė - jungtys

9 veiksmas: šaltinio kodas
Antraštė
#include // Necessário apenas para or 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 ekranas (0x3c, SDA, SCL, RST); // Instanciando e ajustando os pinos do objeto "display"
Kintamieji
const int freq = 50; const int kanalas_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;
Sąranka
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 (); // valdymas arba alinhamento esquerda display.setTextAlignment (TEXT_ALIGN_LEFT); // ajusta a fonte para Arial 16 display.setFont (ArialMT_Plain_16); }
Kilpa
tuštumos kilpa () {leitura = analogRead (Leitura_A); ciclo_A = žemėlapis (leitura, 0, 4095, 205, 410); ledcWrite (canal_A, ciclo_A); potencia = žemėlapis (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, eilutė ("PWM:")); display.drawString (48, 18, String (ciclo_A)); display.drawString (0, 36, eilutė ("Potência:")); display.drawString (72, 36, String (potencia)); display.drawString (98, 36, String ("%")); display.display (); // mostra be ekrano}
10 veiksmas: failai
Atsisiųskite failus
AŠ NE
Rekomenduojamas:
Žingsninis variklis valdomas žingsninis variklis be mikrovaldiklio!: 6 žingsniai

Žingsninis variklis valdomas žingsninis variklis be mikrovaldiklio!: Šiame greitam instrukcijoje mes pagaminsime paprastą žingsninio variklio valdiklį, naudodami žingsninį variklį. Šiam projektui nereikia sudėtingų grandinių ar mikrovaldiklio. Taigi, nesivaržydami, pradėkime
Žingsninis variklis valdomas žingsninis variklis be mikrovaldiklio (V2): 9 žingsniai (su paveikslėliais)

Žingsninis variklis valdomas žingsninis variklis be mikrovaldiklio (V2): Viename iš ankstesnių instrukcijų parodžiau, kaip valdyti žingsninį variklį naudojant žingsninį variklį be mikrovaldiklio. Tai buvo greitas ir įdomus projektas, tačiau jis turėjo dvi problemas, kurios bus išspręstos šioje instrukcijoje. Taigi, sąmojingai
Žingsninio variklio valdomas lokomotyvo modelis - Žingsninis variklis kaip rotacinis kodavimo įrenginys: 11 žingsnių (su nuotraukomis)

Žingsninio variklio valdomas lokomotyvo modelis | Žingsninis variklis kaip rotacinis kodavimo įrenginys: Viename iš ankstesnių instrukcijų mes išmokome naudoti žingsninį variklį kaip rotacinį kodavimo įrenginį. Šiame projekte mes dabar naudosime tą žingsninį variklį, sukamą sukamąjį kodavimo įrenginį, norėdami valdyti lokomotyvą, naudodami „Arduino“mikrovaldiklį. Taigi, be fu
Žingsninis variklis Valdomas žingsninis variklis - Žingsninis variklis kaip rotacinis kodavimo įrenginys: 11 žingsnių (su nuotraukomis)

Žingsninis variklis Valdomas žingsninis variklis | Žingsninis variklis Kaip rotacinis kodavimo įrenginys: Ar pora žingsninių variklių guli ir norite ką nors padaryti? Šioje instrukcijoje naudokime žingsninį variklį kaip rotacinį kodavimo įrenginį, kad valdytumėte kito žingsninio variklio padėtį naudodami „Arduino“mikrovaldiklį. Taigi, be jokių papildomų pastangų, pradėkime
Elektro variklis + „Fidget“variklis: 12 žingsnių

Elektro variklis + „Fidget“variklis: In deze nurodomas žodis uitgelegd hoe je 2 verschillende elektromotoren can maken. De eerste is een kleine elektromotor waarbij de spoel draait en de magneet vast zit. „De tweede“yra nerūpestingas variklis, turintis didžiulį „zit en de magneten op een fidg“