Obsah:
- Krok 1: Ukázka
- Krok 2: Použité zdroje
- Krok 3: Blokový diagram
- Krok 4: Schéma
- Krok 5: LM386 - Připnutí
- Krok 6: AmpOp - Differential (subtractor)
- Krok 7: AmpOp - Inverter Adder
- Krok 8: Maple Mini - Pinage
- Krok 9: Maple Mini - Pinning - a / D použitý při snímání
- Krok 10: Sestavení
- Krok 11: Graf se získanými daty
- Krok 12: Výpočet hodnoty RMS
- Krok 13: Zdrojový kód
- Krok 14: Soubory
Video: Měření střídavého napětí True-RMS: 14 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Dnes použijeme STM32 Maple Mini k provedení měření AC. V našem příkladu získáme hodnotu RMS energetické sítě. To je velmi užitečné pro ty, kteří chtějí monitorovat elektrickou síť pro internet věcí. Poté vytvoříme aplikaci využívající výpočetní výkon Maple Mini, použijeme elektronický obvod schopný umožnit získání signálu 127 Vac, stejně jako použijeme na vzorky výpočet střední hodnoty odmocniny (RMS).
Krok 1: Ukázka
V naší dnešní sestavě máme kromě analogového obvodu STM32 také vstup 110. Abyste se vyhnuli šokům, izolujte odpor, který vstupuje na 110.
Obvod je docela citlivý. Začínám s 110, ale 168krát to zmenším pomocí děliče napětí a vložím to do operačního zesilovače, který má několik funkcí.
Máme také několik volitelných kondenzátorů pro filtrování zdrojů. Pokud je váš zdroj dobré kvality, nemusíte jej používat.
Vstup AD se počítá pomocí osciloskopu, ve kterém vidíte sinusoidu, která není 110 (ale je dobře tvarovaná). Další věcí je, že napětí v naší elektrické síti není 110 (ve skutečnosti je to 127 voltů). Jak ale procházíme stabilizátorem, upraví se na 115V.
Hodnota zobrazená na sériovém monitoru je vypočtena v RMS, tj. Hodnotě identifikované měřičem Fluke.
Krok 2: Použité zdroje
• Propojky
• Javor Mini
• Protoboard
• Zesilovač LM386
• Symetrický zdroj (+ 5V a -5V)
• 10k víceotáčkový trimpot (nebo potenciometr)
• Čtyři kondenzátory ze 100nF polyesteru
• Tři 10k odpory
• Čtyři 470k odpory
• Jeden odpor 5k6
• Jedna zenerova dioda 1n4728A
Krok 3: Blokový diagram
Krok 4: Schéma
Toto je obvod, který jsem vyvinul na základě specifikací, které považuji za nejlepší pro toto měření, ale existuje několik dalších příkladů, které lze nalézt na internetu.
Krok 5: LM386 - Připnutí
LM386 má dva zesilovače pro úpravu nebo zesílení signálu.
Krok 6: AmpOp - Differential (subtractor)
Krok 7: AmpOp - Inverter Adder
Krok 8: Maple Mini - Pinage
Piny označené na:
Červená >> Tolerantní 3V3
Zelená >> 5V Tolerantní
Krok 9: Maple Mini - Pinning - a / D použitý při snímání
Zde zdůrazňuji, že pin, který jsem použil, je D11, který (v nomenklatuře STMicroelectronics) je PA0.
Krok 10: Sestavení
Pro náš obvod budete potřebovat symetrický zdroj, jako je ten, který jsme vytvořili pro tento projekt. V opačném případě budete potřebovat dva zdroje.
Krok 11: Graf se získanými daty
Krok 12: Výpočet hodnoty RMS
Krok 13: Zdrojový kód
Zdrojový kód - Definice a konstanty
Nejprve jsme definovali čtení pinů jako D11, stejně jako různé konstanty používané ve výpočtech.
#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; // resulta em 1, 027 segundos para cada atualização // const int amostras = 35715; // result em 0, 514 segundos para cada atualização
Zdrojový kód - globální proměnné
Nyní definujeme některé globální proměnné.
float Vrms = 0,0; // armazena o valor rms da tensãofloat Vmax = 0,0; // armazena o valor máximo detectado float Vmin = 10 000,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 - nastavení ()
Spusťte sériový port rychlostí 1 Mb / s. Upravili jsme port AD jako vstup a čekali 5 sekund, než jsme začali sbírat data. Pohotovostní doba je volitelná.
neplatné nastavení () {Serial.begin (10 000 000); // inicia a porta serial em 1Mbps pinMode (leituraTensao, INPUT); // iusta a porta do AD como entrada delay (5000); // aguarda 5s před zahájením colety. (volitelně)}
Zdrojový kód - Smyčka () - Spustí proměnné sběru dat
Ve smyčce máme proměnnou pro iteraci. Zde také ukládáme hodnoty AD v 0,0 a restartujeme proměnnou VRMS také v 0,0.
void loop () {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
Zdrojový kód - Zachycuje a provádí jednotlivé výpočty pro každý vzorek
V této fázi, pokud je i menší než vzorek, zahájíme vzorkovací cyklus, dokud i nedosáhnu počtu vzorků. Spustíme analogRead, abychom přečetli analogový port a vypočetli součet druhých mocnin čtených napětí. Nakonec iterátor zvýšíme.
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); // kalkulace a počet bodů v paměti i ++; // incrementa o iterador}
Zdrojový kód - Obecné výpočty vzorků a identifikace maxima, minima a průměru
Ke zjištění skutečné hodnoty napětí použijeme multiplikační fakt. Zjistíme, zda je hodnota maximální nebo minimální, a vypočítáme průměr aktuálních maximálních a minimálních hodnot.
// Více informací o různých hodnotách Skutečné hodnoty ve 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; } // calcula 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 tři možnosti „vykreslení“výstupní hodnoty. Máme výstup formátovaný do sériového plotru Arduino IDE, jako CSV nebo Jason.
// formát formátu para plotru sériové IDE Arduino Serial.print (Vrms, 3); Serial.print (","); Serial.print (Vmax, 3); Serial.print (","); Serial.print (Vmin, 3); Serial.print (","); Serial.println (Vmed, 3); /* // formátování souboru json Serial.print ("{" instante (ms) ":"); Serial.print (millis ()); 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 ("}"); * / /* // formát formátu CSV Serial.print (millis ()); Serial.print (","); Serial.print (Vrms, 3); Serial.print (","); Serial.print (Vmax, 3); Serial.print (","); Serial.print (Vmin, 3); Serial.print (","); Serial.println (Vmed, 3); */}
Krok 14: Soubory
Stáhnout soubory:
INO
Doporučuje:
Měření frekvence a napětí napájecího zdroje pomocí Arduina: 6 kroků
Měření frekvence a napětí napájecího zdroje pomocí Arduina: Úvod: Cílem tohoto projektu je změřit napájecí frekvenci a napětí, které je zde v Indii mezi 220 až 240 volty a 50 Hz. Pro zachycení signálu a výpočet frekvence a napětí jsem použil Arduino, můžete použít jakýkoli jiný mikrokontrolér
Bezkontaktní schéma obvodu detektoru střídavého napětí: 6 kroků
Bezkontaktní schéma obvodu detektoru střídavého napětí: Obvod identifikátoru střídavého napětí je tranzistor s úplným NPN obvodem, jako BC747, BC548. Obvod je závislý na 3 různých stupních. Poté bylo křehké znamení označeno jako pevné a tento okruh může spustit Drove stejně jako zvon. Tady jsem
Měření stejnosměrného napětí pomocí Arduina: 5 kroků
Měření stejnosměrného napětí pomocí Arduina: V tomto projektu vám ukážu, jak měřit stejnosměrné napětí až do 50 V pomocí arduina a displej na části OLED zobrazovacího modulu potřebuje arduino UNOoled displej 10k ohm odpor 1k ohm odporový propojovací kabel
Použití obvodu k měření napětí digitální brány: 7 kroků
Použití obvodu k měření napětí digitální brány: Digitální obvody obecně používají napájení 5 voltů. Digitální napětí od 5v do 2,7 voltů v řadě TTL (typ digitálního integrovaného čipu) jsou považována za vysoká a mají hodnotu 1. Digitální napětí formuláře 0-0,5 jsou považovány za nízké a mají
Nastavitelné napětí DC napájení pomocí regulátoru napětí LM317: 10 kroků
DC napájecí zdroj s nastavitelným napětím pomocí regulátoru napětí LM317: V tomto projektu jsem navrhl jednoduché stejnosměrné napájení s nastavitelným napětím pomocí IC LM317 IC se schématem napájecího obvodu LM317. Protože tento obvod má vestavěný můstkový usměrňovač, můžeme na vstup přímo připojit napájení 220 V/110 V AC