- Potrebné materiály
- Schéma zapojenia
- Merná jednotka
- Výpočtová a zobrazovacia jednotka
- Programovanie Arduina
- Ako merať s väčšou presnosťou?
- Pracovné a testovacie
Ako inžinieri elektroniky sme vždy závislí na meračoch / prístrojoch, ktoré merajú a analyzujú prácu obvodu. Počnúc jednoduchým multimetrom až po komplexné analyzátory kvality energie alebo PDS má všetko svoje vlastné jedinečné aplikácie. Väčšina z týchto meračov je ľahko dostupná a je možné ich kúpiť na základe parametrov, ktoré sa majú merať, a ich presnosti. Niekedy však môžeme skončiť v situácii, keď si potrebujeme vybudovať vlastné merače. Povedzme napríklad, že pracujete na solárnom FV projekte a chcete vypočítať spotrebu energie svojej záťaže, v takýchto scenároch môžeme zostaviť vlastný Wattmeter pomocou jednoduchej platformy mikrokontroléra, ako je Arduino.
Budovanie vlastných meracích prístrojov nielenže znižuje náklady na testovanie, ale dáva nám aj priestor na uľahčenie procesu testovania. Rovnako ako wattmeter zostavený pomocou Arduina je možné ľahko doladiť, aby monitoroval výsledky na Serial monitore a vykreslil graf na Serial plotri alebo pridal SD kartu na automatické zaznamenávanie hodnôt napätia, prúdu a výkonu vo vopred stanovených intervaloch. Znie to zaujímavo, však !? Tak poďme na to…
Potrebné materiály
- Arduino Nano
- LM358 operačný zosilňovač
- 7805 Regulátor napätia
- 16 * 2 LCD displej
- 0,22 ohmový skratový odpor 2 Watt
- 10k vyžínač
- Rezistory 10k, 20k, 2,2k, 1k
- Kondenzátory 0,1uF
- Skúšobné zaťaženie
- Parfémová doska alebo nepájivá doska
- Spájkovacia súprava (voliteľné)
Schéma zapojenia
Kompletná schéma zapojenia projektu arduino wattmetrov je uvedená nižšie.
Pre ľahšie pochopenie je obvod wattmetra arduino rozdelený na dve jednotky. Horná časť obvodu je meracia jednotka a spodná časť obvodu je výpočtová a zobrazovacia jednotka. Pre ľudí, ktorí sú v tomto type obvodov noví, sa riadili štítkami. Príklad + 5V je štítok, čo znamená, že všetky kolíky, ku ktorým je štítok pripojený, by sa mali považovať za spojené dohromady. Štítky sa zvyčajne používajú na to, aby schéma zapojenia vyzerala úhľadne.
Obvod je navrhnutý tak, aby zapadol do systémov pracujúcich medzi 0-24V s prúdovým rozsahom 0-1A, pričom treba pamätať na špecifikáciu solárneho PV. Keď pochopíte fungovanie obvodu, môžete rozsah ľahko predĺžiť. Základným princípom obvodu je meranie napätia v záťaži a prúdu v ňom a výpočtu spotreby energie v ňom. Všetky namerané hodnoty sa zobrazia na 16 * 2 alfanumerickom LCD displeji.
Ďalej rozdeľme obvod na malé segmenty, aby sme získali jasný obraz o tom, ako je obvod funkčne odsadený.
Merná jednotka
Meracia jednotka sa skladá z deliča potenciálu, ktorý nám pomáha merať napätie, a na meranie prúdu v obvode sa používa uzavretý odpor s neinvertujúcim operačným zosilňovačom. Časť potenciálneho rozdeľovača z vyššie uvedeného obvodu je uvedená nižšie
Tu predstavuje vstupné napätie Vcc, ako už bolo povedané, navrhujeme obvod pre rozsah napätia od 0 V do 24 V. Ale mikrokontrolér ako Arduino nedokáže merať také vysoké hodnoty napätia; môže merať napätie iba od 0 do 5 V. Musíme teda zmapovať (previesť) rozsah napätia 0-24V na 0-5V. To sa dá ľahko dosiahnuť použitím potenciálového rozdeľovača, ako je to znázornené nižšie. Rezistor 10k a 2,2k tvoria spolu obvod potenciálového deliča. Výstupné napätie deliča potenciálu je možné vypočítať pomocou nasledujúcich vzorcov. To isté sa používa pri rozhodovaní o hodnote vašich rezistorov. Môžete použiť našu online kalkulačku na výpočet hodnoty odporu, ak plánujete nový obvod.
Vout = (Vin × R2) / (R1 + R2)
Mapovaných 0-5 V je možné získať zo strednej časti, ktorá je označená ako Napätie. Toto mapované napätie sa potom môže neskôr priviesť na analógový pin Arduino.
Ďalej musíme merať prúd cez LOAD. Ako vieme, mikrokontroléry dokážu čítať iba analógové napätie, takže musíme nejako previesť hodnotu prúdu na napätie. To sa dá dosiahnuť jednoduchým pridaním rezistora (bočníkového odporu) do cesty, ktorá podľa Ohmovho zákona na ňu poklesne s hodnotou napätia, ktorá je úmerná prúdu, ktorý cez ňu preteká. Hodnota tohto poklesu napätia bude oveľa menšia, takže na jeho zosilnenie použijeme operačný zosilňovač. Obvod toho istého je uvedený nižšie
Tu je hodnota posunovacieho odporu (SR1) 0,22 ohmov. Ako už bolo povedané, navrhujeme obvod pre 0 - 1 A, takže na základe Ohmovho zákona môžeme vypočítať pokles napätia na tomto rezistore, ktorý bude okolo 0,2 V, keď záťažou prechádza maximálny prúd 1 A. Toto napätie je pre mikrokontrolér veľmi malé na čítanie, na zvýšenie napätia pre čítanie Arduina používame Op-Amp v režime neinvertujúceho zosilňovača na zvýšenie napätia z 0,2 V na vyššiu úroveň.
Operačný zosilňovač v neinvertujúcom režime je zobrazený vyššie. Zosilňovač je navrhnutý tak, aby mal zisk 21, takže 0,2 * 21 = 4,2V. Vzorce na výpočet zosilnenia zosilňovača sú uvedené nižšie. Môžete tiež použiť túto online kalkulačku zosilnenia a získať hodnotu svojho rezistora, ak navrhujete obvod znova.
Zisk = Vout / Vin = 1 + (Rf / Rin)
Tu v našom prípade je hodnota Rf 20k a hodnota Rin je 1k, čo nám dáva obrovskú hodnotu 21. Zosilnené napätie z operačného zosilňovača je potom dané RC filtru s odporom 1k a kondenzátorom 0,1uF na filtrovať všetok šum, ktorý je spojený. Nakoniec sa napätie privedie na analógový pin Arduino.
Poslednou časťou, ktorá v meracej jednotke zostala, je časť regulátora napätia. Pretože dáme variabilné vstupné napätie, na fungovanie Arduina a Op-amp potrebujeme regulovaný + 5 V volt. Toto regulované napätie bude poskytované regulátorom napätia 7805. Na výstup je pridaný kondenzátor na filtrovanie šumu.
Výpočtová a zobrazovacia jednotka
V meracej jednotke sme navrhli obvod na prevod parametrov napätia a prúdu na 0-5 V, ktoré je možné napájať na analógové piny Arduino. Teraz v tejto časti obvodu pripojíme tieto napäťové signály k Arduinu a tiež pripojíme 16 × 2 alfanumerický displej k Arduinu, aby sme si mohli pozrieť výsledky. Obvod toho istého je uvedený nižšie
Ako vidíte, kolík napätia je pripojený k analógovému kolíku A3 a súčasný kolík je pripojený k analógovému kolíku A4. LCD je napájaný z + 5 V z 7805 a je pripojený k digitálnym pinom Arduino pre prácu v 4-bitovom režime. Použili sme tiež potenciometer (10k) pripojený k pinu Con na zmenu kontrastu LCD.
Programovanie Arduina
Teraz, keď dobre rozumieme hardvéru, otvoríme Arduino a začneme programovať. Účelom kódu je prečítať analógové napätie na pinoch A3 a A4 a vypočítať hodnotu napätia, prúdu a výkonu a nakoniec ich zobraziť na obrazovke LCD. Celý program, ktorý robí to isté, je uvedený na konci stránky, ktorý je možné použiť ako taký pre hardvér popísaný vyššie. Ďalej je kód rozdelený na malé úryvky a vysvetlený.
Rovnako ako všetky programy, ktoré začíname, definovaním pinov, ktoré sme použili. Vo výstupnom projekte sa kolíky A3 a A4 používajú na meranie napätia a prúdu a digitálne kolíky 3,4,8,9,10 a 11 sa používajú na prepojenie LCD s Arduino.
int Read_Voltage = A3; int Read_Current = A4; const int rs = 3, en = 4, d4 = 8, d5 = 9, d6 = 10, d7 = 11; // Uveďte číslo kolíka pre pripojenie LCD LiquidCrystal lcd (rs, en, d4, d5, d6, d7);
Zahrnuli sme tiež hlavičkový súbor s názvom tekuté kryštály na prepojenie LCD s Arduino. Potom vo vnútri funkcie nastavenia inicializujeme LCD displej a zobrazíme úvodný text ako „Arduino Wattmeter“ a pred vymazaním počkáme dve sekundy. Kód rovnakého kódu je uvedený nižšie.
void setup () { lcd.begin (16, 2); // Inicializácia 16 * 2 LCD lcd.print ("Arduino wattmeter"); // Úvod Riadok správy 1 lcd.setCursor (0, 1); lcd.print ("- Circuitdigest"); // Úvod oneskorenia riadku správy 2 (2000); lcd.clear (); }
Vo vnútri funkcie hlavnej slučky používame analógovú funkciu čítania na načítanie hodnoty napätia z pinov A3 a A4. Ako vieme, výstupná hodnota Arduino ADC je od 0 do 1203, pretože má 10-bitový ADC. Táto hodnota musí byť potom prevedená na 0-5 V, čo je možné dosiahnuť vynásobením (5/1023). Potom sme skôr v hardvéri zmapovali skutočnú hodnotu napätia od 0-24V do 0-5V a skutočnú hodnotu prúdu od 0-1A do 0-5V. Takže teraz musíme použiť multiplikátor, aby sme vrátili tieto hodnoty späť na skutočnú hodnotu. To sa dá dosiahnuť vynásobením hodnotou multiplikátora. Hodnotu multiplikátora je možné vypočítať teoreticky pomocou vzorcov uvedených v hardvérovej časti, alebo ak máte známy súbor hodnôt napätia a prúdu, môžete ho vypočítať prakticky.Sledoval som druhú možnosť, pretože má tendenciu byť presnejšia v reálnom čase. Takže tu je hodnota multiplikátorov 6,46 a 0,239. Preto kód vyzerá takto
float Voltage_Value = analogRead (Read_Voltage); float Current_Value = analogRead (Read_Current); Voltage_Value = Voltage_Value * (5,0 / 1023,0) * 6,46; Current_Value = Current_Value * (5,0 / 1023,0) * 0,239;
Ako merať s väčšou presnosťou?
Vyššie uvedený spôsob výpočtu hodnoty skutočného napätia a prúdu bude fungovať v poriadku. Má však jednu nevýhodu, to znamená, že vzťah medzi nameraným napätím ADC a skutočným napätím nebude lineárny, a preto jediný multiplikátor neposkytne veľmi presné výsledky, to isté platí aj pre prúd.
Aby sme zlepšili presnosť, môžeme vykresliť množinu nameraných hodnôt ADC so skutočnými hodnotami pomocou známej množiny hodnôt a potom tieto údaje použiť na vykreslenie grafu a odvodenie multiplikačnej rovnice pomocou metódy lineárnej regresie. Môžete odkázať meter Arduino dB, pri ktorom som použil podobnú metódu.
Nakoniec, akonáhle vypočítame hodnotu skutočného napätia a skutočného prúdu v záťaži, môžeme vypočítať výkon pomocou vzorcov (P = V * I). Potom pomocou kódu nižšie zobrazíme všetky tri hodnoty na LCD displeji.
lcd.setCursor (0, 0); lcd.print ("V ="); lcd.print (Voltage_Value); lcd.print (""); lcd.print ("I ="); lcd.print (Current_Value); float Power_Value = Napäťová_hodnota * aktuálna_hodnota; lcd.setCursor (0, 1); lcd.print ("Napájanie ="); lcd.print (Power_Value);
Pracovné a testovacie
V záujme výučby som použil dosku perf na spájkovanie všetkých komponentov, ako je to znázornené v obvode. Použil som skrutkovaciu svorku Phoenix na pripojenie záťaže a normálny jednosmerný prúd Jack na pripojenie môjho zdroja energie. Doska Arduino Nano a LCD sú namontované na zásuvke Female Bergstik, aby ich bolo možné v prípade potreby neskôr znova použiť.
Po príprave hardvéru nahrajte kód Arduino na svoju dosku Nano. Nastavte trimer tak, aby ste ovládali úroveň kontrastu LCD, až kým neuvidíte jasný úvodný text. Ak chcete dosku otestovať, pripojte záťaž ku konektoru so skrutkovými svorkami a zdroj k konektoru Barrel. Zdrojové napätie by malo byť pre viac ako 6 V, aby tento projekt fungoval, pretože Arduino vyžadovalo na fungovanie + 5 V. AK všetko funguje dobre, mali by ste vidieť hodnotu napätia naprieč záťažou a prúdom cez ňu zobrazenú v prvom riadku LCD a vypočítaný výkon zobrazený v druhom riadku LCD, ako je uvedené nižšie.
Zábavná časť stavby niečoho spočíva v testovaní, aby sa overilo, ako ďaleko to bude fungovať správne. Aby som to urobil, použil som 12V automobilové indikátory ako záťaž a RPS ako zdroj. Pretože samotný RPS dokáže merať a zobrazovať hodnotu prúdu a napätia, bude pre nás ľahké skontrolovať presnosť a výkonnosť nášho obvodu. A áno, použil som aj svoj RPS na kalibráciu svojej multiplikačnej hodnoty, aby som sa priblížil k presnej hodnote.
Celú prácu nájdete na videu na konci tejto stránky. Dúfam, že ste pochopili okruh a program a naučili ste sa niečo užitočné. Ak máte problém s uvedením do práce, uverejnite ho v sekcii komentárov nižšie alebo pošlite ďalšiu technickú pomoc na naše fóra.
Tento projekt Wattmetra založený na Arduine má mnoho ďalších upgradov, ktoré je možné pridať na zvýšenie výkonu pri automatickom zaznamenávaní údajov, vykresľovaní grafov, upozorňovaní na napätie alebo na aktuálne situácie atď. Takže zostaňte zvedaví a dajte mi vedieť, na čo by ste to použili.