Sadržaj:
- Korak 1: Potrebne komponente
- Korak 2: Shematski dijagram
- Korak 3: Razumijevanje kruga
- Korak 4: Izračun frekvencije i napona
- Korak 5: Arduino kod
- Korak 6: Zaključak
Video: Mjerenje frekvencije i napona napajanja pomoću Arduina: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
Uvod:
Cilj ovog projekta je mjerenje opskrbne frekvencije i napona, koji je ovdje u Indiji između 220 do 240 volti i 50Hz. Koristio sam Arduino za hvatanje signala i izračunavanje frekvencije i napona, možete koristiti bilo koji drugi mikrokontroler ili ploču koju imate. Krug zahtijeva pregršt komponenti i prilično je točan za sve praktične svrhe.
Korak 1: Potrebne komponente
- Arduino Uno
- IC LM358
- Silazni transformator (220V do 12V)
-
Kondenzatori:
- 0,1 uF
- 2 x 1 uF
-
Otpornici:
- 3 x 1 kOhm
- 2 x 100 kOhm
- 1,5 kOhm
- 3,3 kOhm
- 6,8 kOhm
- 3 x 1N4148 dioda
- Daska za kruh i žica za spajanje (izborno)
Korak 2: Shematski dijagram
U gornjem krugu primarni transformator spojen je na opskrbnu mrežu, a primarni je spojen na naš mjerni krug
Korak 3: Razumijevanje kruga
Prema funkcionalnosti, ovaj se krug može podijeliti na četiri dijela:
O: Krug detektora nultog prelaska
Ovaj krug generira kvadratni impuls od 5 V kad god sinusni val pređe iz pozitivnog u negativan. Otpornik R1 u kombinaciji s D1 i D2 ograničava njihanje ulaznog napona na spoju dioda na -0,6 V do +5,6 V (pod pretpostavkom da je napon diode naprijed 0,6 V). Nadalje, možete povećati raspon ulaznog napona kruga povećanjem vrijednosti R1.
Otpornici R2 i R3 tvore razdjelnik napona kako bi ograničili zamah negativnog napona na -0,24 V, jer je ulazni zajednički mod LM358 ograničen na -0,3 V.
Otpornik R4, R5, kondenzator C1 i op-pojačalo (ovdje se koristi za usporedbu) tvore Schmittov sklop okidača gdje otpornici R4 i R5 postavljaju histerezu na ulaz +49,5 mV iznad zemlje. Izlaz Schmittovog okidača šalje se na Arduino PIN2 radi daljnje obrade.
B: Izolacija i napon korak dolje
Kao što naziv govori, ovaj dio izolira i smanjuje napon na približno 12Vrms. Sniženi napon dalje se dovodi u krug instrumentacije.
C: Krug detektora vršnih vrijednosti
Ovaj krug određuje maksimalni vršni napon ulaznog signala. Otpornički razdjelnik R6 i R7 smanjuju ulazni napon za faktor 0,23 (12Vrms se smanjuje na 2.76Vrms). Dioda D3 provodi samo pozitivni poluciklus signala. Napon na C2 raste do vršne vrijednosti ispravljenog signala, koji se dovodi na Arduino analogni pin A0 radi daljnjeg izračunavanja napona.
Osim toga, ovaj krug možete zamijeniti krugom preciznog detektora vrha poput ovih koji su ovdje spomenuti. Ali za moje demonstracijske svrhe gornji krug bit će dovoljan.
D: Arduino
U ovom dijelu, Arduino snima kvadratne impulse generirane Schmittovim okidačkim krugom i čita analogni napon iz kruga detektora vrha. Podaci se dalje obrađuju kako bi se odredilo vremensko razdoblje (dakle frekvencija) kvadratnog impulsa (koji je jednak osobi s izmjeničnom strujom) i napon napajanja.
Korak 4: Izračun frekvencije i napona
Izračun frekvencije:
Uz pomoć Arduina možemo izmjeriti vremensko razdoblje T signala. Kvadratni valni impulsi iz detektora prelaska nule dovode se na pin 2, odatle možemo mjeriti vremensko razdoblje svakog impulsa. Možemo koristiti Arduino unutarnji mjerač vremena (posebno Timer1) za izračunavanje vremenskog razdoblja između dva rastuća ruba kvadratnog impulsa uz pomoć prekida. Odbrojavanje se povećava za 1 po ciklusu takta (bez predmjerača = 1), a vrijednost se pohranjuje u registar TCNT1. Stoga sat od 16 Mhz povećava brojač za 16 svake mikrosekunde. Slično za predskaler = 8, mjerač se povećava za 2 svake mikrosekunde. Otuda i vremensko razdoblje između dva rastuća ruba
T = (vrijednost TCNT1) / vrijeme potrebno za svako brojanje
Gdje, vrijeme potrebno za svaki broj = predskaler / (Arduino takta (16MHz)
Dakle, frekvencija f = 1 / T = (Arduino brzina takta (16MHz) / (predskaler * vrijednost TCNT!))
Stoga je brzina timera (Hz) dana = (Arduino brzina takta (16MHz)) / predmjer
a frekvencija signala je dana = (Arduino brzina takta
U skladu s tim, možemo izračunati frekvenciju f iz relacije f = 1/T.
Proračun napona:
Ugrađeni ADC Arduina ima rezoluciju od 10 bita (moguće vrijednosti = 2^10 = 1024), vraćajući vrijednosti u rasponu od 0-1023. Za izračun odgovarajućeg analognog napona V moramo upotrijebiti sljedeću relaciju
V = (čitanje ADC -a) * 5/1023
Za izračun napona napajanja Vs (rms) moramo uzeti u obzir omjer transformatora, otpornički razdjelnik R6R7 i krug detektora vrha. Možemo jednostavno sastaviti različite faktore/omjere kao:
Omjer transformatora = 12/230 = 0,052
Razdjelnik otpornika = R7/(R6 + R7) = 0,23
Na vrhu kruga detektora = 1.414
Vs (rms) = V/(1.414*0.052*0.23) = (očitanje ADC -a)*0.289
Valja napomenuti da je ova vrijednost daleko od stvarne vrijednosti, uglavnom zbog greške u stvarnom omjeru transformatora i pada napona diode naprijed. Jedan od načina da se to zaobiđe je utvrđivanje faktora nakon sastavljanja kruga. To je mjerenjem napona napajanja i napona na kondenzatoru C2 odvojeno multimetrom, a zatim izračunavanjem Vs (rms) na sljedeći način:
Vs (rms) = ((Napon napajanja *5)/(Napon na C2 *1023)) *(Očitavanje ADC -a)
u mom slučaju, Vs (rms) = 0,33*(očitanje ADC -a)
Korak 5: Arduino kod
#define volt_in A0 // pin za čitanje analognog napona
hlapljivo uint16_t t_period; uint16_t ADC_value = 0; plovak volt, frekvencija; void isr () {t_period = TCNT1; // pohraniti vrijednost TCNT1 u t_period TCNT1 = 0; // reset Timer1 ADC_value = analogRead (volt_in); // čitanje analognog napona} float get_freq () {uint16_t timer = t_period; if (timer == 0) vrati 0; // kako bi se izbjeglo dijeljenje s nulom else return 16000000.0/(8UL*timer); // frekvencija je dana f = clk_freq/(prescaler*timeperiod)} void setup () {TCCR1A = 0; TCCR1B = bit (CS11); // namjestite predskaler na 8 TCNT1 = 0; // poništavanje vrijednosti Timer1 TIMSK1 = bit (TOIE1); // omogući Timer1 preljevni prekid EIFR | = bit (INTF0); // brisanje zastavice prekida INT0 Serial.begin (9600); } void loop () {attachInterrupt (0, isr, RISING); // omogućuju kašnjenje vanjskog prekida (INT0) (1000); detachInterrupt (0); freq = get_freq (); volt = ADC_vrijednost*0,33; Gudački buf; buf += niz (frekvencija, 3); buf += F ("Hz / t"); buf += niz (volt); buf += F ("Volti"); Serijski.println (buf); }
Korak 6: Zaključak
Krug možete sastaviti u ploču s opcijama i prilagoditi kôd te dodati SD karticu za spremanje podataka, koji se kasnije mogu analizirati. Jedan takav primjer je da možete analizirati napon i frekvenciju u satima najveće potrošnje.
Krug koji sam sastavio na ploči koristio je LM324 (quad opamp) umjesto LM358 (dual opamp) jer u tom trenutku nisam imao taj IC, a zaključavanje u cijeloj zemlji zbog pandemije COVID-19 otežalo mi je dobivanje novog IC-a. Ipak, to ne bi utjecalo na rad kruga.
Za sve prijedloge i upite slobodno komentirajte u nastavku.
Preporučeni:
Mjerenje istosmjernog napona pomoću Arduina: 5 koraka
Mjerenje istosmjernog napona pomoću Arduina: U ovom projektu pokazat ću vam kako mjeriti istosmjerni napon do 50v pomoću arduina i i prikazati na OLED zaslonu dio modula treba arduino UNOoled zaslon 10k ohm otpornik1k ohm otpornik kabel
Krug napajanja promjenjivog napona pomoću IRFZ44N Mosfeta: 5 koraka
Krug napajanja promjenjivim naponom pomoću IRFZ44N Mosfet: Zdravo prijatelju, Danas ću napraviti napajanje promjenjivog napona pomoću mosfet IRFZ44N.U različitim krugovima za rad kola potrebni su različiti naponi. Tako da pomoću ovog kruga možemo dobiti željene napone (do -15V). Počnimo
Regulator napona na matičnoj ploči s zaslonom / regulatorom napona Com Display za placa de ensaio: 8 koraka
Regulator napona na ploči s zaslonom / Regulator napona Com zaslon Para Placa De Ensaio: Nabavite potrebne komponente koje se nalaze na priloženom popisu (postoje veze za kupnju ili pregled njihovih karakteristika). lá os links para poderem comprar ou ver as caracteristicas d
Mjerenje napona pomoću Arduina: 5 koraka
Mjerenje napona pomoću Arduina: Mjerenje napona prilično je jednostavno pomoću bilo kojeg mikrokontrolera u usporedbi s mjerenjem struje. Mjerenje napona postaje neophodno ako radite s baterijama ili želite sami izraditi podesivo napajanje. Iako se ova metoda primjenjuje
Promjena izlaznog napona jeftinog izvora napajanja: 3 koraka
Promjena izlaznog napona jeftinog izvora napajanja: Ove upute pokazuju kako promijeniti dijelove unutar malog izvora napajanja kako bi se izlazni napon prilagodio vašim potrebama. Za DIY projekt trebao mi je stabilizirani napon od točno 7V dc i oko 100 mA. Gledajući svoju kolekciju dijelova pronašao sam s