Mundarija:
- 1 -qadam: Namoyish
- 2 -qadam: PWM dvigatelini boshqarish
- 3 -qadam: Ishlatilgan manbalar
- 4 -qadam: ESP 32 Dev Kit - Pinout
- 5 -qadam: Turbina o'rnatish
- 6 -qadam: O'chirish - ulanishlar
- 7 -qadam: Osiloskopda o'lchash
- 8 -qadam: Manba kodi
- 9 -qadam: Fayllarni yuklab oling
Video: ESP32 bilan elektr turbinasi: 9 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Bugun men ESP32 bilan elektr turbinasini muhokama qilaman. Assambleyada 3D formatida chop etilgan qism mavjud. Men elektr motorlarini boshqarish uchun mos bo'lgan ESP32 PWM funktsiyasini taqdim etaman. Bu shahar motorida ishlatiladi. Men ham ushbu MCPWM (Motor Control PWM) ning ishlashini amaliy qo'llanmada ko'rsataman.
Men bu loyihada ESP32 LoRa -dan foydalandim va menimcha, bu mikrokontrollerning ichida ikkita blok borligini ta'kidlash kerak. Bu bloklar har biri uchta dvigatelni boshqarishga qodir. Shunday qilib, PWM bilan oltita dvigatelni mustaqil ravishda boshqarish mumkin. Bu shuni anglatadiki, men bu erda ishlatadigan boshqaruv standart emas (bu Arduino -ga o'xshash). Buning o'rniga, boshqaruv - bu chipning o'zi, bu ESP32 -ni motorni boshqarishga nisbatan ancha moslashuvchanligini kafolatlaydi.
1 -qadam: Namoyish
2 -qadam: PWM dvigatelini boshqarish
Umumiy diagramma:
• ESP32 ning MCPWM funktsiyasi har xil turdagi elektr motorlarini boshqarish uchun ishlatilishi mumkin. Unda ikkita birlik mavjud.
• Har bir qurilmada uchta PWM chiqish juftligi mavjud.
• Har bir chiqish A / B juftligi uchta sinxronizatsiya taymerlaridan biri bilan sinxronlashtirilishi mumkin 0, 1 yoki 2.
• Bitta PWM chiqish juftini sinxronlashtirish uchun bitta taymerdan foydalanish mumkin
To'liq diagramma:
• Har bir birlik, shuningdek, sinxronizatsiya belgilari sifatida kirish signallarini yig'ishga qodir;
• Haddan tashqari tok yoki dvigatelning haddan tashqari kuchlanishi uchun Nosozlik belgilarini aniqlash;
• CAPTURE SIGNALS yordamida Dvigatelning joylashuvi kabi fikr -mulohazalarni oling
3 -qadam: Ishlatilgan manbalar
• Ulanish uchun o'tish moslamalari
• Heltec Wi -Fi LoRa 32
• Umumiy shahar dvigateli
• H ko'prigi - L298N
• USB kabeli
• Protoboard
• Quvvatlantirish manbai
4 -qadam: ESP 32 Dev Kit - Pinout
5 -qadam: Turbina o'rnatish
6 -qadam: O'chirish - ulanishlar
7 -qadam: Osiloskopda o'lchash
8 -qadam: Manba kodi
Sarlavha
#qo'shish // Arduino IDE -ni ishlatish kerak emas "haydovchi/mcpwm.h" ni o'z ichiga oladi // "PWM dvigatelini boshqarish" bibliotekasini o'z ichiga oladi #ESP32 -ni o'z ichiga oladi // Arduino 1.6.5 va undan keyingi orqa qismlarga #qo'shish " SSD1306.h "// u mesmo que #include" SSD1306Wire.h "// OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #destine RST 16 SSD1306 displeyi (0x3c, SDA, SCL, RST); // "displey" ni aniqlang #GPIO_PWM0A_OUT 12 ni aniqlang // Declara GPIO 12 ni PWM0A #ta'riflang GPIO_PWM0B_OUT 14 // Declara GPIO 14 ni PWM0B belgilang.
Sozlash
void setup () {Serial.begin (115200); display.init (); //display.flipScreenVertically (); // Vertikal ko'rinishdagi ekran.clear (); // ekranni ko'rsatish.setTextAlignment (TEXT_ALIGN_LEFT); // Arial 16 displey.setFont (ArialMT_Plain_16) uchun shrift; // mcpwm_gpio_init (bir martalik PWM 0, sa A, GPIO porti) => MCPWM0A o'rnatilmagan yoki GPIO_PWM0A_OUT e'lon qilinmagan, mcpwm_gpio_init (MCPWM_UNIT_0, MCP_PO00M, MCPWM0A) // mcpwm_gpio_init (bir xil PWM 0, saida B, GPIO porti) => MCPWM0B o'rnatilmagan yoki GPIO_PWM0B_OUT ko'rsatilmagan, mcpwm_gpio_init (MCPWM_UNIT_0, MCPWM0B, MCPWM0B) mcpwm_config_t pwm_config; pwm_config.frequency = 1000; // chastota = 500Hz, pwm_config.cmpr_a = 0; // Ciclo de trabalho (vazifa aylanishi) PWMxA = 0 pwm_config.cmpr_b = 0; // Ciclo de trabalho (vazifa aylanishi) PWMxb = 0 pwm_config.counter_mode = MCPWM_UP_COUNTER; // MCPWM assimetrik parametrlari pwm_config.duty_mode = MCPWM_DUTY_MODE_0; // Bosh sahifani belgilang // Inicia (Unidade 0, Taymer 0, Config PWM) mcpwm_init (MCPWM_UNIT_0, MCPWM_TIMER_0, & pwm_config); // PWM0A va PWM0B com ni konfiguratsiya qilish sifatida belgilang}
Vazifalar
// MCPWM operatori A (Unidade, Taymer, Porcentagem (ciclo de trabalho)) statik bo'shligi brushed_motor_forward (mcpwm_unit_t mcpwm_num, mcpwm_timer_t timer_num, float ms_smol) (0, 1 ou 2), Operador (A ou B)); => MCPWM operatsion operatsiyalari yo'qligini aniqlang (Baixo ni aniqlang) mcpwm_set_signal_low (mcpwm_num, timer_num, MCPWM_OPR_B); // mcpwm_set_duty (bir martalik PWM (0 ou 1), taymer taymeri (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) bilan PWM -ni sozlash. // mcpwm_set_duty_tyoe (bir martalik PWM (0 ou 1), taymer taymeri (0, 1 ou 2), Operador (A ou B), Nível do ciclo de trabalho (alto ou baixo)); => trapalho ni belgilang (alo ou baixo) mcpwm_set_duty_type (mcpwm_num, timer_num, MCPWM_OPR_A, MCPWM_DUTY_MODE_0); // Nota: "mcpwm_set_signal_low" yoki "mcpwm_set_signal_high" buyrug'iga binoan, bu funktsiyani bajaradi // // MCPWM operatsion tizimi B (Unicod, Timer) bilan ishlash. statik bo'shliq 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); // MCPWM operatsion operatsiyalari bo'lmagan holda (Baixo ni aniqlang) 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) bo'lmagan PWM konfiguratsiyasi; // aniq belgilang, albatta, trabalho! // Operator A mcpwm_set_signal_low (mcpwm_num, timer_num, MCPWM_OPR_B) bo'lmagan MCPWM -ni aniq belgilash; // MCPWM operatsion operatori bo'lmagan holda
Loop
void loop () {// Dvigatelni siljitish uchun hech qanday vosita yo'q, brushed_motor_forward (MCPWM_UNIT_0, MCPWM_TIMER_0, 50.0); oled ("50"); kechikish (2000); // Dvigatel cho'tkasi_motor_stop (MCPWM_UNIT_0, MCPWM_TIMER_0); oled ("0"); kechikish (2000); // Antihorário brushed_motor_backward motorini harakatlantiring (MCPWM_UNIT_0, MCPWM_TIMER_0, 25.0); oled ("25"); kechikish (2000); // Dvigatel cho'tkasi_motor_stop (MCPWM_UNIT_0, MCPWM_TIMER_0); oled ("0"); kechikish (2000); // Aceleracao i 1 a 100 uchun (int i = 10; i <= 100; i ++) {brushed_motor_forward (MCPWM_UNIT_0, MCPWM_TIMER_0, i); oled (String (i)); kechikish (200); } // Desaceleração i de 100 a 1 kechikish (5000); uchun (int i = 100; i> = 10; i-) {brushed_motor_forward (MCPWM_UNIT_0, MCPWM_TIMER_0, i); oled (String (i)); kechikish (100); } kechikish (5000); }
9 -qadam: Fayllarni yuklab oling
INO
Chizma
Tavsiya:
Shamol turbinasi: 7 qadam (rasmlar bilan)
Shamol turbinasi: Hammaga salom! Bu yo'riqnomada men sizga qayta ishlanadigan yoki osonlik bilan kirish mumkin bo'lgan qismlardan yasalgan shamol turbinasi qurilishi bo'yicha ko'rsatma beraman. U taxminan 1,5 volt ishlab chiqarishi va avtomatik ravishda o'zini o'zi sozlashi mumkin, shuning uchun har doim shunday bo'ladi
Batareya bilan ishlaydigan ofis. Quyosh panellari va shamol turbinasi: Sharq/G'arbni avtomatik almashtirish bilan quyosh tizimi: 11 qadam (rasmlar bilan)
Batareya bilan ishlaydigan ofis. Quyosh tizimi Sharq/G'arbning avtomatik panellari va shamol turbinasi bilan almashinuvi bilan: Loyiha: 200 kvadrat metrli ofis batareyali bo'lishi kerak. Ofis, shuningdek, ushbu tizim uchun zarur bo'lgan barcha tekshirgichlar, batareyalar va komponentlarni o'z ichiga olishi kerak. Quyosh va shamol energiyasi batareyalarni zaryad qiladi. Faqat kichik muammo bor
DIY suv shishasi shamol turbinasi: 5 qadam (rasmlar bilan)
DIY suv shishasi shamol turbinasi: asosiy tavsif shamol turbinasi qanday ishlashini tushunish uchun shamol energiyasi asosiy darajada qanday ishlashini tushunish kerak. Shamol - bu quyosh energiyasining bir shakli, chunki quyosh - bu atmosferadagi notekis issiqlik ta'sirida shamolni yaratadigan manba
Lenz2 shamol turbinasi: 12 qadam (rasmlar bilan)
Lenz2 shamol turbinasi: Bu ko'rsatma sizga uy atrofidagi materiallardan Lenz2 shamol turbinasini qanday yasashni ko'rsatib beradi. Dizayn Windstuffnow.com saytidan Ed Lenz tomonidan ishlab chiqilgan va sinovdan o'tgan: http://www.windstuffnow.com/main/lenz2_turbine.htm Lenz2 VAWT (Ve
Eski qattiq disklar va minimal asboblardan Tesla turbinasi: 11 qadam (rasmlar bilan)
Eski qattiq disklar va minimal asboblardan Tesla turbinasi: Asosiy qo'l asboblari va ustunli matkap yordamida 2 ta eski kompyuter qattiq diskidan Tesla turbinasini yarating. Hech qanday metall torna yoki boshqa qimmatbaho ishlab chiqarish uskunalari talab qilinmaydi va sizga faqat hunarmandchilikning asosiy ko'nikmalari kerak bo'ladi. Bu qo'pol, lekin bu narsa yomonlashishi mumkin