ዝርዝር ሁኔታ:
- ደረጃ 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 07:31
ዛሬ ፣ ከኤስፒፒ 32 ጋር በኤሌክትሪክ ተርባይን ላይ እወያያለሁ። ስብሰባው በ 3 ዲ የታተመ አንድ ክፍል አለው። የኤሌክትሪክ ሞተሮችን ለመቆጣጠር ተስማሚ የሆነውን የ ESP32 የ PWM ተግባር አቀርባለሁ። ይህ በዲሲ ሞተር ውስጥ ጥቅም ላይ ይውላል። እኔ ደግሞ በተግባራዊ ትግበራ ውስጥ የዚህን MCPWM (የሞተር ቁጥጥር PWM) አሠራር አሣያለሁ።
በዚህ ፕሮጀክት ውስጥ ESP32 LoRa ን እጠቀም ነበር ፣ እና እዚህ ይህ ማይክሮ መቆጣጠሪያ በውስጡ ሁለት ብሎኮች እንዳሉት ልብ ማለት አስፈላጊ ይመስለኛል። እነዚህ ብሎኮች እያንዳንዳቸው ሶስት ሞተሮችን የመቆጣጠር ችሎታ አላቸው። ስለሆነም በ PWM እስከ ስድስት ሞተሮችን መቆጣጠር ይቻላል ፣ ሁሉም በተናጥል። ይህ ማለት እኔ እዚህ የምጠቀምበት መቆጣጠሪያ ደረጃው አይደለም (እሱም ከአርዲኖ ጋር ተመሳሳይ ነው)። ይልቁንስ መቆጣጠሪያው ራሱ ቺፕ ነው ፣ ይህም ለ ESP32 የሞተር መቆጣጠሪያን ብዙ ተጣጣፊነትን የሚያረጋግጥ ነው።
ደረጃ 1 - ሰልፍ
ደረጃ 2 PWM የሞተር ቁጥጥር
አጠቃላይ ንድፍ:
• የ ESP32 የ MCPWM ተግባር የተለያዩ የኤሌክትሪክ ሞተሮችን ዓይነቶች ለመቆጣጠር ሊያገለግል ይችላል። ሁለት አሃዶች አሉት።
• እያንዳንዱ ክፍል ሦስት PWM ውፅዓት ጥንዶች አሉት።
• እያንዳንዱ የውጤት ኤ / ቢ ጥንድ ከሶስት የማመሳሰል ጊዜ ቆጣሪዎች 0 ፣ 1 ወይም 2 በአንዱ ሊመሳሰል ይችላል።
• አንድ ሰዓት ቆጣሪ ከአንድ በላይ የ PWM ውፅዓት ጥንድን ለማመሳሰል ሊያገለግል ይችላል
ሙሉ ንድፍ:
• እያንዳንዱ አሃድ እንዲሁ የግብዓት ምልክቶችን እንደ ሲኖክሮኒዜሽን ምልክቶች የመሰብሰብ ችሎታ አለው ፤
• ለትርፍ ጊዜ ወይም ለሞተር ከልክ በላይ መጨናነቅ የተሳሳቱ ምልክቶችን ያግኙ ፤
• እንደ ሞተሩ አቀማመጥ ካሉ በ CAPTURE SIGNALS ግብረመልስ ያግኙ
ደረጃ 3 - ያገለገሉ ሀብቶች
• ዝላይዎች ለግንኙነት
• Heltec Wifi LoRa 32
• የጋራ የዲሲ ሞተር
• ድልድይ ሸ - L298N
• የዩኤስቢ ገመድ
• ፕሮቶቦርድ
• ገቢ ኤሌክትሪክ
ደረጃ 4: ESP 32 Dev Kit - Pinout
ደረጃ 5 ተርባይን መጫኛ
ደረጃ 6 - ወረዳ - ግንኙነቶች
ደረጃ 7 - በኦስሴስኮስኮፕ ላይ መለካት
ደረጃ 8: የምንጭ ኮድ
ራስጌ
#ያካትቱ // Não é necessário caso Arduino IDE ን ይጠቀሙ #“ሾፌር/mcpwm.h” // ን ጨምሮ “የሞተር ቁጥጥር PWM” ናቲቫ እስከ ESP32 #ያካትታል/Necessário apenas para o Arduino 1.6.5 e posterior #include” SSD1306.h "// o mesmo que #ያካትቱ" SSD1306Wire.h "// OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #ዴፊኔ ኤስዲኤ 4 #ዲፊን SCL 15 #define RST 16 SSD1306 ማሳያ (0x3c ፣ SDA ፣ SCL ፣ RST); // Instanciando e ajustando os pinos do objeto “display” #define GPIO_PWM0A_OUT 12 // Declara GPIO 12 como PWM0A #depine GPIO_PWM0B_OUT 14 // Declara GPIO 14 como PWM0B
አዘገጃጀት
ባዶነት ማዋቀር () {Serial.begin (115200); display.init (); // ማሳያ። // ቪራ አንድ ቴላ verticalmente display.clear (); // ajusta o alinhamento para 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 declarado no começo do código mcpwm_gpio_init (MCPWM_UNIT_0, MCPWM0A, GPWM0A, GPOM0A, MCPWM0A // mcpwm_gpio_init (unidade PWM 0 ፣ saida B ፣ porta GPIO) => Instancia o MCPWM0B no pino GPIO_PWM0B_OUT declarado no começo do código mcpwm_gpio_init (MCPWM_UNIT_0 ፣ MCPWM0B ፣ GPBMT mcpwm_config_t pwm_config; pwm_config.frequency = 1000; // frequência = 500Hz ፣ pwm_config.cmpr_a = 0; // Ciclo de trabalho (የግዴታ ዑደት) PWMxA = 0 pwm_config.cmpr_b = 0; // Ciclo de trabalho (የግዴታ ዑደት) PWMxb = 0 pwm_config.counter_mode = MCPWM_UP_COUNTER ያድርጉ ፤ // ፓራ 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 ን እንደአዋቀረው acima} ይግለጹ
ተግባራት
// Funçã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, float duty_cycle) {// mcp (0 ፣ 1 ወይም 2) ፣ ኦፔራዶር (ሀ ለ ቢ)); => ደሴሊጋ ሲፒኤምፒኤምኤም ኦፔራዶር ቢ (Define 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 (% PWM ያድርጉ)); => የፒሲኤም ኦፔራዶር ኤ (ሲክሎ ደ 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) የሚለውን ይግለጹ ፤ // ማሳሰቢያ: ቻሜ ኢሳ 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, Timer, Porcent, የማይንቀሳቀስ ባዶ ባዶ ብሩሽ_ሞተር_ኋላ (mcpwm_unit_t mcpwm_num ፣ mcpwm_timer_t timer_num ፣ float duty_cycle) {mcpwm_set_signal_low (mcpwm_num ፣ timer_num ፣ MCPWM_OPR_A); // ደሴሊጋ ሲፒኤምፒኤምኤም ኦፔራዶር ኤ (ፍቺ o sinal em Baixo) mcpwm_set_duty (mcpwm_num ፣ timer_num ፣ MCPWM_OPR_B ፣ duty_cycle); // የአስተዋዋቂውን PWM ን ያለ Operador B (Ciclo de trabalho) mcpwm_set_duty_type (mcpwm_num ፣ timer_num ፣ MCPWM_OPR_B ፣ MCPWM_DUTY_MODE_0) ያድርጉ። // ፍቺው ሲክሎ ዴ ትራባልሆ (አልቶ 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_n_Mum_m_Mum_m_Mum_m // በደሴቲቱ ላይ ለ MCPWM ምንም ኦፔራዶር ኤ mcpwm_set_signal_low (mcpwm_num ፣ timer_num ፣ MCPWM_OPR_B); // ደሴሊጋ ወይም ኃጢአት በ MCPWM ምንም ኦፔራዶር ለ}
ሉፕ
ባዶነት loop () {// አንቀሳቅስ ሞተር የለም sentido horário brushed_motor_forward (MCPWM_UNIT_0 ፣ MCPWM_TIMER_0 ፣ 50.0); ዘይት ("50"); መዘግየት (2000); // ፓራ ኦ ሞተር ብሩሽ_ሞቶር ማቆሚያ (MCPWM_UNIT_0 ፣ MCPWM_TIMER_0); ዘይት ("0"); መዘግየት (2000); // አንቀሳቅስ ሞተርን ምንም ሴኪዶ antihorário brushed_motor_backward (MCPWM_UNIT_0 ፣ MCPWM_TIMER_0 ፣ 25.0); ዘይት ("25"); መዘግየት (2000); // ፓራ ኦ ሞተር ብሩሽ_ሞተር_ስታፕ (MCPWM_UNIT_0 ፣ MCPWM_TIMER_0); ዘይት ("0"); መዘግየት (2000); // Aceleracao i de 1 a 100 ለ (int i = 10; i <= 100; i ++) {brushed_motor_forward (MCPWM_UNIT_0 ፣ MCPWM_TIMER_0 ፣ i) ፤ ዘይት (ሕብረቁምፊ (i)); መዘግየት (200); } // Desaceleração i de 100 a 1 መዘግየት (5000); ለ (int i = 100; i> = 10; i-) {brushed_motor_forward (MCPWM_UNIT_0 ፣ MCPWM_TIMER_0 ፣ i); ዘይት (ሕብረቁምፊ (i)); መዘግየት (100); } መዘግየት (5000); }
ደረጃ 9 ፋይሎቹን ያውርዱ
ፒዲኤፍ
INO
ስዕል
የሚመከር:
የንፋስ ተርባይን 7 ደረጃዎች (ከስዕሎች ጋር)
የንፋስ ተርባይን - ሰላም ለሁሉም! በዚህ መመሪያ ውስጥ ፣ እንደገና ጥቅም ላይ ከዋሉ ወይም በቀላሉ ሊደረስባቸው ከሚችሉ ክፍሎች በተሠራ የሞዴል ነፋስ ተርባይን ግንባታ እመራዎታለሁ። እሱ 1.5 ቮልት አካባቢ ለማምረት እና በራስ -ሰር እራሱን ለማስተካከል ስለሚችል ሁል ጊዜም
የባትሪ ኃይል ያለው ቢሮ። የፀሐይ ስርዓት በምስራቅ/ምዕራብ የፀሐይ ፓነሎች እና በነፋስ ተርባይን በራስ -ሰር በመቀየር 11 ደረጃዎች (ከስዕሎች ጋር)
የባትሪ ኃይል ያለው ቢሮ። የምስራቅ/ምዕራብ የፀሐይ ፓነሎች እና የንፋስ ተርባይን በራስ -ሰር ከሚቀያየር የሶላር ሲስተም -ፕሮጀክቱ -200 ካሬ ጫማ ያለው ቢሮ በባትሪ ኃይል እንዲሠራ ያስፈልጋል። ጽ / ቤቱ ለዚህ ስርዓት አስፈላጊ የሆኑትን ተቆጣጣሪዎች ፣ ባትሪዎች እና አካላት በሙሉ መያዝ አለበት። የፀሐይ እና የንፋስ ኃይል ባትሪዎቹን ያስከፍላል። ትንሽ ችግር ብቻ አለ
የአከርካሪ አርት ተርባይን ሪሚክስ ፕሮጀክት -4 ደረጃዎች
የአከርካሪ አርት ተርባይን ሪሚክስ ፕሮጀክት - ለማሽከርከር ሥነ -ጥበብ ፍላጎት ካለዎት ችግር አለ እና ያ ችግር በሌላኛው ቀለም ሲስሉ መልመጃውን በአንድ እጅ መያዝ አለብዎት። ይህ አንዳንድ ጊዜ ሊያበሳጭ ይችላል ፣ ግን እኔ እንዳገኘሁ ይሰማኛል። በዚህ ቀላል ተርባይን አማካኝነት መፍትሄውን መፍጠር ይችላሉ
እንደገና ጥቅም ላይ ሊውል ከሚችል የተሠራ የተሻሻለ ኤሌክትሮስታቲክ ተርባይን - 16 ደረጃዎች (ከስዕሎች ጋር)
ከእንደገና ጥቅም ላይ የዋለ የተሻሻለ የኤሌክትሮስታቲክ ተርባይን-ይህ ሙሉ በሙሉ ጭረት የተገነባ ፣ ኤሌክትሮስታቲክ ተርባይን (EST) ነው ፣ ይህም ከፍተኛ የቮልቴጅ ቀጥተኛ የአሁኑን (ኤችዲዲሲ) ወደ ከፍተኛ ፍጥነት ፣ የማዞሪያ እንቅስቃሴ ይለውጣል። የእኔ ፕሮጀክት ከከባቢ አየር በኤሌክትሪክ በሚሰራው በጄፊመንኮ ኮሮና ሞተር ተነሳሽነት
DIY የውሃ ጠርሙስ ንፋስ ተርባይን 5 ደረጃዎች (ከስዕሎች ጋር)
DIY የውሃ ጠርሙስ የንፋስ ተርባይን - መሰረታዊ መግለጫ የንፋስ ኃይል ማመንጫ እንዴት እንደሚሠራ ለመረዳት የንፋስ ኃይል በመሠረታዊ ደረጃ እንዴት እንደሚሠራ መረዳቱ አስፈላጊ ነው። በከባቢ አየር ላይ ባልተስተካከለ ሙቀት ነፋስን የሚፈጥር ምንጭ ስለሆነ ነፋስ የፀሐይ ኃይል ዓይነት ነው