ዝርዝር ሁኔታ:

ESP32 LoRa ቁጥጥር የሚደረግበት የድሮን ሞተር 10 ደረጃዎች
ESP32 LoRa ቁጥጥር የሚደረግበት የድሮን ሞተር 10 ደረጃዎች

ቪዲዮ: ESP32 LoRa ቁጥጥር የሚደረግበት የድሮን ሞተር 10 ደረጃዎች

ቪዲዮ: ESP32 LoRa ቁጥጥር የሚደረግበት የድሮን ሞተር 10 ደረጃዎች
ቪዲዮ: ESP32 with LoRa using Arduino IDE – Getting Started 2024, ህዳር
Anonim
Image
Image
ሰልፍ
ሰልፍ

ዛሬ እኛ “ብሩሽ አልባ” ሞተሮች ተብለው የሚጠሩትን የድሮን ሞተሮችን እየተወያየን ነው። በኃይል እና በከፍተኛ ማሽከርከር ምክንያት በኤሮሞዲዲንግ ውስጥ በዋነኝነት በድሮኖች ውስጥ ያገለግላሉ። ESC ን እና ESP32 ን በመጠቀም ብሩሽ የሌለው ሞተርን መቆጣጠር ፣ የውስጥ LED_PWM መቆጣጠሪያን በመጠቀም በ ESC ላይ የአናሎግ እንቅስቃሴን ማከናወን እና የሞተርን ፍጥነት ለመቀየር ፖታቲሞሜትር መጠቀምን እንማራለን።

ደረጃ 1 - ሰልፍ

ደረጃ 2 - ያገለገሉ ሀብቶች

ጥቅም ላይ የዋሉ ሀብቶች
ጥቅም ላይ የዋሉ ሀብቶች
  • ዝላይዎች ለግንኙነት
  • Wifi LoRa 32
  • ESC-30A
  • ብሩሽ የሌለው A2212 / 13t ሞተር
  • የዩኤስቢ ገመድ
  • Potentiometer ለቁጥጥር
  • ፕሮቶቦርድ
  • ገቢ ኤሌክትሪክ

ደረጃ 3- Wifi LoRa 32- Pinout

Wifi LoRa 32- Pinout
Wifi LoRa 32- Pinout

ደረጃ 4 ESC (የኤሌክትሮኒክ የፍጥነት መቆጣጠሪያ)

ESC (የኤሌክትሮኒክ የፍጥነት መቆጣጠሪያ)
ESC (የኤሌክትሮኒክ የፍጥነት መቆጣጠሪያ)
ESC (የኤሌክትሮኒክ የፍጥነት መቆጣጠሪያ)
ESC (የኤሌክትሮኒክ የፍጥነት መቆጣጠሪያ)
  • የኤሌክትሮኒክ የፍጥነት መቆጣጠሪያ
  • የኤሌክትሪክ ሞተርን ፍጥነት ለመቆጣጠር የኤሌክትሮኒክ ዑደት።
  • ከመደበኛ 50Hz PWM servo መቆጣጠሪያ ተቆጣጠረ።
  • የመስክ ውጤት ትራንዚስተሮች (FETs) አውታረ መረብ የመቀየሪያ መጠንን ይለያያል። ትራንዚስተሮችን የመቀየሪያ ድግግሞሽ በማስተካከል የሞተር ፍጥነት ይለወጣል። የቀረቡትን የአሁኑ ግፊቶች ወደ ሞተሩ የተለያዩ ጠመዝማዛዎች ጊዜ በማስተካከል የሞተር ፍጥነት ይለያያል።
  • ዝርዝር መግለጫዎች

የውጤት ፍሰት - 30A ቀጣይ ፣ 40 ሀ ለ 10 ሰከንዶች

ደረጃ 5 - ESC የኤሌክትሮኒክ የፍጥነት መቆጣጠሪያ (ኢሲሲ)

ESC የኤሌክትሮኒክ የፍጥነት መቆጣጠሪያ (ኢሲሲ)
ESC የኤሌክትሮኒክ የፍጥነት መቆጣጠሪያ (ኢሲሲ)

ደረጃ 6: PWM Servo የሞተር ቁጥጥር

PWM Servo የሞተር ቁጥጥር
PWM Servo የሞተር ቁጥጥር

የ LED_PWM ሰርጥ 0 ን ለ GPIO13 በመምራት በ ESC የውሂብ ግብዓት ላይ እርምጃ እንዲወስድ የ PWM ሰርቪስ እንፈጥራለን ፣ እና ማስተካከያውን ለመቆጣጠር ፖታቲሞሜትር ይጠቀሙ።

ለመያዝ ፣ እንደ የቮልቴጅ መከፋፈያ 10 ኪ ፖታቲሞሜትር እንጠቀማለን። መያዝ በ GPIO12 ተደራሽ በሆነው ADC2_5 ሰርጥ ላይ ይከናወናል።

ደረጃ 7 የአናሎግ ቀረፃ

የአናሎግ ቀረፃ
የአናሎግ ቀረፃ
የአናሎግ ቀረፃ
የአናሎግ ቀረፃ

አናሎግ ወደ ዲጂታል መለወጥ

የ AD እሴቶችን ወደ PWM እንለውጣለን።

የ servo PWM 50Hz ነው ፣ ስለዚህ የልብ ምት ጊዜ 1/50 = 0.02 ሰከንዶች ወይም 20 ሚሊሰከንዶች ነው።

ቢያንስ ከ 1 ሚሊሰከንዶች እስከ 2 ሚሊሰከንዶች ውስጥ እርምጃ መውሰድ አለብን።

PWM በ 4095 ላይ በሚሆንበት ጊዜ የልብ ምት ስፋት 20 ሚሊሰከንዶች ነው ፣ ማለትም 2 ሚሊሰከንዶች ለመድረስ ከፍተኛውን በ 4095/10 ላይ መድረስ አለብን ፣ ስለዚህ PWM 410 *መቀበል አለበት።

እና ቢያንስ ከ 1 ሚሊሰከንዶች በኋላ ፣ ስለዚህ 409/2 (ወይም 4095/20) ፣ PWM 205 *መቀበል አለበት።

* እሴቶች ኢንቲጀር መሆን አለባቸው

ደረጃ 8 - ወረዳ - ግንኙነቶች

ወረዳ - ግንኙነቶች
ወረዳ - ግንኙነቶች

ደረጃ 9: የምንጭ ኮድ

ራስጌ

#ያካትቱ // Necessário apenas para o Arduino 1.6.5 e posterior #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 ማሳያ (0x3c ፣ SDA ፣ SCL ፣ RST) ፤ // ኢንስታንዶንዶ ኢ አጃስታንዶ ኦስ ፒኖስ ዶ objeto “ማሳያ”

ተለዋዋጮች

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;

አዘገጃጀት

ባዶነት ማዋቀር () {pinMode (pin_Atuacao_A ፣ OUTPUT); ledcSetup (canal_A, freq, resolucao); ledcAttachPin (pin_Atuacao_A ፣ ቦይ_አ); ledcWrite (canal_A, ciclo_A); display.init (); display.flipScreenVertically (); // ቪራ አንድ ቴላ 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); }

ሉፕ

ባዶነት loop () {leitura = analogRead (Leitura_A); ciclo_A = ካርታ (leitura, 0, 4095, 205, 410); ledcWrite (canal_A, ciclo_A); potencia = ካርታ (leitura, 0, 4095, 0, 100); display.clear (); display.drawString (32 ፣ 0 ፣ ሕብረቁምፊ (leitura)); display.drawString (0, 18, String ("PWM:")); display.drawString (48 ፣ 18 ፣ ሕብረቁምፊ (ciclo_A)); display.drawString (0, 36, String ("Potência:")); display.drawString (72, 36, String (potencia)); display.drawString (98 ፣ 36 ፣ ሕብረቁምፊ (“%”)); display.display (); // mostra ምንም ማሳያ}

ደረጃ 10 - ፋይሎች

ፋይሎቹን ያውርዱ

INO

ፒዲኤፍ

የሚመከር: