สารบัญ:
- ขั้นตอนที่ 1: การสาธิต
- ขั้นตอนที่ 2: ทรัพยากรที่ใช้
- ขั้นตอนที่ 3: Wifi LoRa 32- Pinout
- ขั้นตอนที่ 4: ESC (ระบบควบคุมความเร็วแบบอิเล็กทรอนิกส์)
- ขั้นตอนที่ 5: ระบบควบคุมความเร็วอิเล็กทรอนิกส์ ESC (ESC)
- ขั้นตอนที่ 6: การควบคุมเซอร์โวมอเตอร์ PWM
- ขั้นตอนที่ 7: การจับภาพแบบอะนาล็อก
- ขั้นตอนที่ 8: วงจร - การเชื่อมต่อ
- ขั้นตอนที่ 9: รหัสที่มา
- ขั้นตอนที่ 10: ไฟล์
วีดีโอ: ESP32 LoRa ควบคุม Drone Engine: 10 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
วันนี้เรากำลังพูดถึงเครื่องยนต์โดรน ซึ่งมักเรียกว่ามอเตอร์แบบไร้แปรงถ่าน มีการใช้กันอย่างแพร่หลายในการสร้างแบบจำลองทางอากาศ ส่วนใหญ่ในโดรน เนื่องจากมีกำลังและการหมุนสูง เราจะเรียนรู้เกี่ยวกับการควบคุมมอเตอร์แบบไม่มีแปรงโดยใช้ ESC และ ESP32 การดำเนินการกระตุ้นแบบอะนาล็อกบน ESC โดยใช้ตัวควบคุม LED_PWM ภายใน และการใช้โพเทนชิออมิเตอร์เพื่อเปลี่ยนความเร็วของมอเตอร์
ขั้นตอนที่ 1: การสาธิต
ขั้นตอนที่ 2: ทรัพยากรที่ใช้
- จัมเปอร์สำหรับเชื่อมต่อ
- Wifi LoRa 32
- ESC-30A
- เครื่องยนต์ไร้แปรงถ่าน A2212 / 13t
- สาย USB
- โพเทนชิออมิเตอร์สำหรับการควบคุม
- โปรโตบอร์ด
- แหล่งจ่ายไฟ
ขั้นตอนที่ 3: Wifi LoRa 32- Pinout
ขั้นตอนที่ 4: ESC (ระบบควบคุมความเร็วแบบอิเล็กทรอนิกส์)
- ตัวควบคุมความเร็วแบบอิเล็กทรอนิกส์
- วงจรไฟฟ้าควบคุมความเร็วของมอเตอร์ไฟฟ้า
- ควบคุมจากตัวควบคุมเซอร์โว PWM มาตรฐาน 50Hz
- มันเปลี่ยนอัตราการเปลี่ยนของเครือข่ายของทรานซิสเตอร์เอฟเฟกต์สนาม (FETs) โดยการปรับความถี่สวิตชิ่งของทรานซิสเตอร์ ความเร็วของมอเตอร์จะเปลี่ยนไป ความเร็วของมอเตอร์แปรผันโดยการปรับจังหวะเวลาของพัลส์กระแสไฟที่ให้มากับขดลวดต่างๆ ของมอเตอร์
- ข้อมูลจำเพาะ:
กระแสไฟขาออก: 30A ต่อเนื่อง 40A เป็นเวลา 10 วินาที
ขั้นตอนที่ 5: ระบบควบคุมความเร็วอิเล็กทรอนิกส์ ESC (ESC)
ขั้นตอนที่ 6: การควบคุมเซอร์โวมอเตอร์ PWM
เราจะสร้างเซอร์โว PWM เพื่อดำเนินการกับอินพุตข้อมูล ESC โดยกำหนดช่อง 0 ของ LED_PWM สำหรับ GPIO13 และใช้โพเทนชิออมิเตอร์เพื่อควบคุมการมอดูเลต
สำหรับการจับภาพ เราจะใช้โพเทนชิออมิเตอร์ 10k เป็นตัวแบ่งแรงดันไฟ การจับภาพจะทำบนช่อง ADC2_5 ซึ่งเข้าถึงได้โดย GPIO12
ขั้นตอนที่ 7: การจับภาพแบบอะนาล็อก
การแปลงแอนะล็อกเป็นดิจิทัล
เราจะแปลงค่า AD เป็น PWM
PWM ของเซอร์โวคือ 50Hz ดังนั้นระยะเวลาพัลส์คือ 1/50 = 0.02 วินาทีหรือ 20 มิลลิวินาที
เราต้องดำเนินการอย่างน้อย 1 มิลลิวินาทีถึง 2 มิลลิวินาที
เมื่อ PWM อยู่ที่ 4095 ความกว้างของพัลส์คือ 20 มิลลิวินาที ซึ่งหมายความว่าเราควรไปถึงสูงสุดที่ 4095/10 เพื่อให้ถึง 2 มิลลิวินาที ดังนั้น PWM ควรได้รับ 410 *
และหลังจากอย่างน้อย 1 มิลลิวินาที ดังนั้น 409/2 (หรือ 4095/20) PWM ควรได้รับ 205 *
* ค่าต้องเป็นจำนวนเต็ม
ขั้นตอนที่ 8: วงจร - การเชื่อมต่อ
ขั้นตอนที่ 9: รหัสที่มา
หัวข้อ
#include // Necessário apenas para o Arduino 1.6.5 e หลัง#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 จอแสดงผล (0x3c, SDA, SCL, RST); //Instanciando e ajustando os pinos do 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, ความถี่, ความละเอียด); ledcAttachPin(pin_Atuacao_A, canal_A); ledcWrite (canal_A, ciclo_A); display.init(); display.flipScreenVertically(); //Vira a tela verticalmente display.clear(); //ajusta หรือ alinhamento สำหรับ esquerda display.setTextAlignment(TEXT_ALIGN_LEFT); //เปลี่ยนฟอนต์สำหรับ Arial 16 display.setFont(ArialMT_Plain_16); }
ห่วง
วงเป็นโมฆะ () { leitura = analogRead (Leitura_A); ciclo_A = แผนที่ (leitura, 0, 4095, 205, 410); ledcWrite (canal_A, ciclo_A); potencia = แผนที่(leitura, 0, 4095, 0, 100); display.clear();//limpa o buffer ทำ display.drawString(0, 0, String("AD:")); display.drawString(32, 0, สตริง(leitura)); display.drawString(0, 18, สตริง("PWM:")); display.drawString(48, 18, สตริง(ciclo_A)); display.drawString(0, 36, String("Potência:")); display.drawString(72, 36, สตริง(โพเทนเซีย)); display.drawString(98, 36, สตริง("%")); display.display(); //mostra ไม่แสดง }
ขั้นตอนที่ 10: ไฟล์
ดาวน์โหลดไฟล์
ฉันไม่
ไฟล์ PDF
แนะนำ:
ฟักทองฮาโลวีน IoT - ควบคุม LED ด้วยแอพ Arduino MKR1000 และ Blynk ???: 4 ขั้นตอน (พร้อมรูปภาพ)
ฟักทองฮาโลวีน IoT | ควบคุมไฟ LED ด้วย Arduino MKR1000 และแอพ Blynk ???: สวัสดีทุกคน เมื่อไม่กี่สัปดาห์ก่อนเป็นวันฮาโลวีน และตามประเพณี ฉันแกะสลักฟักทองสวยๆ สำหรับระเบียงของฉัน แต่เมื่อฟักทองอยู่กลางแจ้ง ฉันตระหนักว่ามันค่อนข้างน่ารำคาญที่ต้องออกไปจุดเทียนทุกเย็น และฉัน
ควบคุม LED MATRIX MAX7219 พร้อม ARDUINO: 9 ขั้นตอน
ควบคุมเมทริกซ์ LED MAX7219 พร้อม ARDUINO: ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีควบคุมเมทริกซ์ LED MAX7219 ด้วย Arduino โดยการแสดงข้อความอย่างง่ายดูวิดีโอสาธิต
หลอด LED Glass Stone (ควบคุม WiFi ผ่านแอพสมาร์ทโฟน): 6 ขั้นตอน (พร้อมรูปภาพ)
Glass Stone LED Tube (ควบคุม WiFi ผ่านแอพสมาร์ทโฟน): สวัสดีผู้ผลิตรายอื่น! ในคำแนะนำนี้ฉันจะแสดงวิธีสร้างหลอด LED ที่ควบคุมด้วย WiFi ซึ่งเต็มไปด้วยหินแก้วเพื่อให้ได้เอฟเฟกต์การแพร่กระจายที่ดี ไฟ LED สามารถระบุตำแหน่งแยกกันได้ ดังนั้นจึงมีเอฟเฟกต์ดีๆ บางอย่างใน
Alexa Voice ควบคุม Raspberry Pi Drone ด้วย IoT และ AWS: 6 ขั้นตอน (พร้อมรูปภาพ)
Alexa Voice ควบคุม Raspberry Pi Drone ด้วย IoT และ AWS: สวัสดี! ฉันชื่ออาร์ม ฉันอายุ 13 ปีจากแมสซาชูเซตส์ บทช่วยสอนนี้แสดงให้เห็นว่าคุณสามารถอนุมานจากชื่อได้อย่างไรว่าจะสร้าง Raspberry Pi Drone ได้อย่างไร ต้นแบบนี้แสดงให้เห็นว่าโดรนมีการพัฒนาอย่างไร และพวกมันจะมีบทบาทสำคัญขนาดไหนใน
ควบคุมเครื่องใช้ในบ้านผ่าน LoRa - LoRa ในระบบอัตโนมัติภายในบ้าน - รีโมทคอนโทรล LoRa: 8 ขั้นตอน
ควบคุมเครื่องใช้ในบ้านผ่าน LoRa | LoRa ในระบบอัตโนมัติภายในบ้าน | LoRa Remote Control: ควบคุมและทำให้เครื่องใช้ไฟฟ้าของคุณจากระยะไกล (กิโลเมตร) โดยอัตโนมัติโดยไม่ต้องมีอินเทอร์เน็ต เป็นไปได้ผ่าน LoRa! เฮ้ ว่าไงพวก? Akarsh ที่นี่จาก CETech PCB นี้ยังมีจอแสดงผล OLED และรีเลย์ 3 ตัวซึ่ง