Obsah:
- Krok 1: Požadované součásti
- Krok 2: Schematický diagram
- Krok 3: Pochopení obvodu
- Krok 4: Výpočet frekvence a napětí
- Krok 5: Arduino kód
- Krok 6: Závěr
Video: Měření frekvence a napětí napájecího zdroje pomocí Arduina: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:19
Ú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 nebo desku, kterou máte. Obvod vyžaduje hrst součástek a je poměrně přesný pro všechny praktické účely.
Krok 1: Požadované součásti
- Arduino Uno
- IC LM358
- Snižte transformátor (220 V na 12V)
-
Kondenzátory:
- 0,1 uF
- 2 x 1 uF
-
Rezistory:
- 3 x 1 kOhm
- 2 x 100 kOhm
- 1,5 kOhm
- 3,3 kOhm
- 6,8 kOhm
- 3 x 1N4148 dioda
- Chlebová deska a propojovací drát (volitelně)
Krok 2: Schematický diagram
Ve výše uvedeném obvodu je primární transformátor připojen k napájecí síti a primární je připojen k našemu měřicímu obvodu
Krok 3: Pochopení obvodu
Podle funkce lze tento obvod rozdělit na čtyři části:
A: Obvod detektoru křížení nuly
Tento obvod generuje 5V čtvercový impuls, kdykoli sinusová vlna přechází z kladného na záporný. Rezistor R1 kombinovaný s D1 a D2 omezuje kolísání vstupního napětí na přechodu diody na -0,6 V až +5,6 V (za předpokladu, že dopředné napětí diody bude 0,6 V). Kromě toho můžete zvýšit rozsah vstupního napětí obvodu zvýšením hodnoty R1.
Rezistor R2 a R3 tvoří dělič napětí, který omezuje kolísání záporného napětí na -0,24Volty, protože vstupní napětí společného režimu LM358 je omezeno na -0,3Voltů.
Rezistor R4, R5, kondenzátor C1 a operační zesilovač (zde používaný jako komparátor) tvoří obvod Schmitt Trigger, kde odpor R4 a R5 nastavuje hysterezi na vstupu +49,5 mV nad zemí. Výstup spouště Schmitt je přiveden na Arduino PIN2 pro další zpracování.
B: Izolace a snížení napětí
Jak název napovídá, tato část izoluje a snižuje napětí na přibližně 12Vrms. Snížené napětí je dále přiváděno do obvodu přístrojového vybavení.
C: Obvod detektoru špiček
Tento obvod určuje maximální špičkové napětí vstupního signálu. Odporový dělič R6 a R7 snižuje vstupní napětí faktorem 0,23 (12Vrms se sníží na 2,76Vrms). Dioda D3 vede pouze kladný poloviční cyklus signálu. Napětí na C2 se zvyšuje až na špičkovou hodnotu usměrněného signálu, který je přiveden na analogový pin A0 Arduino pro další výpočet napětí.
Kromě toho můžete tento obvod nahradit obvodem přesného detektoru špiček, jako jsou zde uvedené. Ale pro mé demonstrační účely bude výše uvedený obvod dostačující.
D: Arduino
V této části Arduino zachycuje čtvercové impulsy generované obvodem Schmitt Trigger a čte analogové napětí z obvodu detektoru špiček. Data jsou dále zpracovávána za účelem určení časové periody (potažmo frekvence) čtvercového impulzu (která se rovná době střídavého napájení) a napětí zdroje.
Krok 4: Výpočet frekvence a napětí
Výpočet frekvence:
Pomocí Arduina můžeme změřit časové období T signálu. Impulzy čtvercové vlny z detektoru křížení nuly jsou přiváděny na pin 2, odtud můžeme měřit časové období každého impulsu. Pomocí interního časovače Arduino (konkrétně Timer1) můžeme pomocí přerušení vypočítat časové období mezi dvěma stoupajícími hranami čtvercového impulzu. Časovač se zvýší o 1 na hodinový cyklus (bez prescaleru = 1) a hodnota se uloží do registru TCNT1. Proto 16Mhz hodiny zvyšují čítač o 16 každou mikrosekundu. Podobně pro prescaler = 8 se časovač zvýší o 2 každou mikrosekundu. Proto časové období mezi dvěma stoupajícími okraji
T = (hodnota TCNT1) / čas potřebný pro každé počítání
Kde, čas potřebný pro každé počítání = prescaler / (taktovací frekvence Arduino (16MHz)
Frekvence f = 1 / T = (taktovací frekvence Arduino (16 MHz) / (hodnota Prescaler * TCNT!)
Rychlost časovače (Hz) je tedy dána = (taktovací frekvence Arduina (16 MHz)) / předzesilovač
a frekvence signálu je dána = (rychlost hodin Arduina
Odpovídajícím způsobem můžeme vypočítat frekvenci f ze vztahu f = 1/T.
Výpočet napětí:
Integrovaný ADC Arduina má rozlišení 10 bitů (možné hodnoty = 2^10 = 1024), vrací hodnoty v rozsahu 0-1023. Pro výpočet odpovídajícího analogového napětí V musíme použít následující vztah
V = (čtení ADC) * 5/1023
Pro výpočet napájecího napětí Vs (rms) musíme vzít v úvahu poměr transformátoru, dělič odporu R6R7 a obvod detektoru špiček. Můžeme jednoduše dát dohromady různé faktory/poměr jako:
Poměr transformátoru = 12/230 = 0,052
Odporový dělič = R7/(R6 + R7) = 0,23
Na obvodu detektoru špiček = 1,414
Vs (rms) = V/(1,414*0,052*0,23) = (čtení ADC)*0,289
Je třeba poznamenat, že tato hodnota je daleko od skutečné hodnoty, hlavně kvůli chybě ve skutečném poměru transformátoru a poklesu dopředného napětí diody. Jedním ze způsobů, jak to obejít, je určit faktor po sestavení obvodu. To je měřením napájecího napětí a napětí na kondenzátoru C2 samostatně multimetrem a následným výpočtem Vs (rms) takto:
Vs (rms) = ((napájecí napětí *5)/(napětí na C2 *1023)) *(čtení ADC)
v mém případě Vs (rms) = 0,33*(čtení ADC)
Krok 5: Arduino kód
#define volt_in A0 // pin pro čtení analogového napětí
volatile uint16_t t_period; uint16_t ADC_value = 0; float volt, freq; void isr () {t_period = TCNT1; // uložení hodnoty TCNT1 do t_období TCNT1 = 0; // reset Timer1 ADC_value = analogRead (volt_in); // číst analogové napětí} float get_freq () {uint16_t timer = t_period; if (timer == 0) return 0; // aby se zabránilo dělení nulou else return 16000000.0/(8UL*timer); // frekvence je dána f = clk_freq/(prescaler*timeperiod)} void setup () {TCCR1A = 0; TCCR1B = bit (CS11); // nastavit prescaler na 8 TCNT1 = 0; // reset hodnoty Timer1 TIMSK1 = bit (TOIE1); // povolit přerušení přetečení Timer1 EIFR | = bit (INTF0); // vymazat příznak přerušení INT0 Serial.begin (9600); } void loop () {attachInterrupt (0, isr, RISING); // povolit zpoždění externího přerušení (INT0) (1000); detachInterrupt (0); freq = get_freq (); volt = ADC_value*0,33; String buf; buf += String (freq, 3); buf += F ("Hz / t"); buf += String (volt); buf += F („Volty“); Serial.println (buf); }
Krok 6: Závěr
Obvod můžete sestavit na prkénko a vyladit kód a přidat SD kartu pro uložení dat, která lze později analyzovat. Jedním z takových příkladů je, že můžete analyzovat napětí a frekvenci ve špičce.
Obvod, který jsem sestavil na prkénku, používal LM324 (čtyřnásobný operační zesilovač) namísto LM358 (duální operační zesilovač), protože jsem v tu chvíli neměl tento IC a celonárodní zablokování kvůli pandemii COVID-19 mi ztěžovalo získání nového integrovaného obvodu. Nemělo by to však ovlivnit fungování obvodu.
Neváhejte komentovat níže jakékoli návrhy a dotazy.
Doporučuje:
Měření srdeční frekvence je na špičce prstu: Fotopletyzmografický přístup k určení srdeční frekvence: 7 kroků
Měření srdeční frekvence je na špičce prstu: Fotopletyzmografický přístup k určení srdeční frekvence: Fotopletyzmograf (PPG) je jednoduchá a levná optická technika, která se často používá k detekci změn objemu krve v mikrovaskulárním lůžku tkáně. Většinou se používá neinvazivně k provádění měření na povrchu kůže, obvykle
Úpravy napájecího zdroje pomocí SMPS: 6 kroků
Úpravy napájecího zdroje pomocí SMPS: Hej dnes v tomto návodu vám ukážu, jak jsem postavil svůj první každý napájecí zdroj. Na internetu je spousta videí o převodu napájecích zdrojů. Několik funkcí tohoto projektu je zvýrazněno na obrázku výše. Nyní, než postavíte
Oživte své mrtvé Pleo RB pomocí upoutaného napájecího zdroje: 5 kroků (s obrázky)
Vzkřísit své mrtvé Pleo RB pomocí Tethered PSU: Vezměte prosím na vědomí, že všechny fotografie pro tento instruktáž byly pořízeny poté, co jsem dokončil úpravy, takže se budete muset pečlivě podívat na součásti, které máte po rozebrání krabice na baterie, a porovnat je s dodanými obrázky zde před úpravou
Obvod napájecího zdroje s proměnným napětím pomocí mosfetu IRFZ44N: 5 kroků
Napájecí obvod s proměnným napětím pomocí IRFZ44N Mosfet: Hii příteli, dnes budu vyrábět napájecí zdroj s proměnným napětím pomocí mosfet IRFZ44N. V různých obvodech potřebujeme k provozu obvodu různá napětí. Takže používáním tohoto obvodu můžeme získat požadovaná napětí (až -15V). Začněme
Změna výstupního napětí levného napájecího zdroje: 3 kroky
Změna výstupního napětí levného napájecího zdroje: Tento návod ukazuje, jak vyměnit součásti uvnitř malého napájecího zdroje, aby bylo možné výstupní napětí přizpůsobit vašim potřebám. Pro DIY projekt jsem potřeboval stabilizované napětí přesně 7V dc a asi 100 mA. Když jsem se rozhlédl po své sbírce dílů, našel jsem