Obsah:

DIY merací modul pre Arduino: 9 krokov (s obrázkami)
DIY merací modul pre Arduino: 9 krokov (s obrázkami)

Video: DIY merací modul pre Arduino: 9 krokov (s obrázkami)

Video: DIY merací modul pre Arduino: 9 krokov (s obrázkami)
Video: Обратноходовой блок питания UC3845. Своими руками. Проектируем блок питания ноутбука! 2024, Júl
Anonim
DIY modul na meranie výkonu pre Arduino
DIY modul na meranie výkonu pre Arduino
DIY modul na meranie výkonu pre Arduino
DIY modul na meranie výkonu pre Arduino
DIY modul na meranie výkonu pre Arduino
DIY modul na meranie výkonu pre Arduino

Zdravím všetkých, dúfam, že sa vám darí skvele! V tomto návode vám ukážem, ako som vyrobil tento modul elektromeru/ wattmetra na použitie s doskou Arduino. Tento merač výkonu môže vypočítať výkon spotrebovaný pri záťaži DC. Okrem výkonu nám tento modul môže poskytovať aj presné údaje o napätí a prúde. Môže ľahko merať nízke napätie (okolo 2 V) a nízke prúdy až do 50 mA s chybou nepresahujúcou 20 mA. Presnosť závisí od výberu komponentov na základe vašich požiadaviek.

Zásoby

  • IC LM358 duálny OP-AMP
  • 8 -pinová IC základňa
  • Posunovací odpor (v mojom prípade 8,6 miliOhmov)
  • Rezistory: 100K, 10K, 2,2K, 1K (1/2watt)
  • Kondenzátory: 3 * 0,1uF keramické kondenzátory
  • Veroboard alebo nultá doska
  • Skrutkové svorky
  • Spájkovačka a spájkovačka
  • Arduino Uno alebo akákoľvek iná kompatibilná doska
  • OLED displej
  • Pripojenie chlebových drôtov

Krok 1: Zhromaždenie požadovaných komponentov

Zhromažďovanie požadovaných komponentov
Zhromažďovanie požadovaných komponentov

Tento projekt používa veľmi jednoduché a ľahko dostupné komponenty: obsahujú rezistory, keramické kondenzátory, operačný zosilňovač a veroboard na prototypovanie.

Výber a hodnota komponentov závisí od typu aplikácie a rozsahu výkonu, ktorý chcete merať.

Krok 2: Pracovný princíp

Pracovný princíp
Pracovný princíp
Pracovný princíp
Pracovný princíp
Pracovný princíp
Pracovný princíp
Pracovný princíp
Pracovný princíp

Fungovanie výkonového modulu je založené na dvoch koncepciách teórie obvodov a základnej elektriny: Koncepcia deliča napätia na meranie vstupného napätia a Ohmov zákon na výpočet prúdu pretekajúceho obvodom. Používame skratovací odpor, aby sme na ňom vytvorili veľmi malý pokles napätia. Tento pokles napätia je úmerný množstvu prúdu pretekajúceho skratom. Toto malé napätie, keď je zosilnené operačným zosilňovačom, môže byť použité ako vstup do mikrokontroléra, ktorý môže byť naprogramovaný tak, aby nám poskytol aktuálnu hodnotu. Operačný zosilňovač sa používa ako neinvertujúci zosilňovač, kde je zisk určený hodnotami spätnej väzby. odpor R2 a R1. Použitie neinvertujúcej konfigurácie nám umožňuje mať ako referenciu merania spoločný základ. Za týmto účelom sa prúd meria na spodnej strane obvodu. Pre svoju aplikáciu som zvolil zosilnenie 46 pomocou 100K a 2,2K rezistora ako siete spätnej väzby. Meranie napätia sa vykonáva pomocou obvodu deliča napätia, ktorý rozdeľuje vstupné napätie úmerne k použitej sieti odporov.

Aktuálnu hodnotu z zosilňovača OP-A a hodnotu napätia z rozdeľovacej siete je možné vložiť do dvoch analógových vstupov arduina, aby sme mohli vypočítať výkon spotrebovaný záťažou.

Krok 3: Spojenie dielov dohromady.

Spojenie dielov dohromady.
Spojenie dielov dohromady.
Spojenie dielov dohromady.
Spojenie dielov dohromady.
Spojenie dielov dohromady.
Spojenie dielov dohromady.

Začnime s konštrukciou nášho výkonového modulu rozhodnutím o polohe skrutkových svoriek pre vstupné a výstupné pripojenie. Po označení príslušných polôh spájkujeme skrutkové svorky a bočníkový odpor na miesto.

Krok 4: Pridanie dielov pre sieť Sense Sense

Pridanie dielov pre sieť Sense Sense
Pridanie dielov pre sieť Sense Sense
Pridanie dielov pre sieť Sense Sense
Pridanie dielov pre sieť Sense Sense
Pridanie dielov pre sieť Sense Sense
Pridanie dielov pre sieť Sense Sense

Na snímanie vstupného napätia používam sieť deliča napätia 10K a 1K. Tiež som pridal kondenzátor 0,1 uF cez odpor 1K na vyhladenie napätí. Sieť snímania napätia je spájkovaná v blízkosti vstupného terminálu

Krok 5: Pridanie častí do siete Current Sense

Pridanie súčiastok pre sieť Current Sense
Pridanie súčiastok pre sieť Current Sense
Pridanie súčiastok pre sieť Current Sense
Pridanie súčiastok pre sieť Current Sense
Pridanie súčiastok pre sieť Current Sense
Pridanie súčiastok pre sieť Current Sense
Pridanie súčiastok pre sieť Current Sense
Pridanie súčiastok pre sieť Current Sense

Prúd sa meria výpočtom a zosilnením poklesu napätia na bočnom odpore s vopred definovaným ziskom nastaveným sieťou rezistorov. Používa sa neinvertujúci režim zosilnenia. Je žiaduce udržiavať stopy spájky malé, aby sa zabránilo nechcenému poklesu napätia.

Krok 6: Dokončenie zostávajúcich pripojení a dokončenie stavby

Dokončenie zostávajúcich pripojení a dokončenie stavby
Dokončenie zostávajúcich pripojení a dokončenie stavby
Dokončenie zostávajúcich pripojení a dokončenie stavby
Dokončenie zostávajúcich pripojení a dokončenie stavby
Dokončenie zostávajúcich pripojení a dokončenie stavby
Dokončenie zostávajúcich pripojení a dokončenie stavby

Keď sú siete na snímanie napätia a prúdu pripojené a spájkované, je čas na spájkovanie kolíkových zástrčiek a vykonať potrebné prepojenia výkonových a signálnych výstupov. Modul bude napájaný štandardným prevádzkovým napätím 5 voltov, ktoré ľahko dostaneme z dosky arduino. Dva výstupy snímania napätia budú pripojené k analógovým vstupom arduina.

Krok 7: Pripojenie modulu k Arduinu

Pripojenie modulu k Arduinu
Pripojenie modulu k Arduinu
Pripojenie modulu k Arduinu
Pripojenie modulu k Arduinu
Pripojenie modulu k Arduinu
Pripojenie modulu k Arduinu
Pripojenie modulu k Arduinu
Pripojenie modulu k Arduinu

Keď je modul kompletný, je načase ho konečne prepojiť s Arduino a spustiť ho. Na zobrazenie hodnôt som použil OLED displej, ktorý na komunikáciu s Arduinom používal protokol I2C. Parametre zobrazené na obrazovke sú napätie, prúd a výkon.

Krok 8: Kód projektu a schéma zapojenia

Kód projektu a schéma zapojenia
Kód projektu a schéma zapojenia

V tomto kroku som pripojil schému zapojenia a kód výkonového modulu (predtým som pripojil súbor.ino a.txt obsahujúci kód, ale kvôli chybe servera bol kód pre používateľov neprístupný alebo nečitateľný, a preto som napísal celý v tomto kroku kód. Viem, že to nie je dobrý spôsob zdieľania kódu:(). Neváhajte a upravte tento kód podľa svojich požiadaviek. Dúfam, že vám tento projekt pomohol. Podeľte sa o svoje pripomienky v komentároch. Na zdravie!

#zahrnúť

#zahrnúť

#zahrnúť

#zahrnúť

#define OLED_RESET 4 displej Adafruit_SSD1306 (OLED_RESET);

float val = 0;

plavákový prúd = 0;

plávajúce napätie = 0;

plavákový výkon = 0;

neplatné nastavenie () {

pinMode (A0, INPUT);

pinMode (A1, VSTUP);

display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // inicializácia s I2C addr 0x3C (pre 128x32) display.display ();

oneskorenie (2000);

// Vymažte vyrovnávaciu pamäť.

display.clearDisplay ();

display.setTextSize (1);

display.setCursor (0, 0);

display.setTextColor (BIELY);

Serial.begin (9600); // Zobrazenie hodnôt na sériovom monitore

}

prázdna slučka () {

// branie priemeru pre stabilné hodnoty

pre (int i = 0; i <20; i ++) {

prúd = prúd + analógové Čítanie (A0);

napätie = napätie + analógové čítanie (A1); }

prúd = (prúd/20); prúd = prúd * 0,0123 * 5,0; // kalibračná hodnota, ktorá sa má zmeniť podľa použitých komponentov

napätie = (napätie/20); napätie = napätie * 0,0508 * 5,0; // kalibračná hodnota, ktorá sa má zmeniť podľa použitých komponentov

výkon = napätie*prúd;

// tlač hodnôt na sériovom monitore

Serial.print (napätie);

Serial.print ("");

Serial.print (aktuálny);

Serial.print ("");

Serial.println (napájanie);

// vytlačenie hodnôt na OLED displeji

display.setCursor (0, 0);

display.print ("Napätie:");

display.print (napätie);

display.println ("V");

display.setCursor (0, 10);

display.print ("Aktuálne:");

display.print (aktuálny);

display.println ("A");

display.setCursor (0, 20);

display.print („Napájanie:“);

display.print (napájanie);

display.println ("W");

display.display ();

oneskorenie (500); // obnovovacia frekvencia nastavená oneskorením

display.clearDisplay ();

}

Odporúča: