Obsah:
- Krok 1: Ukážka
- Krok 2: Použité zdroje
- Krok 3: Blokový diagram
- Krok 4: Schéma
- Krok 5: LM386 - Pripnutie
- Krok 6: AmpOp - diferenciál (odčítač)
- Krok 7: AmpOp - sčítač invertora
- Krok 8: Maple Mini - Pinage
- Krok 9: Maple Mini - pripínanie - a / D používané pri snímaní
- Krok 10: Zostavenie
- Krok 11: Graf so získanými údajmi
- Krok 12: Výpočet hodnoty RMS
- Krok 13: Zdrojový kód
- Krok 14: Súbory
Video: Meranie striedavého napätia True-RMS: 14 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Dnes použijeme STM32 Maple Mini na čítanie striedavého prúdu. V našom prípade dostaneme hodnotu RMS elektrickej siete. To je veľmi užitočné pre tých, ktorí chcú monitorovať elektrickú sieť pre internet vecí. Potom vytvoríme aplikáciu s využitím výpočtového výkonu Maple Mini, použijeme elektronický obvod schopný umožniť získanie signálu 127 Vac, ako aj na vzorky použijeme výpočet stredného štvorca (RMS).
Krok 1: Ukážka
V našej dnešnej zostave máme okrem nášho analógového obvodu STM32, ktorý má vstup 110. Aby ste sa vyhli otrasom, izolujte vstupný odpor na 110.
Obvod je dosť citlivý. Dostávam sa k 110, ale 168 -krát ho znížim pomocou deliča napätia a vložím do operačného zosilňovača, ktorý má niekoľko funkcií.
Máme tiež niekoľko voliteľných kondenzátorov na filtrovanie zdrojov. Ak je váš zdroj dobrej kvality, nemusíte ho používať.
Vstup AD sa počíta pomocou osciloskopu, v ktorom vidíte sínusoidu, ktorá nemá 110 (ale je dobre tvarovaná). Ďalšou vecou je, že napätie v našej elektrickej sieti nie je 110 (v skutočnosti je to 127 voltov). Ale keď podstupujeme stabilizátor, upraví sa na 115V.
Hodnota zobrazená na sériovom monitore je vypočítaná v RMS, tj. Hodnota identifikovaná meračom Fluke.
Krok 2: Použité zdroje
• Svetre
• Javor Mini
• Protoboard
• Zosilňovač LM386
• Symetrický zdroj (+ 5V a -5V)
• 10k viacotáčkový trimpot (alebo potenciometer)
• Štyri kondenzátory zo 100nF polyesteru
• Tri 10k odpory
• Štyri odpory 470k
• Jeden odpor 5k6
• Jedna zenerova dióda 1n4728A
Krok 3: Blokový diagram
Krok 4: Schéma
Toto je obvod, ktorý som vyvinul na základe špecifikácií, ktoré sú podľa mňa najlepšie na toto meranie, ale na internete je možné nájsť niekoľko ďalších príkladov.
Krok 5: LM386 - Pripnutie
LM386 má dva zosilňovače na úpravu alebo zosilnenie signálu.
Krok 6: AmpOp - diferenciál (odčítač)
Krok 7: AmpOp - sčítač invertora
Krok 8: Maple Mini - Pinage
Kolíky označené na:
Červená >> 3V3 Tolerantný
Zelená >> 5V Tolerantná
Krok 9: Maple Mini - pripínanie - a / D používané pri snímaní
Tu zdôrazňujem, že kolíkom, ktorý som použil, je D11, ktorý (v nomenklatúre STMicroelectronics) je PA0.
Krok 10: Zostavenie
Pre náš obvod budete potrebovať symetrický zdroj, ako je ten, ktorý sme vytvorili pre tento projekt. V opačnom prípade budete potrebovať dva zdroje.
Krok 11: Graf so získanými údajmi
Krok 12: Výpočet hodnoty RMS
Krok 13: Zdrojový kód
Zdrojový kód - Definície a konštanty
Najprv sme definovali čítanie pinov ako D11, ako aj rôzne konštanty používané vo výpočtoch.
#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 on 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; // poradenstvo 1, 027 segundos para cada atualização // const int amostras = 35715; // result em 0, 514 segundos para cada atualização
Zdrojový kód - Globálne premenné
Teraz definujeme niektoré globálne premenné.
plavák Vrms = 0,0; // armazena o valor rms da tensãofloat Vmax = 0,0; // armazena o valor má maximálnu detekciu 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
Zdrojový kód - nastavenie ()
Spustite sériový port s rýchlosťou 1 Mbps. Port AD sme upravili ako vstup a čakali 5 sekúnd, kým sme začali zbierať údaje. Pohotovostný čas je voliteľný.
neplatné nastavenie () {Serial.begin (10 000 000); // iniciacia a porta serial em 1Mbps pinMode (leituraTensao, INPUT); // ajusta a porta do AD como entrada delay (5000); // aguarda 5s pred inicializáciou a coletou. (voliteľné)}
Zdrojový kód - Slučka () - Spustí premenné zberu údajov
V slučke máme premennú na iteráciu. Tu tiež uložíme hodnoty AD v 0,0 a reštartujeme premennú VRMS tiež v 0,0.
prázdna slučka () {int i = 0; // variável para iteração float leitura = 0,0; // armazena ako leituras do AD Vrms = 0,0; // reinicia a variável Vrms
Zdrojový kód - Zachytáva a vykonáva jednotlivé výpočty pre každú vzorku
V tomto štádiu, ak je i menšie ako vzorka, spustíme vzorkovací cyklus, kým i nedosiahnem počet vzoriek. Spustíme analogRead, aby sa prečítal analógový port a vypočítal sa súčet druhých mocnín načítaných napätí. Nakoniec iterátor zvýšime.
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); // kalkulácia a výpočet všetkých hodnôt i ++; // incrementa o iterador}
Zdrojový kód - Všeobecné výpočty vzoriek a identifikácia maxima, minima a priemeru
Na určenie skutočnej hodnoty napätí použijeme multiplikačný fakt. Zistíme, či je hodnota maximálna alebo minimálna, a vypočítame priemer aktuálnych maximálnych a minimálnych hodnôt.
// Viacnásobné určovanie parametrov alebo hodnota skutočných hodnôt Vrms = (sqrt (Vrms /amostras)) * fatorMultiplicacao; // detecta se é um valor é máximo if (Vrms> Vmax) {Vmax = Vrms; } // detecta se é um valor mínimo if (Vrms <Vmin) {Vmin = Vrms; } // kalkula a média dos valores máximo e mínimo atuais Vmed = (Vmax + Vmin) /2.0;
Zdrojový kód - Možnosti výstupu
Máme tri možnosti „vykreslenia“výstupnej hodnoty. Máme výstup naformátovaný na sériový plotter Arduino IDE, napríklad CSV alebo Jason.
// formát formátu pre plotr sériového IDE Arduino Serial.print (Vrms, 3); Serial.print (","); Sériový tlač (Vmax, 3); Serial.print (","); Serial.print (Vmin, 3); Serial.print (","); Serial.println (Vmed, 3); /* // formátovanie súboru json Serial.print ("{" instante (ms) ":"); Serial.print (millis ()); Serial.print (","); Serial.print ("\" Vrms (V) ":"); Serial.print (Vrms, 3); Serial.print (","); Serial.print ("\" Vmax (V) ":"); Sériový tlač (Vmax, 3); Serial.print (","); Serial.print ("\" Vmin (V) ":"); Serial.print (Vmin, 3); Serial.print (","); Serial.print ("\" Vmed (V) ":"); Serial.print (Vmed, 3); Serial.println ("}"); * / /* // formát formátu CSV Serial.print (millis ()); Serial.print (","); Serial.print (Vrms, 3); Serial.print (","); Sériový tlač (Vmax, 3); Serial.print (","); Serial.print (Vmin, 3); Serial.print (","); Serial.println (Vmed, 3); */}
Krok 14: Súbory
Stiahnite si súbory:
INO
Odporúča:
Meranie frekvencie a napätia napájania pomocou Arduina: 6 krokov
Meranie frekvencie a napätia napájania pomocou Arduina: Úvod: Cieľom tohto projektu je zmerať napájaciu frekvenciu a napätie, ktoré je tu v Indii medzi 220 až 240 voltov a 50 Hz. Na zachytenie signálu a výpočet frekvencie a napätia som použil Arduino, môžete použiť akýkoľvek iný mikrokontrolér
Schéma obvodu bezkontaktného detektora striedavého napätia: 6 krokov
Schéma obvodu bezkontaktného detektora striedavého napätia: Obvod identifikátora striedavého napätia je tranzistor s úplným NPN obvodom ako BC747, BC548. Obvod závisí od 3 rôznych fáz. Potom znak krehkosti dostal pevné znamenie a tento okruh môže spustiť Drove rovnako ako zvon. Tu som
Meranie jednosmerného napätia pomocou Arduina: 5 krokov
Meranie napätia DC pomocou Arduina: V tomto projekte vám ukážem, ako zmerať napätie Dc až do 50 V pomocou arduina a displej na časti OLED zobrazovacieho modulu potrebuje arduino UNOoled displej 10k ohm rezistor 1k ohm rezistor prepojovací kábel
Meranie napätia pomocou Arduina: 5 krokov
Meranie napätia pomocou Arduina: Meranie napätia je v porovnaní s meraním prúdu celkom jednoduché pomocou akéhokoľvek mikrokontroléra. Meranie napätia je nevyhnutné, ak pracujete s batériami alebo si chcete vytvoriť vlastný nastaviteľný zdroj napájania. Aj keď táto metóda platí
Meranie jednosmerného napätia s Arduino a Node-RED: 8 krokov (s obrázkami)
Meranie jednosmerného napätia pomocou Arduina a Node-RED: Existuje veľa návodov na meranie jednosmerného napätia pomocou Arduina, v tomto prípade som našiel návod, ktorý považujem za najlepšiu funkčnú metódu na meranie jednosmerného prúdu bez toho, aby sa vyžadovali vstupné hodnoty odporu, vyžaduje sa iba určitý odpor. a multimeter,