Isi kandungan:
- Langkah 1: Demonstrasi
- Langkah 2: Kawalan Motor PWM
- Langkah 3: Sumber yang Digunakan
- Langkah 4: Kit Peranti ESP 32 - Pinout
- Langkah 5: Pemasangan Turbin
- Langkah 6: Litar - Sambungan
- Langkah 7: Pengukuran pada Osiloskop
- Langkah 8: Kod Sumber
- Langkah 9: Muat turun Fail
Video: Turbin Elektrik Dengan ESP32: 9 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Hari ini, saya akan membincangkan turbin elektrik dengan ESP32. Pemasangan mempunyai bahagian yang dicetak dalam bentuk 3D. Saya akan membentangkan fungsi PWM ESP32 yang sesuai untuk mengawal motor elektrik. Ini akan digunakan dalam motor DC. Saya juga akan menunjukkan pengoperasian MCPWM ini (Motor Control PWM) dalam aplikasi praktikal.
Saya menggunakan ESP32 LoRa dalam projek ini, dan saya rasa penting untuk diperhatikan di sini bahawa mikrokontroler ini mempunyai dua blok di dalamnya. Blok ini mampu mengawal tiga motor masing-masing. Oleh itu, adalah mungkin untuk mengawal sehingga enam motor dengan PWM, semuanya secara bebas. Ini bermaksud bahawa kawalan yang akan saya gunakan di sini bukanlah standard (yang serupa dengan Arduino). Sebaliknya, kawalannya adalah cip itu sendiri, yang menjamin banyak kelenturan ESP32 berkenaan dengan kawalan motor.
Langkah 1: Demonstrasi
Langkah 2: Kawalan Motor PWM
Rajah Umum:
• Fungsi MCPWM ESP32 dapat digunakan untuk mengawal pelbagai jenis motor elektrik. Ia mempunyai dua unit.
• Setiap unit mempunyai tiga pasangan output PWM.
• Setiap pasangan A / B output dapat diselaraskan dengan salah satu daripada tiga pemasa penyegerakan 0, 1, atau 2.
• Satu Pemasa dapat digunakan untuk menyegerakkan lebih dari satu pasangan output PWM
Rajah penuh:
• Setiap unit juga mampu mengumpulkan isyarat input sebagai TANDA SINKRONISASI;
• Kesan TANDA-TANDA FAULT untuk arus lebih atau voltan motor;
• Dapatkan maklum balas dengan TANDA CAPTURE, seperti kedudukan Mesin
Langkah 3: Sumber yang Digunakan
• Pelompat untuk sambungan
• Heltec Wifi LoRa 32
• Motor DC biasa
• Jambatan H - L298N
• Wayar USB
• Protoboard
• Bekalan kuasa
Langkah 4: Kit Peranti ESP 32 - Pinout
Langkah 5: Pemasangan Turbin
Langkah 6: Litar - Sambungan
Langkah 7: Pengukuran pada Osiloskop
Langkah 8: Kod Sumber
Kepala
#include // Não é ضروريário caso menggunakan Arduino IDE # include "driver / mcpwm.h" // inclui a biblioteca "Motor Control PWM" nativa do ESP32 #include // Necessário apenas para o 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 paparan SSD1306 (0x3c, SDA, SCL, RST); // Instanciando e ajustando os pinos melakukan objeto "display" #define GPIO_PWM0A_OUT 12 // Declara GPIO 12 como PWM0A #define GPIO_PWM0B_OUT 14 // Declara GPIO 14 komo PWM0B
Persediaan
persediaan tidak sah () {Serial.begin (115200); display.init (); //display.flipScreenVertically (); // Vira a tela verticalmente display.clear (); // ajusta o alinhamento untuk a esquerda display.setTextAlignment (TEXT_ALIGN_LEFT); // ajusta a fonte para Arial 16 display.setFont (ArialMT_Plain_16); // mcpwm_gpio_init (unidade PWM 0, saida A, porta GPIO) => Instancia o MCPWM0A no pino GPIO_PWM0A_OUT decarado no começo do código mcpwm_gpio_init (MCPWM_UNIT_0, MCPWM0A, MCPWM0A, MCPWM0A // mcpwm_gpio_init (unidade PWM 0, saida B, porta GPIO) => Instancia o MCPWM0B no pino GPIO_PWM0B_OUT Decarado no começo do código mcpwm_gpio_init (MCPWM_UNIT_0, MCPWM0, MCPWM0; MCPWM0; MCBWP0 mcpwm_config_t pwm_config; pwm_config.frequency = 1000; // freência = 500Hz, pwm_config.cmpr_a = 0; // Ciclo de trabalho (kitaran tugas) lakukan PWMxA = 0 pwm_config.cmpr_b = 0; // Ciclo de trabalho (kitaran tugas) melakukan PWMxb = 0 pwm_config.counter_mode = MCPWM_UP_COUNTER; // Para MCPWM assimetrico pwm_config.duty_mode = MCPWM_DUTY_MODE_0; // Tentukan ciclo de trabalho em nível alto // Inicia (Unidade 0, Timer 0, Config PWM) mcpwm_init (MCPWM_UNIT_0, MCPWM_TIMER_0, & pwm_config); // Tentukan com PWM0A & PWM0B sebagai configurações acima}
Fungsi
// Função que configura o MCPWM operador A (Unidade, Timer, Porcentagem (ciclo de trabalho)) void statik disikat_motor_forward (mcpwm_unit_t mcpwm_num, mcpwm_timer_t timer_num, float duty_cycle) (0, 1 ou 2), Operador (A ou B)); => Desliga o sinal do MCPWM no Operador B (Tentukan o sinal em Baixo) mcpwm_set_signal_low (mcpwm_num, timer_num, MCPWM_OPR_B); // mcpwm_set_duty (unidade PWM (0 ou 1), Número do timer (0, 1 ou 2), Operador (A ou B), Ciclo de trabalho (% do PWM)); => Configura a porcentagem do PWM no Operador A (Ciclo de trabalho) mcpwm_set_duty (mcpwm_num, timer_num, MCPWM_OPR_A, duty_cycle); // 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 (alto ou baixo)); => tentukan o nível do ciclo de trabalho (alto ou baixo) mcpwm_set_duty_type (mcpwm_num, timer_num, MCPWM_OPR_A, MCPWM_DUTY_MODE_0); // Nota: Chame essa função toda vez que for chamado "mcpwm_set_signal_low" ou "mcpwm_set_signal_high" para manter o ciclo de trabalho configurado anteriormente} // Função que configura o MCPWM Do operador B (Unidade) void statik brushed_motor_backward (mcpwm_unit_t mcpwm_num, mcpwm_timer_t timer_num, float duty_cycle) {mcpwm_set_signal_low (mcpwm_num, timer_num, MCPWM_OPR_A) // Desliga o sinal do MCPWM no Operador A (Define o sinal em Baixo) mcpwm_set_duty (mcpwm_num, timer_num, MCPWM_OPR_B, duty_cycle); // Configura a porcentagem do PWM no Operador B (Ciclo de trabalho) mcpwm_set_duty_type (mcpwm_num, timer_num, MCPWM_OPR_B, MCPWM_DUTY_MODE_0); // tentukan o nível do ciclo de trabalho (alto ou baixo)} // Função que para o MCPWM de ambos os Operadores void statik disikat_motor_stop (mcpwm_unit_t mcpwm_num, mcpwm_timer_t timer_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm_mm // Desliga o sinal do MCPWM no Operador A mcpwm_set_signal_low (mcpwm_num, timer_num, MCPWM_OPR_B); // Desliga o sinal do MCPWM no Operador B}
Gelung
gelung void () {// Pindahkan o motor no sentido horário brushed_motor_forward (MCPWM_UNIT_0, MCPWM_TIMER_0, 50.0); oled ("50"); kelewatan (2000); // Para o motor brushed_motor_stop (MCPWM_UNIT_0, MCPWM_TIMER_0); oled ("0"); kelewatan (2000); // Pindahkan motor tanpa sentido antihorário brushed_motor_backward (MCPWM_UNIT_0, MCPWM_TIMER_0, 25.0); oled ("25"); kelewatan (2000); // Para o motor brushed_motor_stop (MCPWM_UNIT_0, MCPWM_TIMER_0); oled ("0"); kelewatan (2000); // Aceleracao i de 1 a 100 untuk (int i = 10; i <= 100; i ++) {brushed_motor_forward (MCPWM_UNIT_0, MCPWM_TIMER_0, i); oled (Rentetan (i)); kelewatan (200); } // Desaceleração i de 100 a 1 kelewatan (5000); untuk (int i = 100; i> = 10; i -) {brushed_motor_forward (MCPWM_UNIT_0, MCPWM_TIMER_0, i); oled (Rentetan (i)); kelewatan (100); } kelewatan (5000); }
Langkah 9: Muat turun Fail
INO
LUKISAN
Disyorkan:
Turbin Angin: 7 Langkah (dengan Gambar)
Turbin Angin: Helo semua! Dalam Instructable ini, saya akan membimbing anda melalui pembinaan Model Wind Turbine yang terbuat dari bahagian kitar semula atau mudah diakses. Ia akan dapat menghasilkan sekitar 1.5 volt dan menyesuaikan diri secara automatik sehingga selalu
Pejabat Bertenaga Bateri. Sistem Suria Dengan Auto Switching Panel Suria Timur / Barat dan Turbin Angin: 11 Langkah (dengan Gambar)
Pejabat Bertenaga Bateri. Sistem Suria Dengan Auto Switching Panel Suria Timur / Barat dan Turbin Angin: Projek: Pejabat seluas 200 kaki persegi perlu dikuasakan bateri. Pejabat juga mesti mengandungi semua alat kawalan, bateri dan komponen yang diperlukan untuk sistem ini. Tenaga suria dan angin akan mengecas bateri. Terdapat sedikit masalah hanya
Turbin Elektrostatik yang Diperbaiki Dari Kitar Semula: 16 Langkah (dengan Gambar)
Turbin Elektrostatik yang Lebih Baik Dibuat Dari Kitar Semula: Ini adalah turbin elektrostatik (EST) yang dibina sepenuhnya daripada calar yang menukar arus terus voltan tinggi (HVDC) menjadi gerakan berputar berkelajuan tinggi. Projek saya diilhamkan oleh Jefimenko Corona Motor yang dikuasakan oleh elektrik dari atmosfer
Turbin Angin Botol Air DIY: 5 Langkah (dengan Gambar)
Turbin Angin Botol Air DIY: Penerangan Asas Untuk memahami bagaimana turbin angin berfungsi, penting untuk memahami bagaimana tenaga angin berfungsi pada tahap asas. Angin adalah satu bentuk tenaga suria kerana matahari adalah sumber yang menghasilkan angin oleh haba yang tidak rata di atmosfera
Cara Mengasingkan Skuter Elektrik untuk Bahagian Elektrik .: 6 Langkah
Cara Mengasingkan Skuter Elektrik untuk Bahagian Elektrik: Inilah cara saya melepaskan skuter elektrik terpakai untuk bahagian yang diperlukan untuk membina papan gunung elektrik. (Idea berasal dari > > https: // www .instructables.com / id / Electric-Mountain-Board /) Sebab saya membeli barang terpakai adalah