Cuprins:

Modul de măsurare a puterii DIY pentru Arduino: 9 pași (cu imagini)
Modul de măsurare a puterii DIY pentru Arduino: 9 pași (cu imagini)

Video: Modul de măsurare a puterii DIY pentru Arduino: 9 pași (cu imagini)

Video: Modul de măsurare a puterii DIY pentru Arduino: 9 pași (cu imagini)
Video: Ce înseamna semnul tau din nastere 2024, Noiembrie
Anonim
Modul DIY de măsurare a puterii pentru Arduino
Modul DIY de măsurare a puterii pentru Arduino
Modul DIY de măsurare a puterii pentru Arduino
Modul DIY de măsurare a puterii pentru Arduino
Modul DIY de măsurare a puterii pentru Arduino
Modul DIY de măsurare a puterii pentru Arduino

Bună ziua tuturor, sper că vă descurcați grozav! În acest instructiv vă voi arăta cum am făcut acest modul de măsurare a puterii / wattmetru pentru a fi utilizat cu o placă Arduino. Acest contor de putere poate calcula puterea consumată de și încărcarea DC. Împreună cu puterea, acest modul ne poate oferi și citiri exacte ale tensiunii și curentului. Poate măsura cu ușurință tensiuni scăzute (în jur de 2V) și curenți mici, de până la 50 mA, cu o eroare de cel mult 20mA. Precizia depinde de alegerea componentelor pe baza cerințelor dumneavoastră.

Provizii

  • IC LM358 dual OP-AMP
  • Baza IC cu 8 pini
  • Rezistență la șunt (8,6 milliOhms în cazul meu)
  • Rezistoare: 100K, 10K, 2.2K, 1K (1 / 2watt)
  • Condensatoare: 3 * 0.1uF condensatoare ceramice
  • Veroboard sau tablă zero
  • Borne cu șurub
  • Fier de lipit și lipit
  • Arduino Uno sau orice altă placă compatibilă
  • Afișaj OLED
  • Conectarea firelor de pană

Pasul 1: Adunarea componentelor necesare

Adunarea componentelor necesare
Adunarea componentelor necesare

Acest proiect folosește componente foarte simple și ușor de obținut: acestea includ rezistențe, condensatori ceramici, amplificator operațional și un veroboard pentru prototipare.

Alegerea și valoarea componentelor depind de tipul de aplicație și de gama de putere pe care doriți să o măsurați.

Pasul 2: Principiul de lucru

Principiul de lucru
Principiul de lucru
Principiul de lucru
Principiul de lucru
Principiul de lucru
Principiul de lucru
Principiul de lucru
Principiul de lucru

Funcționarea modulului de putere se bazează pe două concepte ale teoriei circuitului și ale electricității de bază: Conceptul divizorului de tensiune pentru măsurarea tensiunii de intrare și Legea lui Ohm pentru a calcula curentul care curge prin circuit. Folosim un rezistor de șunt pentru a crea o cădere de tensiune foarte mică peste el. Această cădere de tensiune este proporțională cu cantitatea de curent care curge prin șunt. Această mică tensiune, atunci când este amplificată de un amplificator operațional, poate fi utilizată ca intrare într-un microcontroler care poate fi programat pentru a ne oferi valoarea curentă. rezistorul R2 și R1. Utilizarea configurației fără inversare ne permite să avem un teren comun ca referință de măsurare. Pentru aceasta, curentul este măsurat pe partea de jos a circuitului. Pentru aplicația mea am ales un câștig de 46 prin utilizarea rezistenței 100K și 2.2K ca rețea de feedback. Măsurarea tensiunii se face utilizând un circuit divizor de tensiune care împarte tensiunea de intrare proporțional cu rețeaua de rezistență utilizată.

Atât valoarea curentului din OP-Amp, cât și valoarea tensiunii din rețeaua divizorului pot fi alimentate în două intrări analogice ale arduino-ului, astfel încât să putem calcula puterea consumată de o sarcină.

Pasul 3: Aducerea pieselor împreună

Reunirea pieselor împreună
Reunirea pieselor împreună
Reunirea pieselor împreună
Reunirea pieselor împreună
Reunirea pieselor împreună
Reunirea pieselor împreună

Să începem construcția modulului nostru de putere decidând poziția bornelor cu șurub pentru conexiunea de intrare și ieșire. După marcarea pozițiilor corespunzătoare, lipim bornele cu șurub și rezistența de șunt în poziție.

Pasul 4: Adăugarea pieselor pentru rețeaua Voltage Sense

Adăugarea pieselor pentru rețeaua Voltage Sense
Adăugarea pieselor pentru rețeaua Voltage Sense
Adăugarea pieselor pentru rețeaua Voltage Sense
Adăugarea pieselor pentru rețeaua Voltage Sense
Adăugarea pieselor pentru rețeaua Voltage Sense
Adăugarea pieselor pentru rețeaua Voltage Sense

Pentru detectarea tensiunii de intrare, folosesc o rețea de divizare a tensiunii de 10K și 1K. Am adăugat, de asemenea, un condensator de 0,1 uF pe rezistorul 1K pentru a netezi tensiunile. Rețeaua de detectare a tensiunii este lipită lângă terminalul de intrare

Pasul 5: Adăugarea pieselor pentru rețeaua Sense Sense curentă

Adăugarea părților pentru rețeaua Sense Sense curentă
Adăugarea părților pentru rețeaua Sense Sense curentă
Adăugarea pieselor pentru rețeaua Sense Sense curentă
Adăugarea pieselor pentru rețeaua Sense Sense curentă
Adăugarea pieselor pentru rețeaua Sense Sense curentă
Adăugarea pieselor pentru rețeaua Sense Sense curentă
Adăugarea pieselor pentru rețeaua Sense Sense curentă
Adăugarea pieselor pentru rețeaua Sense Sense curentă

Curentul este măsurat prin calcularea și amplificarea căderii de tensiune pe rezistența de șunt cu un câștig predefinit stabilit de rețeaua de rezistență. Se utilizează modul de amplificare fără inversare. Este de dorit să păstrați urmele lipite mici, astfel încât să evitați căderea de tensiune nedorită.

Pasul 6: Finalizarea conexiunilor rămase și finalizarea construcției

Finalizarea conexiunilor rămase și finalizarea construcției
Finalizarea conexiunilor rămase și finalizarea construcției
Finalizarea conexiunilor rămase și finalizarea construcției
Finalizarea conexiunilor rămase și finalizarea construcției
Finalizarea conexiunilor rămase și finalizarea construcției
Finalizarea conexiunilor rămase și finalizarea construcției

Cu rețelele de detectare a tensiunii și curentului conectate și lipite, este timpul să lipiți pinii antetului masculin și să faceți conexiunile necesare ale ieșirilor de putere și semnal. Modulul va fi alimentat de tensiunea standard de funcționare de 5 volți pe care o putem obține cu ușurință de pe o placă arduino. Cele două ieșiri de detectare a tensiunii vor fi conectate la intrările analogice ale arduino-ului.

Pasul 7: Conectarea modulului cu Arduino

Conectarea modulului cu Arduino
Conectarea modulului cu Arduino
Conectarea modulului cu Arduino
Conectarea modulului cu Arduino
Conectarea modulului cu Arduino
Conectarea modulului cu Arduino
Conectarea modulului cu Arduino
Conectarea modulului cu Arduino

Cu modulul complet, este în sfârșit momentul să-l conectați cu un Arduino și să-l executați. Pentru a vedea valorile, am folosit un afișaj OLED care folosea protocolul I2C pentru a comunica cu arduino. Parametrii afișați pe ecran sunt Tensiune, Curent și Putere.

Pasul 8: Codul proiectului și diagrama circuitului

Codul proiectului și diagrama circuitului
Codul proiectului și diagrama circuitului

Am atașat schema de circuit și codul modulului de alimentare în acest pas (anterior am atașat fișierul.ino și.txt care conțineau codul, dar o eroare de server a făcut ca codul să fie inaccesibil sau ilizibil pentru utilizatori, așa că am scris întregul cod în acest pas. Știu că nu este o modalitate bună de a partaja codul:(). Simțiți-vă liber să modificați acest cod în funcție de cerințele dvs. Sper că acest proiect v-a fost de ajutor. Vă rugăm să împărtășiți feedback-ul dvs. în comentarii. Bravo!

#include

#include

#include

#include

#define OLED_RESET 4 Afișaj Adafruit_SSD1306 (OLED_RESET);

float val = 0;

curent plutitor = 0;

tensiune de plutire = 0;

putere de plutire = 0;

configurare nulă () {

pinMode (A0, INPUT);

pinMode (A1, INPUT);

display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // inițializați cu I2C addr 0x3C (pentru 128x32) display.display ();

întârziere (2000);

// Ștergeți tamponul.

display.clearDisplay ();

display.setTextSize (1);

display.setCursor (0, 0);

display.setTextColor (ALB);

Serial.begin (9600); // Pentru a vedea valorile pe monitorul serial

}

bucla nulă () {

// luând media pentru citiri stabile

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

curent = curent + analogRead (A0);

tensiune = tensiune + analogRead (A1); }

curent = (curent / 20); curent = curent * 0,0123 * 5,0; // valoarea calibrării, care trebuie modificată în funcție de componentele utilizate

tensiune = (tensiune / 20); tensiune = tensiune * 0,0508 * 5,0; // valoarea calibrării, care trebuie modificată în funcție de componentele utilizate

putere = tensiune * curent;

// imprimarea valorilor pe monitorul serial

Serial.print (tensiune);

Serial.print ("");

Serial.print (curent);

Serial.print ("");

Serial.println (putere);

// imprimarea valorilor pe afișajul OLED

display.setCursor (0, 0);

display.print ("Tensiune:");

display.print (tensiune);

display.println ("V");

display.setCursor (0, 10);

display.print ("Curent:");

display.print (curent);

display.println ("A");

display.setCursor (0, 20);

display.print ("Putere:");

display.print (putere);

display.println ("W");

display.display ();

întârziere (500); // rata de reîmprospătare stabilită de întârziere

display.clearDisplay ();

}

Recomandat: