ዝርዝር ሁኔታ:

እውነተኛ-አርኤምኤስ የ AC ቮልቴጅ መለካት -14 ደረጃዎች
እውነተኛ-አርኤምኤስ የ AC ቮልቴጅ መለካት -14 ደረጃዎች

ቪዲዮ: እውነተኛ-አርኤምኤስ የ AC ቮልቴጅ መለካት -14 ደረጃዎች

ቪዲዮ: እውነተኛ-አርኤምኤስ የ AC ቮልቴጅ መለካት -14 ደረጃዎች
ቪዲዮ: የመኪና ዝላይ ጀማሪዎች (oscilloscope test) - BASEUS 1000A vs 800A JUMP STARTER (USB-C / MICRO USB) 2024, ሀምሌ
Anonim
Image
Image
ሰልፍ
ሰልፍ

ዛሬ የኤሲ ንባብ ለማድረግ STM32 Maple Mini ን እንጠቀማለን። በእኛ ምሳሌ ውስጥ የኃይል ፍርግርግ የ RMS ዋጋን እናገኛለን። ለነገሮች በይነመረብ የኤሌክትሪክ ኔትወርክን ለመቆጣጠር ለሚፈልጉ ይህ በጣም ጠቃሚ ነው። ከዚያ የሜፕል ሚኒን የስሌት ኃይልን በመጠቀም አንድ መተግበሪያ እንፈጥራለን ፣ የ 127Vac ምልክት ማግኘትን ለመፍቀድ የሚችል የኤሌክትሮኒክ ወረዳ ተግባራዊ እናደርጋለን ፣ እንዲሁም በናሙናዎቹ ላይ የስር አማካይ ካሬ (አርኤምኤስ) ስሌትን ይተግብሩ።

ደረጃ 1 - ሰልፍ

ዛሬ በስብሰባችን ውስጥ ፣ እኛ 110. ግብዓት ለማድረግ ከአናሎግ ወረዳችን በተጨማሪ ፣ STM32 አለን ፣ አስደንጋጭ ሁኔታዎችን ለማስወገድ ፣ በ 110 ውስጥ የሚገባውን ተከላካይ ለይ።

ወረዳው በጣም ስሜታዊ ነው። እኔ ከ 110 ጋር እየገባሁ ነው ፣ ግን የቮልቴጅ መከፋፈያውን በመጠቀም 168 ጊዜ እቀንስለታለሁ እና በርካታ ተግባሮች ወዳለው የአሠራር ማጉያ ውስጥ አስገባዋለሁ።

እንዲሁም ለምንጭ ማጣሪያ አንዳንድ አማራጭ capacitors አሉን። ምንጭዎ ጥራት ያለው ከሆነ እነሱን መጠቀም አያስፈልግዎትም።

የኤ.ዲ. ግቤት በ 110 (አይደለም በጥሩ ሁኔታ የተሠራ) የሆነውን sinusoid በሚያዩበት oscilloscope በኩል ይሰላል። ሌላው ነገር በኤሌክትሪክ መረባችን ውስጥ ያለው ቮልቴጅ 110 አይደለም (በእውነቱ 127 ቮልት ነው)። ነገር ግን ማረጋጊያ እያገኘን እያለ ወደ 115 ቮ ያስተካክላል።

በተከታታይ ሞኒተር ላይ የሚታየው እሴት በ RMS ውስጥ የሚሰላው ፣ ማለትም በፍሎኬ ሜትር ተለይቶ የሚታወቅ ነው።

ደረጃ 2 - ያገለገሉ ሀብቶች

ጥቅም ላይ የዋሉ ሀብቶች
ጥቅም ላይ የዋሉ ሀብቶች

• መዝለሎች

• የሜፕል ሚኒ

• ፕሮቶቦርድ

• ኤል ኤም 386 ማጉያ

• የተመጣጠነ ምንጭ (+ 5V እና -5V)

• 10 ኪ ባለ ብዙ ማዞሪያ (ወይም ፖታቲሞሜትር)

• የ 100nF ፖሊስተር አራት capacitors

• ሶስት 10 ኪ resistors

• አራት 470 ኪ resistors

• አንድ 5k6 resistor

• አንድ 1n4728A zener diode

ደረጃ 3 ዲያግራምን አግድ

የማገጃ ንድፍ
የማገጃ ንድፍ

ደረጃ 4: መርሃግብር

መርሃግብር
መርሃግብር

እኔ ለዚህ ልኬት ምርጥ ናቸው ብዬ ባመንኳቸው ዝርዝር መግለጫዎች ላይ በመመርኮዝ ያደግሁት ወረዳ ነው ፣ ግን በበይነመረቡ ላይ ሊገኙ የሚችሉ ሌሎች በርካታ ምሳሌዎች አሉ።

ደረጃ 5 LM386 - መሰካት

LM386 - መሰካት
LM386 - መሰካት

LM386 ለማቀላጠፍ ወይም ለምልክት ማጉያ ሁለት ማጉያዎች አሉት።

ደረጃ 6 - AmpOp - ልዩነት (ተቀናሽ)

AmpOp - ልዩነት (ተቀናሽ)
AmpOp - ልዩነት (ተቀናሽ)

ደረጃ 7: AmpOp - Inverter Adder

AmpOp - Inverter Adder
AmpOp - Inverter Adder

ደረጃ 8: Maple Mini - Pinage

Maple Mini - Pinage
Maple Mini - Pinage

ካስማዎች ምልክት የተደረገባቸው ፦

ቀይ >> 3V3 ታጋሽ

አረንጓዴ >> 5V ታጋሽ

ደረጃ 9: Maple Mini - Pinning - a / D በመቅረጽ ውስጥ ጥቅም ላይ ውሏል

Maple Mini - Pinning - a / D በመቅረጽ ውስጥ ጥቅም ላይ ውሏል
Maple Mini - Pinning - a / D በመቅረጽ ውስጥ ጥቅም ላይ ውሏል

እኔ እዚህ ላይ አፅንዖት የሰጠሁት ፒን D11 መሆኑን (በ STMicroelectronics ስያሜ ውስጥ) PA0 ነው።

ደረጃ 10 - ስብሰባ

ስብሰባ
ስብሰባ

ለወረዳችን ፣ ለዚህ ፕሮጀክት እንደፈጠርነው ዓይነት የተመጣጠነ ምንጭ ያስፈልግዎታል። ያለበለዚያ ሁለት ምንጮች ያስፈልጉዎታል።

ደረጃ 11: ከተገኘው መረጃ ጋር ግራፍ

ከተገኘው መረጃ ጋር ግራፍ
ከተገኘው መረጃ ጋር ግራፍ

ደረጃ 12 - የ RMS ዋጋን ማስላት

የ RMS እሴት ማስላት
የ RMS እሴት ማስላት

ደረጃ 13: የምንጭ ኮድ

ምንጭ ኮድ - ትርጓሜዎች እና ቋሚዎች

መጀመሪያ ላይ የፒን ንባብ D11 ን ፣ እንዲሁም በስሌቶቹ ውስጥ ጥቅም ላይ የዋሉትን የተለያዩ ቋሚዎች እንገልፃለን።

#define leituraTensao D11 // AD CH0 no pino PA0 // valor teórico divisor de tensão = 168.85714285714285714286 const float fatorDivisor = 168.40166345742404792461; // valor teórico do ganho de amplificação = 1.0 const float fatorAmplificador = 1.0; // Valor usado na multiplicação da leitura const float fatorMultiplicacao = fatorDivisor * fatorAmplificador; // Valor teórico da Tensão de alimentação Vcc = 3.3V const float Vcc = 3.3; // valor teórico do offset do amplificador = Vcc /2.0; const float offSet = 1.66; // fator teórico da conversão do AD = 3.3 / 4095.0 const float fatorAD = Vcc / 4095.0; const int amostras = 71429; // resulta em 1, 027 segundos para cada atualização // const int amostras = 35715; // resulta em 0, 514 segundos para cada atualização

ምንጭ ኮድ - ዓለም አቀፍ ተለዋዋጮች

አሁን ፣ አንዳንድ ዓለም አቀፍ ተለዋዋጮችን እንገልፃለን።

ተንሳፋፊ Vrms = 0.0; // armazena o valor rms da tensãofloat Vmax = 0.0; // armazena o valor máximo deteado float Vmin = 10000.0; // armazena o valor mínimo detectado ተንሳፈፈ Vmed = 0.0; // armazena o valor médio entre Vmáx e Vmín

የምንጭ ኮድ - ማዋቀር ()

በ 1 ሜጋ ባይት ላይ ተከታታይ ወደብ ይጀምሩ። የኤዲ ወደብን እንደ ግብዓት አስተካክለን መረጃ መሰብሰብ ከመጀመራችን በፊት 5 ሰከንዶች ጠበቅን። የመጠባበቂያ ጊዜ እንደ አማራጭ ነው።

ባዶነት ማዋቀር () {Serial.begin (1000000); // inicia a porta serial em 1Mbps pinMode (leituraTensao, INPUT); // ajusta a porta do AD como entrada መዘግየት (5000); // aguarda 5s antes de iniciar a coleta. (አሳቢ)}

የምንጭ ኮድ - ሉፕ () - የመረጃ አሰባሰብ ተለዋጮችን ይጀምራል

በ Loop ውስጥ ፣ ለመድገም ተለዋዋጭ አለን። እዚህ ፣ እኛ ደግሞ የ AD ን ንባብ በ 0.0 ውስጥ እናከማቸዋለን እና ተለዋዋጭ VRMS ን በ 0.0 ደግሞ እንደገና እናስጀምራለን።

ባዶነት loop () {int i = 0; // variável para iteração float leitura = 0.0; // armazena እንደ leituras AD Vrms = 0.0; // reinicia a variável Vrms

የምንጭ ኮድ - ለእያንዳንዱ ናሙና የግለሰብ ስሌቶችን ይይዛል እና ያስፈጽማል

በዚህ ደረጃ ፣ እኔ ከናሙናው ያነሰ ከሆነ ፣ የናሙናዎችን ቁጥር እስክደርስ ድረስ የናሙና ዑደት እንጀምራለን። አናሎግ አንብብ የአናሎግ ወደብን ለማንበብ እና የተነበቡትን የቮልቴጅዎች ካሬዎች ድምር ለማስላት። በመጨረሻም ተደጋጋሚውን እንጨምራለን።

ሳለ (i <amostras) {// inicia um ciclo de amostragem até que i alcance o número de amostras leitura = analogRead (leituraTensao); // lê a porta analógica //Serial.println(leitura); // Descomente se quiser ver o sinal bruto do AD Vrms = Vrms + pow (((leitura * fatorAD) - offSet) ፣ 2.0); // አንድ ሶማ dos quadrados das tensões lidas i ++; // ጭማሪ o iterador}

የምንጭ ኮድ - የናሙናዎቹ አጠቃላይ ስሌቶች እና ከፍተኛ ፣ ዝቅተኛ እና አማካይ መለየት

የቮልቴጅዎችን ትክክለኛ ዋጋ ለመወሰን የማባዛት እውነታውን እንተገብራለን። እሴቱ ከፍተኛ ወይም ዝቅተኛ መሆኑን እናውቃለን ፣ እና የአሁኑን ከፍተኛውን እና ዝቅተኛ እሴቶችን አማካይ እናሰላለን።

// Aplicando fator de multiplicação para determinar o valor real das tensões Vrms = (sqrt (Vrms /amostras)) * fatorMultiplicacao; // detecta se é um valor é máximo (Vrms> Vmax) {Vmax = Vrms; } // detecta se é um valor mínimo (Vrms <Vmin) {Vmin = Vrms; } // ያሰሉ አንድ média dos valores máximo e mínimo atuais Vmed = (Vmax + Vmin) /2.0;

የምንጭ ኮድ - የውጤት አማራጮች

የውጤት ዋጋውን “ለማሴር” ሶስት አማራጮች አሉን። እንደ CSV ወይም ጄሰን ላሉት ወደ አርዱዲኖ አይዲኢ ተከታታይ ሴራተሪ ቅርጸት አውጥተናል።

// saída formatada para plotter ተከታታይ IDE Arduino Serial.print (Vrms ፣ 3); Serial.print (","); Serial.print (Vmax, 3); Serial.print (","); Serial.print (Vmin, 3); Serial.print (","); Serial.println (Vmed, 3); /* // saída formatada como json Serial.print ("{" instante (ms) ":"); Serial.print (ሚሊስ ()); Serial.print (","); Serial.print ("\" Vrms (V) ":"); Serial.print (Vrms, 3); Serial.print (","); Serial.print ("\" Vmax (V) ":"); Serial.print (Vmax, 3); Serial.print (","); Serial.print ("\" Vmin (V) ":"); Serial.print (Vmin, 3); Serial.print (","); Serial.print ("\" Vmed (V) ":"); Serial.print (Vmed, 3); Serial.println ("}"); * / /* // saída formatada como CSV Serial.print (ሚሊስ ()); Serial.print (","); Serial.print (Vrms, 3); Serial.print (","); Serial.print (Vmax, 3); Serial.print (","); Serial.print (Vmin, 3); Serial.print (","); Serial.println (Vmed, 3); */}

ደረጃ 14 - ፋይሎች

ፋይሎቹን ያውርዱ ፦

ፒዲኤፍ

INO

የሚመከር: