Სარჩევი:
- ნაბიჯი 1: დემონსტრაცია
- ნაბიჯი 2: PWM საავტომობილო კონტროლი
- ნაბიჯი 3: გამოყენებული რესურსები
- ნაბიჯი 4: ESP 32 Dev Kit - Pinout
- ნაბიჯი 5: ტურბინის დამონტაჟება
- ნაბიჯი 6: წრე - კავშირები
- ნაბიჯი 7: გაზომვა ოსცილოსკოპზე
- ნაბიჯი 8: წყაროს კოდი
- ნაბიჯი 9: ჩამოტვირთეთ ფაილები
ვიდეო: ელექტრო ტურბინა ESP32– ით: 9 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
დღეს, მე განვიხილავ ელექტრო ტურბინას ESP32– ით. ასამბლეას აქვს ნაწილი, რომელიც დაიბეჭდა 3D- ში. მე წარმოგიდგენთ ESP32– ის PWM ფუნქციას, რომელიც შესაფერისია ელექტროძრავების გასაკონტროლებლად. ეს გამოყენებული იქნება DC ძრავაში. მე ასევე ვაჩვენებ ამ MCPWM (საავტომობილო კონტროლის PWM) მუშაობას პრაქტიკულ პროგრამაში.
მე გამოვიყენე ESP32 LoRa ამ პროექტში და ვფიქრობ, მნიშვნელოვანია აღვნიშნო, რომ ამ მიკროკონტროლერს აქვს ორი ბლოკი შიგნით. ამ ბლოკებს შეუძლიათ გააკონტროლონ სამი ძრავა. ამრიგად, შესაძლებელია PWM– ით ექვსამდე ძრავის კონტროლი, ყველა დამოუკიდებლად. ეს ნიშნავს, რომ კონტროლი, რომელსაც აქ გამოვიყენებ, არ არის სტანდარტული (რაც არდუინოს მსგავსია). სამაგიეროდ, კონტროლი არის თავად ჩიპი, რომელიც ESP32– ს გარანტიას უწევს დიდ მოქნილობას ძრავის კონტროლთან მიმართებაში.
ნაბიჯი 1: დემონსტრაცია
ნაბიჯი 2: PWM საავტომობილო კონტროლი
ზოგადი დიაგრამა:
• ESP32– ის MCPWM ფუნქცია შეიძლება გამოყენებულ იქნას სხვადასხვა ტიპის ელექტროძრავების გასაკონტროლებლად. მას აქვს ორი ერთეული.
• თითოეულ ერთეულს აქვს სამი PWM გამომავალი წყვილი.
• თითოეული გამომავალი A / B წყვილი შეიძლება სინქრონიზებული იყოს სამიდან ერთ სინქრონიზაციის ტაიმერთან 0, 1, ან 2.
• ერთი ტაიმერი შეიძლება გამოყენებულ იქნას ერთზე მეტი PWM გამომავალი წყვილის სინქრონიზაციისათვის
სრული დიაგრამა:
• თითოეულ ერთეულს ასევე შეუძლია შეაგროვოს შეყვანის სიგნალები, როგორც სინქრონიზაციის ნიშნები;
• გაუმართავი ნიშნების გამოვლენა გადაჭარბებული ან საავტომობილო გადატვირთვისთვის;
• მიიღეთ უკუკავშირი CAPTURE SIGNALS– თან, როგორიცაა ძრავის პოზიცია
ნაბიჯი 3: გამოყენებული რესურსები
• მხტუნავები კავშირისთვის
• Heltec Wifi LoRa 32
• საერთო DC ძრავა
• ხიდი H - L298N
• USB კაბელი
• პროტობორდი
• Ენერგიის წყარო
ნაბიჯი 4: ESP 32 Dev Kit - Pinout
ნაბიჯი 5: ტურბინის დამონტაჟება
ნაბიჯი 6: წრე - კავშირები
ნაბიჯი 7: გაზომვა ოსცილოსკოპზე
ნაბიჯი 8: წყაროს კოდი
სათაური
#მოიცავს // საჭიროების შემთხვევაში გამოიყენეთ Arduino IDE #მოიცავს "მძღოლს/mcpwm.h" // მოიცავს ბიბლიოთეკას "Motor Control PWM" nativa do ESP32 #include // Nependá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 SSD1306 ჩვენება (0x3c, SDA, SCL, RST); // Instanciando e ajustando os pinos do objeto "display" #განსაზღვრეთ GPIO_PWM0A_OUT 12 // დეკლარაცია GPIO 12 como PWM0A #განსაზღვრეთ GPIO_PWM0B_OUT 14 // Declara GPIO 14 como PWM0B
Აწყობა
void setup () {Serial.begin (115200); display.init (); //display.flipScreenVertically (); // Vira a tela verticalmente display.clear (); // ესკვერდას ჩვენებისათვის. 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 დეკლარირება არ მოდის código mcpwm_gpio_init (MCPWM_POM_0, M0P0, M0, M0, M0, M0, M0, M0, M0, M0, M0, M0, M0, M0, M0, M0, M0, M0, M0, M0, M0, 0, // mcpwm_gpio_init (unidade PWM 0, saida B, Porta GPIO) => Instancia o MCPWM0B არ პინო GPIO_PWM0B_OUT declarado არ começo ამის ინდექსი mcpwm_gpio_init (MCPWM_UNIT_0, MCPWM0B, GPIO_PWM0B_OUT); mcpwm_config_t pwm_config; pwm_config.frequency = 1000; // სიხშირეები = 500Hz, pwm_config.cmpr_a = 0; // Ciclo de trabalho (მოვალეობის ციკლი) do PWMxA = 0 pwm_config.cmpr_b = 0; // Ciclo de trabalho (მოვალეობის ციკლი) do PWMxb = 0 pwm_config.counter_mode = MCPWM_UP_COUNTER; // Para MCPWM assimetrico pwm_config.duty_mode = MCPWM_DUTY_MODE_0; // განსაზღვრეთ ciclo de trabalho em nível alto // Inicia (Unidade 0, Timer 0, Config PWM) mcpwm_init (MCPWM_UNIT_0, MCPWM_TIMER_0, & pwm_config); // განსაზღვრეთ PWM0A & PWM0B com როგორც configurações acima}
ფუნქციები
// Funchão que configura o MCPWM operador A (Unidade, Timer, Porcentagem (ciclo de trabalho)) სტატიკური სიცარიელე brushed_motor_forward (mcpwm_unit_t mcpwm_num, mcpwm_timer_t timer_num_mumwum_mumwum (0, 1 ou 2), ოპერაადორი (A ou B)); => დესლიგა ან სინალი MCPWM არა ოპერადორი B (განსაზღვრეთ 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)); => დააკონფიგურირეთ პორცენტემა, PWM არა ოპერაოდორი 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)); => განსაზღვრეთ არა მხოლოდ ciclo de trabalho (alto ou baixo) mcpwm_set_duty_type (mcpwm_num, timer_num, MCPWM_OPR_A, MCPWM_DUTY_MODE_0); // შენიშვნა: Chame essa função toda vez que for chamado "mcpwm_set_signal_low" ou "mcpwm_set_signal_high" para manter or ciclo de trabalho configurado anteriormente} // Funchão que configura o MCPWOid Doade operador B (Un) სტატიკური სიცარიელე 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); // კონფიგურაცია პორცენტემით PWM არა ოპერატორ B (Ciclo de trabalho) mcpwm_set_duty_type (mcpwm_num, timer_num, MCPWM_OPR_B, MCPWM_DUTY_MODE_0); // განსაზღვრავს o nivel ამის Ciclo de trabalho (alto ou baixo)} // Função que para o MCPWM de Ambos os Operadores static void brushed_motor_stop (mcpwm_unit_t mcpwm_num, mcpwm_timer_t timer_num) {mcpwm_set_signal_low (mcpwm_num, timer_num, MCPWM_OPR_A); // ძირითადი მოთხოვნები MCPWM ოპერატორის გარეშე mcpwm_set_signal_low (mcpwm_num, timer_num, MCPWM_OPR_B); // Desliga o sinal do MCPWM no Operador B}
მარყუჟი
ბათილი მარყუჟი () {// გადაადგილება ან ძრავა არ არის საჭირო brushed_motor_forward (MCPWM_UNIT_0, MCPWM_TIMER_0, 50.0); oled ("50"); დაგვიანება (2000); // Para o motor brushed_motor_stop (MCPWM_UNIT_0, MCPWM_TIMER_0); oled ("0"); დაგვიანება (2000); // გადაადგილება ან ძრავა არა სენტიდო ანტიჰორიული brushed_motor_backward (MCPWM_UNIT_0, MCPWM_TIMER_0, 25.0); oled ("25"); დაგვიანება (2000); // Para o motor brushed_motor_stop (MCPWM_UNIT_0, MCPWM_TIMER_0); oled ("0"); დაგვიანება (2000); // Aceleracao i de 1 a 100 for (int i = 10; i <= 100; i ++) {brushed_motor_forward (MCPWM_UNIT_0, MCPWM_TIMER_0, i); oled (სიმებიანი (i)); დაგვიანება (200); } // Desaceleração i de 100 a 1 დაგვიანებით (5000); for (int i = 100; i> = 10; i-) {brushed_motor_forward (MCPWM_UNIT_0, MCPWM_TIMER_0, i); oled (სიმებიანი (i)); დაგვიანება (100); } დაყოვნება (5000); }
ნაბიჯი 9: ჩამოტვირთეთ ფაილები
ინო
ხატვა
გირჩევთ:
ქარის ტურბინა: 7 ნაბიჯი (სურათებით)
ქარის ტურბინა: გამარჯობა ყველას! ამ ინსტრუქციაში, მე გიხელმძღვანელებთ მოდელი ქარის ტურბინის მშენებლობაში, რომელიც დამზადებულია გადამუშავებული ან ადვილად მისაწვდომი ნაწილებისგან. მას შეეძლება გამოიმუშაოს დაახლოებით 1.5 ვოლტი და ავტომატურად მოერგოს თავის თავს, ასე რომ ყოველთვის
გაუმჯობესებული ელექტროსტატიკური ტურბინა დამზადებულია გადამუშავებადი მასალებისგან: 16 ნაბიჯი (სურათებით)
გაუმჯობესებული ელექტროსტატიკური ტურბინა დამზადებულია გადამუშავებადი მასალებისგან: ეს არის სრულიად ნაკაწრი აგებული, ელექტროსტატიკური ტურბინა (EST), რომელიც გარდაქმნის მაღალი ძაბვის პირდაპირ დენს (HVDC) მაღალ სიჩქარეზე, მბრუნავ მოძრაობაში. ჩემი პროექტი შთაგონებულია Jefimenko Corona Motor– ით, რომელიც იკვებება ატმოსფეროს ელექტროენერგიით
DIY წყლის ბოთლის ქარის ტურბინა: 5 ნაბიჯი (სურათებით)
წვრილმანი წყლის ბოთლის ქარის ტურბინა: ძირითადი აღწერა იმის გასაგებად, თუ როგორ მუშაობს ქარის ტურბინა, მნიშვნელოვანია იმის გაგება, თუ როგორ მუშაობს ქარის ენერგია ძირითად დონეზე. ქარი არის მზის ენერგიის ფორმა, რადგან მზე არის წყარო, რომელიც ქმნის ქარს ატმოსფეროზე არათანაბარი სითბოს გამო, მაგრამ
ელექტრო ელექტრო ცხელი ძაღლის გაზქურა: 14 ნაბიჯი (სურათებით)
ელექტრო ელექტრო ცხელი ძაღლის ქურა: როდესაც მე ვიყავი ბაკალავრიატის ფიზიკის ფაკულტეტი, ჩვენ ვამზადებდით ცხელ ძაღლებს, თუ ისინი პირდაპირ 120 ვოლტზე შევიყვანთ. ეს იყო შედარებით სახიფათო ოპერაცია, რადგან ჩვენ უბრალოდ დავამაგრეთ გაფართოების კაბელის ბოლოები ორ ჭანჭიკზე, რომლებიც ჩასმული იყო
როგორ გამოვყოთ ელექტრო სკუტერი ელექტრო ნაწილებისთვის .: 6 ნაბიჯი
როგორ გამოვყოთ ელექტრო სკუტერი ელექტრო ნაწილებისთვის .: ეს არის გზა, რომლითაც მე ვიშორებ მეორადი ელექტრო სკუტერს ელექტრო მთის დაფის ასაშენებლად საჭირო ნაწილებისთვის. (იდეა მოდის > > https: // www .instructables.com/id/Electric-Mountain-Board/) მეორადი შეძენის მიზეზი არის