Mündəricat:
- Addım 1: nümayiş
- Addım 2: PWM Motor İdarəetmə
- Addım 3: İstifadə olunan mənbələr
- Addım 4: ESP 32 Dev Kit - Pinout
- Addım 5: Turbinin Montajı
- Addım 6: Dövrə - Bağlantılar
- Addım 7: Osiloskopda ölçmə
- Addım 8: Mənbə Kodu
- Addım 9: Dosyaları Yükləyin
Video: ESP32 ilə Elektrik Türbini: 9 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Bu gün ESP32 ilə bir elektrik turbini müzakirə edəcəyəm. Montajın 3D -də çap olunmuş bir hissəsi var. Elektrik mühərriklərini idarə etmək üçün uyğun olan ESP32 -nin PWM funksiyasını təqdim edəcəyəm. Bu DC mühərrikində istifadə ediləcək. Mən də bu MCPWM -in (Motor Control PWM) işini praktiki bir tətbiqdə nümayiş etdirəcəyəm.
Bu layihədə ESP32 LoRa'dan istifadə etdim və bu mikrokontrolörün içərisində iki blok olduğunu qeyd etməyi vacib hesab edirəm. Bu bloklar hər biri üç mühərriki idarə edə bilir. Beləliklə, PWM ilə altı mühərrikin hamısını müstəqil olaraq idarə etmək mümkündür. Bu o deməkdir ki, burada istifadə edəcəyim nəzarət standart deyil (bu, Arduinoya bənzər bir şeydir). Bunun əvəzinə idarəetmə, ESP32 -yə motor idarəçiliyi ilə əlaqədar çox rahatlıq təmin edən çipin özüdür.
Addım 1: nümayiş
Addım 2: PWM Motor İdarəetmə
Ümumi diaqram:
• ESP32 -nin MCPWM funksiyası müxtəlif növ elektrik mühərriklərini idarə etmək üçün istifadə edilə bilər. İki vahidi var.
• Hər bölmədə üç PWM çıxış cütü var.
• Hər bir çıxış A / B cütü 0, 1 və ya 2 üç sinxronizasiya taymerindən biri ilə sinxronizasiya edilə bilər.
• Birdən çox PWM çıxış cütünü sinxronizasiya etmək üçün bir Timer istifadə edilə bilər
Tam Diaqram:
• Hər vahid eyni zamanda SİNKRONİZASİYA İŞARƏLƏRİ kimi giriş siqnallarını toplaya bilir;
• Həddindən artıq cərəyan və ya motor həddindən artıq gərginlik üçün HATA İŞARƏLƏRİNİ aşkar edin;
• Mühərrikin mövqeyi kimi CAPTURE SIGNALS ilə rəy alın
Addım 3: İstifadə olunan mənbələr
• Bağlantı üçün tullananlar
• Heltec Wifi LoRa 32
• Ümumi DC mühərriki
• Körpü H - L298N
• USB kabeli
• Protoboard
• Enerji təchizatı
Addım 4: ESP 32 Dev Kit - Pinout
Addım 5: Turbinin Montajı
Addım 6: Dövrə - Bağlantılar
Addım 7: Osiloskopda ölçmə
Addım 8: Mənbə Kodu
Başlıq
#daxil edin // Arduino IDE -dən istifadə etmək lazım deyil #"sürücü/mcpwm.h" daxil edin // "Motor İdarəetmə PWM" ilə ESP32 arasında #kitab daxil edin // Arduino 1.6.5 e posterior #include "daxil edin SSD1306.h "// o mesmo que #include" SSD1306Wire.h "// OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #deffine RST 16 SSD1306 display (0x3c, SDA, SCL, RST); // Instanciando e ajustando os pinos do objeto "display" #efine GPIO_PWM0A_OUT 12 // Declara GPIO 12 como PWM0A #define GPIO_PWM0B_OUT 14 // Declara GPIO 14 como PWM0B
Qurmaq
void setup () {Serial.begin (115200); display.init (); //display.flipScreenVertically (); // Vertikal vertikal ekran. Təmiz (); // ekran görüntüsünü təyin etmək üçün. setTextAlignment (TEXT_ALIGN_LEFT); // Arial 16 display.setFont (ArialMT_Plain_16) üçün yazı tipləri; // mcpwm_gpio_init (unidade PWM 0, saida A, porta GPIO) => MCPWM0A quruluşu yoxdur GPIO_PWM0A_OUT elan edilmir ccdigo mcpwm_gpio_init (MCPWM_UNIT_0, GPO_MWA0A) // mcpwm_gpio_init (unidade PWM 0, saida B, porta GPIO) => MCPWM0B qurğusu yoxdur GPIO_PWM0B_OUT elanı yoxdur ccdigo mcpwm_gpio_init (MCPWM_UNIT_0, MCPWP0B) mcpwm_config_t pwm_config; pwm_config.frequency = 1000; // tezlik = 500Hz, pwm_config.cmpr_a = 0; // Ciclo de trabalho (vəzifə dövrü) PWMxA = 0 pwm_config.cmpr_b = 0; // Ciclo de trabalho (vəzifə dövrü) PWMxb = 0 pwm_config.counter_mode = MCPWM_UP_COUNTER; // MCPWM assimetrik olaraq pwm_config.duty_mode = MCPWM_DUTY_MODE_0; // Başlanğıcda ciclo de trabalho təyin edin // Inicia (Unidade 0, Timer 0, Config PWM) mcpwm_init (MCPWM_UNIT_0, MCPWM_TIMER_0, & pwm_config); // PWM0A və PWM0B com -u konfiqurasiya olaraq təyin edin}
Funksiyalar
// MCPWM operatoru A (Unidade, Timer, Porcentagem (ciclo de trabalho)) statik boşluğu fırçalanmış_motor_forward (mcpwm_unit_t mcpwm_num, mcpwm_timer_t timer_num, float ms_sümrü_sürücü) (0, 1 ou 2), Operador (A ou B)); => MCPWM -in Operator B -ni yoxlayın (Baixo -nu müəyyən edin) mcpwm_set_signal_low (mcpwm_num, timer_num, MCPWM_OPR_B); // mcpwm_set_duty (birdəfəlik PWM (0 ou 1), Número do timer (0, 1 ou 2), Operador (A ou B), Ciclo de trabalho (% PWM)); => Operator A (Ciclo de trabalho) mcpwm_set_duty (mcpwm_num, timer_num, MCPWM_OPR_A, duty_cycle) ilə PWM -in qurulması; // mcpwm_set_duty_tyoe (unidade PWM (0 ou 1), Número do timer (0, 1 ou 2), Operador (A ou B), Nível do ciclo de trabalho (alt ou baixo)); => ciclo de trabalho -nu müəyyənləşdirin (alt -üstü) mcpwm_set_duty_type (mcpwm_num, timer_num, MCPWM_OPR_A, MCPWM_DUTY_MODE_0); // Nota: "mcpwm_set_signal_low" ya da "mcpwm_set_signal_high" üçün bir çox funksiya var, // MCPWM -in funksiyaları B (Unicade, Timer) statik boşluq fırçalanmış_motor_ geri (mcpwm_unit_t mcpwm_num, mcpwm_timer_t timer_num, float duty_cycle) {mcpwm_set_signal_low (mcpwm_num, timer_num, MCPWM_OPR_A); // MCPWM əməliyyat sistemini yoxlayın (Baixo -nu müəyyən edin) mcpwm_set_duty (mcpwm_num, timer_num, MCPWM_OPR_B, duty_cycle); // Operator B (Ciclo de trabalho) mcpwm_set_duty_type (mcpwm_num, timer_num, MCPWM_OPR_B, MCPWM_DUTY_MODE_0) ilə PWM qurmaq; // ciclo de trabalho (alt ou baixo) tanımlayın} // Operadores static void brushed_motor_stop (mcpwm_unit_t mcpwm_num, mcpwm_timer_t timer_mw_m_m_m_t_m_m_m_) üçün MCPWM funksiyasını yerinə yetirin. // MCPWM əməliyyat sistemini yoxlayın mcpwm_set_signal_low (mcpwm_num, timer_num, MCPWM_OPR_B); // MCPWM yox, Operador B yoxlayın
Döngə
void loop () {// Motoru hərəkət etdirin, heç bir hərəkət etmədən fırçalayın_motor_forward (MCPWM_UNIT_0, MCPWM_TIMER_0, 50.0); oled ("50"); gecikmə (2000); // Motor fırçalanmış_motor_stop (MCPWM_UNIT_0, MCPWM_TIMER_0); oled ("0"); gecikmə (2000); // Motoru heç bir sentido antihorário brushed_motor_backward hərəkət etdirməyin (MCPWM_UNIT_0, MCPWM_TIMER_0, 25.0); oled ("25"); gecikmə (2000); // Motor fırçalanmış_motor_stop (MCPWM_UNIT_0, MCPWM_TIMER_0); oled ("0"); gecikmə (2000); // Aceleracao i 1 a 100 for (int i = 10; i <= 100; i ++) {brushed_motor_forward (MCPWM_UNIT_0, MCPWM_TIMER_0, i); oled (String (i)); gecikmə (200); } // Desaceleração i de 100 a 1 gecikmə (5000); for (int i = 100; i> = 10; i-) {brushed_motor_forward (MCPWM_UNIT_0, MCPWM_TIMER_0, i); oled (String (i)); gecikmə (100); } gecikmə (5000); }
Addım 9: Dosyaları Yükləyin
MƏN YOX
ÇİZİM
Tövsiyə:
Batareyalı Ofis. Şərq/Qərb Günəş Panelləri və Külək Türbini Avtomatik Keçirən Günəş Sistemi: 11 Addım (Şəkillərlə)
Batareyalı Ofis. Şərq/Qərb Günəş Panelləri və Külək Türbini Avtomatik Keçirən Günəş Sistemi: Layihə: 200 kvadrat metrlik bir ofisin akkumulyatorla təchiz edilməsi lazımdır. Ofisdə bu sistem üçün lazım olan bütün nəzarətçilər, batareyalar və komponentlər də olmalıdır. Günəş və külək enerjisi batareyaları dolduracaq. Yalnız kiçik bir problem var
ESP32 ilə PWM - Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: 6 addım
ESP32 ilə PWM | Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: Bu təlimatlarda Arduino IDE istifadə edərək ESP32 ilə PWM siqnallarının necə yaradılacağını görəcəyik. PWM əsasən hər hansı bir MCU -dan analoq çıxışı yaratmaq üçün istifadə olunur və bu analog çıxış 0V ilə 3.3V arasında ola bilər (esp32 vəziyyətində) & dan
DIY Su Şüşəsi Külək Türbini: 5 Addım (Şəkillərlə)
DIY Su Şüşəsi Külək Türbini: Əsas Təsvir Bir külək turbininin necə işlədiyini anlamaq üçün külək enerjisinin təməl səviyyədə necə işlədiyini anlamaq vacibdir. Külək günəş enerjisinin bir formasıdır, çünki günəş atmosferdəki qeyri -bərabər istidən külək yaradan mənbəyidir
Lenz2 Külək Türbini: 12 Addım (Şəkillərlə birlikdə)
Lenz2 Külək Türbini: Bu təlimat, evin ətrafındakı materiallardan bir Lenz2 külək turbini necə quracağınızı göstərəcək. Dizayn Windstuffnow.com saytından Ed Lenz tərəfindən hazırlanmış və sınaqdan keçirilmişdir: http://www.windstuffnow.com/main/lenz2_turbine.htm Lenz2 VAWT (Ve
Köhnə Sərt Disklərdən və Minimal Alətlərdən Tesla Turbini: 11 Addım (Şəkillərlə birlikdə)
Köhnə Sərt Disklərdən və Minimal Alətlərdən Tesla Türbini: Əsas əl alətləri və dirəkli matkapdan istifadə edərək 2 köhnə kompüterin sabit disk sürücüsündən Tesla turbini yaradın. Heç bir metal torna və ya digər bahalı istehsal maşınlarına ehtiyac yoxdur və yalnız bəzi əsas sənətkarlıq bacarıqlarına ehtiyacınız var. Kobuddur, amma bu şey sarsıla bilər