Satura rādītājs:
- 1. solis: demonstrācija
- 2. darbība. Izmantotie resursi
- 3. darbība: bloka diagramma
- 4. solis: shēma
- 5. darbība: LM386 - piespraušana
- 6. darbība: AmpOp - diferenciālis (atņemšana)
- 7. solis: AmpOp - invertora papildinātājs
- 8. solis: Maple Mini - Pinage
- 9. darbība. Kļavas mini - piespraušana - a / D, ko izmanto uzņemšanā
- 10. solis: montāža
- 11. darbība. Grafiks ar iegūtajiem datiem
- 12. solis: RMS vērtības aprēķināšana
- 13. darbība. Avota kods
- 14. darbība: faili
Video: True-RMS maiņstrāvas sprieguma mērīšana: 14 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Šodien mēs izmantosim STM32 Maple Mini, lai veiktu maiņstrāvas lasīšanu. Mūsu piemērā mēs iegūsim elektrotīkla RMS vērtību. Tas ir ļoti noderīgi tiem, kas vēlas uzraudzīt lietisko interneta elektrisko tīklu. Pēc tam mēs izveidosim lietojumprogrammu, izmantojot Maple Mini skaitļošanas jaudu, pielietosim elektronisko shēmu, kas ļaus iegūt 127 Vac signālu, kā arī piemērosim vidējā kvadrāta (RMS) aprēķinu paraugiem.
1. solis: demonstrācija
Šodien mūsu montāžā papildus analogajai shēmai ir ieeja 110. Lai izvairītos no triecieniem, izolējiet pretestību, kas ieiet par 110.
Ķēde ir diezgan jutīga. Es saņemos ar 110, bet es to samazinu 168 reizes, izmantojot sprieguma dalītāju, un ievietoju to operatīvajā pastiprinātājā, kuram ir vairākas funkcijas.
Mums ir arī daži papildu kondensatori avota filtrēšanai. Ja avots ir kvalitatīvs, jums tas nav jāizmanto.
AD ievade tiek aprēķināta, izmantojot osciloskopu, kurā redzat sinusoīdu, kas nav 110 (bet tas ir labi izveidots). Vēl viena lieta ir tāda, ka mūsu elektrotīkla spriegums nav 110 (tas faktiski ir 127 volti). Bet, tā kā mums tiek veikts stabilizators, tas pielāgosies 115 V.
Sērijas monitorā parādītā vērtība ir tā, kas tiek aprēķināta RMS, tas ir, Fluke Meter identificētā vērtība.
2. darbība. Izmantotie resursi
• Džemperi
• Kļavu mini
• Protoboard
• LM386 pastiprinātājs
• Simetrisks avots (+ 5V un -5V)
• 10k daudzgriezienu trimpots (vai potenciometrs)
• Četri kondensatori no 100nF poliestera
• Trīs 10k rezistori
• Četri 470k rezistori
• Viens 5k6 rezistors
• Viena 1n4728A zener diode
3. darbība: bloka diagramma
4. solis: shēma
Šī ir shēma, kuru es izstrādāju, pamatojoties uz specifikācijām, kuras, manuprāt, ir vislabākās šim mērījumam, taču ir vairāki citi piemēri, kurus var atrast internetā.
5. darbība: LM386 - piespraušana
LM386 ir divi pastiprinātāji kondicionēšanai vai signāla pastiprināšanai.
6. darbība: AmpOp - diferenciālis (atņemšana)
7. solis: AmpOp - invertora papildinātājs
8. solis: Maple Mini - Pinage
Tapas atzīmētas uz:
Sarkans >> 3V3 tolerants
Zaļš >> 5V tolerants
9. darbība. Kļavas mini - piespraušana - a / D, ko izmanto uzņemšanā
Šeit es uzsveru, ka es izmantoju tapu D11, kas (STMicroelectronics nomenklatūrā) ir PA0.
10. solis: montāža
Mūsu shēmai jums būs nepieciešams simetrisks avots, piemēram, tas, kuru mēs izveidojām šim projektam. Pretējā gadījumā jums būs nepieciešami divi avoti.
11. darbība. Grafiks ar iegūtajiem datiem
12. solis: RMS vērtības aprēķināšana
13. darbība. Avota kods
Avota kods - definīcijas un konstantes
Sākumā tapas nolasījumu definējām kā D11, kā arī dažādās aprēķinos izmantotās konstantes.
#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
Avota kods - globālie mainīgie
Tagad mēs definējam dažus globālos mainīgos.
pludiņš Vrms = 0,0; // armazena o valor rms da tensãofloat Vmax = 0,0; // armazena o valor máximo detectado float Vmin = 10000,0; // armazena o valor mínimo detectado float Vmed = 0.0; // armazena o valor médio entre Vmáx e Vmín
Avota kods - iestatīšana ()
Sāciet seriālo portu ar ātrumu 1 Mb / s. Mēs pielāgojām AD portu kā ievadi un gaidījām 5 sekundes, pirms sākām vākt datus. Gaidīšanas laiks nav obligāts.
void setup () {Serial.begin (1000000); // inicia a a porta serial em 1Mbps pinMode (leituraTensao, INPUT); // ajusta a porta do AD como entrada delay (5000); // aguarda 5s antes de iniciar a coleta. (pēc izvēles)}
Avota kods - cilpa () - sāk datu vākšanas mainīgos
Ciklā mums ir iterācijas mainīgais. Šeit mēs arī saglabājam AD rādījumus 0.0 un restartējam mainīgo VRMS arī 0.0.
tukša cilpa () {int i = 0; // variável para iteração float leitura = 0.0; // armazena as leituras do AD Vrms = 0.0; // reinicia a variável Vrms
Avota kods - uztver un izpilda katra parauga individuālos aprēķinus
Šajā posmā, ja i ir mazāks par paraugu, mēs sākam izlases ciklu, līdz i sasniedz paraugu skaitu. Mēs palaižam analogRead, lai nolasītu analogo portu un aprēķinātu nolasīto spriegumu kvadrātu summu. Visbeidzot, mēs palielinām iteratoru.
while (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); // calcula a soma dos quadrados das tensões lidas i ++; // iterador pieaugums}
Avota kods - vispārīgi paraugu aprēķini un maksimālā, minimālā un vidējā noteikšana
Mēs izmantojam reizināšanas faktu, lai noteiktu spriegumu faktisko vērtību. Mēs atklājam, vai vērtība ir maksimālā vai minimālā, un aprēķinām vidējo pašreizējo maksimālo un minimālo vērtību.
// Aplicando fator de multiplicação para determinar o valor real das tensões Vrms = (sqrt (Vrms /amostras)) * fatorMultiplicacao; // detektēt se é um valor é máximo if (Vrms> Vmax) {Vmax = Vrms; } // detektēt se é um valor mínimo if (Vrms <Vmin) {Vmin = Vrms; } // calcula a média dos valores máximo e mínimo atuais Vmed = (Vmax + Vmin) /2.0;
Avota kods - izvades opcijas
Mums ir trīs iespējas, kā "uzzīmēt" izvades vērtību. Mums ir izeja, kas formatēta Arduino IDE sērijas ploterim, piemēram, CSV vai Jason.
// saída formatada para ploter serial IDE Arduino Serial.print (Vrms, 3); Serial.print (","); Sērijas nospiedums (Vmax, 3); Serial.print (","); Sērijas nospiedums (Vmin, 3); Serial.print (","); Sērijas.println (Vmed, 3); /* // saída formatada como json Serial.print ("{" instante (ms) ":"); Sērijas nospiedums (milis ()); Serial.print (","); Serial.print ("\" Vrms (V) ":"); Sērijas nospiedums (Vrms, 3); Serial.print (","); Serial.print ("\" Vmax (V) ":"); Sērijas nospiedums (Vmax, 3); Serial.print (","); Serial.print ("\" Vmin (V) ":"); Sērijas nospiedums (Vmin, 3); Serial.print (","); Serial.print ("\" Vmed (V) ":"); Sērijas nospiedums (Vmed, 3); Serial.println ("}"); * / /* // šāds formāts: CSV Serial.print (milis ()); Serial.print (","); Sērijas nospiedums (Vrms, 3); Serial.print (","); Sērijas nospiedums (Vmax, 3); Serial.print (","); Sērijas nospiedums (Vmin, 3); Serial.print (","); Sērijas.println (Vmed, 3); */}
14. darbība: faili
Lejupielādējiet failus:
ES NĒ
Ieteicams:
Barošanas avota frekvences un sprieguma mērīšana, izmantojot Arduino: 6 soļi
Barošanas avota frekvences un sprieguma mērīšana, izmantojot Arduino: Ievads: Šī projekta mērķis ir izmērīt barošanas frekvenci un spriegumu, kas šeit, Indijā, ir no 220 līdz 240 voltiem un 50 Hz. Es izmantoju Arduino signāla uztveršanai un frekvences un sprieguma aprēķināšanai, jūs varat izmantot jebkuru citu mikrokontūru
DC - līdzstrāvas sprieguma pazemināšanas slēdža režīms Buck sprieguma pārveidotājs (LM2576/LM2596): 4 soļi
DC-līdzstrāvas sprieguma pazemināšanas slēdža režīms Buck sprieguma pārveidotājs (LM2576/LM2596): ļoti efektīva buks pārveidotāja izgatavošana ir grūts darbs, un pat pieredzējušiem inženieriem ir vajadzīgi vairāki dizaini, lai tie nonāktu pie pareizā. ir līdzstrāvas līdzstrāvas pārveidotājs, kas samazina spriegumu (vienlaikus palielinot
Bezkontakta maiņstrāvas sprieguma detektora shēmas shēma: 6 soļi
Bezkontakta maiņstrāvas sprieguma detektora shēmas shēma: Maiņstrāvas sprieguma identifikatora ķēde ir primārā ķēde, kuras pamatā ir pilnīgi NPN tranzistori, piemēram, BC747, BC548. Ķēde ir atkarīga no 3 atsevišķiem posmiem. Pēc tam trauslajai zīmei tika piešķirta cieta un šī ķēde var vadīt Drove tāpat kā zvans. Šeit es
Regulējams sprieguma līdzstrāvas padeve, izmantojot sprieguma regulatoru LM317: 10 soļi
Regulējams sprieguma līdzstrāvas padeve, izmantojot LM317 sprieguma regulatoru: Šajā projektā esmu izstrādājis vienkāršu regulējama sprieguma līdzstrāvas barošanas avotu, izmantojot LM317 IC ar LM317 barošanas shēmas shēmu. Tā kā šai shēmai ir iebūvēts tilta taisngriezis, lai mēs varētu tieši savienot 220V/110V maiņstrāvas padevi pie ieejas
Maiņstrāvas jaudas faktora mērīšana, izmantojot Arduino: 4 soļi
Kā izmērīt maiņstrāvas jaudas koeficientu, izmantojot Arduino: Sveiki visiem! Šis ir mans trešais pamācības veids, ceru, ka jums tas būs informatīvs :-) Tas būs pamācības, kā veikt pamata jaudas koeficienta mērījumus, izmantojot Arduino. Pirms sākam, ir jāpatur prātā dažas lietas: tas darbosies TIKAI