Satura rādītājs:
- 1. solis: demonstrācija
- 2. darbība. Izmantotie resursi
- 3. solis: Wifi LoRa 32- Pinout
- 4. solis: ESC (elektroniskā ātruma kontrole)
- 5. darbība: ESC elektroniskā ātruma kontrole (ESC)
- 6. darbība: PWM servomotoru vadība
- 7. darbība: analoga tveršana
- 8. solis: ķēde - savienojumi
- 9. darbība. Avota kods
- 10. darbība: faili
Video: ESP32 LoRa kontrolēts bezpilota lidaparāta dzinējs: 10 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Šodien mēs apspriežam bezpilota lidaparātu dzinējus, kurus bieži sauc par “bezsuku motoriem”. To jaudas un lielās rotācijas dēļ tos plaši izmanto aerodinamikā, galvenokārt dronos. Mēs iemācīsimies kontrolēt bezsuku motoru, izmantojot ESC un ESP32, veikt analogo ESC iedarbināšanu, izmantojot iekšējo LED_PWM kontrolieri, un izmantot potenciometru, lai mainītu motora ātrumu.
1. solis: demonstrācija
2. darbība. Izmantotie resursi
- Džemperi savienošanai
- Wi -Fi LoRa 32
- ESC-30A
- Dzinējs bez sukām A2212 / 13t
- USB kabelis
- Potenciometrs kontrolei
- Protoboard
- Enerģijas padeve
3. solis: Wifi LoRa 32- Pinout
4. solis: ESC (elektroniskā ātruma kontrole)
- Elektroniskais ātruma regulators
- Elektroniskā shēma, lai kontrolētu elektromotora ātrumu.
- Vadāms no standarta 50Hz PWM servo vadības.
- Tas maina lauka efektu tranzistoru (FET) tīkla pārslēgšanās ātrumu. Pielāgojot tranzistoru pārslēgšanās frekvenci, tiek mainīts motora apgriezienu skaits. Motora ātrumu var mainīt, pielāgojot piegādāto strāvas impulsu laiku dažādiem motora tinumiem.
- Specifikācijas:
Izejas strāva: 30A nepārtraukta, 40A 10 sekundes
5. darbība: ESC elektroniskā ātruma kontrole (ESC)
6. darbība: PWM servomotoru vadība
Mēs izveidosim PWM servo, lai darbotos ar ESC datu ievadi, novirzot GPIO13 LED_PWM 0. kanālu, un izmantosim potenciometru, lai kontrolētu modulāciju.
Uzņemšanai mēs izmantosim 10k potenciometru kā sprieguma dalītāju. Uzņemšana tiks veikta kanālā ADC2_5, kuram var piekļūt GPIO12.
7. darbība: analoga tveršana
Analoga pārveidošana uz digitālo
Mēs konvertēsim AD vērtības uz PWM.
Servo PWM ir 50 Hz, tāpēc impulsa periods ir 1/50 = 0,02 sekundes vai 20 milisekundes.
Mums jārīkojas vismaz 1–2 milisekundēs.
Kad PWM ir 4095, impulsa platums ir 20 milisekundes, kas nozīmē, ka mums vajadzētu sasniegt maksimumu pie 4095/10, lai sasniegtu 2 milisekundes, tāpēc PWM vajadzētu saņemt 410 *.
Un pēc vismaz 1 milisekundes, tātad 409/2 (vai 4095/20), PWM vajadzētu saņemt 205 *.
* Vērtībām jābūt veseliem skaitļiem
8. solis: ķēde - savienojumi
9. darbība. Avota kods
Galvene
#include // Nepieciešamais aprd para vai 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 displejs (0x3c, SDA, SCL, RST); // Instanciando e ajustando os pinos do objeto "display"
Mainīgie
const int freq = 50; const int kanāls_A = 0; const int resolucao = 12; const int pin_Atuacao_A = 13; const int Leitura_A = 12; int potcia = 0; int leitura = 0; int ciclo_A = 0;
Uzstādīt
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 esquerda display.setTextAlignment (TEXT_ALIGN_LEFT); // ajusta a fonte para Arial 16 display.setFont (ArialMT_Plain_16); }
Cilpa
void loop () {leitura = analogRead (Leitura_A); ciclo_A = karte (leitura, 0, 4095, 205, 410); ledcWrite (canal_A, ciclo_A); potencicia = karte (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, virkne ("PWM:")); display.drawString (48, 18, String (ciclo_A)); display.drawString (0, 36, virkne ("Potência:")); display.drawString (72, 36, String (potence)); display.drawString (98, 36, String ("%")); display.display (); // mostra no display}
10. darbība: faili
Lejupielādējiet failus
ES NĒ
Ieteicams:
Kā palaist bezpilota bezkaršu līdzstrāvas motoru bezpilota lidaparātam, izmantojot HW30A bezsuku motora ātruma regulatoru un servo testeri: 3 soļi
Kā palaist bezpilota bezkaršu līdzstrāvas motoru, izmantojot HW30A bezsuku motora ātruma regulatoru un servotesteru: Apraksts: Šo ierīci sauc par servomotoru testeri, ko var izmantot, lai darbinātu servomotoru, vienkārši pievienojot servomotoru un barojot to. Ierīci var izmantot arī kā signāla ģeneratoru elektriskajam ātruma regulatoram (ESC), tad jūs nevarat
Avarējušā bezpilota lidaparāta labošana, vairākas problēmas: 4 soļi
Avarējušā bezpilota lidaparāta labošana, vairākas problēmas .: Sveiki, šī ir DJI Spark ar nosaukumu Little Big Red Beard. Viņš ir smagā formā, pirms viņš mani izglāba, viņš devās uz miskasti. LBRB pēdējās avārijas rezultātā tika lauzta kāja un kas zina, kas vēl. Šis bija mans garlaicīgais ceļojums, lai saglabātu Mazo lielo sarkano bārdu
Kā nomainīt lidaparāta vārdu !!: 8 soļi
Kā nomainīt vārdu Airdrop !!: Šajā pamācībā es parādīšu, kā nomainīt " airdrop nosaukumu "
Automātiskais bezpilota lidaparāta taimeris - 3D drukāts, ar Arduino darbināms: 18 soļi (ar attēliem)
Automātiskais bezpilota lidaparāta taimeris - 3D drukāts, ar Arduino darbināms .: Mani arvien vairāk interesē ideja par pirmās personas video (FPV) dronu sacīkstēm. Nesen esmu iegādājies nelielu bezpilota lidaparātu un gribēju veidu, kā noteikt savus apļus - tas ir projekta rezultāts. Šis bezpilota lidaparāta nosēšanās paliktnis ir aprīkots ar integrētu
Nejaušs kabatas reaktīvais dzinējs : 7 soļi
Nejaušais kabatas reaktīvais dzinējs …: Jā, tas ir tieši bērnu reaktīvais dzinējs, tas uzņem gaisu un izmanto degvielu, lai uzsildītu un tādējādi paplašinātu gaisu, šis konkrētais dzinējs ir vairāk funkcionējošs modelis, reālā izteiksmē tas rada nelielu vilci, tomēr tas ir ļoti jautri un rada interesi