Sistem de monitorizare a unei rețele electrice monofazate [310083]

PROIECT DE DIPLOMĂ

Coordonator știintific:

Conf. Univ. Dr. Ing. Florin GROFU

Absolvent: [anonimizat]-Mădălin VITEJANU

UNIVERSITATEA “CONSTANTIN BRÂNCUȘI” [anonimizat], MEDICALE ȘI COMPORTAMENTALE

PROGRAMUL DE STUDII AUTOMATICĂ ȘI INFORMATICĂ APLICATĂ

Sistem de monitorizare a unei rețele electrice monofazate

Coordonator științific:

Conf. Univ. Dr. Ing. Florin GROFU

Absolvent: [anonimizat]-Mădălin VITEJANU

Capitolul I: Introducere

Motivația alegerii temei

Tema lucrării mele de licență se intitulează “Sistem de monitorizare a parametrilor unei circuit electric monofazat” și reprezintă rezultatul dorinței de a utiliza tehnologii moderne de măsurare a parametrilor unui circuit electric.

Motivul alegerii aceste teme se bazează deasemenea pe nevoia continuă de dezvoltare și optimizare a [anonimizat], sisteme utilizate din ce în ce mai pregnant în contextul actual.

[anonimizat], medical și nu numai.

[anonimizat] o [anonimizat].

[anonimizat] o bună funcționare a [anonimizat], pentru a putea observa discordanțele apărute la nivelul principalilor parametrii ce caracterizează funcționarea unui circuit electric.

[anonimizat] ([anonimizat], [anonimizat]), [anonimizat] o [anonimizat].

[anonimizat].

Așadar, îmi propun ca prin această lucrare de licență să realizez un proiect la nivel micro pentru monitorizarea cât mai precisă a factorilor ce influențează în mod direct un circuit electric (curent,tensiune și putere).

[anonimizat], [anonimizat], realizată cu ajutorul unei placi de dezvoltare Arduino Mega și a unui modul compatibil numit Ethernet Shield cu card microSD pentru a stoca datele culese de la senzorii de tensiune (realizat cu ajutorul unui transformator de tensiune 9V) și curent ([anonimizat]).

Folosirea senzorilor realizează eliminarea erorilor ce pot surveni drept urmare a unei interpretări greșite a [anonimizat] a valorilor parametrilor electrici.

Măsurarea. [anonimizat]. Știința ce sta la baza măsurării se numește metrologie. [1]

Măsurarea reprezintă un proces de determinare a valorii unei mărimi, prin care se realizează atribuirea de numere proprietăților obiectelor și fenomenelor din lumea reală, astfel încât să rezulte reprezentări simbolice cu utilitate practică. [2]

Se măsoară proprietăți ale obiectelor și fenomenelor, nu ele în sine.

În fizică, proprietățile obiectelor și fenomenelor poartă denumirea de mărimi fizice, iar numerele asociate acestora, drept rezultat al măsurării diverselor manifestări, se numesc valori sau măsuri.

Măsurarea constă în compararea unei mărimi fizice necunoscute cu o alta de aceeași natură, considerată unitate sau etalon și exprimarea măsurii cu ajutorul raportului stabilit între acestea.

A măsura înseamnă a determina cu instrumente sau cu aparate de măsură, etaloane sau sub alte forme, valoarea unei mărimi (lungime, masă, tensiune electrică, curent electric, etc).

În metrologie, un etalon este o măsură, aparat de măsurat, material de referință, sau sistem de măsurare destinat a defini, realiza, conserva sau reproduce o unitate sau una sau mai multe valori ale unei măsuri pentru a servi ca referință. [3]

În funcție de domeniul de utilizare și nevoile apărute în cadrul procesului de măsurare s-a stabilit o ierarhie a criteriilor și metodelor de măsurare astfel:

Criterii de clasificare a mărimilor de măsurat:

A. După aspectul dimensional-spațial:

a) mărimi scalare

b) mărimi vectoriale

c) mărimi tensoriale

B. După tipul relațiilor empirice care pot fi definite pe mulțimea obiectelor sau fenomenelor cărora le sunt asociate distingem:

a) mărimi reperabile

b) mărimi extensive

c) mărimi intensive

C. După aspectul energetic:

a) mărimi active

b) mărimi pasive

Clasificarea metodelor de măsurare:

A. După modalitatea de realizare a comparației cu unitatea de măsură:

a) Măsurarea directă – constă în compararea nemijlocită a mărimii de măsurat cu unitatea de măsură sau prin evaluarea directă a efectului produs de către mărimea respectivă.

b) Măsurarea indirectă determinată de aplicarea unei formule, în care se introduc valorile altor mărimi obținute prin intermediul măsurării directe.

B. În funcție de modul de variație al măsurandului:

a) măsurări statice

b) măsurări dinamice

c) măsurări statistice

C. După modul de obținere și prezentare a rezultatului măsurării

a) măsurări analogice

b) măsurări numerice (digitale)

D. După destinația măsurării și performanțele obținute

a) măsurări de laborator

b) măsurări industriale

Metodele de măsurare cel mai frecvent utilizate sunt:

1. Metodele de măsurare bazate pe comparația simultană:

comparația 1:1 (metoda diferențială, metoda de zero);

comparația 1:n

Fig 1.1 Metode de măsurare bazate pe comparația simultană

2. Metodele bazate pe comparația succesivă

Etape:

etapa de calibrare sau etalonare

măsurarea propriu-zisă

Fig.1.2 a) etapa de calibrare Fig. 1.2 b) etapa de măsurare propriu-zisă

Fig 1.2 Metode bazate pe comparația succesivă

În ceea ce privește calitatea măsurării și veridicitatea acesteia există diferite grade de precizie, însă, o măsurare ideală nu poate fi pusă în discuție.

Rezultatele măsurării vor fi diferite de valoarea reală sau adevărată a măsurandului, oricât de performante sau perfecționate vor fi aparatele cu care se vor realiza măsurătorile.

Scopul fundamental al oricărei măsurări – determinarea și exprimarea sub formă numerică a valorii mărimii de măsurat – se efectuează cu o anumită eroare (incertitudine).

Abaterea rezultatului măsurării fată de valoarea reală (adevărată) a mărimii de măsurat constituie eroarea de măsurare :

Unde:

– rezultatul măsurării numărului i – valoarea reală a măsurandului

În scopul determinării erorii de măsurare s-a introdus noțiunea de valoare convențională V a măsurandului, aceasta înlocuind valoarea adevărată X. Valoarea convențională se definește ca fiind valoarea determinată prin acele metode ce urmăresc ca aceasta să difere într-o foarte mică măsură în raport cu valoarea reală.

Eroarea de măsurare poate fi exprimată și în mod procentual,astfel:

Punând în balantă costurile și ușurința implementării senzorilor în ansamblul echipamentului electronic ales, compatibilitatea dintre Arduino și senzorii folosiți în proiect, am ales să folosesc dispozitive ce permit afișarea valorilor tensiunii, curentului și a celoralți parametri, în mod rezonabil. [4]

Capitolul II : Curentul electric

Curеntul electric reprezintă deplasarea dirijată a sarcinilor electrice. Există două mărimi fizice care caracterizează un curent electric:

intensitatea curentului electric, numită adesea simplu curent electric, ce caracterizează curentul din punct de vedere global, făcând referință la cantitatea de sarcină electrică care străbate secțiunea prin care trece în unitatea de timp. Unitatea de măsură ce caracterizează curentul electric este reprezentată de amper.

densitatea curentului, este o mărime vectorială asociată fiecărui punct, intensitatea curentului electric fiind calculată ca integrală pe întreaga secțiune a conductorului din densitatea de curent. Se măsoară în amperi pe metru pătrat. [5]

Fig. 2.1 Fulgerul reprezintă o formă de curent electric

Sarcinile electrice în mișcare pot fi purtate între două puncte date, de electroni , ioni sau o combinație a acestora. Curentul electric se produce datorită existenței unei tensiuni electrice între două puncte (între care se deplasează sarcinile) ale unui circuit electric. Tensiunea în cauză poate fi debitată de o sursă de tensiune electrică existentă în circuitul electric folosit.

De asemenea, curentul electric mai poate exista într-un circuit, dacă acesta este închis și este influențat de o tensiune electromotoare (t.e.m.) variabilă, separată galvanic de acesta. Fenomenul este denumit inducție electrică.

Dacă se notează sarcina electrică prin Q timpul cu t și intensitatea curentului electric cu , aceste mărimi sunt legate prin relația:

Folosind mărimi instantanee, putem rescrie formula pentru mărimi variabile în timp,astfel:

Densitatea de curent este definită ca fiind vectorul a cărui mărime este valoarea curentului electric pe suprafața secțiunii transversale. În unități SI, densitatea de curent se măsoară în amperi pe metru pătrat (A/m²).

Unde:

este curentul în conductor, este densitatea de curent și este diferențială a vectorului de secțiune transversală. [5]

2.1 Tipuri și utilizări

Curentul electric este diferit în funcție de echipamentele în cadrul cărora se utilizează, astfel există două tipuri de curent electric folosite preponderent : alternativ, continuu (Fig. 2.2) și pulsatoriu, acesta din urmă având o componentă continuă și una alternativă. Dacă prin același conductor vom face ca de la diferiți generatori independenți să treacă concomitent doi curenți, unul continuu și altul alternativ, în acest conductor vom obține un curent pulsatoriu (Fig. 2.3). [6]

Fig 2.2 Schema electrica de principiu a unui circuit de curent continuu si alternativ

Fig. 2.3 Obținerea unui curent pulsatoriu prin adunarea valorilor curenților continuu și alternativ

În momentul în care mișcarea sarcinilor electrice are loc doar într-un singur sens, este vorba de un curent continuu (generat de exemplu de bateria galvanică sau de dinam).

Cele mai multe echipamente electronice se alimentează tocmai cu curent continuu. Acesta se obține foarte ușor cu ajutorul alimentatoarelor și redresoarelor – direct de la priza electrică de curent alternativ.

Atât echipamentele care sunt surse de curent continuu (Fig. 2.4), cât și echipamentele care sunt alimentate cu un astfel de curent sunt marcate cu simbolul DC.

Fig. 2.4 Inscripția simbolică a curentului continuu

În cazul echipamentelor alimentate cu un curent continuu, este foarte importantă conectarea corectă a polilor negativi și pozitivi, în caz contrar, echipamentul poate fi chiar ireparabil avariat.

Cablurile prin care trece curentul continuu, de obicei, prezintă un marcaj specific – culoarea roșie pentru potențialul pozitiv și neagră pentru cel negativ. Dacă ambele cabluri sunt de culoare neagră, linia întreruptă este considerată cea cu potențial scăzut (negativ). Deseori în alimentatoare se folosește o mufă 2,1/5,5 (Fig. 2.5), a cărei parte exterioară este reprezentată de potențialul negativ, partea interioară fiind reprezentată de potențialul pozitiv.

Fig 2.5 Polarizarea standard în cadrul alimentatoarelor cu mufă 2,1/5,5 mm

Adaptoarele folosite pentru alimentare sunt utilizate de obicei pe o scară largă datorită nevoii majore de obținere a curentului continuu. Acestea sunt utilizate în cadrul fiecărui echipament prevăzut cu circuite integrate. [7]

Deși multe echipamente casnice sunt alimentate de la prize electrice – deci, utilizându-se curent alternativ, în final, acesta este transformat cu ajutorul redresoarelor în curent continuu.

În cazul în care sensul de deplasare al electronilor este alternant în timp, curentul poartă numele de curent alternativ (alternatorul – dispozitiv cu ajutorul căruia se care generează un curent alternativ). Curentul alternativ se folosește în industrie de obicei sub formă sinusoidală, adică intensitatea lui variază ca o funcție sinusoidală (în timp).

Dacă se redresează curentul alternativ se obține un curent continuu cu o intensitate variabilă, care mai poate fi numit pulsatoriu (sau ondulat). Redresarea poate fi realizată prin intermediul tuburilor electronice (diode sau duble diode) sau semiconductorilor (diode semiconductoare, punți semiconductoare redresoare).

Transformarea inversă, pentru a obține curent alternativ din curent continuu, se realizează prin intermediul unor dispozitive electronice (invertoare) și este folosită, de exemplu, pentru alimentarea de la elemente galvanice sau acumulatoare a unor consumatori ce necesită curent alternativ pentru funcționare (lămpi electrice pentru avarii, alimentarea unor aparate electrice de curent alternativ care funcționează cu curent de la acumulatorul de automobil).

De asemenea, din curent alternativ se poate obține curent continuu și cu ajutorul grupurilor de comutare (un motor electric de curent alternativ rotește un dinam, pentru a produce curent continuu care la randul sau alimentează, de exemplu, un aparat de sudură electric).

2.2 Consumatori uzuali, eficiența de consum

Un consumator electric (sarcină de curent) este o componentă electrică sau o porțiune a unui circuit ce are nevoie de a consuma energie electrică. Consumatorii electrici pot fi obiecte electrice cum ar fi: dispozitive, aparate, mașini electrice, utilaje electrice care transformă energia electrică în alte forme de energie, în timpul funcționării lor. Putem considera, în mod mai restrâns faptul că sunt considerați consumatori, numai aceia ce necesită în funcționare curent electric în mod direct de la rețeaua electrică. În contextul aprovizionării cu energie electrică, companiile, firmele și casele private sunt considerate în raport cu furnizorii lor de energie electrică, consumatori electrici.

Un consumator electric este influențat de surse de energie care se opun funcționării acestuia, precum baterii electrice sau generatoare care produc energie. În circuite electrice de putere exemple de sarcini de curent sunt aparatele și corpurile de iluminat. Termenul de consum de energie se poate referi, de asemenea la puterea consumată de un circuit care asigură transportul energiei.

Acest termen se folosește frecvent în electronică pentru un dispozitiv ce se conectează la un semnal sursă, indiferent dacă acesta realizează sau nu un consum de energie electrică. În cazul în care, un circuit electric are un port de ieșire, adică o pereche de terminale, care prezintă un semnal electric extern, circuitul conectat la aceste terminale (sau impedanța sa de intrare) este o sarcină (încărcătură/consumator).

Sarcina afectează performanța circuitelor în ceea ce privește tensiunea lor de ieșire sau curentul, precum întâlnim în cazul senzorilor, surselor de tensiune și amplificatoarelor.

Rețeaua electrică de curent alternativ cu prizele de alimentare electrice oferă în acest sens un exemplu simplu: ele furnizează energie la o tensiune constantă, cu aparatele electrice conectate la circuit în mod colectiv, formând, deci împreună sarcina/încărcătura. Atunci când un aparat de mare putere pornește, aceasta poate provoca reducerea drastică a tensiunii de alimentare generale pentru simplul motiv că acesta micșorează impedanța comună totală prin creșterea de sarcină semnificativă. [8]

Datorită dezvoltărilor tehnologice din ultimele decenii, a dezvoltării și a utilizării de circuite cu dispozitive semiconductoare pentru acționarea și alimentarea electrică a consumatorilor, ponderea consumatorilor industriali și casnici neliniari care funcționează în regim deformant este din ce în ce mai mare.

Numeroase studii recente scot în evidență caracterul neliniar și valoarea ridicată a componentei reactive la: corpurile de iluminat moderne (tuburi fluorescente, LED), sursele de alimentare a calculatoarelor, convertoarele statice de frecvență aferente diverselor acționări. [9]

Eficiența consumului de energie electrică se datorează atât distribuitorilor de energie, cât și consumatorilor.

Operatorul de Distribuție (OD), ca parte implicată în domeniul eficienței energetice, are ca îndatoriri principale să:

asigure un sistem de distribuție sigur, fiabil și eficient;

asigure disponibilitatea tuturor serviciilor de rețea asociate;

definească căile de acces și participare la piața de echilibrare și alte servicii de sistem.

Drept urmare operatorii de rețea vor fi nevoiți să-și asume obligația de a facilita în mod neutru piața de energie, care asigură și promovează o piață funcțională de energie electrică, la nivelul cerințelor de transparentă și fără distorsiuni, printr-o eficiență operațională și energetică adecvată.

Viitoarele provocări ale OD, vor fi cu prioritate implementate :

1. Contorizarea inteligentă;

2. Modernizarea infrastructurii de distribuție în concept de rețea inteligentă;

3. Procese de piață eficiente:

automatizare;

acces rapid la datele din piață;

schimb rapid al furnizorului;

costuri scăzute de tranzacționare.

Datorită acestui fapt, se impune promovarea unor categorii de stimulente corespunzătoare pentru acest tip de investiții, în așa fel încât eficiența energetică și cea operațională să ducă la tarife competitive în piața de energie electrică.

Rețeaua inteligentă sau Smart grid presupune investiții foarte mari pentru OD. Cel puțin la început, beneficiile nu se vor alinia cu costurile pe care investitorul le va implementa. Astfel că Operatorul de Distribuție trebuie să fie stimulat să investească în tehnologie inovatoare și în rețeaua inteligentă.

Pentru acest motiv, OD trebuie să îi fie garantată recuperarea costurilor pentru investițiile lor. În acest context, autoritățile de reglementare facilitează un viitor mai inteligent – acestea trebuie să împuternicească OD pentru a ocupa un rol activ în dezvoltarea de soluții de rețea inteligentă.

Contoarele inteligente – Smart meters trebuie să asigure o comunicare în ambele direcții, adică între utilizator/consumator și furnizorul de servicii/operator de rețea și promovează servicii ce facilitează eficiența energetică (Directiva 2009/72/CE).

Pe de o parte, se oferă clienților informații precise și în timp util cu privire la consumul de energie și de producție, ceea ce le permite să ia măsuri pentru a deveni mai eficienți din punct de vedere energetic. Pe de altă parte, se oferă OD date exacte cu privire la modelele de consum, permițând în acest fel gestionarea și planificarea precisă și eficientă în investițiile în rețea.

În cele mai multe cazuri, sistemele de contorizare inteligente vor fi instalate, deținute și operate de către Operatorul de Distribuție ​​.

Acesta ​​va asigura, în conformitate cu legile în vigoare, în domeniul smart metering și smart grid, o dezvoltare consistentă în domeniul comunicațiilor și tehnologiei informațiilor într-un mod cât mai rentabil.

Aplicarea unui management eficient de rețea, asigurând o implementare armonizată și coordonată a operării infrastructurii din gestiunea operatorilor de distribuție, eliminând costurilor de tranzacție. [10]

2.3 Producerea curentului electric

Energia electrică produsă în natură poate fi regăsită în: trăsnete, fulgere, dar nu poate fi captată pentru utilizarea în diverse procese, aceasta fiind însă produsă prin transformarea diferitelor forme de energie primară, cu ajutorul centralelor electrice.

Centralele electrice sunt formate dintr-un ansamblu de instalații ce au drept țel principal transformarea, cu ajutorul energiei mecanice, a energiei primare (resurse naturale) în energie electrică.

Fig. 2.6 Schema generală a unui ansamblu de producere a energiei electrice

Centralele se pot clasifica în funcție de sursa de energie primară astfel:

Centrale cu combustibili fosili sau nucleari;

Hidrocentrale;

Centrale neconvenționale.

Hidrocentralele reprezintă instalații complexe în care energia hidraulică obținută prin intermediul diferenței de nivel de pe fluxul unui fluviu, respectiv, altei forme de curs de apă (căderilor de ape) naturale sau artificiale este transformată în energie mecanică cu ajutorul turbinelor hidraulice, urmând ca mai apoi în această energie sa se transforme în energie electrică, cu ajutorul generatoarelor de curent electric.

În funcție de puterea produsă, acestea se clasifică în:

hidrocentrale cu o putere instalată de peste 100 kw/h;

microhidrocentrale cu putere instalată cuprinsă între 5 și 100 kw/h;

picohidrocentrale construite pe cursuri mici de ape, acestea nedispunând de baraj și având o putere instalată sub 5 kw/h

Folosirea hidrocentralelor în scopul obținerii energiei electrice prezintă avantaje precum: costul scăzut al energiei electrice, lipsa unei alimentări cu combustibili, personal redus de întreținere și exploatare, lipsa poluării, siguranță în funcționare, randament ridicat.

Dezavantajele sunt legate de dependența față de debitul fluvial, cost inițial ridicat al investiției, efectuarea construcțiilor au o durată mare de timp, necesitatea numărului mare de forță de muncă. Impactul asupra mediului este de asemenea un dezavantaj de luat în calcul, ținând cont că se produc dereglări ale climei, florei, faunei din zona învecinată, datorită modificării regimului precipitațiilor, dispărând specii de plante și animale. Lacurile de acumulare împiedică transportul substanțelor fertile care se depun mai ales în zona gurilor de vărsare a fluviilor, în delte.

Fig. 2.7 Baraj de acumulare

Centrale nuclearo-electrice (CNE)

Principiul de funcționare pentru asemenea centrale, numite și centrale atomoelectrice este asemănător cu cel al centralelor termoelectrice. Se deosebesc de acestea prin faptul că energia termică pentru producerea aburului necesar este obținută cu ajutorul reacțiilor de fisiune nucleară a unor izotopi ai substanțelor radioactive.

Instalația responsabilă pentru asigurarea condițiilor favorabile de obținere și menținere a reacției în lanț este reprezentată de reactorul nuclear. În timpul reacțiilor de fisiune are loc producerea unei cantități însemnate de energie termică, folosită la încălzirea apei și aducerea acesteia în stare de abur, la o temperatură și presiune ridicate.

Aburul este responsabil pentru punerea în mișcare a turbinei termice și astfel obținându-se energia mecanică necesară antrenării generatorului electric.

Energia produsă în CNE este mai ieftină decât cea produsă în centrale termoelectrice, poluarea atmosferei fiind mai redusă, dar construcția unei CNE presupune investiții mari și tehnologii sofisticate. Dezastrele produse însă de către centralele nuclearo-electrice în caz de defecțiuni sunt mult mai dăunătoare mediului înconjurător, în comparație cu cele provocate de centralele ce funcționează cu combustibili convenționali.

În regim de funcționare normală emisiile de substanțe radioactive sunt nesemnificative, pericolul constă însă în eliberarea necontrolată, accidentală de substanțe radioactive.

În România, aproximativ 10% din energia electrică produsă provine din centrale nuclearo-electrice.

Accidentele în exploatare fac din acest tip de centrale unul deosebit de periculos. Reziduurile de combustibil nuclear necesită depozitare în condiții de maximă siguranță, în butoaie sigilate ermetic, pereții buncărelor în care sunt depozitate butoaiele fiind construiți din beton și plăci de plumb.

Fig 2.8 Modul de obținerea energiei electrice în cadrul centralei nuclearo-electrice

Centrale eoliene

Centralele eoliene au nevoie de “fructificarea” maselor de aer în mișcare. Regiunile în care sunt amplasate acestea prezintă vânt puternic și constant. Centralele eoliene sunt formate din pale acționate sub influența vântului, acest lucru premițând asigurarea energiei mecanice necesare generatorului electric. Înclinarea palelor mobile ale turbinelor eoliene se realizează în mod automat în funcție de viteza vântului.

Fig 2.9 Lanțul transformărilor energetice în centrala eoliană

Fig. 2.10 Schema unei turbine eoliene

Centrale solare

Suprafața Pământului primește o cantitate foarte mare de energie solară în fiecare zi.

Din punct de vedere tehnic, există două tipuri de sisteme de conversie a energiei solare:

sistemul termodinamic care realizează transformarea energiei solare în căldură, ce se utilizează mai târziu în funcționarea centralelor electrice clasice. Principiul de funcționare al centralelor electrice termo-solare se bazează pe folosirea un ei turbine alimentate cu aburii rezultați prin fierberea unui lichid cu ajutorul (prin intermediul) radiațiilor solare. Amplasamentul unor astfel de centrale se realizează, de obicei, în arii geografice cu un indice mare de radiații solare. O astfel de centrală solară prezintă în componență : captatori solari, câmpuri de oglinzi, conducte, instalații de încălzire și supraîncălzire.

sistemul fotovoltaic – este folosit pentru transformarea energiei solare în curent continuu. Obținerea energiei electrice este realizată prin conversia energiei radiante a soarelui. Efectul fotovoltaic produce curent în mod direct, fără utilizarea unor piese metalice mobile și spre deosebire de alte forme de transformare, acesta nu produce zgomot.

Efectul fotovoltaic este un fenomen fizic care se produce numai în materiale cu calitate de semiconductor. În momentul în care particule de lumină numite fotoni lovesc suprafețele semiconductorilor, energia este transferată către electronii acestor materiale, punându-i în mișcare în jurul orbitei. În cazul în care, semiconductorul este dopat cu impurități potrivite, care permit electronilor să fie atrași spre o suprafață, se stabilește o sarcină electrică, proces care stă la baza formării curentului electric. [11]

Fig. 2.11 Conversia energiei solare în energie electrică

2.4 Costurile producției curentului electric. Impactul asupra mediului

Consumatorii casnici sunt nevoiți să plătească triplu față de prețul pe care o are energia electrică produsă în centrale. În România, rețeaua de distribuție a fost vândută în cea mai mare parte.

Statul român a acceptat ca toate costurile de întreținere a rețelelor de distribuție sa fie plătite de către români prin intermediul facturilor.

Datorită vechimii sistemelor și lipsei de investiții în sistemele de transmitere a energiei se produc pierderi anuale masive, de aproximativ 4 miliarde de euro.

Dacă după ce este generată de către hidrocentrale, energia electrică are un preț de 120 lei/MW, aceasta urmează sa fie plătită de către populație la un preț de aproximativ 400 lei/MW.

De vină pentru acest lucru sunt tarifele puse de transportatori, furnizori, distribuitori, TVA-ul și accizele încasate de stat, pe lângă aceste tarife adăugându-se și alte taxe precum: taxa de cogenerare, certificatele verzi, taxa pe stâlp, diferite tarife percepute între companiile statului.

Cea mai mare parte din taxe este plătită operatorilor de distribuție. [12]

Producția de energie electrică a României, în anul 2016, a fost realizată în proporție de 42,38% din surse regenerabile, iar restul de 57,62% din surse convenționale, potrivit datelor prezentate în raportul Autorității Naționale de Reglementare în domeniul Energie (A.N.R.E.) privind rezultatele monitorizării pieței de energie electrică.

Fig 2.12 Raportul Autorității Naționale de Reglementare în domeniul Energie (A.N.R.E.) privind rezultatele monitorizării pieței de energie electrică

În 2016, producția națională de electricitate a fost de 61,80 TWh, adică 61,8 miliarde kWh, în scădere cu 1,3% față de anul anterior. Emisiile medii de CO2, respectiv deșeurile radioactive rezultate din producerea energiei electrice au avut valoarea de 287,11 g/kWh, respectiv de 0,003 g/kWh.

Astfel, în 2016 emisiile de CO2 ale sectorului energetic național s-au ridicat la 17.743.398 de tone. [13]

În anul 2017,România a produs 63.64 miliarde de kilowați-oră de electricitate.

Tabelul 2.1 Emisiile de CO2 ale sectorului energetic în anul 2016

Producerea de energie electrică, nu este numai benefică, ci are și un impact destul de nociv asupra mediului înconjurător. Îmbucurător este însă faptul ca se urmărește la nivel global, reducerea cantităților de emisii dăunătoare, prin îmbunătățirea continuă a proceselor de producere a energiei electrice. O astfel de conservare a mediului se realizează și cu ajutorul surselor ce produc energie în mod neconvențional, așa-numita „energie verde”.

În cazul producerii energiei prin intermediul centralelor termoelectrice, degajarea gazelor nocive în atmosferă, generate de arderea combustibililor fosili, produc ploi acide care distrug vegetația.

Centralele hidroelectrice, produc dereglări asupra florei, faunei, prin modificarea regimului precipitațiilor, fapt ce poate genera dispariția unor specii de animale și plante.

Când vine vorba despre centralele nuclearo-electrice, efectele asupra mediului pot fi distrugătoare în cazul unor accidente de exploatare.

Arderea cărbunilor produc oxizi de carbon, sulf și azot, particule de praf, contribuie în mod direct la formarea gazelor cu efect de seră implicate în încălzirea globală, produsul arderii – zgura are efecte complexe asupra atmosferei, solului și apelor subterane, elimină pulberi metalice.

În cazul petrolului și gazelor naturale, are loc poluarea marină și a coastelor litorale, modificarea pH – ului solului prin acumulări de hidrocarburi, iar în momentul arderii se produc elemente chimice precum S02 , NO2 , CO2 și gaze cu efect de seră, contribuind la formarea ploilor acide.

Transportul petrolului poate afecta marile și oceanele în urma spargerii conductelor sau altor tipuri de accidente în exploatare. Petrolul, având o densitate mai mică decât a apei, formează o peliculă ce împiedică difuziunea oxigenului în apă. Deversările de petrol în ecosistemele marine ajung la aproximativ 12 miliarde de tone.

Efectul pe care îl are câmpul electric asupra corpului uman nu sunt complet cunoscute, dar studiile efectuate au scos la iveală faptul că persoanele ce lucrează în zone cu câmpuri electrice intense sunt predispuse la fenomene de oboseală, diminuarea atenției, slăbiciune în membrele superioare, senzații de amețeală, tulburări ale ritmului de somn ce duc până la insomnii.[14]

2.5 Instrumente de măsură și control a consumului. Exemple comerciale

Un contor de energie electrică, sau un contor electric este un dispozitiv care măsoară cantitatea de energie electrică consumată de o reședință, de fabrică sau de un dispozitiv alimentat electric.

Utilitățile electrice utilizează contoare electrice instalate la sediul clienților în scopuri de facturare. Acestea sunt de obicei calibrate în unități de facturare, cea mai obișnuită fiind cea de kilowați oră (kWh). Ele sunt de obicei citite o dată pe fiecare perioadă de facturare.

Când sunt necesare economii de energie în anumite perioade, unii contori pot măsura cererea, utilizarea maximă a puterii, într-un anumit interval. Măsurarea "Timp de zi" permite reducerea ratelor electrice în timpul unei zile, pentru înregistrarea utilizării în timpul perioadelor de vârf cu costuri ridicate și a perioadelor în afara orelor de vârf, cu costuri reduse. Deci, în unele zone au existat pierderi de sarcină în timpul perioadelor de vârf de încărcare.

Fig. 2.14 Exemple de contori de energie electrică

Au fost dezvoltate multe tipuri experimentale de contoare. Thomas Edison la un contor electromecanic cu curent continuu (DC) cu un registru de lectură direct, dar în schimb dezvoltat pe un sistem electrochimic de măsurare, care este utilizat la o celulă electrolitică la consumul total de curent. La intervale regulate, plăcile au fost scoase și cântărite, iar clientul a fost facturat. Contorul electrochimic a fost greu de citit și nu a fost acceptat de către clienți.

În 1885 Ferranti a oferit un contor cu mercur cu registru, asemănător cu contoarele de gaz. Consumatorul putea citi cu ușurință contorul și verifica consumul. Primul contor precis de electricitate a fost un DC-metru realizat de către Dr. Hermann Aron. Hugo Hirst de la British General Electric Company l-a introdus în Marea Britanie din 1888. Metronomul lui Aron a înregistrat încărcarea totală în timp și a apărut pe o serie de cadrane de ceas.

Primul specimen de contor pentru curent alternativ (AC), a fost realizat de către ungurul Ottó Bláthy în toamna anului 1889, fiind comercializat la sfârșitul aceluiași an.

Elihu Thomson de la American General Electric Company a dezvoltat un contor de înregistrare watts (watt-metru), bazat pe un motor comutator fără fier. Acesta a depășit dezavantajele tipului electrochimic putea funcționa fie pe curent alternativ, fie pe curent continuu.

În 1894 Oliver Shallenberger a Westinghouse Electric Corporation a aplicat principiul de inducție utilizat anterior doar pentru AC-metre cu măsurare de amperi-oră pentru a produce AC-metre care să citească watti-oră, precum contori de energie moderni, folosind un disc de inducție a cărui rotație era proporțională cu puterea din circuit.

Contoarele Bláthy sunt similare cu contoarele Shallenberger și Thomson în măsura în care sunt contoare de curent cu două faze. Deși contorul bazat pe inducție nu poate fi utilizat decât pentru curent alternativ, are avantajul de a elimina comutatorul problematic și supărător al design-ului folosit de către Thomson.

Cea mai comună unitate de măsură pe contorul de electricitate este kilowatt-oră [kWh], ceea ce este egal cu cantitatea de energie utilizată de o sarcină de un kilowatt pe o perioadă de o oră, sau 3.600.000 jouli.

Distorsiunea curentului electric prin sarcini este măsurată în mai multe moduri. Factorul de putere este raportul dintre puterea rezistivă (sau reală) și puterea aparentă măsurată în volt-amperi (VA). O sarcină capacitivă are un factor de putere de conducere, iar o sarcină inductivă are un factor de putere întârziat. O sarcină pur rezistivă (cum ar fi o lampă cu filament, sisteme de încălzire), prezintă un factor de putere egal cu 1.

Contoarele de energie electrică funcționează prin măsurarea continuă a tensiunii instantanee (volți) și a curentului (amperi) pentru a furniza energia utilizată (în jouli, kilowați-oră etc.). Contoarele pentru servicii mai mici (cum ar fi clienții rezidențiali mici) pot fi conectate direct între sursă și client. Pentru sarcini mai mari, mai mult de aproximativ 200 amperi de sarcină, se folosesc transformatoare de curent, astfel încât contorul poate fi poziționat în linie cu conductorii de serviciu. Contoarele se încadrează în două categorii de bază, electromecanice și electronice.

Cel mai obișnuit tip de contor de energie electrică este contorul electromecanic (watt-metrul). Pe o sursă de alimentare cu alimentare monofazică, contorul de inducție electromecanic funcționează prin inducție electromagnetică prin numărarea rotațiilor unui disc metalic nemagnetic, dar electric, care este proporțional cu curentul care trece prin contor. Discul este acționat de două seturi de bobine de inducție și un motor cu două faze de inducție liniară. O bobină este conectată într-un mod care produce un flux magnetic proporțional cu tensiunea. Câmpul bobinei de tensiune este întârziat cu 90 de grade datorită naturii inductive a bobinei și calibrat utilizând o bobină de întârziere. Acest lucru produce curenți turbionari pe disc și efectul este cel exercitat pe disc proporțional cu produsul curentului, tensiunii și tensiunii instantanee (factorul de putere) între ele. Un magnet permanent acționează ca o frână cu curent turbionar, exercitând o forță contrară vitezei de rotație a discului. Echilibrul dintre aceste două forțe opuse are ca rezultat viteza de rotație la o viteză proporțională cu puterea sau rata de utilizare a energiei. Discul este susținut de un arbore care are o unelte cu melc care acționează registrul. Registrul este o serie de cadrane care înregistrează cantitatea de energie utilizată. Cifrele pot fi de tip ciclometru, pe afișajul tip kilometraj, ușor de citit în cazul în care fiecare cifră este afișată. Cu tipul de indicatorul de cadran, pointerii adiacenți se rotesc în general în aceleași direcții datorită mecanismului de angrenare.

Contoarele electronice afișează energia utilizată pe afișajul LCD sau LED și, prin urmare, pot transmite citiri în locuri îndepărtate. În afară de măsurarea energiei utilizate, astfel încât acestea să poată susține și facturarea în funcție de oră, de exemplu, înregistrarea cantității de energie utilizată în timpul orelor de vârf și în afara orelor de vârf.

Contorul are o sursă de alimentare, un motor de dozare, un motor de procesare și de comunicare (de exemplu, un microcontroler),precum și alte module add-on: cum ar fi RTC, LCD, porturi de comunicare, etc.. .

Motorul de dozare este dat de tensiune și intrările de curent și are o tensiune de referință, samplere și quantificatoare, urmate de la secțiunea ADC (Analog Digital Converter) pentru a produce echivalenții digitizați ai tuturor intrărilor. Aceste intrări sunt apoi procesate folosind un procesor de semnal digital pentru a calcula diferiții parametri de măsurare.

Cea mai mare sursă de erori pe termen lung în contor este devierea în preamplificator, urmată de precizia referinței de tensiune. Acestea variază în funcție de temperatură, înregistrând diferețe mari față de valorile nominale, deoarece cele mai mulți contori sunt amplasați în aer liber.

Caracterizarea și compensarea acestora reprezintă o parte importantă a proiectării contoarelor.

Secțiunea de procesare și comunicare are responsabilitatea de a calcula diferitele cantități produse de motorul de măsurare. Aceasta are, prin urmare, responsabilitatea de a folosi diferite protocoale și interfețe cu alte module de completare.

RTC și alte module add-on sunt atașate ca slave în secțiunea de procesare și comunicare pentru diferite funcții de intrare / ieșire. Pe un contor modern, cele mai multe, dacă nu toate acestea vor fi puse în aplicare în interiorul microprocesorul : cum ar fi ceasul de timp real (RTC), controler LCD, senzor de temperatură, memorie și convertoare analog-digitale.

Afișarea la distanță a contorului este un exemplu practic de telemetrie. Economisește costul cititorului de metru uman și greșelile rezultate, dar permite, de asemenea, mai multe măsurători și furnizarea la distanță. Mulți contoare inteligente includ acum un comutator pentru întreruperea sau restaurarea serviciului.

Din punct de vedere istoric, contorul a fost citit de la distanță folosind o pereche de contacte electrice atașate la o linie KYZ.

O interfață KYZ este un formular C furnizat de contor. Într-o interfață KYZ, firele Y și Z sunt contacte de comutare, scurtcircuitate la K pentru o cantitate măsurată de energie. Când un contact se închide, celălalt contact se deschide pentru a oferi o precizie a numărului. Fiecare modificare a stării de contact este considerată un impuls. Frecvența impulsurilor indică cererea de energie. Numărul de impulsuri indică măsurarea energiei.

Releul KYZ creează impulsuri. Termenul KYZ se referă la denumirile de contact: K pentru comun, Y pentru normal deschis și Z pentru închis în mod normal. Când vine vorba de măsurarea electrică, releul se schimbă la fiecare rotire (sau jumătate de rotație) a discului contorului. Fiecare schimbare de stat se numește "puls". Atunci când este conectat la echipamente externe, rata de utilizare (kW), precum și utilizarea totală (kWh).

Ieșirile KYZ au fost atașate din punct de vedere istoric la "relee totalizatoare" alimentând un "totalizator", astfel încât multe contoare puteau fi citite dintr-o dată într-un singur loc.

Prin urmare, ieșirile KYZ sunt metoda clasică de a conecta contoarele de energie electrică la controlerele logice programabile, sistemele H.V.A.C. sau alte sisteme de control. Unele contoare moderne oferă, de asemenea, o închidere de contact care avertizează atunci când contorul detectează o cerere în apropierea unui tarif mai mare la energie electrică, pentru a îmbunătăți gestionarea cererii.

Unele contoare industriale folosesc un protocol pentru controlere logice programabile (Modbus sau DNP3).

Un protocol propus în acest scop este D.L.M.S / C.O.S.E.M, care poate gestiona orice mediu, inclusiv porturi seriale. Datele pot fi transmise de către Zigbee, WiFi, linii telefonice sau chiar prin liniile electrice. Câteva dispozitive de măsurare a energiei pot citi datele prin intermediul Internetului. Alte protocoale mai moderne devin populare, cum ar fi OSGP (Open Smart Grid Protocol).

Contoarele electronice utilizează acum radio cu frecvență redusă, GSM, GPRS, Bluetooth, IrDA, precum și o conexiune prin cablu RS-485. Elementele pot fi citite acum cu un click al unui buton. Citirile de cerere stocate cu profilele indică cu exactitate cerințele de sarcină ale clientului. Acest profil de încărcare este procesat la utilități în scopuri de facturare și planificare.

Citirea automată a măsurătorilor (AMR) și RMM (citirea la distanță a contorului) descriu modul de testare a contorului fără citirea acestuia.

Un contor electronic poate transmite citirile sale prin linie telefonică sau radio la un birou central de facturare. Citirea automată a contorului se poate face cu modemurile GSM (Global System for Mobile Communications), una este atașată la fiecare contor, iar cealaltă este localizată la biroul central de utilități.

De asemenea, este posibil să se utilizeze comportamentul consumului de energie. Recent, au fost disponibile ecrane de feedback cu costuri reduse. Un studiu care utilizează un contor cititor la consumator în 500 Ontario Homes by Hydro One a arătat o scădere medie de 6,5% a consumului total de energie electrică în comparație cu un grup de control de dimensiune similară. Hydro One a prezentat monitoare de putere gratuite. Proiecte precum Google PowerMeter, iau informații de la un contor inteligent și îl fac mai accesibil pentru utilizatori pentru a contribui la promovarea conservării.

Contoarele inteligente merg mai departe decât simpla citire automată a contorului. Acestea oferă funcționalități suplimentare, inclusiv citiri în timp real sau aproape în timp real, notificări privind întreruperea alimentării și monitorizarea calității puterii. Acestea permit stabilirea unor tarife diferite în funcție de consum, bazate pe perioada zilei și sezon.

Supravegherea consumului energetic este folosită pentru a determina automat numărul și tipul aparatelor dintr-o rețea, ce cantitate de energie folosește fiecare și când. Acest contor este utilizat de companiile electrice pentru a efectua sondaje privind consumul de energie. Astfel se elimină necesitatea de a face măsurători fiecărui aparat în parte pentru a determina cât de multă energie utilizează fiecare.

Mulți consumatori de energie electrică instalează propriul echipament de monitorizare a energiei electrice, din motive de economie sau motive ce țin de mediul înconjurător.

Fig.2.15 Transformatoare de curent folosite ca parte integrată a unui sistem de monitorizare a energiei electrice

Astfel s-au dezvoltat o serie de dispozitive comerciale pentru realizarea măsurării prin diferite metode a energiei electrice. Aceste metode tind să devină cât mai precise și inteligente pe măsură ce tehnologia devine din ce în ce mai avansată. [15]

Exemple de dispozitive sunt foarte multe, astfel, voi aminti câteva dintre ele și voi descrie succint anumite modele. Dintre cele mai populare exemple amintim:

Excelvan HP1101 – acesta este un dispozitiv ce poate fi cumpărat cu un buget redus. Folosirea aparatului este foarte simplă, tot ce trebuie făcut este să se realizeze conectarea și apoi se poate utiliza pentru măsurarea oricărui consumator în vederea obținerii unor rezultate rapide. Acesta poate măsura o gamă largă de parametri, inclusiv kWh, amperi, tensiune și altele.

Fig. 2.16 Aparat de măsură Excelvan HP1101

Efergy E2 pune la dispoziție actualizări de informații la fiecare 10 secunde, astfel încât să se poată observa dacă apar deviații bruște. Aparatul permite afișarea unei medii zilnice a consumului de energie, fapt ce facilitează cunoașterea tendințele și astfel, utilizatorul poate să ajusteze consumul după bunul său plac.

Fig. 2.17 Dispozitiv de măsură Efergy E2

Blue Line Innovations Power Cost – colectează datele direct de la contorul de energie al casei, deci nu există nici o îndoială cu privire la acuratețea acestui aparat. Avertizarea asupra utilizării curente, face mai ușoară economisirea, atunci când acest lucru este posibil.

Fig. 2.18 Dispozitiv de măsură Blue Line Innovations Power Cost

Eyedro Wireless – aparatul Eyedro Wireless permite monitorizarea costurilor mai multor consumatori de energie electrică și obținerea în orice moment a unor citiri detaliate și clare legate de puterea consumată, prin intermediul serviciului web gratuit, bazat pe cloud. Este disponibil într-un model cablat pentru a se potrivi oricăror tipuri de conexiuni la Internet. Dispozitivul permite realizarea graficelor în timp real, estimări orare / zilnice / săptămânale / lunare, comparații între facturi și estimări, datele putând fi descărcate pentru analize suplimentare.

Fig. 2.19 Dispozitiv de măsură Eyedro Wireless

Sense Home Energy – este un sistem complet care necesită instalare de specialitate. Acesta se montează direct în incinta panoului electric. Dispozitivul oferă date referitoare la întregul profil energetic, precum și informații cu privire la utilizarea în timp real a fiecărui aparat ce realizează consum energetic.

Fig. 2.20 Dispozitiv de măsură Sense Home Energy

Monitoarele de energie electrică sunt o achiziție inteligentă pentru oricine dorește să reducă consumul de energie, fie în scopuri ecologice sau monetare. Aceste monitoare pot ajuta la identificarea dispozitivelor ce utilizează cea mai mare putere. Acestea realizează contorizarea consumului în același mod cu companiile de electricitate, făcând ușoară predicția costului facturii viitoare.

În caz că se folosește o cantitate mare de energie electrică și se dorește reducerea acesteia, multe modele permit utilizatorului să stabilească o limită de kilowați la care acesta dorește să se limiteze. Unitățile de monitorizare a consumului de energie electrică pot afișa informații utile, cum ar fi puterea totală consumată de un dispozitiv într-o zi, urmărirea în timp real și resetarea la fiecare 24 de ore.

Multe monitoare se pot conecta la mai multe dispozitive din jurul casei, permițând navigarea pe ecranul de control, astfel putându-se realiza verificarea fiecărui dispozitiv consumator de energie electrică în parte. Monitoarele compatibile Bluetooth nu doar că permit utilizatorilor aflați la distanță să verifice utilizarea energie electrice, ci și să pornească dispozitivele de la distanță.

Multe monitoare se conectează direct într-o priză de perete, astfel încât o persoană le poate folosi cu ușurință acasă sau la birou. Unele permit utilizatorului să se conecteze la un consumator, pentru a obține o citire imediată, în timp real a consumului de energie al elementului respectiv.

Modelele avansate prezintă tehnologie cloud computing, care le permite utilizatorilor să verifice consumul de energie al locuinței lor de pe orice dispozitiv conectat la Internet și să îl salveze pentru analiza ulterioară, astfel încât să-și poată urmări obiceiurile. [16]

2.6 IoT și energia verde

IoT (Internet of Things), în traducere „Internetul obiectelor” este constituit din rețeaua de dispozitive fizice, vehicule, aparate de uz casnic și alte elemente electronice integrate, precum senzori, actuatori, conectate la Internet și interconectate în vederea realizării schimburilor de date.

Fiecare obiect este identificat în mod unic prin propriul sistem informatic încorporat, dar este capabil de a funcționa fără a fi conectate în cadrul infrastructurii de Internet existente.

Numărul dispozitivelor capabile să comunice prin intermediul Internetului a crescut cu 31% față de anul 2016, ajungând la 8.4 miliarde în anul 2017. Se estimează faptul că în anul 2020, numărul acestora va ajunge la 30 de miliarde, iar valoarea de piață va fi undeva la 7.1 trilioane de dolari.

IoT permite obiectelor sa fie detectate sau controlate de la distantă prin intermediul rețelei în care acestea sunt conectate, dar și prin intermediul infrastructurii de rețea existente. Acest tip de concept crează oportunități de integrare mai directă a lumii fizice în sistemele bazate pe computer, ceea ce determină o eficiență îmbunătățită, precizie și beneficii economice, dar și reducerea intervenției personalului uman.

Atunci când IoT se integrează cu senzori și elemente de acționare, tehnologia devine instanță a clasei mai generale a sistemelor cibernetice-fizice, care cuprinde tehnologii precum: rețele inteligente, centrale electrice virtuale, case inteligente, transport inteligent și nu în ultimul rând orașe inteligente (smart cities).

Când vine vorba despre „Internet of Things” ne putem gândi la o varietate de dispozitive, cum ar fi: dispozitive de monitorizare a implanturilor cardiace, camere video cu streaming live ale diferitelor activități și pentru monitorizarea ariilor protejate, automobile cu senzori încorporați, dispozitive de analiză ADN pentru monitorizarea ecologică, alimentară sau patogenă, dispozitive de operare pe teren care asistă pompierii în operațiunile de căutare și salvare.

Cercetătorii văd această tehnologie ca pe un mix între hardware, software, date și servicii.

Aceste dispozitive colectează date utile cu ajutorul diferitelor tehnologii existente și apoi transferă în mod autonom datele între alte dispozitive.

Se pare că acest concept a fost folosit de către Kevin Ashton de la Procter & Gamble, urmând sa fie utilizat și de MIT's Auto-ID Center în 1999. Prima sursă scrisă și la care se putea face referință despre „Internet of Things” a fost lucrarea intitulată „White Paper”, publicată de către MIT Auto-ID Center în noiembrie 2001, făcută publică în abia în februarie 2002.

Primul articol de cercetare care menționează “Internetul obiectelor” pare să fie o lucrare prezentată la Conferința pentru cercetători nordic în logistică, Norvegia, în iunie 2002, care a fost precedată de la articolul publicat în limba finlandeză în ianuarie 2002.

Începând cu anul 2016, viziunea asupra „Internet of Things” a evoluat datorită convergenței mai multor factori și tehnologii , inclusiv datorită comunicării fără fir (wireless) omniprezentă, a analizelor în timp real, a mașinilor de învățare (rețelelor neurale), a senzorilor și nu în ultimul rând datorită sistemelor integrate. Acest lucru înseamnă că domeniile tradiționale ale sistemelor încorporate, rețelelor de senzori wireless, sistemelor de control, automatizări (incluzând automatizarea caselor și a clădirilor) și ale altora contribuie la facilitarea funcționării IoT.

Conceptul de rețea de dispozitive inteligente a fost discutat încă din anul 1982, cu o mașină de cocs modificata la Universitatea Carnegie Mellon, devenind primul aparat conectat la Internet.

Abilitatea unei persoane de a interacționa cu obiectele ar putea fi modificată de la distanță, pe baza nevoilor imediate sau prezente, în conformitate cu acordurile existente privind utilizatorii finali.

O transformare semnificativă este extinderea „lucrurilor” de la datele generate de dispozitive, la obiecte din spațiul fizic. Modelul de gândire pentru viitorul mediu de interconexiune a fost propus în anul 2004. Modelul include ideea că universul ternar este format din lumea fizică, lumea virtuală și lumea mentală și o arhitectură de referință pe mai multe nivele, cu natura și dispozitivele de la nivel inferior, urmată de nivelul Internetului, rețelei senzorilor și rețelei mobile, „comunități inteligente” de roboți, la nivel superior, care susțin utilizatorii dispersați din punct de vedere geografic, pentru a-și îndeplini sarcinile în mod cooperativ și a rezolva probleme prin intermediul rețelei. Astfel se realizează promovarea în mod activ a fluxului de material, energie, tehnici, informații, cunoștințe și servicii în acest mediu. Acest model de gândire a reprezentat tendința de dezvoltare a IoT.

Aplicațiile pentru dispozitivele conectate la Internet sunt multe. Au fost sugerate mai multe categorisiri, dintre care majoritatea sunt de acord cu o separare între consum, întreprinderi și aplicațiile de infrastructură.

George Osborne, fostul cancelar britanic de finanțe, a declarat că „Internetul lucrurilor” reprezintă următoarea etapă a revoluției informațiilor și a făcut referire la interconectarea tuturor dispozitivelor, de la transportul urban, dispozitive medicale până la aparatele de uz casnic.

Capacitatea rețelelor integrate de a fi conectate și incorporate cu resurse CPU limitate, memorie si resurse de putere scăzute, fac din „Internet Of Things” un concept ce prezintă aplicații aproape în toate domeniile. Astfel de sisteme ar putea fi responsabile cu colectarea informațiilor de la ecosisteme naturale la clădiri și fabrici, găsind astfel aplicații în domeniile de sensibilizare a mediului și planificare urbană.

Sistemele inteligente de cumpărături ar putea monitoriza obiceiurile de cumpărare ale anumitor utilizatori într-un magazin prin urmărirea device-urilor de pe care se realizează cumpărăturile. Acești cumpărători ar putea primi apoi oferte speciale cu privire la produsele preferate sau chiar la locația elementelor de care au nevoie.

Conceptul de „Internet al lucrurilor vii” a fost propus pentru a descrie rețelele de senzori biologici care ar putea utiliza analizele bazate pe cloud pentru a stoca și permite utilizatorilor să studieze ADN-ul sau alte molecule.

O parte preponderent în creștere de dispozitive IoT sunt create pentru consumatori. Exemple de aplicații pentru consumatori includ mașinile conectate, divertismentul, automatizarea casei, tehnologia portabilă, dispozitive de monitorizare a sănătății, aparate precum mașinile de spălat/uscat, aspiratoarele robotizate, purificatoarele de aer, cuptoarele sau frigiderele ce utilizează tehnologia Wi-Fi pentru monitorizarea la distanța, dispozitive de urmărire a consumului energetic pe anumiți consumatori sau pentru monitorizarea consumului unei clădiri, etc..

Pe de altă parte unele aplicații destinate consumatorilor au fost criticate pentru lipsa lor de redundanță și inconsistență, dar și pentru lipsa unor standarde stricte de securitate.

Un exemplu de dispozitive IoT sunt acele dispozitive folosite pentru automatizarea locuinței. Sistemele inteligente cu funcții multiple utilizează un hub principal sau un controler pentru a oferi utilizatorilor un control central al dispozitivelor lor. Aceste dispozitive pot include: iluminatul, încălzirea și aerul condiționat, sistemele media și sistemele de securitate. Ușurința utilizării reprezintă un beneficiu major pentru aceste funcționalități. Beneficiile pe termen lung constă în capacitatea de a crea o locuință mai ecologică prin automatizarea anumitor funcții, precum asigurarea opririi luminilor și a unor aparate electrocasnice. Unul dintre obstacolele majore în calea obținerii unei tehnologii smart home este costul inițial ridicat.

Utilizarea media pentru IoT se ocupă în primul rând de marketing și de studierea obiceiurilor consumatorilor. Prin direcționarea comportamentală, aceste dispozitive colectează numeroase puncte de informare despre milioane de indivizi. Folosind profilele construite în timpul procesului de direcționare, producătorii media prezintă publicitatea afișată în conformitate cu obiceiurile cunoscute ale consumatorului la un moment dat. Informațiile suplimentare sunt colectate prin urmărirea modului în care consumatorii interacționează cu conținutul. Acest lucru se realizează prin contorizarea conversiilor, rata abandonului, rata de click, rata de înregistrare și rata de interacțiune.

Controlul rețelei și gestionarea echipamentelor de producție, gestionarea și controlul proceselor de producție aduc IoT în domeniul aplicațiilor industriale și al producției inteligente.

IoT permite fabricarea rapidă a produselor noi, răspunsul dinamic la cerințele de produs și optimizarea în timp real a rețelelor de producție și a lanțului de aprovizionare, prin combinarea mașinilor conectate în rețea, a senzorilor și sistemelor de control.

Sistemele digitale de control pentru automatizarea controalelor de proces, a instrumentelor de operare și a sistemelor de informații de service pentru optimizarea siguranței și securității instalațiilor sunt în competența IoT.

Dar, de asemenea se extinde și la gestionarea activelor prin întreținere predictivă, evaluare statistică și măsurători pentru a maximiza fiabilitatea. Prin urmare, sistemele inteligente de management industrial pot fi integrate cu conceptul de Smart Grid, care oferă o optimizare în timp real a energiei. Măsurătorile, comenzile automate, optimizarea instalațiilor, managementul sănătății și siguranței și alte funcții sunt furnizate de un număr mare de senzori în rețea.

Termenul „Industrial Internet of things” (IIoT) este adesea întâlnit în industria prelucrătoare, referindu-se la subsetul industrial al Internetului. Astfel, în industria prelucrătoare, aceasta ar putea genera atât de multă valoare de afacerilor încât să conducă în cele din urmă la cea de-a patra revoluție industrială. Se estimează că, în viitor, companiile de succes vor să își sporească veniturile prin crearea de noi modele de afaceri și să îmbunătățească productivitatea, să exploateze analizele pentru inovare și să transforme forța de muncă.

În timp ce conectivitatea și achiziția de date sunt imperative pentru IIoT, ele nu ar trebui să fie scopul, ci fundația și calea spre ceva mai mare. Obiectivul sistemelor inteligente de întreținere este reducerea timpilor de nefuncționare și creșterea productivității. Sistemele cyber-fizice (CPS) reprezintă interfața pentru lumea umană și cea digitală. Sistemele Cyber-fizice pot fi proiectate la nivelul arhitecturii 5C (conexiune, conversie, cyber, cogniție, configurare). Transformarea datelor colectate în informații acționabile și eventual interacțiunea cu sisteme fizice active pot duce la optimizarea proceselor.

Integrarea sistemelor de detectare și de acționare conectate la Internet poate optimiza consumul de energie electrică în ansamblu. Este de așteptat ca dispozitivele IoT să fie integrate în toate formele de dispozitive consumatoare de energie (switch-uri, prize de putere, becuri, televizoare etc.) și vor putea să comunice în mod ordonat cu compania de utilități. Prin urmare, dispozitivele de localizare ar oferi posibilitatea utilizatorilor de a controla de la distanță aparatele electrice și electronice, sau de a le gestiona la nivel central, printr-o interfață bazată pe cloud și eventual șă le permită activarea de funcții avansate, precum programarea realizată la distanță – pornirea sau oprirea sistemelor de încălzire, schimbarea condițiilor de iluminare, etc. .).

În afară de gestionarea energiei de acasă, IoT reprezintă în special relevanță pentru rețeaua inteligentă (Smart Grid), deoarece oferă sisteme pentru colectarea și acționarea în domeniul energiei și a informațiilor legate de putere în cel mai automat mod, cu scopul de a îmbunătăți eficiența, fiabilitatea, economia, și durabilitatea, producția și distribuția energiei electrice. Utilizând dispozitive de infrastructură de măsurare avansată (AMI), precum transformatoare și reclosere.

Aplicațiile de monitorizare a mediului realizate pin intermediul „Internet of Things”, folosesc de obicei senzori pentru a contribui la protecția mediului prin monitorizarea calității aerului sau a apei, condițiilor atmosferice sau ale solului, incluzând chiar monitorizarea animalelor sălbatice în mediile lor naturale.

În viitor, IoT poate fi o rețea nedeterministă și deschisă, în care entitățile să se auto-organizeze în entități inteligente (servicii web, componente SOA) și obiectele virtuale (avataruri) vor fi inter-operabile și capabile să acționeze prin urmărirea propriilor obiective sau să partajeze date și informații în funcție de context, circumstanțe sau medii.

Comportamentul autonom prin colectarea și raționamentul informațiilor despre context vor duce la schimbări relevante în mediul înconjurător . Produsele și soluțiile moderne IoT de pe piață utilizează o varietate de tehnologii diferite pentru a sprijini automatizarea contextuală a căutărilor, dar sunt cerute forme de inteligență mai sofisticate care să permită implementarea senzorilor în medii reale.

„Internetul obiectelor” necesită un nivel de scalare imens în spațiul de rețea pentru a face față creșterii numărului de dispozitive. Protocolul de rețea IPv6 pare să joace un rol major în scalarea acesteia.

În „Internetul obiectelor”, locația geografică exactă a unui obiect – și astfel coordonatele geografice precise ale unui acestuia – va fi critică. Prin urmare, informațiile despre obiecte, cum ar fi locația acestora în timp și spațiu, sunt ușor de precizat, GeoWeb și Digital Earth sunt bine cunoscute pentru realizarea acestui scop.

Cu toate acestea, provocările care persistă includ constrângerile scalelor spațiale variabile, necesitatea de a gestiona cantități mari de date și indexarea pentru operațiile de căutare rapidă în vecinătate. În „Internetul obiectelor”, rolul de mediere centrat pe om este eliminat. Astfel, contextul temporal-spațiu pe care noi, ca om, îl considerăm de la sine înțeles trebuie să fie un rol central în acest ecosistem informatic. La fel cum standardele joacă un rol esențial în Internet și pe Web, standardele geospațiale vor juca un rol-cheie în „Internetul lucrurilor”.

Cadrele IoT ar putea contribui la susținerea interacțiunii dintre "lucruri" și ar permite structuri mai complexe, cum ar fi distribuția de calcul și dezvoltarea de aplicații distribuite. În prezent, unele cadre IoT par să se concentreze asupra soluțiilor de înregistrare în timp real a datelor, oferind o bază pentru a lucra cu multe dispozitive și a le face să interacționeze. Dezvoltările viitoare ar putea conduce la medii specifice de dezvoltare a software-ului în „Internetul Obiectelor”. Companiile dezvoltă platforme tehnologice pentru a oferi astfel de funcționalități pentru „Internetul Obiectelor”. Se dezvoltă platforme mai noi, care adaugă mai multă inteligență.

Pentru IoT se pot folosi protocoale de conectare wireless sau protocoale de conectare prin intermediul conexiunii cu fir precum:

protocoale wireless short-range: Bluetooth mesh networking , Light-Fidelity – tehnologia de comunicație fără fir similară standardului Wi-Fi, dar care utilizează spectrul luminos pentru a crește viteza, Near-field communication (NFC) , QR codes și cititoare de coduri de bare, Radio-frequency identification (RFID) – tehnologie care utilizează câmpuri electromagnetice pentru a citi datele stocate în etichete încorporate în alte articole , Wi-Fi

protocoale wireless medium-range: HaLow – variantă a standardului Wi-Fi ce oferă o gamă extinsă de comunicații cu putere redusă, la o rată de transfer mai mică, LTE-Advanced – Specificație de comunicație de mare viteză pentru rețelele mobile. Oferă îmbunătățiri ale standardului LTE cu o acoperire extinsă, o capacitate mai mare de transfer și o latență mai mică.

protocoale wireless long-range: Low-power wide-area networking (LPWAN) – Rețelele fără fir concepute pentru a furniza comunicații pe distanțe lungi la o rată scăzută a datelor, reducând puterea și costurile pentru transmisie; Very small aperture terminal (VSAT) – Tehnologia de comunicații prin satelit care utilizează antene mici pentru date în bandă îngustă și în bandă largă , Long-range Wi-Fi connectivity

protocoale wire: Ethernet – protocol folosit pentru acest proiect implementat cu ajutorul Ethernet Shield , Multimedia over Coax Alliance (MoCA) – Specificație care permite distribuția întregului conținut video și conținut de înaltă definiție pe cablurile coaxiale existente , Power-line communication (PLC) – Tehnologie de comunicare care utilizează cabluri electrice pentru a transporta energie și date. Specificații precum HomePlug sau G.hn utilizează PLC pentru dispozitivele de rețea IoT.

Unul dintre motoarele cheie ale Internetului este reprezentat de date. Succesul ideii de a conecta dispozitivele pentru a le face mai eficiente depinde de accesul, stocarea și prelucrarea datelor. În acest scop, IoT colectează date din mai multe surse și le stochează în rețeaua lor de cloud pentru procesare ulterioară. Acest lucru lasă în urma pericole de confidențialitate și de securitate. Vulnerabilitatea sistemelor care comunică prin intermediul IoT este concentrată într-un singur punct. Celelalte aspecte se referă la alegerea consumatorului și la proprietatea asupra datelor,dar și la modul în care este acestea sunt utilizate.

IoT suferă de fragmentarea platformei și de lipsa standardelor tehnice, în care varietatea de dispozitive IoT, în contextul diferitelor tipuri de hardware și software care rulează pe ele, îngreunează sarcina de a dezvolta aplicații între diferite ecosisteme tehnologice inconsecvente. Clienții pot fi ezitanți în privința viitorului lor IoT pe un software sau pe dispozitive hardware de proprietate care utilizează protocoale de proprietate care pot deveni demodate sau dificil de personalizat și de interconectat.

O provocare pentru producătorii de aplicații IoT este de a elimina, procesa și interpreta cantitatea mare de date. Există o soluție propusă pentru analiza rețelelor de senzori wireless. Aceste rețele împart date între nodurile senzorilor care sunt trimise unui sistem distribuit pentru datele analitice.

O altă provocare este stocarea acestor date brute. În funcție de aplicație, pot exista cerințe ridicate de achiziție a datelor. În prezent, Internetul este deja responsabil pentru consumul a 5% din totalul energiei generate,iar consumul va crește semnificativ în momentul în care vom începe să folosim aplicații cu mai mulți senzori încorporați.

Fig. 2.21 Dezvoltarea IoT în timp

În figura de mai sus este prezentat parcursul în timp legat de începutul, prezentul și obiectivele de viitor pentru dezvoltarea „Internet of Things”. [17]

IoT este foarte util în vederea gestionarii și economisirii energiei electrice în contextul actual, deoarece prin implementarea sistemelor inteligente se pot realiza algoritmi de reducere a costului și de obținere a unui consum minim. Acești algoritmi pot fi adaptați și comunicați și celorlalte dispozitive interconectate de tip IoT. Este foarte clar trendul trecerii la forme de energie regenerabile, care să permită utilizatorilor un cost mai scăzut al energiei, dar să realizeze și protecția mediului înconjurător, prin reducerea poluării de orice natură. Astfel cele două forme de dezvoltare și minimizare a costului, dar și de ecologizare, pot fi îmbinate armonios în vederea realizării îmbunătățirii nivelului de trai.

Energia regenerabilă este colectată din resurse regenerabile, reproduse natural, cum ar fi lumina soarelui, vântul, ploaia, valurile, valurile și căldura geotermală.

Energia regenerabilă furnizează deseori energie în patru domenii importante: generarea de energie electrică, încălzirea / răcirea aerului și a apei, transportul și serviciile energetice rurale.

Pe baza raportului REN21 din 2017, energiile regenerabile au contribuit cu 19,3% la consumul global de energie al oamenilor și 24,5% la producerea de energie electrică în 2015, respectiv 2016. Acest consum de energie este de 8,9% din biomasa tradițională, 4,2% din energia termică, 3,9% din energia electrică din hidro și 2,2% din energia electrică produsă de energia eoliană, solară, geotermală și biomasă.

Resursele de energie regenerabile există în zone geografice largi, spre deosebire de alte surse de energie, concentrate într-un număr limitat de țări. Utilizarea rapidă a energiei regenerabile și eficiența energetică are ca rezultat o securitate semnificativă a energiei, atenuarea schimbărilor climatice și beneficii economice.

Tehnologiile din domeniul energiei regenerabile devin mai ieftine, prin schimbările tehnologice și prin beneficiile producției în masă și al concurenței pe piață.

Hidroelectricele și energia geotermală produse în locații favorabile reprezintă acum cea mai ieftină cale de a genera energie electrică. Costurile energiei din surse regenerabile continuă să scadă, iar costul de energie electrică (LCOE) a scăzut în ceea ce privește energia eoliană, fotovoltaica solară (PV), energia solară concentrată (CSP) și unele tehnologii privind biomasa.

Biomasa și biocarburanții emit cantități mari de poluare a aerului atunci când sunt arse, în plus, biomasa și biocarburanții consumă cantități mari de apă. Alte surse regenerabile, cum ar fi energia eoliană, fotovoltaica și hidroelectricitatea, au avantajul de a fi mai conservatoare, de a reduce poluarea și de a reduce emisiile de CO2.[18]

2.7 Tipuri de senzori utilizați pentru măsurarea curentului

Un senzor este un dispozitiv care detectează și răspunde la un tip de intrare din mediul fizic. Intrarea specifică ar putea fi lumină, căldură, mișcare, umiditate, presiune sau orice alt număr de alte fenomene de mediu. Valorile obținute la ieșirea unui senzor sunt de obicei convertite din semnal electric în semnal digital afișabil pe un ecran, fapt ce face mai ușoară interpretarea și prelucrarea datelor obținute prin intermediul măsurătorilor. În mod electronic prin intermediul unei rețele de citire sau prelucrare ulterioară. [19]

Un senzor de curent este un dispozitiv care detectează curentul electric într-un fir și generează un semnal proporțional cu acel curent. Semnalul generat ar putea fi tensiunea sau curentul analogic sau chiar o ieșire digitală. Semnalul generat poate fi utilizat pentru afișarea curentului măsurat într-un ampermetru sau poate fi utilizat pentru analiza ulterioară într-un sistem de achiziție de date sau poate fi utilizat în scopul controlului. [20]

Variantele de măsurare a curentului și forma semnalului de ieșire pot fi:

1.Intrare curent alternativ

ieșire analogică, care duplică forma de undă a curentului detectat.

ieșire bipolară, care duplică forma de undă a curentului detectat.

ieșire unipolară, care este proporțională cu valoarea medie sau RMS a curentului detectat.

2. Intrare curent continuu

unipolar, cu o ieșire unipolară, care duplică forma de undă a curentului detectat

– ieșire digitală, care comută atunci când curentul detectat depășește un anumit prag

Detectarea curentului cu o precizie ridicată este cheia pentru îmbunătățirea eficienței sistemelor de comandă cu buclă închisă, dar și pentru detectarea precisă a consumului realizat de către un dispozitiv, sau o gamă de dispozitive în vederea optimizării consumului de energie electrică sau detectării fluctuațiilor existente într-un circuit sau rețea electrică.

Există multiple metode de realizare a măsurării curentului, unele mai precise, altele având o precizie mai scăzută, însă trebuie precizat faptul că este foarte greu de realizat un dispozitiv care să măsoare curentul electric cu un grad de precizie foarte ridicat.Senzorii cu performanțe notabile au un cost de achiziție mai ridicat.

Dintre metodele de măsurare a curentului electric cu ajutorul senzorilor putem aminti: senzorii Hall , transformator sau contor de curent, transformator de tip Fluxgate , senzor optic de curent, bobină Rogowski.

Pe lângă senzori, mai sunt și alte metode de măsurare bine cunoscute cum ar fi utilizarea aparatelor de măsură sau metode de măsurare prin folosirea unei rezistențe de valori cunoscute (aceasta trebuie să prezinte o toleranță scăzută pentru a nu influența procesul de măsurare ), cu ajutorului șuntului,etc.. .

Rezistoarele de șuntare sunt utilizate într-o gamă largă de aplicații și oferă o precizie relativ mare la driftul de temperatură scăzută. Cu toate acestea, utilizarea acestora este limitată de propria lor valoare de rezistență. În cazul aplicațiilor cu tensiuni de frecvență ridicată, rezistențele de șuntare necesită amplificatoare izolate, cum ar fi AMC1200 sau, pentru cele mai performante sisteme, un modulator delta-sigma izolat ca AMC1304L05. Acest aparat oferă o gamă mică de tensiune de intrare de ± 50mV, permițând utilizarea de șuturi de rezistență mai mici, fără a compromite performanța.

Bobinele Rogowski măsoară doar curentul alternativ (AC) sunt înfășurate în jurul unui conductor ce distribuie curentul ce urmează a fi măsurat. Acestea oferă o tensiune proporțională cu rata de schimbare a curentului alternativ și, prin urmare, necesită un integrator înainte de a fi procesat folosind un convertor analog-digital (ADC).

Bobinele Rogowski sunt potrivite pentru aplicații retrofit, deoarece bobina poate fi montată în jurul conductorului fără a întrerupe fluxul de curent. Ei nu folosesc un miez metalic, astfel încât toleranțele mecanice ale atitudinii influențează și limitează acuratețea realizabilă. Din același motiv, ele nu sunt saturate și sunt astfel utilizate în aplicații cu curent înalt. Inductanța lor scăzută permite utilizarea în sisteme cu rate mari de funcționare (la frecvențe ridicate).

Fig. 2.22 Folosirea bobinei Rugowski în vederea măsurării curentului electric

În transformatoarele de curent (CT), curentul AC primar generează un câmp într-un miez magnetic. Acest câmp magnetic induce un curent proporțional în bobina secundară. Este necesar un rezistor de sarcină pentru a transforma curentul într-un semnal de tensiune pentru o prelucrare ulterioară într-un ADC.

Precizia CT-urilor depinde de toleranțele mecanice ale setării, de precizia și de deviația de temperatură a miezului magnetic. Nivelul de saturație al miezului magnetic limitează intervalul dinamic al unui CT. Pe de altă parte, designul dedicat vă permite să adaptați CT pentru un anumit caz de utilizare. CT sunt utilizate pe scară largă pentru detectarea curenților în rețelele electrice.

Fig. 2.23 Folosirea transformatoarelor de curent (CT), în vederea realizării măsurării curentului electric

Senzorii magnetorezistivi își schimbă rezistența cu prezența câmpului magnetic, a curentului direct (DC) sau a AC. Senzorii magnetorezistenți sunt de dimensiuni mici și sunt de obicei utilizați pentru detectarea poziției și a unghiului. Acestea sunt alternative eficiente din punct de vedere al costurilor pentru aplicațiile cu curent scăzut care nu necesită o precizie ridicată.

Fig. 2.24 Folosirea senzorilor magnetorezistivi în vederea realizării măsurării curentului electric

În funcție de materialul utilizat,se pot alege dintre două tipuri de senzori magnetorezistivi:

Senzorii de magnetorezistență anizotropică (AMR) utilizează materiale feromagnetice într-un câmp magnetic. Variația rezistenței este foarte mică; prin urmare, punțile Wheatstone sunt adesea folosite pentru a le simți.

Senzori magnetorezistivi gigant (GMR) bazați pe straturi magnetice și nemagnetice alternante. În comparație cu senzorii AMR, procesul de producție este mai complex și mai scump.

Senzorii cu efect Hall oferă o tensiune proporțională cu câmpul magnetic AC sau DC. Sunt folosiți în circuite inerent zgomotoase,unde nivelul de tensiune este foarte dependent de temperatură. Se poate folosi limitări de excitație inteligente, cum ar fi cele utilizate în circuitul integrat (IC) pentru condiționarea semnalului de la senzorul DRV411.

Senzorii Hall pot fi utilizați în aplicații cu buclă deschisă care nu necesită niveluri de acuratețe ridicate. Pentru o mai mare acuratețe, abordările cu buclă închisă sunt cele mai bune. Acestea includ senzorul Hall, un miez magnetic cu bobină de compensare și un circuit de condiționare a semnalului care este de obicei sub forma unui modul complet. Modulele cu buclă închisă sunt disponibile pentru o gamă largă de precizie, niveluri curente și costuri. Alte exemple de senzori cu efect Hall includ familia DRV5000.

Fig. 2.25 Diferiți senzori Hall de curent folosiți pentru măsurarea curentului electric

Senzorii Fluxgate oferă cel mai înalt nivel de sensibilitate, cel mai larg interval dinamic, temperatură scăzută și performanță la deviația acesteia în comparație cu alte metode de detectare a curentului. Proiectarea unui senzor exterior de flux este complexă și necesită toleranțe mecanice scăzute, numai câțiva producători de senzori fluxgate existând la nivel mondial. TI a anunțat recent DRV421, primul senzor de flux integrat complet, cu toate funcțiile necesare de condiționare a semnalului pentru aplicațiile DC și AC cu circuit închis. Cu un miez magnetic și o bobină de compensare, această soluție permite fabricarea ușoară a modulelor de curent de înaltă precizie și de nivel scăzut (circuite care prezită “scurgeri” de curent).[21]

Fig. 2.26 Diferiți senzori Fluxgate de curent folosiți pentru măsurarea curentului electric

Capitolul III: Parametrii unei rețele monofazate

Un generator electric nu face altceva decât să preia o anumită formă de energie (mecanică, electrică, chimică) și să o transforme în energie electrică.

Pe de altă parte un consumator electric preia energia electrică și o transformă în altă formă de energie (de exemplu căldură, lumină, lucru mecanic).

În momentul funcționării, componentele electrice transformă energia pe care o primesc în una sau mai multe forme de energie.

În cazul energiei electrice, viteza de transformare a energiei electrice în sau din altă formă de energie este numită putere electrică. Când vine vorba despre energia electrică, viteza de transformare este proporțională atât cu tensiunea cât și cu intensitatea curentului electric.

Așadar, relația care definește în sens general puterea electrică este următoarea:

Unde:

P – puterea electrică [P]SI = W (vați);

U – tensiunea electrică la borne [U]SI = V (volți);

– intensitatea curentului electric []SI = A (amperi);

Relația (3) are însă dezavantajul de a putea fi folosită doar în cazul circuitelor formate doar din rezistențe, acest lucru întâmplându-se din cauză că, rezistențele transformă energia electrică într-un singur sens (din energie în căldură, prin efect Joule), în timp ce bobinele, respectiv condensatorii înmagazinează energia electrică, dar la fel de ușor o pot ceda în circuit.

Se dorește deci aflarea puterii consumate de circuit, nu a puterii cedate, de aceea , relația de mai sus nu este tocmai concludentă, punând la comun atât puterea cedată, cât și puterea acceptată de către circuit.

Ținând cont de faptul ca orice componentă electronică nu se poate comporta în mod ideal și de aici rezultând faptul ca mereu componentele vor avea atât componente capacitive cât și inductanțe parazite, rezultă faptul că formula data de relația (3.1) rămâne valabilă doar în cazul alimentării circuitului cu o tensiune constantă, lucru destul de greu de atins în practică.

Totuși, în cazul componentelor de dimensiuni mici, folosite în circuite electrice cu o frecvență joasă (mai mică de câțiva zeci de mii de hertzi), efectul capacităților și inductanțelor parazite devine neglijabil, de cele mai multe ori.

3.1 Putere electrică activă (W)

Puterea electrică activă reprezintă de fapt, puterea reală consumată de către un circuit electric.Într-un circuit în care sunt prezente atât rezistențe, cât și bobine și condensatori, puterea electrică activă este dată doar de către componentele rezistive, deoarece, acestea nu pot să stocheze energia electrică (toată energia electrică primită este consumată într-un fel, și în acest caz este vorba de căldură).

Formula de calcul a puterii active este cea de la relația (3.1), însă aceasta poate fi scrisă ca în relația următoare:

Unde:

P – puterea electrică [P]SI = W (vați);

U – tensiunea electrică la borne [U]SI = V (volți);

– intensitatea curentului electric []SI = A (amperi);

R – rezistența electrică a circuitului [R]SI = Ω (ohmi);

3.2 Putere electrică reactivă (VAR)

Această putere reprezintă puterea electrică transferată înspre și dinspre bobine și condensatori. Se pot privi bobinele și condensatorii precum niște oglinzi, care după ce primesc energie electrică o cedează (reflectă) mai devreme sau mai târziu în circuitul electric.

Datorită acestui motiv, capacităților și condensatoarelor se mai numesc și componente reactive – reacționează la trecerea curentului electric folosind energia electrică acumulată anterior.

Pentru a explica mai pe larg ce fenomene au loc în prezență bobinelor și condensatorilor într-un circuit ne vom referi la următoarele idei:

energia electrică primită de către bobină se transformă în energie magnetică. În momentul în care tensiunea de la bornele bobinei tinde sa scadă sau rămâne constantă, energia magnetică stocată în interiorul bobinei se transformă în energie electrică, producând un curent de sens contrar cu cel existent inițial în bobină

în cazul condensatorului, energia electrică este folosită de către acesta pentru a muta sarcini electrice de la o bornă la alta a condensatorului. Când tensiunea de la bornele condensatorului tinde sa scadă, energia înmagazinată în condensator este cedată circuitului electric sub forma unui curent care are același sens cu cel inițial. În altă ordine de idei, în momentul în care tensiunea la bornele circuitului scade, condensatorul se descarcă și reintroduce în circuit energia electrică primită.

Formula de calcul pentru puterea electrică reactivă este următoarea:

Unde:

Q – putere electrică reactivă [Q]SI = VAR (volt-amperi reactivi);

– intensitatea curentului electric []SI = A (amperi);

U – tensiunea electrică la borne [U]SI = V (volți);

X – reactanța electrică [X]SI = Ω (ohmi);

Reactanța electrică arată, de fapt, cât de mult se opun condensatorii sau o bobinele trecerii curentului electric prin ele. Reactanța poate fi inductivă sau capacitivă, în funcție de tipul componentei electronice prin care trece curentul electric (bobină, respectiv condensator).

Reactanțele pot fi calculate, iar în funcție de felul lor pot avea următoarele formule:

Pentru reactanțele inductive avem:

Pentru reactanțele capacitive:

Unde:

– reactanță inductivă

[]SI = Ω (ohmi);

– reactanță capacitivă

[]SI = Ω (ohmi);

f – frecvența circuitului alternativ ce se vehiculează prin componente

[f]SI = Hz (hertzi);

L – inductanța bobinei sau inductanța echivalentă (în cazul existenței mai multor inductanțe)

[L]SI = H (henry);

C – capacitatea condensatorului sau capacitatea echivalentă (în cazul în care există mai multe condensatoare)

[C]SI = F (farazi);

Astfel, „X ” din cadrul relației (3.3) va fi înlocuit cu „” în cazul bobinelor și cu „” în cazul în care în circuit există doar condensatori.

Este necesară cunoașterea și înțelegerea puterii reactive, deoarece prezența ei în circuitul electric solicită suplimentar atât generatorul cât și cablurile care realizează alimentarea circuitului.

Prezența componentelor reactive într-un circuit electric reprezintă o sursă de fluctuații, energia electrică nu mai circulă lin prin circuit, ci câteodată este înmagazinată în componentele reactive, iar alteori este descărcată brusc în circuit. Datorită acestor inconveniente, circuitul electric trebuie construit mai solid, astfel încât sa facă față cu bine solicitărilor la care este supus, fapt ce duce la sporirea numărului și calității (preciziei) componentelor. Aceste considerente duc așadar la creșterea costului de realizare.

3.3 Putere electrică aparentă (VA)

Puterea electrică aparentă reprezintă puterea ce înglobează atât puterea electrică activă cât și puterea electrică reactivă.

Calculul puterii electrice aparente se poate realiza cu ajutorul următoarelor formule:

Unde:

S – puterea electrică aparentă [S]SI = VA (volt-amperi);

U – tensiunea electrică la borne [U]SI = V (volți);

Amintindu-ne de relația (3.1), care ne arată că, puterea este egală cu intensitatea curentului electric înmulțită cu tensiunea la bornele circuitului electric, dacă se realizează acest calcul pentru un circuit de curent alternativ ce are în construcție doar componente reactive (bobine și condensatori), se va obține doar o puterea aparentă, deoarece valoarea ei poate fi departe de valoarea puterii reale (puterea activă), consumată de circuitul respectiv.

3.5 Factorul de putere

Din punct de vedere matematic, factorul de putere reprezintă raportul dintre puterea electrică activ și cea aparentă. Fiind vorba de un raport între două mărimi de aceeași natură, rezultatul va fi o marime adimensională.

Această mărime poate să conțină valori de 0, 1, sau valori din acest interval după cum urmează:

valoarea 0 înseamnă că în circuit nu există decât componente reactive, acestea nu consumă energie ci doar o înmagazinează sau o injectează în circuit pe cea existentă, așa cum am explicat mai sus;

valoarea 1 rezultă din faptul că, prin circuit nu circulă decât putere activă

Este cunoscut faptul că atunci când circuitul conține bobine și condensatori pot să existe diferențe de fază între tensiunea și intensitatea curentului electric.

Mai este cunoscut și faptul că bobinele induc un defazaj opus față de defazajul introdus de către condensatoare, de unde rezultă faptul că reactanțele introduse de acestea sunt egale, adică se vor anula reciproc. În practică însă această egalitate apare foarte rar dacă nu se intervine în niciun fel în circuit. Vom avea parte de un defazaj mai mic sau mai mare între tensiunea electrică și intensitatea curentului electric, fapt ce duce la dezechilibre în circuit.

Deci, pentru a concluziona, un factor de putere mai mic decât 1 duce la pierderi.Se intervine astfel în circuit pentru aducerea factorului cât mai aproape de 1, procedeu numit compensarea factorului de putere. [22]

3.6 Defazajul dintre tensiunea electrică și intensitatea electrică (φ – grade)

Curentul alternativ prezintă o comportare ciclică, pentru acest motiv s-a introdus, pentru ușurința înțelegerii fenomenelor, o convenție prin care durata unui ciclu (alternantă completă), se poate transpune în circumferința unui cerc. (fig 3.1)

Fig. 3.1 Exprimarea valorii instantanee a tensiunii electrice alternative cu ajutorul poziției unghiulare pe circumferința unui cerc

În figura de mai sus putem observa reprezentarea grafică a unei alternanțe complete în curent alternativ.În partea dreaptă se poate observa cum domeniul de tensiuni din partea stângă a fost translatat prin intermediul circumferinței unui cerc.

Acest lucru poate fi tradus prin faptul că oricărei poziții de pe linia albastră din stânga imaginii îi corespunde o poziție pe circumferința cercului din figura din partea dreaptă.

Astfel prin împărțirea zonelor de alternare în grade rezultă:

punctului în care alternanța are valoarea 0 pe zona ascendentă ( t0) îi corespunde poziția de 0o;

punctului în care alternanța are valoarea pozitivă maximă (t1) îi corespunde poziția de 90o;

punctului în care alternanța conține valoarea 0 pe zona descendentă (t2) este poziția de 180o;

punctului în care alternanța are valoarea negativă maximă (t3) îi corespunde poziția de 270o;

punctului în care alternanța atinge din nou valoarea 0 pe zona ascendentă (t4) este poziția de 360o pentru alternanța curentă și în același timp punctul de 0o al următoarei alternanțe.

În cazul existenței a doua semnale acestea pot sa fie:

în fază, atunci când alternanțele celor două semnale trec în același timp prin momentele t0, t1, t2, t3 și t4;

defazate, atunci când alternanțele celor două semnale nu trec în același timp prin momentele t0, t1, t2, t3 și t4; [23]

Elementele de circuit care introduc defazaj sunt bobină și condensatorul.Rezistențele sunt elemente de circuit care nu introduc niciun defazaj. [24]

Fig. 3.2 Defazajul introdus într-un circuit de către rezistențe, condensatori și bobine

Fig. 3.3 Diagrama fazorială pentru un circuit cu caracter inductiv (partea stangă), respectiv cu caracter capacitiv (dreapta)

Fig. 3.4 Diagrama fazorială pentru un circuit cu caracter rezistiv

Dacă în cazul unei rezistențe electrice, prin modificarea tensiunii la borne, aceasta va modifica instantaneu intensitatea curentului electric ce o străbate, în cazul unei bobine însă orice variație a tensiunii la borne va provoca apariția fenomenului de autoinducție. (Fig. 3.5)

Fig. 3.5 Defazajul dintre curent și tensiune produs de către o bobină

În cardul figurii de mai sus avem reprezentate două semnale și anume: variația tensiunii aplicate la bornele unei bobine, respectiv intensitatea curentului electric ce o străbate.

Așa cum se poate observa, pe întreaga durată pe care tensiunea la borne crește (reprezentat grafic printr-o linie de culoare albastră, pe intervalul t0 – t1), fenomenul de autoinducție împiedică modificarea (creșterea) intensității curentului electric prin bobină.

Când tensiunea încetează sa crească (momentul de timp t1), fenomenul de autoinducție scade, iar curentul electric începe sa crească, continuând creșterea pentru a compensa diminuarea tensiunii de la borne, având scopul de stabilizare prin pomparea curentului suplimentar în circuit.

Maximul pozitiv de curent electric se atinge în momentul t2 , la acest moment viteza de variație a tensiunii fiind maximă. Între momentele de timp t2 – t3 , viteza de variație a tensiunii si cea a curentului electric scade până la valoarea 0. Între t3 – t5 , tensiunea își mărește viteza de variație și se creează un maxim negativ de curent la momentul t4, urmând ca viteza de variație a tensiunii să scadă, curentul electric ajungând la valoarea 0 în momentul t5. După acest moment de timp,procesul se reia.

Tot din graficul din fig. 3.5 putem observa faptul că tot timpul variația tensiunii va influența variația curentului electric, abia după ce a trecut un sfert din durata unei alternanțe complete.

Distanța dintre t0 și t1 , constituie un defazaj de +90o (tensiunea apare înaintea curentului).

Din acest considerent se spune faptul că defazajul dintre tensiune și curent produs de către o inductanță este pozitiv.

Spre deosebire de bobină, care tinde să mențină un curent constant prin ea, condensatorul tinde să mențină constantă tensiunea la borne.În graficul din figura de mai jos se poate observa modul în care tensiunea la borne și curentul electric printr-un condensator fluctuează.

Fig. 3.6 Defazajul dintre tensiune și curent produs de către un condensator

În cazul în care tensiunea la bornele condensatorului este crescută (momentul t0), condensatorul începe să consume un curent foarte mare, curent ce scade la valoarea 0, abia la momentul de timp t1, când tensiunea încetează sa mai crească.

Între momentele de timp t1 și t2, tensiunea scade lent, condensatorul începând sa se descarce lent, deci și curentul debitat de acesta va fi unul mic. Pe măsură ce graficul se apropie de momentul t2 , viteza de variație crește din ce în ce mai mult, condensatorul urmând să se descarce din ce în ce mai repede, deci și curentul electric generat de acesta crește atingând un maxim la momentul t2.

La atingerea valorii negative maxime (momentul t3), condensatorul nu mai consumă niciun curent, având deja la borne tensiune (negativă) maximă. Când tensiunea se îndreaptă spre momentul t4 , curentul crește până la maximul pozitiv, urmând să scadă până la valoarea 0 la momentul t5.

Ciclul se reia și în cazul următoarelor alternanțe.

Așadar, capacitatea produce un defazaj între tensiunea la borne și curentul electric de -90o (negativ deoarece prin aceasta se indică faptul ca tensiunea apare ceva mai târziu decât curentul).

Concluzionând, printr-un circuit alternativ care conține bobine și condensatori, curentul maxim prin bobină va fi defazat cu 180o fată de curentul maxim pin condensator.Valoarea maximă pozitivă a curentului electric prin bobină apare exact în momentul în care curentul electric prin condensator atinge valoarea negativă minimă, cei doi curenți fiind mereu contrari. [23]

Capitolul IV: Dezvoltarea unei soluții de analiză și raportare de consum electric și parametri generali

Acest capitol cuprinde implementarea propriu-zisă a proiectului, materialele necesare realizării acestuia, precum și pașii urmați pentru a putea reuși dezvoltarea unui sistem performant de monitorizare a parametrilor unui circuit electric.

În primul rând, proiectul se bazează pe un sistem inteligent de măsurare a parametrilor unui circuit electric, sau poate fi folosit ca sistem de monitorizare a energiei electrice într-o locuință, de exemplu , în vederea luării la cunoștintă a consumului, dar și a eventualelor defecte ce pot să apară în buna funcționare a rețelei electrice sau aparatelor folosite.

4.1 Tehnologii și unelte

La baza funcționării dispozitivului realizat stă folosirea unor tehnologii moderne de măsurare, măsurarea prin intermediul senzorilor cu afișare pe ecran, dar și afișare a datelor pe un server local și stocarea acestora cu ajutorul unui card microSD, astfel încât aceste date preluate de la senzori nu pot fi doar vizualizate în timp real, dar pot fi și analizate mai apoi prin descărcarea unui fișier salvat pe card.

Fișierul prezent pe card culege date de la senzori și le stochează o data la unanumit interval de timp de ordinul secundelor în format .CSV. Se pot astfel vizualiza în modul brut dar și sub formă de grafica, analiza, interpreta datele culese. Este foarte ușor de făcut o analiză generală, sau pe ore, zile sau luni , deoarece dispozitivul este dotat cu un RTC (Real Time Controller) , ce permite atașarea orei și datei în momentul recepționării valorilor citite prin intermediul senzorilor. Aceste tehnologii inteligente, de accesare a datelor și vizualizare a lor prin intermediul Internetului oferă un mare avantaj față de dispozitivele clasice de măsurare, prin faptul ca permit utilizatorilor să fie la curent cu informațiile primite de la senzori fără să fie nevoiți să se deplaseze la locul măsurării, ci doar să dispună de un dispozitiv cu posibilitate de conectare la Internet.

Dacă vorbim strict de implementarea realizată în acest proiect, nu putem vorbi de o vizualizare a datelor colectate la nivel de site web cu domeniu public, plătit , ci doar de vizualizarea datelor prin intermediul unei rețele de Internet locale (LAN – Local Area Network). Cert este că trecerea la nivel de site, cu acces limitat, sau cu acces public, prin intermediul unui domeniu de hosting este foarte simplă de implementat.

Văzând dezvoltarea conceptului de IoT, prezentat anterior, în capitolul II (2.6), acest dispozitiv nu se poate rezuma numai la transmiterea datelor prin intermediul Internetului, ci poate fi conceput în vederea comunicației cu alte dispozitive de aceeași natură, în vederea optimizării consumului de energie electrică, vizualizarea orelor de vârf sau de bază ale nivelului de consum de energie. Centralizarea datelor astfel obținute de la dispozitive interconectate poate să reducă pierderile generate în sistem și să ducă la optimizarea procesului de consum de energie.

Pe lângă tehnologiile și conceptele folosite, sunt necesare o serie de componente și dispozitive care să realizeze legătura dintre partea conceptuală și cea fizică.

Când vine vorba despre dispozitive folosite, două dintre ele sunt de o importanță crucială: Arduino Mega – dispozitivul care preia datele primite de la senzori și le procesează, acesta are atașat un alt dispozitiv compatibil – Adruino Ethernet Shield, ce are rol de server și realizează practic transmiterea pachetelor de date către serverul web local (client – browser).

În cele ce urmează voi prezenta fiecare parte componentă a proiectului, urmând ca mai apoi să ofer o vedere de ansamblu asupra acestuia.

4.1.1 Arduino

Ținând cont de faptul că platforma de dezvoltare Arduino este “creierul” acestui proiect având integrată unitatea de procesare a datelor și anume microprocesorul, voi dedica în cele ce urmează câteva pagini prezentării acestei platforme, în special a tipului de placă de dezvoltare folosită și anume Arduino Mega.

În primul rând trebuie să știm ce este această platformă și pentru ce se folosește, ce utilitate are. Arduino este o companie open-source producătoare de plăci de dezvoltare bazate pe microcontrolere, alături de celelalte componente hardware, care reprezintă partea fizică, cât și partea de software folosită în scopul funcționării și programării acestora.

În afară de aceste unelte atât fizice cât și software, proiectul Arduino este conectat la o comunitate uriașă care se ocupă cu creația și distribuirea ideilor noi de dezvoltare, care au drept scop producerea de dispozitive care pot sesiza și controla diverse activități sau procese în lumea reală.

În vederea realizării plăcilor se folosesc microcontrolere produse de diferiți furnizori, implementate prin utilizarea mai multor tipuri de microcontrolere. Plăcile de dezvoltare Arduino, pun la dispoziția utilizatorului pini de intrare-ieșire (I/O), digitali, analogici. Acești pini se pot conecta foarte simplu cu o gamă largă de plăcute numite shield-uri, dar și cu alte circuite electrice.

Plăcile de dezvoltare conțin interfețe de comunicații seriale, chiar și porturi USB , pe unele modele, în vederea conectării acestora cu laptopurile sau PC-urile. Porturile USB au ca scop principal încărcarea programelor din calculatoarele personale în vederea realizării funcțiilor dorite prin implementarea programului.

Pentru programarea microcontrolerelor, Arduino pune la dispoziția utilizatorilor un mediu de dezvoltare integrat (IDE) ce are la bază proiectul Processing, care include suport pentru limbaje de programare precum C și C++.

Primul dispozitiv Arduino a fost lansat în anul 2005, având drept scop asigurarea furnizarea unei soluții ieftine, dar și cu un grad de simplitate crescut, pentru începători și profesioniști. Dorința realizatorilor a fost crearea de dispozitive capabile să interacționeze cu mediul, prin intermediul senzorilor, dar și a altor sisteme de acționare. Cele mai comune dispozitive din acest punct de vedere pentru utilizatorii începători sunt: roboții simpli, termostatele și/sau detectoarele de mișcare, etc…

Comercializarea plăcuțelor Arduino se face sub formă preasamblată, existând însă și varianta, mai complicată ce-i drept, de realizare a acestora prin intermediul unor kituri de asamblat acasă. Specificațiile schemelor pot fi găsite de către orice utilizator, permițând fabricarea de plăcuțe Arduino oricărui dorește și are cunoștințele necesare de asamblare, dar și mijloacele tehnice care să permită acest lucru. Adafruit Industries estimase la mijlocul anului 2011 că peste 300.000 de plăcuțe oficiale Arduino au fost produse, iar în 2013 700.000 de plăcuțe oficiale erau în posesia utilizatorilor.

Arduino a început în 2005 ca un proiect al unui student al Institutului de Interacțiune a Designului din Ivrea, Italia. Studenții foloseau o plăcuță de dezvoltare BASIC Stamp ce avea o valoare de piață de 100 de dolari, fapt ce constituia o variantă costisitoare pentru ei. Massimo Banzi, unul dintre fondatori, era student la Ivrea. Numele "Arduino" provine de la un bar din Ivrea, locul în care fondatorii proiectului obișnuiau să se întâlnească.

Studentul columbian Hernando Barragán a creat platforma de dezvoltare Wiring care a servit ca bază pentru Arduino. După finalizarea platformei Wiring, au fost create mai multe versiuni la un cost de producție mult mai mic și cu dimensiuni reduse considerabil, ce au fost puse la dispoziția comunităților open-source. Din echipa inițială Arduino au făcut parte Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino și David Mellis.

Descriere generală. Specificații

O plăcuță Arduino putem spune că funcționează pe combinația dintre hardware și software, ca de altfel orice sistem tehnologic programabil.

La nivel hardware, o plăcuță de dezvoltare Arduino este compusă dintr-un microcontroler Atmel AVR, cu o memorie de 8 , 16 , respectiv 32 biți, începând cu anul 2015, însă s-au folosit microcontrolere de la alți producători. Aceste microcontrolere prezintă componente ce permit atât programarea cât și integrarea în alte circuite într-un mod mult mai simplificat.

Arduino prezintă conectori standard care permit utilizatorului să conecteze plăcuța cu procesorul la diverse module interschimbabile numite shield-uri. Acest avantaj a fost folosit de către mine în acest proiect, prin intermediul unui shield denumit Ethernet Shield ce a permis conectarea la Internet a device-ului proiectat.

Unele shield-uri comunică în mod direct cu Arduino, prin intermediul pinilor digitali sau analogici, iar altele pot fi conectate și adresate în mod individual prin intermediul magistralei I2C, permițând astfel utilizatorului să folosească mai multe module în paralel.

Standardul I2C sau IIC reprezintă un tip de transmisie de date serială de tip master-slave, cu utilizare intensivă între circuite integrate digitale precum microcontrolere, memorii, convertoare, etc , fiind dezvoltat pentru prima dată de către firma olandeză Philips. Magistrala I2C este compusă din două linii și anume SCL (Serial Clock Line) și SDA (Serial Data Line).

Până în anul 2015 s-au folosit cipuri Atmel din seria megaAVR, în special ATmega8, ATmega168, ATmega328, ATmega1280 și ATmega2560, iar în 2015 au fost adăugate cipuri de la alți producători.

Plăcile folosesc pini pe un singur rând sau pe două rânduri sau headere mamă ce facilitează conexiunile pentru programare și incorporare în alte circuite.

Acești pini se află pe partea superioară a plăcii, accesibili prin terminale mamă de 2.54 mm. Multiple shield-uri pentru utilizarea în aceste terminale sunt disponibile comercial. Arduino Nano, Arduino Bare-bone și Boarduino pot oferi pini tată pe partea inferioară a plăcii ce se pot insera în breadboard-uri.

Multe plăcuțe includ un regulator liniar de 5 V și un oscilator cu cuarț de 16 MHz (sau un rezonator ceramic în unele variante).

Un microcontroler instalat pe Arduino vine preprogramat cu un bootloader care simplifică încărcarea programelor pe memoria flash a cipului, în comparație cu alte dispozitive care necesită programatoare externe. Acest aspect face Arduino o soluție simplă, permițând programarea cu ajutorului oricărui tip de computer. În prezent, bootloader-ul optiboot este bootloader-ul implicit instalat pe Arduino UNO.

Alte variante, precum Arduino Mini și neoficialul Boarduino, folosesc un adaptor detașabil, Bluetooth sau alte metode. Când se utilizează cu instrumente standard, în locul Arduino IDE, se va recurge la programare standard AVR (ISP).

Plăcuțele Arduino din prezent sunt programate prin USB, având integrate cipuri de conversie USB-serial, cum ar fi FTDI FT232.

Exemple de plăci de dezvoltare sunt multe, originale și neoriginale precum: Arduino Diecimila in Stoicheia, Arduino RS232,Arduino Uno R2,Arduino Pro – fără USB, Arduino Duemilanove , Arduino UNO, Arduino Leonardo, Arduino Mega – utilizat în acest proiect , Arduino MEGA 2560 R3 , Arduino Nano , Arduino Due, LilyPad Arduino, Arduino Yun, Arduino Esplora, Arduino Ethernet (AVR + W5100)…. . [25]

Pentru implementare am folosit inițial Arduino UNO, fiind o variantă accesibilă ca preț și ca varianță de conectare pentru acest proiect, însă pe măsură ce am lucrat mi-am dat seama că am nevoie de mai multe resurse hardware și astfel am ajuns să folosesc un alt tip de Arduino și anume Arduino Mega. Ambele variante aveau posibilitatea conectării prin intermediul interfețelor a shield-urilor Ethernet, însă după cum spuneam, partea de memorie fiind insuficientă, alegerea finală a fost Arduino Mega.

Fig. 4.1 Comparație între Arduino UNO și Arduino Mega 2560 R3

După cum se poate observa și în figura 4.1, este foarte clară diferența dintre Arduino UNO și Arduino Mega atât prin prisma numărului de pini cât și prin intermediul memoriei de care acestea dispun.

Pentru Arduino UNO este vorba despre o memorie Flash de 32 KB (dintre care 5 kB sunt folosiți de către bootloader), SRAM de 2 kB , EEPROM 1 kB.

În cazul Arduino Mega 2560 R3 vorbim de o memorie Flash de 256 kB (dintre care 8 kB folosiți pentru bootloader), SRAM 8 kB , EEPROM 4 kB.[26]

Arduino Mega 2560 este un microcontroler bazat pe ATmega2560. Dispune de 54 de intrări / ieșiri digitale (dintre care 14 pot fi utilizate ca ieșiri PWM), 16 intrări analogice, 4 UART-uri (porturi seriale hardware), un oscilator de cristal de 16 MHz, o conexiune USB, o mufă de alimentare, antet ICSP (in-circuit serial programming) și un buton de resetare. Conține tot ce este necesar pentru a susține microcontrolerul, se poate conecta la computer prin intermediul unui cablu USB, alimentat cu un adaptor AC – DC sau prin intermediul unei baterii.

Tensiunea de operare a plăcii Arduino este de 5V, tensiunea de intrare recomandată 7-12V, limitele tensiunii de intrare sunt 6 – 20V, curent continuu prin pinul de I/O de 40mA, iar pentru pinul de 3.3V, curentul are valoarea 50 mA.

Fig. 4.2 Topologia modulului Arduino Mega

După cum se poate observa în figura de mai sus se poate vedea topologia (așezarea) componentelor principale (de bază) folosite de către Arduino Mega. Pe lângă componentele mai există si altele , precum rezistori, condensatori, tranzistori, etc,ce completează schema fizică a plăcii.

Modulul poate funcționa pe o sursă externă de 6 până la 20 de volți. Dacă este furnizat cu mai puțin de 7V, cu toate acestea, pinul 5V poate furnizează mai puțin de 5 volți, iar placa poate fi instabilă. Dacă se utilizează mai mult de 12V, regulatorul de tensiune se poate supraîncălzi și acest lucru poate duce la distrugerea (deteriorarea) modulului.

Pinii de alimentare sunt:

VIN, reprezintă tensiunea de intrare pentru Arduino atunci când utilizează o sursă externă de alimentare (spre deosebire de 5 volți de la conexiunea USB sau de la altă sursă de alimentare reglată). Se poate furniza furniza tensiune prin intermediul acestui pin, sau, dacă tensiunea de alimentare prin mufa de alimentare.

5V. Sursa de alimentare regulată folosită pentru alimentarea microcontrolerului și a altor componente de pe placă. Această tensiune pot proveni de la VIN prin intermediul unui regulator de bord sau prin alimentarea cu 5V.

3V3. Tensiunea generată de regulatorul de la bord. Rezistența curentului maxim este de 50 mA.

GND. Tensiunea de conectare la masă. (0V)

Fiecare dintre cei 54 de pini digitali de pe Mega poate fi folosit ca intrare sau ieșire, utilizând funcțiile pinMode (), digitalWrite () și funcțiile digitalRead (). Acestea funcționează la 5 volți. Fiecare pin poate furniza sau primi un maxim de 40 mA și are o rezistența de internă (deconectată în mod implicit) de 20-50 kΩ.

În plus, unele pini au funcții specializate:

Serial: 0 (RX) și 1 (TX); Serial 1: 19 (RX) și 18 (TX); Serial 2: 17 (RX) și 16 (TX); Serial 3:15 (RX) și 14 (TX). Folosit pentru a recepționa (RX) și a transmite (TX) date seriale TTL. Pinii 0 și 1 sunt conectați la pini corespunzători ai cipului ATmega8U2 USB-to-TTL Serial.

întreruperi externe: 2 (întrerupere 0), 3 (întrerupere 1), 18 (întrerupere 5), 19 (întrerupere 4), 20 (întrerupere 3) și 21(întrerupere 2). Acești pini pot fi configurați pentru a declanșa o întrerupere la o valoare scăzută, o margine în creștere sau în scădere sau a modificarea valorii. Funcția attachInterrupt () se folosește pentru întreruperi.

PWM: 0 la 13. Ieșirea PWM pe 8 biți poate fi apelată cu funcția analogWrite ().

SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). Aceste pini sprijină comunicarea SPI, care, deși furnizat de hardware-ul de bază, nu este inclus în prezent în limba Arduino.

LED: 13. Există un LED încorporat conectat la pinul digital 13. Când pinul este HIGH, LED-ul este pornit, când pinul este scăzut, este oprit.

I2C: 20 (SDA) și 21 (SCL). Suportă comunicarea I2C (TWI) utilizând biblioteca Wire [27]

Mediu de lucru (IDE) și fundamente de dezvoltare

Mediul de dezvoltare (IDE-ul) reprezintă cea de-a doua parte deosebit de importantă,pe lângă partea hardware, în realizarea proiectelor, în cazul de față am folosit mediul de dezvoltare open-source oferit de către Arduino.

Programele Arduino pot fi scrise în orice limbaj de programare cu un compilator capabil să producă un cod mașină binar. Atmel oferă un mediu de dezvoltare pentru microcontrolerele sale, AVR Studio și mai nou, Atmel Studio.

Proiectul Arduino oferă un mediu integrat de dezvoltare (IDE), care este o aplicație cross-platform, scrisă în Java. Originile platformei, însă, sunt limbajul de programare Processing și în proiectul Wiring.

Codul este mult mai accesibil din punct de vedere al scrierii, fiind user-friendly, ajutând foarte mult programatorii nefamiliarizați cu dezvoltarea software.

Programul include un editor de cod cu funcții precum evidențierea sintaxelor, potrivirea acoladelor,dar și spațierea automată oferă mecanisme utile și simple prin intermediul unui singur click. Este utilizat nu doar pentru compilarea și scrierea programelor, dar și pentru transferul programelor în plăcuțele Arduino.

Un program scris în IDE-ul Arduino, poartă denumirea de sketch.

Fig. 4.3 Arduino IDE

De asemenea, Arduino suportă limbajele de programare C și C++ , utilizând reguli speciale de scriere și gestionare a codului. Arduino IDE pune la dispoziția utilizatorilor o librărie software Wiring, unde sunt prezentate coduri comune de intrare și ieșire.

Un sketch simplu, scris în C/C++ conține două funcții predefinite care sunt compilate și ce prezintă legătură cu o funcție main(), totul realizându-se într-un program executabil cu o execuție ciclică:

setup() – reprezintă o funcție apelată o singură dată la începutul programului, atunci când se inițializează setările

loop() – funcție a cărei apelare se realizează repetat până la oprirea alimentării plăcuței Arduino

Arduino are o platformă hardware open-source: referințele de design pentru Arduino sunt distribuite sub licența Creative Commons Attribution Share-Alike 2.5 și sunt disponibile pe site-ul Arduino. Schemele și fișierele de producție sunt și ele disponibile. Codul sursă pentru IDE este disponibil sub GNU General Public License, versiunea 2. [25]

Standardul I2C.

Bus-ul I2C a fost proiectat de Philips la începutul anilor 80 pentru a permite o comunicație ușoară între componentele care se află pe aceeași placă de circuite. Philips Semiconductors a migrat la NXP în 2006.

Numele I2C se traduce în "Inter IC". Mai poartă denumirea de IIC sau I²C.

Viteza de comunicare originală este definită ca maxim 100 Kb/s și multe aplicații nu necesită transmisii mai rapide. Modul rapid este de 400 Kb și – din 1998 – o opțiune de mare viteză de 3,4 Mb a devenit disponibilă.Dincolo de aceasta, există UFM ultrafast mode, dar nu este chiar un standard I2C real.

I2C nu este utilizat pe plăci unice, ci pentru conectarea componentelor care sunt conectate prin cablu. Simplitatea și flexibilitatea sunt caracteristici cheie care-l fac atractiv pentru multe aplicații.

Cele mai importante caracteristici includ:

sunt necesare numai două linii de transmisie (master – slave)

nu există cerințe stricte privind rata baudului (rata de transfer a datelor), ca în cazul RS232 (comunicație serială), master-ul impune viteza de clock

există relații simple de tipul master / slave între toate componentele

fiecare dispozitiv conectat la magistrală este un software adresabil printr-o adresă unică

standardul I2C este un adevărat multi-master oferind arbitrare și detecție a coliziunilor

Standardul I2C transmite date prin intermediul a doua linii de transmisie SDA (Serial Data Line) și SCL (Serial Clock Line) , acestea fiind de tipul open-drain (adică cu colectorul „în aer”-în gol). Rezistorul de terminare Rp permite liniei să ajungă la valoarea Vcc (valoarea tensiunii de alimentare) , în cazul în care niciun dispozitiv nu comunică prin intermediul standardului.

Împreună cu capacitatea de sârmă Cp, rezistorul de terminare Rp afectează comportamentul temporal al semnalelor pe SDA și SCL. Rp variază de la 1 kΩ la 10 kΩ, rezultând curenți de tipici de aproximativ 1 mA și mai puțin. Acesta este motivul pentru aspectul caracteristic de tip „dinți de fierestrău” al semnalelor I2C. De fapt, fiecare „dinte” reprezintă sarcina caracteristică a liniei de pe frontul crescător și caracteristica de descărcare pe frontul descrescător. [28]

Fig. 4.3 Fronturile de undă a comunicației I2C – partea de sus fiind reprezentată de semnalul SDA, iar partea de jos de semnalul SLC

O magistrală serială de tip I2C permite interconectarea componentelor unui microsistem : microcontrolere, memorie de program (EPROM), memorie de date (SRAM), convertoare A/D (Analog – Digitale) și D/A (Digital – Analogice), precum și alte dispozitive periferice. Această magistrală înlocuiește o magistrală clasică de sistem, care are un număr relativ mare de linii de adresă, date și control. Utilizarea unei magistrale seriale reduce semnificativ costurile de cablaj și timpul de realizare a unor prototipuri. Este soluția ideală pentru realizarea unor sisteme încapsulate bazate pe microcontrolere.

Dezavantajul utilizării unei astfel de magistrale este reducerea semnificativă a vitezei de comunicație între componentele sistemului. Acest dezavantaj este diminuat în cazul microcontrolerelor la care majoritatea componentelor se află în același circuit integrat ( unitate centrală, memorie ROM, memorie RAM, porturi de intrare/ieșire, etc.) și numai anumite componente specifice aplicației (ex : convertoare), trebuie să comunice cu ajutorul magistralei seriale.

Pe magistrala I2C transmisia este serială sincronă ; se utilizează un semnal separat de ceas alături de semnalul de date. Circuitele de emisie sunt cu colector în gol, ceea ce permite conectarea pe același semnal a mai multor ieșiri de circuit.

Fig. 4.4 Modul de conectare a mai multor ieșiri pe magistrala I2C

Pe magistrala se pot conecta module master (care au drept de inițiativă în transferul de date) și module slave (care pot fi interogate de modulele master). Un modul master poate sa inițieze un transfer dacă magistrala este liberă. În cazul în care două unități master initiază simultan un transfer de mesaj, atunci va avea câștig de cauză mesajul a cărui prioritate este mai mare .[29]

Primul octet al transferului I2C conține adresa slave și direcția de date.

Adresa este de 7 biți, urmată de bitul de direcție. La fel ca la toate tansmisiile pentru octeții de date, adresa este transferată mai întâi la cel mai semnificativ bit.

Un spațiu de adrese pe 128 de biți permite teoretic 128 adrese I2C – cu toate acestea, unele adrese sunt rezervate pentru scopuri speciale. Astfel, sunt disponibile doar 112 adrese cu schema de adrese de 7 biți. Pentru a scăpa de aceasta este deficiență, se utilizează o metodă specială pentru folosirea adreselor de 10 biți.

Fig. 4.5 Modul de transmisie a datelor prin intermediul standardului I2C

Termenul "interfață I2C" se referă de obicei la mijloacele de conectare la magistrala I2C la un PC. Cu toate acestea, există cu siguranță și alte interfețe I2C care asigură conectivitate pentru aceste dispozitive utilizate în general pentru dispozitive diferite de PC-uri.

Logica I2C, cum ar fi Connii MM 2.0 sau Tracii XL 2.0, este o interfață alternativă mult mai fiabilă și puternică. Aceste dispozitive sunt conectate prin USB, pe lângă faptul că pot funcționa în modul multi-master, ele oferă o serie de funcții suplimentare importante și utile. Din moment ce comunică cu software-ul PC-ului într-un mod mult mai eficient decât rata de transfer, viteza de transfer este mult mai mare, iar sarcina pe PC este mult mai mică. [28]

Deoarece porturile seriale sunt asincrone, dispozitivele ce utilizează porturile seriale trebuie să conțină ceasuri ce au o rată apropiată de transmisie a datelor și au comunicarea UART la bază, un tip de comunicare complex și dificil de implementat.

Un alt minus în acest tip de comunicare este acela că, este permisă doar între două dispozitive. Chiar dacă este posibil să conectam mai multe dispozitive la un singur port serial, apar conflicte la bus ("bus contention"), deoarece două dispozitive tind să transmită date pe aceeasi linie, în acelasi timp.

În cele din urmă, rata de trasfer a datelor reprezintă o problemă. Teoretic, nu este nicio limită în comunicația serială asincronă, dar practic în comunicația UART (Universal asynchronous receiver-transmitter – dispozitiv universal de transmisie – recepție), dispozitivele suportă o rată de transfer fixă, cea mai mare fiind de aproximativ 230400 biți/secundă.

Fig. 4.6 Limitările transmisiei seriale – comunicație permisă doar între două dispozitive

Cel mai mare minus pe care îl are un SPI este numarul mare de pini de care este nevoie. Pentru conectarea unui singur "master" cu un singur "slave" la un bus SPI, este nevoie de 4 linii, iar fiecare "slave" pe care-l conectam după, necesită un cip adițional ce selectează un pin I/O de pe dispozitivul folosit ca "master". Prin urmare, în acest tip de comunicație este posibilă conectarea mai multor dispozitive "slave" la un singur dispozitiv "master", dar cu toate acestea, din cauza numărului mare de pini utilizați, transmiterea semnalelor este dificilă.

SPI este totuși folosit datorită implementării ușoare și a ratei de transmitere a datelor ( transmisie și recepție simultană), prin conexiunea full-duplex, suportând o rată de transmisie de 10 milioane de biți/secundă.

Fig. 4.7 Realizarea comunicației prin intermediul SPI (Serial Peripheral Interface)

I2C necesită două fire ca și comunicația serială asincronă, cu diferența că acest tip de comunicație poate suporta până la 1008 dispozitive de tip "slave". Mai mult decât atât, în comunicația de tip I2C pot exista mai multe dispozitive de tip "master" la un bus, lucru nepermis în comunicația SPI.

Rata de transfer a datelor nu este foarte bună, fiind asemănătoare cu cea de la portul serial; cele mai multe dintre I2C-uri comunică cu o rată de transmisie cuprinsă între 100kHz și 400kHz.

În ceea ce privește implementarea, aceasta este mai complexă decât în cazul implementării SPI, dar mult mai ușoară decât în cazul comunicării asincrone, cu UART.

Fig. 4.8 Comunicația I2C

Foarte mulți senzori utilizează I2C pentru a comunica, cum ar fi: barometrele, senzorii de temperatura, sonarele… Este de precizat faptul că I2C nu sunt destinate pentru cabluri cu lungime mare, în general cablurile de peste 2 metri putând cauza probleme.

I2C este un tip de comunicație complex, dar foarte folositor. [30]

4.1.2 Interfață fizică.Exemplu

Practic vorbind, referindu-ne la proiectul de față, comunicația prin intermediul I2C a fost utilă pentru implementarea a două funcții: funcția de afișare pe ecranul LCD și în același timp cea pentru conectarea RTC-ului (Real Time Controller).

Fig. 4.9 Implementarea practică a Display-ului LCD și modulului RTC folosind standardul I2C

Pentru realizarea afișării pe ecranul LCD, am utilizat un adaptor I2C pentru interfața LCD, prezentat în figura de mai jos.

Fig. 4.10 Adaptor I2C pentru realizarea interfeței cu LCD

Adaptorul de mai sus prezintă ca și parți componente de bază, un potențiometru, ce poate fi reglat prin intermediul unei șurubelnițe tip stea (prezent în figura de mai sus încadrat în pătratul de culoare albastră), pentru a regla contrastul și este compatibil cu ecranele ce au iluminare de fundal (funcție prezentă pentru LCD-ul folosit în proiect), A0, A1, A2 reprezintă adrese opționale de salturi (adrese de jump), 20 de pini de tip tată, 4 utilizați pentru interfața cu Arduino și restul folosiți pentru realizarea interfeței cu display-ul LCD.

Adaptorul lucrează la o tensiune de 5V în curent continuu și se alimentează de la Arduino Mega.

Pentru realizarea conexiunilor între adaptor și ecranul LCD se poate folosi breadboard-ul sau se poate lipi adaptorul direct pe spatele ecranului utilizând fludor, acesta din urmă fiind modul în care am realizat conexiunea.

Bibliotecile necesare sunt "Wire.h" și "LiquidCrystal_I2C.h". Prima bibliotecă este inclusă în platforma de dezvoltare Arduino IDE, iar cea de-a doua poate fi descărcată sub formă de arhiva cu extensia .ZIP.

Pentru adăugarea bibliotecii trebuie deschis mediul de dezvoltare și selectat tab-ul Sketch > Include Library > Add .ZIP library.

Adresa I2C a LCD-ului este, de obicei, 0x27. În caz că această adresă nu funcționează, se poate utiliza adresa 0x3F. [31]

Fig. 4.11 Realizarea conexiunii fizice între interfața I2C și LCD

Pentru a utiliza acest tip de LCD direct cu Arduino, ar fi nevoie de 6 pini: DB4, DB7, E, RW, RS, V0 pentru a comunica informația LCD-ului. Unde DB4 și DB7 sunt pini folosiți pentru transmiterea datelor bidirecțional, E permite scrierea sau citirea datelor transmise, RW – modul read/write (scriere/citire), pinul RS este responsabil pentru selecția regiștrilor în care se realizează scrierea datelor,V0 reprezentând voltajul de operare al LCD-ului.

Fig. 4.12 Modul clasic de implementare a ecranului LCD, fără interfața I2C

După cum se poate observa în figura de mai sus pentru varianta clasică de conectare a ecranului LCD sunt necesare mult mai multe conexiuni față de varianta în care se folosește interfața I2C.

Dacă se implementează un proiect simplu și se dispune de multi pini pe placa Arduino, atunci nu mai este necesar să se utilizeze interfața I2C, folosită pentru reducerea numărului de pini utilizați, dar în cazul unui proiect ce necesită un număr mare de conexiuni, utilizarea standardului I2C este necesară și ajută la economisirea numărului de pini folosiți și implicit la utilizarea unui număr redus de fire necesare conexiunilor. Cu acest modul de interfață I2C – LCD, este nevoie doar de 2 linii (I2C) pentru a afișa informații.

Această unitate se conectează la 4 fire,SDA, SCL precum și Vcc, Gnd.

Pentru Arduino Mega, pinii la care se conectează SDA și SCL sunt reprezentați de pinul digital 20, respectiv pinul 21. [32]

Inițializare și afișarea pe ecran

Ecranul folosit în acest proiect este LCD 20×4 Serial, utilizat pentru afișarea informațiilor transmise de RTC (Real Time Controller), dar și a IP-ului preluat prin intermediul DHCP (Dynamic Host Configuration Protocol) de la ruterul care realizează conexiunea cu Ethernet Shield.

Numărul maxim de caractere ce pot fi scrise pe acest ecran este 20×4, unde numărul 4 reprezintă numărul de linii, iar 20 numărul maxim de caractere ce pot fi scrise pe o singură linie.

În ceea ce privește culoarea caracterelor, aceasta este negru, culoarea fundalului fiind verde. Baund rate (rata de transfer a caracterelor) este de 2400, 4800, 9600 (default), 14400, 19200 si 38400, viteza de transfer este de 10MHz, bufferul poate reține 80 de caractere, boot-up display poate fi activat din firmware și suportă splash screen.

Setarea ratei de transfer se face prin intermediul funcției Serial.begin (Ex:Serial.begin (9600)).[33]

Fig. 4.13 Modul în care arată un display LCD (față-spate) neconectat la interfața I2C

Acest LCD este o soluție simplă și puțin costisitoare pentru implementare, bazată pe controlerul HD44780. Un afișaj cu cristale lichide (LCD) este un afișaj cu ecran plat sau alt dispozitiv optic modular electronic care utilizează proprietățile de modulare a luminii ale cristalelor lichide. Cristalele lichide nu emit direct lumină, folosindu-se în schimb o iluminare de fundal sau un reflector pentru a produce imagini color sau monocrom. Ecranele LCD sunt disponibile pentru a afișa imagini arbitrare (ca într-un afișaj general al computerului) sau imagini fixe cu conținut redus de informații care pot fi afișate sau ascunse, cum ar fi cuvintele pre-setate.

Fiecare dintre filtrele polarizante (paralele și perpendiculare) ale celor două filtre de polarizare sunt paralele unele cu celelalte. Fără cristalul lichid dintre filtrele polarizate, trecerea prin primul filtru ar fi blocată de cel de-al doilea polarizator (încrucișat). Înainte de aplicarea câmpului electric, orientarea moleculelor de cristale lichide este determinată de alinierea la suprafețele electrozilor.

Într-un dispozitiv LCD, direcțiile de aliniere la suprafață pentru cei doi electrozi sunt perpendiculare una pe cealaltă și astfel moleculele se aranjează într-o structură elicoidală. Aceasta induce rotația polarizării luminii incidente, iar dispozitivul este gri. Dacă tensiunea aplicată este suficient de mare, moleculele de cristal lichid din mijlocul stratului sunt aproape complet sublimate.

Această lumină se dorește să fie polarizată perpendicular pe cel de-al doilea filtru și astfel pixelul va apărea negru. Prin controlul tensiunii aplicate peste stratul de cristal lichid în fiecare pixel, este posibil să se treacă prin diferite nivele de gri. Sisteme color color LCD care utilizează aceeași tehnică, cu filtre de culoare folosite pentru a genera pixeli roșii, verzi și albaștri.

LCD-ul utilizează pinii digitali de la 2 la 7, astfel: pinul digital 7 – RS; pinul digital 6 – EN; pinul digital 5 – DB4; pinul digital 4 – DB5; pinul digital 3 – DB6; pinul digital 2 – DB7. Dacă se folosește adaptorul pentru interfața I2C, pinii ce urmează a fi conectați la Arduino rămân în număr de 4 împreună cu pinii ce se conectează la GND și VCC. Fără conectarea prin adaptor, ecranul LCD, ar comunica cu Arduino printr-o comunicație serială.

Controlerul HD44780 conține două registre 8 biți: registrul de date și registrul de instrucțiuni. Registrul de instrucțiuni și registru prin care LCD primește comenzi (schimbare, clear, etc). Registrul de date este utilizat pentru a acumula date înainte de a fi afișate pe ecran.

Când se activează semnalul Enable al LCD-ului, datele de pe pinii de date sunt puse în registrul de date, apoi mutați în DDRAM (Memoria de afișaj, Afișare date RAM) și afișați pe LCD. Registrul de date nu este folosit doar pentru trimiterea datelor către DDRAM ci și la CGRAM, memoria care stochează caracterele create de utilizator (Caracter Generator RAM). [34]

Pentru aflarea adresei la care se începe transmisia datelor prin intermediul interfeței I2C de la ecranul LCD la Arduino, am folosit următorul cod predefinit în cadrul mediului de dezvoltare al proiectului Arduino:

Fig. 4.14 Aflarea adresei I2C a LCD-ului

După ce am aflat adresa I2C pentru LCD , am afișat pe acesta datele transmise de RTC și adresa IP, adresă la care se găsește site-ul web pe hostul local, în care sunt transpuse informațiile cu privire la parametrii măsurați prin intermediul senzorilor.

Exemplu de cod folosit pentru afișarea pe ecran este redat în figura de mai jos, nu reprezintă însă codul utilizat în proiect, acela având o dimensiune considerabil mai mare.

Fig. 4.15 Exemplu de scriere a unui cod în Arduino pentru a afișa mesaje pe ecran

În vederea poziționării cursorului unui LCD se folosește funcția ce are următoarea sintaxă – lcd.setCursor(col, row) , unde col reprezintă parametrul setat pentru coloană, acesta poate lua valoarea maximă 20, iar row reprezintă parametrul ce se setează pentru linie, având valoarea maximă 4 – numărul maxim de linii pentru ecranul LCD folosit.

Tot în această sintaxă se găsește și parametrul lcd, care reprezintă un tip de variabilă utilizat în cadrul librăriei LiquidCrystal_I2C.h. setCursor() – reprezintă o funcție ce are rolul de a seta parametrii col și row la valorile date de către utilizator. [35]

Fig. 4.16 Afișarea datei, orei și IP-ului prin intermediul LCD Display

4.1.3 Ethernet Shield & SD Card Shield

Arduino Ethernet Shield permite conectarea cu ușurință a plăcuței Arduino la Internet. Acest shield permite transmiterea și primirea de date oriunde în lume cu o conexiune la Internet.

Shield-urile sunt PCB-uri (plăci de circuit imprimat – Printed Circuit Board) care pot fi plasate deasupra plăcilor Arduino, extinzându-le astfel capabilitățile. Există o varietate foarte mare de astfel de shield-uri, precum: XBee shield, SD-Shield, H-Bridge shield, etc. Pe PCB-urile Shield-urilor, anumite fire sunt trase către barele de pini care urmează sa fie introduse în Arduino.

Fig. 4.17 Arduino Ethernet Shield W5100

Configurarea acestuia este la fel de simplă ca și conectarea pinilor antet din Ethernet Shield în Arduino. În figura de mai jos este prezentată această conexiune.

Fig. 4.18 Conectarea Ethernet Shield W5100 la plăcuța Arduino Mega

Shield-ul Ethernet se bazează pe chipul W51000, care are un buffer intern de 16K. Are o viteză de conectare de până la 10 / 100Mb. În vederea programării se utilizează biblioteca Arduino Ethernet, care este inclusă în mediul de dezvoltare.

Există, de asemenea, un slot microSD, care permite stocarea unei mari cantități de date. MicroSD-ul folosit în proiect are capacitatea de 8 Gb. Pe acesta am salvat date obținute la senzori, respectiv: curent, tensiune, putere reală, putere aparentă, factor de putere. Aceste date pot fi mai apoi analizate și utilizate în scopul reducerii consumului de energie electrică, sau semnalizării unor defecte ce pot să apară în funcționarea aparatelor casnice și nu numai.

Acest lucru necesită utilizarea unei biblioteci SD externe, care nu vine însoțită de software. Utilizarea cardului SD nu este acoperită de acest instrucțiuni.

Placa are, de asemenea, spațiu pentru adăugarea unui modul Power over Ethernet (PoE), care vă permite alimentarea conexiunii Arduino prin intermediul Ethernet.

Dispozitivul Arduino se conectează la portul USB al calculatorului, iar plăcuța compatibilă Ethernet Shield W5100 se conectează la un router prin intermediul cablului torsadat UTP, de tip CAT 5 (poate fi folosită și o altă categorie de cablu pentru conexiune). [36]

Cât despre librăria folosită pentru a scrie codul trebuie să se utilizeze librăria Ethernet sau Ethernet2. Aceste librării sunt proiectate să funcționeze pentru integrarea parții hardware cu partea software a plăcii Ethernet Shield W5100.

Placa poate servi, fie ca server, care acceptă conexiuni primite, fie ca și client, în momentul în care un client efectuează conexiuni.

Biblioteca Ethernet (Ethernet.h) gestionează cipul W5100, în timp ce biblioteca Ethernet2 (Ethernet2.h) gestionează cipul W5500; toate funcțiile rămân aceleași.

Shield-ul Ethernet W5100 poate fi folosit pentru diverse activități dintre care putem enumera:

ChatServer: configurare pentru un server de chat simplu.

WebClient: efectuare solicitare HTTP.

WebClientRepeating: Realizarea solicitării HTTP repetate.

WebServer: găzduire pagină HTML simplă care afișează valorile senzorilor analogic – folosit în proiect.

BarometricPressureWebServer: afișează valorile de la un senzor de presiune barometric ca pagină web.

UDPSendReceiveString: Trimite și primește șiruri de text prin UDP.

UdpNtpClient: Solicită un server NTP (Network Time Protocol) utilizând UDP.

DnsWebClient: DNS și client Web bazat pe DHCP.

DhcpChatServer: Un server de chat DHCP simplu

DhcpAddressPrinter:Realizează obținerea unei o adrese IP prin DHCP și imprimarea acesteia

TelnetClient: Un simplu client telnet [37]

Scutul conține un număr de LED-uri informative:

PWR: indică faptul că placa și scutul sunt alimentate

LINK: indică prezența unei legături de rețea și clipește când scutul transmite sau primește date

FULL: indică faptul că conexiunea la rețea este complet duplex

100M: indică prezența unei conexiuni de rețea de 100 Mbps (spre deosebire de 10 Mbps)

RX: clipește când scutul primește date

TX: clipește atunci când ecranul trimite date

COLL: clipește când sunt detectate coliziuni de rețea

Shield-ul se bazează pe Wiznet. Wiznet W5100 oferă o stivă de rețea (IP) capabilă de ambele TCP-uri (capabilă să obțină adresa IPv4 sau IPv6) și UDP. Suportă până la patru conexiuni socket simultane. Este compatibil cu Arduino Duemilanove, UNO și Mega. O bibliotecă de card SD nu este încă inclusă în distribuția standard Arduino, dar sdfatlib realizată Bill Greiman funcționează bine.

Shield-ul include de asemenea un controler de reset, pentru a vă asigura că modulul Ethernet W5100 este resetat corect la pornire. Arduino comunică atât cu cardurile W5100, cât și cu SD, utilizând busul SPI (prin antetul ICSP). Deoarece cardul W5100 și SD împărtășesc magistrala SPI, numai una poate fi activă la un moment dat. Shield-ul oferă un standard Ethernet RJ45 jack. [38]

Interfața cu placa de dezvoltare

Arduino comunică cu scutul (shield-ul) utilizând busul SPI. Aceasta este pe pinii digitali 11, 12 și 13 pe Arduino UNO și pe pinii 50, 51 și 52 de pe Arduino Mega.

Pe ambele placi, PIN-ul 10 este folosit ca SS (slave select). În Mega, pinul hardware SS, 53, nu este folosit pentru a selecta W5100, dar trebuie păstrat ca ieșire sau interfața SPI, altfel nu va funcționa comunicația între shield și Arduino.

Fig. 4.19 Modul de conexiune pentru Ethernet Shield în cazul plăcilor de dezvoltare Arduino UNO (partea stângă), respectiv Arduino Mega (fig. din partea dreaptă)

După cum spuneam în capitolul acesta la subcapitolul 4.1.1.3, comunicația prin intermediul SPI (Serial Peripheral Interface) are unele dezavantaje precum numărul mare de pini pentru realizarea conexiunii, transmiterea datelor fiind dificilă, are însă și unele avantaje precum conexiune full-duplex (poate transmite de la master la slave și invers în același timp), suportând o rată de transmisie de 10 milioane de biți/secundă.

Numele standardului de comunicație a fost dat de Motorola. Este folosit ca sistem de magistrală serială sincronă pentru transmiterea de date, unde circuitele digitale pot să fie interconectate pe principiul master-slave. Aici, modul master/slave înseamnă că dispozitivul (circuitul) digital master inițiază cuvântul de date. Mai multe dispozitive (circuite) digitale slave sunt permise cu slave select individual, adică cu selectare individuală.

Fig. 4.20 Modul de conectare a două dispozitive prin intermediul comunicației SPI master-slave

Standardul SPI necesită patru semnale logice specifice:

SCLK – Ceas serial (ieșire din master).

MOSI/SIMO – Master Output, Slave Input (ieșire master, intrare slave).

MISO/SOMI – Master Input, Slave Output (intrare master, ieșire slave).

SS – Slave Select (active low, ieșire din master).

Dacă un singur dispozitiv slave este utilizat, pinul pentru SS poate fi setat pe nivelul logic low ("jos") dacă dispozitivul permite. Unele slave-uri necesită pentru selecție, "falling edge" (tranziție de la nivelurile înalt/high → jos/low) al slave-select-ului pentru a iniția o acțiune, precum circuitul ADC (convertor analog-digital). Cu multiple slave-uri, un semnal SS independent este necesar de la master pentru fiecare dispozitiv (circuit) digital slave.

Majoritatea dispozitivelor slave au trei stări logice (en. tri-state), așa că semnalul MISO devine "deconectat" (ieșire în gol) atunci când dispozitivul nu este selectat. Dispozitivele fără trei stări logice nu pot împărți (nu pot participa la) magistrala SPI cu alte dispozitive; doar acele slave-uri pot comunica cu master-ul și doar dacă au activat chip-selectul.

Pentru a începe comunicarea, master-ul mai întâi configurează ceasul, folosind o frecvență mai mică sau egală cu maximul frecvenței suportata de slave. Aceste frecvențe sunt de obicei în intervalul 1-70 MHz. Atunci master-ul setează slave select-ul pe nivelul 'jos' (en. low) pentru chip-ul dorit. Dacă este necesară o perioada de așteptare (ca la conversia analog-digitală) atunci master-ul așteaptă cel puțin acea perioadă de timp înainte de a începe ciclurile de ceas.

În timpul fiecărui ciclu de ceas SPI, apare o transmisie full duplex:

master-ul trimite un bit pe linia MOSI; slave-ul îl citește de pe aceeași linie;

slave-ul trimite un bit pe linia MISO; master-ul îl citește de pe aceeași linie.

Nu toate transmisiile de date necesita toate aceste operații (de ex. transmisia unidirecționala) deși acestea se petrec.

În mod normal, transmisia implică existența a doi regiștri de date de o lungime oarecare a cuvântului, cum ar fi opt biți, unul situat în dispozitivul master și celalalt în dispozitivul slave; ei sunt conectați într-o configurație de tip inel. Informația este de obicei transferată începând cu cel mai semnificativ bit (eng: Most Significant Bit – MSB), și continuând bit cu bit până se transferă și cel mai nesemnificativ bit (eng: Least Significant Bit – LSB) pentru același registru. În această fază putem afirma că cele două dispozitive master/slave și-au schimbat valorile din regiștri. Imediat după, fiecare dispozitiv citește valoarea stocată în registrul de date și o prelucrează, cum ar fi scrierea într-o locație de memorie. Dacă mai sunt date de schimbat, regiștrii de schimb sunt încărcați cu noi date și procesul se repetă. [39]

Conectarea la rețea prin Ethernet

În vederea realizării conexiunii la rețea am folosit shield-ul Ethernet și Arduino Mega. Astfel, este nevoie ca Arduino Mega să fie alimentat cu o tensiune în valoare de 5V curent continuu. Această alimentnare poate fi realizată fie cu un adaptor, fie prin intermediul bateriilor sau chiar prin intermediul unui cablu USB.

Pe lângă alimentarea de 5V necesară pentru funcționarea corespunzătoare a plăcuței Arduino, modulul Ethernet Shield W5100 are nevoie, pe lângă alimentarea, obținută de la plăcuța Arduino Mega de un cablu care să realizeze conexiunea cu un router.

După conectarea la router și conectarea senzorilor, Arduino Ethernet Shield W5100 se comportă ca server web modul de conexiune fiind evident protocolul Ethernet, iar prin folosirea DHCP, adresa IP pe care serverul o oferă clientului este afișată automat pe ecranul LCD.

Prin introducerea acestei adrese într-un browser oarecare se realizează comunicația dintre server și client pe baza transmiterii și recepționării de pachete web și afișării informațiilor primite de la senzori pe site-ul web.

Cablul folosit pentru realizarea conexiunii fizice dintre dispozitivul de măsurare și router este de tip UTP (Unshielded Twisted Pair) – cablu torsadat neecranat, realizat din 4 perechi de fire răsucite două câte două. Această răsucire a conductorilor are rolul de a elimina interferența electromagnetică ce cauzează diafonie.

Numărul de răsuciri pe o distanță de 1 metru face parte din specificațiile cablurilor. Cu cât numărul de răsuciri este mai mare cu atât diafonia este mai redusă.

Răsucirea firelor cauzează reducerea diafoniei deoarece:

zona de buclă dintre conductori (care determină cuplajul magnetic în semnal) este redusă la minumul fizic.

direcțiile de curent generate de un câmp magnetic cuplat uniform sunt inversate la fiecare răsucire, anulându-se reciproc.

Cablul torsadat neecranat este cea mai des întâlnită variantă de cablu torsadat din rețelele de date. Cablurile UTP sunt numite adesea cabluri Ethernet, după Ethernet, standardul cel mai răspândit (dar nu și cel mai fiabil) ce folosește cabluri UTP.

Spre deosebire de FTP și STP, cablul UTP nu are nici un tip de ecranare.[40]

Fig. 4.21 Cablu torsadat neecranat UTP CAT 5

Implementare de web server folosind librăria Ethernet shield

Utilizând biblioteca Ethernet, dispozitivul va răspunde la o solicitare HTTP cu shield-ul Ethernet. După deschiderea unui browser și navigarea la adresa IP pe care shield-ul Ethernet realizează conexiunea, acesta acționând ca și server web în vederea deschiderii site-ului web creat. Arduino va răspunde cu resurse suficiente HTML pentru ca un browser să afișeze valorile de intrare din toți cei șaisprezece pini analogici. Din aceștia am folosit doar 2 pini, unul pentru valorile transmise de către senzorul de curent, iar celălalt pentru valorile tensiunii.

La navigarea la adresa IP a serverului Arduino, browserul web (clientul) va trimite la server o solicitare în vederea preluării datelor ce urmează a fi comunicate, în cazul acesta datele preluate de la senzori.

Informațiile din cerere vor diferi, în funcție de browserul și sistemul de operare la care este trimisă cererea.

După primirea solicitării unei pagini web de la client, serverul trimite mai întâi un răspuns HTTP standard și apoi pagina web în sine, pagină memorată prin intermediul cardului microSD într-un fișier de tip .html denumit index.html.

După ce serverul a trimis răspunsul HTTP, acesta trimite pagina web reală care este afișată apoi în browser.

Pagina web constă din text cu etichete HTML. Aceste etichete din browser nu se pot vedea deoarece sunt interpretate de browser.

Inițializarea unui SD Card

Secure Digital, prescurtat SD, este un tip de card de memorie foarte răspândit. Ține de marea grupă de memorii cu acces aleator și de asemenea, din alt punct de vedere, de grupa memoriilor SSD.

Fig. 4.22 Tipuri de carduri microSD

Memoria pe care o utilizează un card este de tip nevolatil, fapt ce înseamnă ca la dispariția alimentării, informațiile sunt păstrate pe card, până la realizarea ștergerii acestora.

A fost dezvoltat de către SD Card Association (SDA), cu scopul de a fi utilizat în dispozitivele și aparatele portabile. [41]

Scuturile Arduino, Arduino Ethernet și cardul microSD sunt folosite pentru a crea un server web care găzduiește o pagină Web pe cardul SD. Când un browser solicită o pagină web de pe serverul web Arduino, Arduino dorește să preia pagina web de pe cardul SD.

Deoarece pagina web este stocată pe cardul SD, trebuie mai întâi să fie creată utilizând un editor de text și apoi să fie copiată pe cardul SD.

Pentru pagina web am folosit un fișier încărcat pe SD Card cu denumirea index.html, iar programul folosit pentru scriere poate fi orice editor de text, sau program specializat. Pentru scriere a fișierului index.html, am folosit Notepad++ .

Am folosit adaptor microSD în vederea conectării cardului prin intermediul laptopului pentru a copia fișierul pe card.După realizarea scrierii fișierului cu extensia .html, se introduce cardul microSD în slotul special al shield-ului de Ethernet W5100. [42]

Biblioteca SD permite citirea și scrierea pe cardul SD, situat pe shield-ul Ethernet. Biblioteca suportă sistemele de fișiere FAT16 și FAT32 pe carduri SD standard și carduri SDHC (carduri microSD de capacitate mare).

Comunicația între microcontroler și cardul SD utilizează SPI, care are loc pe pinii digitali 11, 12 și 13 (pe cele mai multe placi Arduino) sau 50, 51 și 52 (Arduino Mega). În plus, pentru selectarea cardului SD trebuie utilizat un alt pin. Acest lucru poate fi PIN-ul hardware-ul SS – 10 pini (pe cele mai multe placi Arduino) sau PIN-ul 53 (pe Mega)

Chiar și în cazul neutilizării pinului hardware SS (Slave Select), acesta trebuie lăsat ca ieșire, în caz contrar biblioteca SD nu va funcționa.

Cardul microSD permite o multitudine de operații dintre care se pot enumera:

Info card: Permite obținerea de informații despre cardul SD.

Datalogger: Permite înregistrarea de date de la trei senzori analogi pe un card SD.

Fișierul Dump:Permite citirea un fișier de pe cardul SD.

Fișiere: Crează și șterge fișierele din cadrul cardului SD.

Fișiere listate:Permite imprimarea fișierelor de pe un card SD.

Citiți Scrierea:Permite citirea și scrierea date către și de pe cardul SD. [43]

Crearea unui fișier. Actualizare

Reținerea valorilor pe care senzorii le citesc necesită un fișier care să se actualizeze odată cu fiecare citire. Astfel valorile primite sunt reținute pe întreg parcursul măsurării. Fișierul creat conține date referitoare la data și timpul la care s-au realizat măsurătorile, dar și date cu privire la parametrii măsurați. Informațiile referitoare la măsurare sunt reținute în fișier în funcție de data la care s-au realizat măsurările într-un fișier cu extensia .CSV, ce are un format de tipul log_YYYYMMDD (ex log_20180617 log_data_realizarii_masurarii) , unde YYYY reprezintă anul, MM reprezintă luna, iar DD ziua în care s-a realizat măsurarea.

4.1.4 Modul RTC – DS3231

Un ceas în timp real (RTC) este un ceas de calculator (cel mai adesea sub forma unui circuit integrat).

Deși termenul se referă adesea la dispozitivele din computerele personale, serverele și sistemele încorporate, RTC-urile sunt prezente în aproape orice dispozitiv electronic care trebuie să păstreze cu precizie ridicată ora și data. Un RTC comun folosit în computerele cu o singură placă (SBC – Single Board Computer) este DS1307.

Pentru acest proiect s-a folosit un RTC de tipul DS3231. Termenul "ceas în timp real" este folosit pentru a diferenția ceasurile hardware de cele comune. RTC nu trebuie confundat cu calculul în timp real, care împarte acronimul său de trei litere, dar nu se referă direct la ora din zi.

Deși afișarea timpului poate fi făcută și prin alte moduri față de utilizarea unui RTC, totuși folosirea acestuia constituie anumite avantaje și anume:

prezintă un consum redus de energie electrică

eliberează sistemul în vederea prioritizării task-urilor principale

uneori este o metodă mai precisă

RTC-urile au adesea o sursă alternativă de alimentare, astfel încât acestea pot continua să contorizeze timpul chiar și în cazul în care principala sursă de alimentare este oprită sau indisponibilă. Această sursă alternativă de alimentare poate fi o baterie pe bază de litiu, în cadrul sistemelor de măsură a timpului, mai vechi, sau poate să fie un super-condensator. Aceste super-condensatoare sunt reîncărcabile sau lipite în serie. Sursa alternativă de alimentare poate furniza de asemenea energie pentru memoria RAM cu baterie.[44]

În figura 4.22 este reprezentat un modul RTC de precizie – DS3231, al cărui standard de conexiune este reprezentat de I2C.

Fig. 4.23 Modulul de precizie RTC – DS3231

Acest modul este cel mai precis de pe piață, la momentul actual, fiind extrem de rezistent la schimbări de temperatură. Are nevoie de o baterie CR2032.

RTC păstrează informații secunde, minute, ore, zi, dată, lună și an. 31 de zile, inclusiv corecțiile pentru anul de salt. Ceasul funcționează fie în formatul de 24 de ore, fie în cel de 12 ore, cu un indicator activ AM / PM activ. Sunt furnizate două alarme programabile din timpul zilei și o ieșire programabilă de undă pătrată. Adresa și datele sunt transmise în mod serial prin intermediul magistralei bidirecționale I2C.

Un circuit de referință de tensiune compensat la temperatură de precizie și un circuit de comparare monitorizează starea VCC pentru a detecta defecțiunile de alimentare și pentru a furniza o ieșire de siguranță atunci când este necesar. În plus, pinul activ RST este monitorizat ca o intrare pushbutton pentru generarea unei resetări din microprocesor.

Dispozitivul încorporează o intrare a bateriei și menține o întreținere precisă. Integrarea rezonatorului de cristal îmbunătățește precizia pe termen lung a dispozitivului.

RTC-ul contorizează secundele, minutele, orele, data lunii, luna anului și anul, cu o compensare de la jumătate de an, valabilă până la 2100 , are o precizie de ± 2ppm de la 0 ° C la + 40 ° C, aceasta urmând să scadă nesemnificativ, ajungând la ± 3,5ppm de la -40 ° C la + 85 ° C, un senzor digital de ieșire de temperatură, cu o precizie de ± 3 ° C, ieșire activă-redusă RST / Buton de resetare a debitului de intrare, două alarme de zi cu zi, semnal de ieșire programabil de undă pătrată, interfața simplă de serie se conectează la majoritatea microcontrolerelor, interfață rapidă (400 kHz) I2C, intrare de rezervă a bateriei pentru o menținere continuă a timpului, chiar și fără alimentare de la o sursă externă, funcția de alimentare cu descărcare prelungește durata de funcționare a bateriei de rezervă, funcționează la 3.3V – 5V, intervale de temperatură de funcționare: comerciale (0 ° C până la + 70 ° C) și industriale (-40 ° C până la + 85 ° C).[45]

Fig. 4.24 Structura internă – schema de principiu a modulului RTC – DS3231

Majoritatea RTC-urilor folosesc un oscilator de cristal, dar unele utilizează frecvența liniei electrice. În multe cazuri, frecvența oscilatorului este de 32,768 kHz. Aceasta frecvență este folosită și în cadrul cesurilor cu cuarț, frecvența fiind echivalentă 215 cicluri pe secundă. Aceasta este o rată convenabilă utilizată în cadrul circuitelor simple cu logică binară.

Multe RTC-uri comerciale au o precizie de până la mai puțin de 5 părți per milion. [44]

RTC-ul folosit are rolul de a transmite informațiile referitoare la oră și dată plăcii Arduino, care prin intermediul codului utilizat permite afișarea acestora pe ecranul LCD, dar și salvarea pe cardul microSD împreună cu celelalte date transmise de către senzori.

Acest lucru este benefic, deoarece se realizează o statistică în funcție de timp a parametrilor măsurați de senzori. Astfel, în cazul în care se dorește o analiză a datelor să se aibă o evidență clară asupra timpului în care acestea s-au realizat.

Interfața fizică

Interfața fizică pe care o realizează modulul RTC cu Arduino Mega, este reprezentată prin intermediul conexiunii realizate prin pinii 20, 21, aceștia fiind SDA și SCL. Ceilalți doi pini ai RTC-ului conectându-se la GND, respectiv la +5V. Acest lucru se poate observa în figura de mai jos, realizată prin intermediul programului de simulare numit Fritzing.

Fig. 4.25 Modul de realizare a conexiunii unui RTC la Arduino Mega

După cum spuneam, interfața este asigurată de standardul I2C, prezentat anterior în detaliu în acest capitol , 4.1.1.3.

Setarea și citirea valorilor de timp și dată

După cum spuneam DS3231 este un ceas de timp real, cu precizie ridicată, care poate afișa orele, minutele și secundele, precum și informații despre zi, lună și an. Deasemenea, are o compensație automată pentru anii bisecți și pentru luni cu mai puțin de 31 de zile.

Modulul poate funcționa fie la 3.3, fie la 5 V, ceea ce îl face potrivit pentru multe platforme de dezvoltare sau microcontrolere. Intrarea bateriei este de 3V, iar o baterie tipică CR2032 3V poate alimenta modulul și poate menține informațiile mai mult de un an.

Odată conectat, modulul RTC trebuie programat prin intermediul plăcii de dezvoltare Arduino Mega 2560 R3. Cu toate acestea, când vine vorba de programarea unei comunicări între Arduino și un modul I2C, codul nu este atât de mic și ușor. Din fericire, există deja câteva biblioteci pentru DS3231 RTC care pot fi găsite pe Internet.

Pentru acest proiect am ales să folosesc Biblioteca făcută de Henning Karlsen, care poate fi găsită și descărcată de pe site-ul său, www.rinkydinkelectronics.com.

Deci, odată descărcată și instalată biblioteca, se poate folosi primul exemplu demo pentru a activa inițial ceasul modulului RTC. În secțiunea de configurare a codului exemplului demo, putem observa că există trei linii ce trebuie dezactivate pentru a seta inițial ziua săptămânii, ora și datele.[46]

Pentru a citi și seta valorile de timp și dată am folosit următorul cod:

#include <DS3231.h>

DS3231 rtc(SDA, SCL);

PString& evaluate_local_date (void *data __attribute__ ((unused))){

subBuffer.print(rtc.getDateStr());

return subBuffer;

}

PString& evaluate_local_time (void *data __attribute__ ((unused))){

subBuffer.print(rtc.getTimeStr());

return subBuffer;

}

void logData(){

char fileNameBuffer[22];

Time t = rtc.getTime();

sprintf(fileNameBuffer, "logs/log_%04d%02d%02d.csv\0", t.year, t.mon, t.date);

if (logFile.open(fileNameBuffer, O_RDWR | O_CREAT | O_AT_END))

{for(uint8_t q = 0; q<LOG_ROW_COUNT; q++)

{logFile.print(rtc.getTimeStr());

for(uint8_t c = 0; c<LOG_COL_COUNT; c++)

{logFile.print(",");

logFile.print(emonData[q][c]);

}

logFile.print("\r\n");

}

logFile.close();

Serial.print("Logged data at ");

Serial.println(rtc.getTimeStr());

emonCounter = 0;

}

else

{Serial.print("Failed to log to file ");

Serial.println((char*)fileNameBuffer);

}

}

void setup () {

if (!sd.begin(SD_SS, SPI_HALF_SPEED)){

sd.initErrorHalt();

Serial.begin (115200);

rtc.begin();

lcd.begin();

while (!Serial)

;

}

void loop () {

if(millis()%1000<=100){

lcd.clear();

lcd.print(rtc.getTimeStr());

lcd.setCursor(0,1);

lcd.print(rtc.getDateStr());

}

Acest cod nu doar afișază informațiile referitoare la dată și timp pe ecran ci le și reține pe microSD, de unde se scriu în format .CSV. După scriere, aceste date pot fi accesate oricând în vederea analizării și prelucrării.

4.1.5 Aplicația web

Ca și înțeles, o aplicație web sau o aplicație web este un program de calculator client-server pe care clientul (inclusiv interfața de utilizator și logica clientului) rulează într-un browser web. Aplicațiile web uzuale includ webmail, vânzări online cu amănuntul, licitații online, wiki, servicii de mesagerie instant și multe alte funcții.

Distincția generală între o pagină web dinamică de orice tip și o "aplicație web" este neclară. Site-urile Web cel mai probabil să fie denumite "aplicații web" sunt acelea care au funcționalități similare cu aplicațiile desktop sau cu aplicații mobile. HTML5 a introdus suport lingvistic explicit pentru realizarea de aplicații care sunt încărcate ca pagini web, dar pot stoca date la nivel local și pot continua să funcționeze în timp ce sunt offline.

Aplicațiile pe o singură pagină sunt mai degrabă denumite aplicații, deoarece resping paradigma web mai tipică de a se deplasa între pagini distincte cu adrese URL diferite. Framework-urile cu o singură pagină, cum ar fi Sencha Touch și AngularJS, pot fi folosite pentru a accelera dezvoltarea unei astfel de aplicații web pentru o platformă mobilă.

În modelele de calcul anterioare cum ar fi client-server, sarcina de procesare pentru aplicație a fost partajată între codul de pe server și codul instalat la fiecare client local.

Cu alte cuvinte, o aplicație avea propriul program client precompilat care a servit ca interfață de utilizator și a trebuit să fie instalat separat pe computerul personal al fiecărui utilizator. Un upgrade la codul de server al aplicației ar necesita, de asemenea, un upgrade la codul clientului instalat pe fiecare stație de lucru utilizator, adăugând costul suportului și scăderea productivității. În plus, componentele clientului și ale serverului aplicației au fost, de obicei, legate strâns de o anumită arhitectură a calculatorului și de sistemul de operare, iar portarea acestora către alții a fost adesea prohibitiv costisitoare pentru toate aplicațiile, cu excepția celor mai mari.

În schimb, aplicațiile web utilizează documente web scrise într-un format standard, cum ar fi HTML și JavaScript, care sunt acceptate de o varietate de browsere web. Aplicațiile Web pot fi considerate ca o variantă specifică a software-ului client-server în cazul în care software-ul client este descărcat în mașina client atunci când vizitează pagina web relevantă, folosind proceduri standard cum ar fi HTTP. Actualizările software-ului web pentru clienți se pot întâmpla de fiecare dată când pagina web este vizitată. În timpul sesiunii, browserul web interpretează și afișează paginile și acționează ca și client universal pentru orice aplicație web.

În primele zile ale Web-ului, fiecare pagină web a fost livrată clientului ca document static, însă secvența de pagini ar putea oferi o experiență interactivă, deoarece intrarea utilizatorului a fost returnată prin elementele formularului web încorporate în marcajul paginii. Cu toate acestea, fiecare schimbare semnificativă a paginii web a necesitat o întoarcere înapoi la server pentru a reîmprospăta întreaga pagină.

În 1996, Macromedia a introdus Flash, un player de animație vectorial care putea fi adăugat browserelor ca un plug-in pentru a încorpora animații pe paginile web. A permis utilizarea unei limbi de scripting pentru a programa interacțiunile pe partea clientului fără a fi nevoie să comunice cu serverul.

Aplicațiile sunt de obicei rupte în bucăți logice denumite "tiers", în care fiecărui nivel i se atribuie un rol . Aplicațiile tradiționale constau doar din 1 nivel, care se află pe mașina client, însă aplicațiile web se supun prin natura lor unei abordări n-nivel. Deși sunt posibile multe variații, structura cea mai comună este aplicația cu trei nivele. În cea mai comună formă, cele trei niveluri sunt numite prezentare, aplicare și stocare, în această ordine. Un browser web este primul nivel (prezentare), un motor folosind o tehnologie dinamică de conținut web (cum ar fi ASP, CGI, ColdFusion, Dart, JSP / Java, Node.js, PHP, Python sau Ruby on Rails) este nivelul de mijloc (logica aplicației) și o bază de date este al treilea nivel (stocare). Browserul web trimite solicitări către nivelul intermediar, care le furnizează servicii prin interogări și actualizări în baza de date și generează o interfață de utilizator.

Pentru mai multe aplicații complexe, o soluție pe 3 niveluri poate fi neeficientă, și poate fi benefic pentru a utiliza o abordare pe n niveluri. Un alt beneficiu poate fi adăugarea unui nivel de integrare care separă nivelul de date de celelalte niveluri, oferind o interfață ușor de utilizat pentru a accesa datele. De exemplu, datele clientului vor fi accesate prin apelarea unei funcții "list_clients ()" în loc să facă o interogare SQL direct față de tabela client din baza de date. Acest lucru permite înlocuirea bazei de date care se află subiacent fără a face schimbări la celelalte niveluri .[47]

Folosind server-ul web în vederea afișării parametrilor unui circuit electric monofazat (tensiune, curent, putere reală, putere aparentă, factorul de putere), a fost nevoie de dezvoltarea unei aplicații web pentru a realiza acest lucru.

Obținând adresa IP prin intermediul DHCP de la un router și afișând-o pe ecranul LCD. Utilizând adresa respectivă prin intermediul unui server local (localhost) într-un browser (Mozila Firefox, Google chrome, Opera, Internet Exproler,Safari .. etc), fiind realizată conexiunea cu serverul Arduino se afișază în browser informații referitoare la parametrii amintiți anterior. Prezentarea interfeței aplicației web este redată în figura de mai jos:

Fig. 4.26 Interfața aplicației web folosite în vederea afișării parametrilor unui circuit electric monofazat

Fig. 4.27 Interfața aplicației web folosite în vederea afișării parametrilor unui circuit electric monofazat

În figurile 4.26 , 4.27 putem observa informații cu privire la următorele „module”:

System Detalis – prezintă informații referitoare la ID-ul nodului utilizat în vederea realizării conexiunii, adresa MAC a rețelei, Up time (timpul în care utilizatorul este conectat la aplicație), Free RAM – reprezintă partea de memorie RAM nefolosită din memoria totală a plăcuței Arduino Mega, Web Server ver. – ceea ce reprezintă versiunea serverului web.

Real Power – sunt afișate informații cu privire la puterea reală consumată de către dispozitivul electric a cărui măsură se realizează

Apparent Power – afișează date despre puterea aparentă consumată

Vrms – în cadrul acestui parametru se afișează informații cu privire la tensiunea de alimentare a rețele la care dispozitivul supus măsurării este conectat

Irms – reprezintă intensitatea curentului electric necesară dispozitivului suspus măsurării

pentru funcționarea optimă

Power Factor – reprezintă factorul de putere ce poate avea valori cuprinse între 0 și 1, însemnând raportul dintre puterea reală și puterea aparentă. Un factor de putere cu valoarea 1 înseamnă că circuitul măsurat este reprezentat doar de sarcini perfect rezistive, lucru foarte greu de atins în practică.

Pe lângă informațiile numerice afișate, datele culese de la senzori pot fi vizualizate în format grafic. Se pot urmări toate caracteristicile în același timp, sau se pot vizualiza pe rând, apăsând butonul „View”. Dacă se dorește afișarea mai multor informații referitoare la aplicație se poate accesa butonul „Detalis”.

Alte facilități grafice sunt legate de eliminarea pe moment a anumitor grafice. (completare poze)

HTML, CSS, Javascript

Limbajul HTML(Hyper Text Markup Language) reprezintă un limbaj standard în vederea creării paginilor web.Elementele HTML reprezintă blocurile de bază ale paginilor HTML, acestea fiind reprezentate de etichete. Etichetele sunt folosite în vederea identificării (etichetării) bucăților de conținut precum "titlu", "paragraf", "tabel", etc… . Browserele nu afișează etichetele HTML, ci le folosesc pentru a reda conținutul paginii.

Ca și elemente de bază ale unei pagini web avem:

Declarația <! DOCTYPE html> definește acest document ca HTML5

Elementul <html> este elementul rădăcină al unei pagini HTML

Elementul <head> conține informații meta despre document

Elementul <title> specifică un titlu pentru document

Elementul <body> conține conținutul paginii vizibile

Elementul <h1> definește o rubrică mare

Elementul <p> definește un paragraf

Limbajul HTML a prezentat îmbunătățiri majore de-a lungul timpului, versiunile și anul apariției lor se pot observa în tabelul de mai jos.

Tabelul 4.1 Tabel privind versiunile existente de HTML de-a lungul timpului

Scopul unui browser web (Chrome, IE, Firefox, Safari) este să citească documente HTML și să le afișeze.

Browserul nu afișează etichetele HTML, dar le utilizează pentru a determina modul de afișare a documentului.

HTML se poate genera direct utilizând tehnologii de codare din partea serverului cum ar fi PHP, JSP sau ASP. Multe aplicații ca sistemele de gestionare a conținutului, wiki-uri și forumuri web generează pagini HTML.

HTML este de asemenea utilizat în e-mail. Majoritatea aplicațiilor de e-mail folosesc un editor HTML încorporat pentru compunerea e-mail-urilor și un motor de prezentare a e-mail-urilor de acest tip. [48]

Pentru realizarea paginii web am folosit un cod html transpus pe microSD, cu denumirea index.html.

CSS (Cascading Style Sheets) este un standard pentru formatarea elementelor unui document HTML. Stilurile se pot atașa elementelor HTML prin intermediul unor fișiere externe sau în cadrul documentului, prin elementul <style> și/sau atributul style. CSS se poate utiliza și pentru formatarea elementelor XHTML, XML și SVGL.

Acesta a apărut în urmă cu 21 de ani pe data de 17 decembrie 1996.

CSS, reprezintă un limbaj simplu de proiectare destinat simplificării procesului de prezentare a paginilor web.

CSS se ocupă de aspectul unei pagini web. Folosind CSS, se poate controla culoarea textului, stilul fonturilor, distanța dintre paragrafe, modul în care sunt dimensionate și dispuse coloanele, ce imagini de fond sau culori sunt folosite, modelele de aspect, variațiile de afișare pentru diferite dispozitive și dimensiunile ecranului precum și o varietate de alte efecte.

Cel mai frecvent, CSS este combinat cu limbajele de marcare HTML sau XHTML.

Avantajele folosirii CSS:

CSS economisește timp – un cod CSS poate fi scris odată și apoi reutilizat în mai multe pagini HTML. De asemenea, poate fi definit un stil pentru fiecare element HTML și acesta putând fi aplicat la cât mai multe pagini web.

Paginile se încarcă mai repede – dacă se utilizează CSS, nu este necesară scrierea de atribute HTML în tag-uri de fiecare dată. Trebuie doar scrisă o regulă CSS unei etichete și aplicată la toate aparițiile acelei etichete. Deci, mai puțin cod înseamnă perioade de încărcare/descărcare mai rapide.

Întreținere ușoară – pentru a face o schimbare globală, se poate pur și simplu schimba stilul și toate elementele din toate paginile web vor fi actualizate automat.

Stiluri superioare pentru HTML – CSS conferă o gamă mult mai largă de atribute decât HTML, astfel încât se poate îmbunătăți imaginea paginii HTML în comparație cu atributele HTML.

Compatibilitatea cu mai multe dispozitive – foile de stil permit optimizarea conținutului pentru mai multe tipuri de dispozitive.

Standardele web globale – în momentul de față atributele HTML sunt depreciate și se recomandă utilizarea CSS. Deci, este o idee să se utilizeze CSS în toate paginile HTML pentru a le face compatibile cu browserele viitoare.

Offline Browsing – CSS poate să stocheze aplicațiile web la nivel local cu ajutorul unei aplicații offline. Folosind acest lucru, putem vizualiza site-uri offline. Cache-ul asigură, de asemenea, o încărcare mai rapidă și o performanță globală mai bună a site-ului.

Platform Independence – Scriptul oferă platformei o consistență independentă și poate sprijini și cele mai recente browsere.

Folosirea CSS permite crearea paginilor responsive – responsivitatea web design-ului oferind o experiență optimă, o citire ușoară și o navigare ușoară, cu un minim de redimensionare pe diferite dispozitive, cum ar fi desktop-uri, telefoane mobile, tablete și alte device-uri).

Bootstrap este cel mai popular cadru de web design bazat pe HTML, CSS și Java script și vă ajută la proiectarea de pagini web într-un mod receptiv pentru toate dispozitivele.

Bootstrap este un cadru front-end gratuit și open source pentru proiectarea de site-uri web și aplicații web. Acesta conține șabloane de design HTML și CSS pentru formulare, butoane, navigație și alte componente de interfață, precum și extensii JavaScript opționale. Spre deosebire de multe cadre web, se referă numai la dezvoltarea front-end-ului. [49]

Bootstrap este modular și constă într-o serie de foi de stil care implementează diferitele componente ale setului de instrumente. Aceste foi de stil sunt, în general, compilate într-un pachet și incluse în paginile web, dar componente individuale pot fi incluse sau eliminate. Bootstrap oferă o serie de variabile de configurare care controlează lucruri precum culoarea și umplerea de diverse componente.

Fiecare componentă Bootstrap constă dintr-o structură HTML, declarații CSS și, în unele cazuri, însoțirea codului JavaScript.

Sistemul de grilă și designul receptiv sunt standard cu un layout de rețea de 1170 pixeli. Alternativ, dezvoltatorul poate utiliza un aspect cu lățime variabilă. În ambele cazuri, setul de instrumente are patru variante pentru a utiliza diferite rezoluții și tipuri de dispozitive: telefoane mobile, portret și peisaj, tablete și calculatoare cu rezoluție mică și înaltă. Fiecare variație ajustează lățimea coloanelor.

Bootstrap vine cu mai multe componente JavaScript sub formă de plugin-uri jQuery. Acestea oferă elemente suplimentare de interfață cu utilizatorul, cum ar fi casetele de dialog, butoanele și carusele. Ele extind, de asemenea, funcționalitatea anumitor elemente de interfață existente, inclusiv, de exemplu, o funcție de auto-completare pentru câmpurile de intrare. În versiunea 1.3 sunt acceptate următoarele plugin-uri JavaScript: Modal, Dropdown, Scrollspy, Tab, Tooltip, Popover, Alertă, Buton, Restrângere, Carusel și Typeahead. [50]

În 1995, Netscape a introdus un limbaj de scripting din partea clientului numit JavaScript, care permite programatorilor să adauge elemente dinamice la interfața cu utilizatorul care a rulat pe partea clientului. Deci, în loc să se transmită date serverului pentru a genera o întreagă pagină Web, script-urile încorporate ale paginii descărcate pot efectua diferite sarcini, cum ar fi validarea intrărilor sau afișarea / ascunderea părților din pagină.

În 1999, conceptul de "aplicație web" a fost introdus în limbajul Java în Servlet Specification version 2.2 . La acel moment, atât JavaScript, cât și XML erau deja dezvoltate, dar Ajax nu fusese încă inventat și obiectul XMLHttpRequest a fost introdus în Internet Explorer 5 ca un obiect ActiveX.

JavaScript (JS) este un limbaj de programare orientat obiect bazat pe conceptul prototipurilor. Este folosit mai ales pentru introducerea unor funcționalități în paginile web, codul JavaScript din aceste pagini fiind rulat de către browser. Limbajul este binecunoscut pentru folosirea sa în construirea siturilor web, dar este folosit și pentru accesul la obiecte încastrate (embedded objects) în alte aplicații. A fost dezvoltat inițial de către Brendan Eich de la Netscape Communications Corporation sub numele de Mocha, apoi LiveScript și denumit în final JavaScript.

În ciuda numelui și a unor similarități în sintaxă, între JavaScript și limbajul Java nu există nicio legătură. Ca și Java, JavaScript are o sintaxă apropiată de cea a limbajului C, dar are mai multe în comun cu limbajul Self decât cu Java.

Cea mai des întâlnită utilizare a JavaScript este în scriptarea paginilor web. Programatorii web pot îngloba în paginile HTML script-uri pentru diverse activități cum ar fi verificarea datelor introduse de utilizatori sau crearea de meniuri și alte efecte animate.

Cereri dinamice de date cu Javascript (AJAX). JQuery, JSON. Manipularea DOM-ului

În 2005, termenul Ajax a fost inventat, iar aplicații precum Gmail au început să facă din ce în ce mai mult interacțiunea cu clienții lor. Un script de pagină web poate contacta serverul pentru stocarea / recuperarea datelor fără a descărca o întreagă pagină Web.

În 2011, a fost finalizată formatul HTML5, care oferă capabilități grafice și multimedia fără a fi nevoie de plugin-uri de tip client. HTML5 a îmbogățit, de asemenea, conținutul semantic al documentelor. API-urile și modelul de obiect de document (DOM) nu mai sunt după gândire, ci sunt părți fundamentale ale specificației HTML5. API-ul WebGL a pregătit calea pentru o grafică 3D avansată, bazată pe canava HTML5 și limbajul JavaScript. Acestea au o importanță deosebită în crearea unor aplicații web bogate, independente de platformă și de browser.

Recent, tehnologiile au fost dezvoltate pentru a coordona scripting-ul de partea clientului cu tehnologii de tip server, cum ar fi ASP.NET, J2EE, Perl / Plack și PHP.

Ajax, o tehnică de dezvoltare web care utilizează o combinație de tehnologii diferite, este un exemplu de tehnologie care creează o experiență mai interactivă. [48]

Browserele rețin în memorie o reprezentare a unei pagini web sub forma unui arbore de obiecte și pun la dispoziție aceste obiecte script-urilor JavaScript, care le pot citi și manipula. Arborele de obiecte poartă numele de Document Object Model sau DOM. Există un standard W3C pentru DOM-ul pe care trebuie să îl pună la dispoziție un browser, ceea ce oferă premiza scrierii de script-uri portabile, care să funcționeze pe toate browserele. În practică, însă, standardul W3C pentru DOM este incomplet implementat. Deși tendința browserelor este de a se alinia standardului W3C, unele din acestea încă prezintă incompatibilități majore, cum este cazul Internet Explorer.

O tehnică de construire a paginilor web tot mai întâlnită în ultimul timp este AJAX, abreviere de la „Asynchronous JavaScript and XML”. Această tehnică constă în executarea de cereri HTTP în fundal, fără a reîncărca toată pagina web, și actualizarea numai anumitor porțiuni ale paginii prin manipularea DOM-ului paginii. Tehnica AJAX permite construirea unor interfețe web cu timp de răspuns mic, întrucât operația (costisitoare ca timp) de încărcare a unei pagini HTML complete este în mare parte eliminată. [51]

Ajax este un set de tehnici de dezvoltare web care utilizează multe tehnologii Web de pe partea clientului pentru a crea aplicații web asincrone. Cu Ajax, aplicațiile Web pot trimite și prelua date de pe un server în mod asincron (în fundal) fără a interfera cu afișarea și comportamentul paginii existente. Prin decuplarea stratului de interacțiune de date de la stratul de prezentare, Ajax permite paginilor Web și, prin extensie, aplicațiilor Web, să modifice dinamic conținutul fără a mai trebui să reîncărcați întreaga pagină. În practică, implementările moderne utilizează în mod obișnuit JSON în loc de XML, datorită avantajelor JSON-ului fiind JavaScript nativ.

Ajax nu este o singură tehnologie, ci mai degrabă un grup de tehnologii. HTML și CSS pot fi utilizate în combinație pentru a marca informații și stil. Pagina de web poate fi apoi modificată de JavaScript pentru a afișa dinamic – și permite utilizatorului să interacționeze cu – noile informații.

Obiectul încorporat XMLHttpRequest din JavaScript este folosit în mod obișnuit pentru a executa Ajax pe pagini web, permițând site-urilor web să încarce conținut pe ecran fără a reîmprospăta pagina. Ajax nu este o tehnologie nouă, sau un limbaj diferit, ci doar o combinație a tehnologiilor existente folosite în noi moduri.

Termenul Ajax a ajuns să reprezinte un grup larg de tehnologii Web care pot fi folosite pentru a implementa o aplicație Web care comunică cu un server în fundal, fără a interfera cu starea actuală a paginii. În articolul care a inventat termenul Ajax, Jesse James Garrett a explicat că sunt integrate următoarele tehnologii:

HTML (sau XHTML) și CSS pentru prezentare

Modelul de obiect de documente (DOM) pentru afișarea dinamică și interacțiunea cu datele

JSON sau XML pentru schimbul de date și XSLT pentru manipularea acestuia

Obiectul XMLHttpRequest pentru comunicații asincrone

JavaScript pentru a aduce aceste tehnologii împreună [52]

jQuery este o bibliotecă JavaScript rapidă, mică și bogată în funcții. Ea face lucruri precum traversarea și manipularea documentelor HTML, manipularea evenimentelor, animația și Ajax mult mai simple, cu un ușor de utilizat API care funcționează într-o multitudine de browsere. Cu o combinație de versatilitate și extensibilitate, jQuery a schimbat modul în care milioane de oameni scriu JavaScript. [53]

JSON (JavaScript Object Notation) este un format ușor de schimb de date. Este ușor pentru oameni să citească și să scrie. Este ușor pentru mașini să parseze și să genereze. Se bazează pe un subset al limbajului de programare JavaScript. JSON este un format de text care este complet independent de alte limbaje, dar utilizează convenții cunoscute de programatorii familiei de limbaje C, C ++, C #, Java, JavaScript, Perl, Python și multe altele. Aceste proprietăți fac din JSON un limbaj ideal pentru schimbul de date.

JSON este construit pe două structuri:

o colecție de perechi de nume / valoare. În diferite limbi, acest lucru este realizat ca un obiect, înregistrare, struct, dicționar, tabelul hash, lista cu chei sau matricea asociativă.

o listă ordonată de valori. În majoritatea limbilor, acest lucru este realizat ca o matrice, vector, listă sau secvență. [54]

Grafice. Chart.js

Interfața web a acestui proiect cuprinde și o parte grafică. Aceasta este situată în subsolul paginii web și permite vizualizarea în timp real a măsurătorilor realizate asupra parametrilor cu ajutorul senzorilor folosiți.

Este permisă vizualizarea unui singur grafic, sau mai multor grafice în funcție de dorințele utilizatorului.În figura de mai jos se poate observa modul în care aceste grafice apar în intermediul paginii web.

Fig. 4.29 Graficul realizat prin intermediul Chart.js

În vederea realizării graficelor am utilizat o bibliotecă open-source denumită Chart.js.

Chart.js poate fi integrat cu JavaScript simplu sau cu încărcătoare de module diferite.

Când este vorba de a schimba dimensiunea graficului în funcție de dimensiunea ferestrei, o limitare majoră este că dimensiunea canvas-ului (canvas.width și .height) nu poate fi exprimată cu valori relative, spre deosebire de dimensiunea afișată (canvas.style.width și .height). În plus, aceste mărimi sunt independente una de cealaltă și, prin urmare, mărimea dimensiunii canvasului nu se ajustează automat în funcție de dimensiunea afișajului, ceea ce face ca redarea să fie inexactă.

Chart.js oferă câteva opțiuni pentru a permite reacția și a controla comportamentul de redimensionare a diagramelor prin detectarea modificării mărimii afișării graficului și actualizarea dimensiunii de redare în consecință.

O diagramă de linie este o metodă de reprezentare a punctelor de date pe o linie. Adesea, aceasta este utilizată pentru a arăta datele din tendințe sau pentru a compara două seturi de date.[55]

Chart.js folosește elementul canvas, care este un singur nod DOM, similar cu caracteristicile unei imagini statice. Acest lucru înseamnă că are o gamă mai largă de compatibilitate și implicații mai puține de memorie decât soluțiile de cartografiere bazate pe SVG. Elementul canvas permite, de asemenea, salvarea conținutului ca șir de bază 64, permițând salvarea diagramei ca imagine.

În SVG, toate liniile, punctele de date și tot ceea ce se vede este un nod DOM. Ca urmare a acestui fapt, în cazul graficelor complexe cu multe interacțiuni sau multe diagrame de pe pagină se vor vedea deseori performanțe scăzute atunci când defilați sau generați graficul. SVG are de asemenea un suport mobil relativ slab, iar Android nu suportă deloc SVG înainte de versiunea 3.0 și iOS înainte de 5.0. [56]

Descărcarea unui fișier CSV de pe SDCard

Un fișier CSV poate fi descărcat foarte simplu într-un laptop sau PC si apoi analizat în funcție de data la care s-au făcut măsurătorile. Cardul microSD se scoate din modulul Ethernet Shield W5100 și se conectează prin intermediul unui adaptor la PC, laptop, tabletă, telefon sau alt smart device. Deschizând fișierele conținute și salvate pe zile, aceste se pot observa și eventual se poate realiza un grafic cu fiecare componentă măsurată, sau cu mai multe componente odată pentru observarea modului de evoluție în timp a mărimilor salvate pe card.

Fig. 4.30 Utilizarea Excel pentru formatarea graficelor rezultate în urma măsurărilor

4.2 Tensiunea electrică

Tensiunea, diferența de potențial electric, presiunea electrică sau tensiunea electrică (denumită în mod formal ΔV sau ΔU, dar mai des pur și simplu ca V sau U) reprezintă diferența de potențial electric între două puncte . Tensiunea dintre două puncte este egală lucrul mecanic efectuat în unitatea de încărcare față de un câmp electric static pentru a deplasa o sarcină de test între două puncte. Aceasta este măsurată în volți ( sau jouli per coulombi). Deplasarea a un coulomb de încărcare pe un volt de potențial electric necesită 1 joul de lucru mecanic efectuat.

Diferențele de potențial electric între puncte pot fi cauzate de câmpurile electrice statice, de curentul electric prin câmpul magnetic, de câmpurile magnetice care variază în timp sau de o combinație a acestor trei. Un voltmetru poate fi folosit pentru a măsura tensiunea (sau diferența de potențial) dintre două puncte dintr-un sistem; de multe ori un potențial de referință comun este raportat la pamânt (ground – GND), reprezentat de un potențial nul.

O tensiune poate fi reprezentă fie de o sursă de energie (forță electromotoare), fie de o energie pierdută, utilizată sau stocată (scădere potențială).

Fiind date două puncte în spațiu (XA, respectiv XB), tensiunea electrică reprezintă diferența de potențial dintre cele două puncte. Din definiția potențialului rezultă că:

Potențialul electric este energia potențială electrică per încărcare unitară, măsurată în jouli per coulomb (volți). "Potențialul electric" trebuie să se distingă de "energia potențialului electric", observând că "potențialul" este o cantitate "per unitate de încărcare". Ca și energia potențială mecanică, zero poate fi ales în orice punct, astfel încât diferența de potențial, adică tensiunea, este cantitatea care are semnificație fizică. Tensiunea dintre punctul A și punctul B este egală cu lucrul mecanic care ar trebui făcut, pe unitatea de încărcare, împotriva sau în sensul câmpului electric pentru a deplasa sarcina electrică de la punctul A la punctul B. Tensiunea dintre cele două capete ale unei căi este energia totală necesară pentru a deplasa o mică încărcătură electrică de-a lungul acelei căi, împărțită la mărimea încărcăturii.

Din punct de vedere matematic, acest lucru este exprimat ca integrală liniară a câmpului electric și viteza de schimbare a câmpului magnetic de-a lungul acelei căi. În general, trebuie să se includă atât un câmp electric static (neschimbător), cât și un câmp electromagnetic dinamic (care variază în funcție de timp) în determinarea tensiunii dintre două puncte.

Curentul convențional într-un fir sau rezistor întotdeauna curge de la tensiune mai mare la tensiune mai mică. Curentul poate curge de la o tensiune mai mică la o tensiune mai mare, dar numai atunci când o sursă de energie este prezentă pentru a o "împinge" împotriva câmpului electric opus.

Instrumentele pentru măsurarea tensiunilor includ voltmetrul, potențiometrul și osciloscopul. Voltmetrul funcționează prin măsurarea curentului printr-un rezistor fix, care, conform legii lui Ohm, este proporțional cu tensiunea pe rezistența. Potențiometrul funcționează prin echilibrarea tensiunii necunoscute față de o tensiune cunoscută într-un circuit de pod. Osciloscopul catodic funcționează prin amplificarea tensiunii și folosirea acesteia pentru a reflecta un fascicul de electroni dintr-o cale dreaptă, astfel încât deformarea fasciculului este proporțională cu tensiunea. [57]

Fig. 4.31 Aparat de măsurare a tensiunii electrice – multimetru digital

4.2.1 Măsurarea utilizând un transformator (alternativ – alternativ)

Transformatorul electric reprezintă un caz limită de mașină electrică asincronă statică (cu rotorul imobil), destinată să transfere putere electromagnetică de la un circuit primar cu w1 spire la un alt circuit secundar cu w2 spire (ambele circuite fiind imobile, cuplate magnetic inductiv și plasate pe un miez feromagnetic), transfer caracterizat prin modificarea valorilor tensiunii u1 și curentului i1 din primar la valorile u2, i2 ale tensiunii și curentului din secundar, frecvența procesului de transfer rămânând constantă.

În esență, un transformator are în componența sa un miez feromagnetic pe care sunt plasate câte două sau mai multe înfășurări izolate una față de alta cât și față de miez.

Înfășurarea ce primește energia de la sursă este numită înfășurare primară sau bobinaj primar; înfășurarea care cedează energia unei rețele/circuit local este numită înfășurare secundară sau bobinaj secundar. La transformatoarele cu mai multe înfășurări, de regulă, una este înfășurare primară, celelalte fiind înfășurări secundare.

Dacă U2<U1, transformatorul este coborâtor de tensiune iar dacă U2>U1, el este ridicător de tensiune, ca cel folosit în proiect, U2 fiind egal cu 9V. Înfășurarea conectată la rețeaua de tensiune mai ridicată reprezintă înfășurarea de înaltă tensiune (IT), iar cea conectată la rețeaua de tensiune mai scăzută, este numită înfășurare de joasă tensiune (JT).

Clasificarea transformatoarelor electrice se poate face după mai multe criterii:

după numărul fazelor, transformatoarele electrice pot fi monofazate sau polifazate; dintre transformatoarele polifazate, cele mai importante sunt cele trifazate;

după numărul înfășurărilor cuplate între ele deosebim transformatoare cu două înfășurări și mai rar cu trei sau mai multe înfășurări, numite în acest caz transformatoare cu înfășurări multiple utilizate pentru puteri mari; transformatoarele cu trei înfășurări permit ca o rețea de o anumită tensiune să alimenteze simultan două rețele de tensiuni diferite.

după modul de răcire:

transformatoare electrice uscate răcite cu aer

transformatoare răcite cu ulei

transformatoare răcite cu nisip

după destinație:

transformatoare de putere

transformatoare speciale de putere

transformatoare pentru reglarea tensiunii

autotransformatoare

transformatoare de măsură

transformatoare pentru încercări

Fig. 4.32 Transformatoare electrice, stânga transformator cu coloane, iar în partea dreaptă – transformator în manta

Fig. 4.33 Principiul constructiv al unui transformator electric

Pentru măsurare tensiunii electrice am utilizat un transformator electric de măsură, coborâtor (230V – 9V), de curent alternativ, ale cărui caracteristici pot fi observate în figura 4.33.

Modul de realizare a măsurării este dat de următoarea explicație: În primarul transformatorului se află tensiune de la priză, sursa de alimentare la valoarea de aproximativ 230V. În secundarul transformatorului valoarea este de 9V. Această valoare este trecută printr-un divizor rezistiv de tensiune, iar apoi valoarea este transmisă plăcuței Arduino prin intermediul pinului analog A1.

Valoarea analogică a tensiunii este mai apoi transformată printr-un ADC (Analog Digital Convertor) în valoare digitală. ADC-urile pot varia mult între diferite tipuri de microcontrolere. În cazul folosirii plăcuței Arduino Mega avem ADC-uri care au o precizie de 10 biți. Acest lucru înseamnă faptul că la 5V îi corespunde valoarea 1023. De la transformatorul de 9V, valoarea ajunge la 5V pe pinul A1, valoare ce se împarte în două parți, alternanței negative corespunzându-i partea de la 0 la 2,5 V (după conversie 0 – 511), iar alternanței pozitive partea de la 2,5 la 5V (după conversie 512 – 1023).

Fig. 4.34 Transformatorul de măsură de tensiune de 9V

Tabelul 4.2 Caracteristicile constructive ale transformatorului de măsură de tensiune

4.2.2 Construirea dispozitivului de măsură

Este necesară o măsurare a tensiunii AC pentru a calcula puterea reală, puterea aparentă și factorul de putere. Această măsurătoare poate fi efectuată în siguranță (fără a necesita lucrări de înaltă tensiune) prin utilizarea unui adaptor de alimentare AC la AC. Transformatorul din adaptor asigură izolarea de la rețeaua de înaltă tensiune.

Ca și în cazul măsurătorilor de curent cu un senzor CT, obiectivul principal al electronicii de condiționare a semnalului detaliat mai jos este de a condiționa ieșirea adaptorului de ca astfel încât să îndeplinească cerințele intrărilor analogice Arduino: o tensiune pozitivă între 0V și tensiunea de referință a ADC (de obicei 5V).

Adaptoarele de alimentare AC la curent alternativ sunt disponibile în mai multe versiuni de tensiune. Primul lucru important de știut este gradul de tensiune al adaptorului. Am realizat o listă de referință a principalelor adaptoare de tensiune AC pe care le-am utilizat (am standardizat pe un adaptor RMS de 9V).

Semnalul de ieșire al adaptorului de tensiune AC este o formă de undă aproape sinusoidală. Pentru un adaptor de alimentare de 9V (RMS), vârful de tensiune pozitiv este de 12.7V, vârful negativ -12.7V. Cu toate acestea, datorită slabei reglementări a tensiunii cu acest tip de adaptor, atunci când adaptorul este neîncărcat , ieșirea este deseori de 10-12V (RMS), oferind o tensiune de vârf de 14-17V.

Electronica de condiționare a semnalului trebuie să transforme ieșirea adaptorului într-o formă de undă care are un vârf pozitiv mai mic de 5V și un vârf negativ care este mai mare de 0V.

Pentru a aduce semnalul la valorile amintite mai sus avem nevoie de:

scalarea la un nivel mai scăzut al tensiunii

adăugarea unei compensării (offeset) astfel încât să nu existe nicio componentă negativă

Forma de undă cu ajutorul unui separator de tensiune conectat la bornele adaptorului, iar offsetul poate fi adăugat utilizând o sursă de tensiune creată de un divizor rezistiv de tensiune conectat prin sursa de alimentare a lui Arduino. În același mod am adăugat o polarizare pentru circuitul de detectare curent.

Fig. 4.35 Modul de realizare al montajului pentru măsurarea tensiunii

Rezistoarele R1 și R2 formează un separator de tensiune (divizor rezistiv de tensiune) care micește tensiunea AC a adaptorului de alimentare. Rezistoarele R3 și R4 asigură împărțirea tensiunii în două alternanțe. Capacitorul C1 oferă o cale de impedanță redusă la GND pentru semnalul AC.

Valoarea acesteia nu este critică, între 1 μF și 10 μF va fi suficientă. [58]

R1 și R2 trebuie să fie alese pentru a obține o ieșire de tensiune de vârf de aproximativ 1V. Pentru un adaptor AC-AC cu o ieșire RMS (Root Mean Square – valoare medie) de 9V, o combinație a rezistorilor de 10k pentru R1 și 100k pentru R2 ar fi potrivită:

Fig. 4.36 Modul de realizare a conexiunii fizice dintre Arduino Mega și dispozitivul de măsură de tensiune

4.2.3 Interfața cu Arduino. Librărie și cod exemplu

Interfața cu Arduino pentru realizarea măsurării tensiunii a fost facută cu ajutorul următoarelor componente:

un adaptor de tensiune alternativă de aproximativ 230V, 2.5A conectat la o mufă compatibilă

o siguranță fuzibile pentru realizarea protecței la supratensiune

o izolație galvanică între transformatorul de 9V și tensiunea colectată de la priză

un transformator de tensiune altenativă 9V – 0V – 9V, 230V în circuitul primar primiți de la priză prin intermediul adaptorului, 9V în circuitul secundar

un divizor rezistiv de tensiune format din două rezistente R1=100kΩ , R2=10kΩ

un divizor rezistiv de tensiune, cu rezistențele R3=R4=470kΩ, care realizează împărțirea în două alternanțe a tensiunii de intrare pentru Arduino (0V – 2.5V corespunde alternanței negative, iar 2.5 – 5V alternanței negative)

o capacitate C1 cu rolul de a mici impedanța la GND pentru semanlul alternativ

un fir conectat la pinul analog A1 de pe plăcuța Arduino Ethernet Shield, aceasta fiind conectată la acceași pini pe plăcuța Arduino Mega

diode redresoare necesare la rederesarea curentului alternativ

Fig. 4.37 Implementarea fizică a modulului de măsurarea a tensiunii electrice

După ce tensiunea este adusă pe pinul A1, aceasta este transformată în valoare digitală cu ajutorul ADC-ului pe 10 biți (1024 valori), în vederea procesării de către Arduino, după ce valoarea este procesată și trimisă la serverul Arduino, acesta trimite informația mai departe la site-ul web când legătura dintre cele două layere (server – site) este realizată. Valoarea apare pe site în formă zecimală, calibrarea valorii realizându-se cu ajutorului codului folosit.

În vederea calibrării am utilizat librăria Emonlib, ce are inglobată o funcție specială de transformare și calibrare a valorilor primite de la senzor prin intelrmediul pinului A1.

Această librărie se găsește pe site-ul https://github.com/openenergymonitor/EmonLib/blob/master/examples/voltage_and_current/ voltage_and_current.ino, de unde poate fi descărcată gratuit, site-ul fiind open-source.

Fig. 4.38 Librăria Emonlib (EnergyMonitor library)

4.3 Consum și parametrii de putere

Măsurarea puterii a fost posibilă datorită formulei de calcul, formulă prin intermediul căreia, puterea (generic vorbind) este calculată ca fiind produsul dintre tensiunea medie și intensitatea medie a curentului electric.

Așadar, după realizarea masurărilor tensiunii și curentului puterea a reieșit din calculul efectuat cu ajutorul formulelor matematice.

După cum am precizat în capitolul III, puterea poate fi: reală, aparentă și reactivă. Pe langă acești parametri referitori la putere, mai există un parametru care realizează raportul dintre puterea reală și puterea aparentă, acesta fiind factorul de putere.

Puterea reală este de fapt media puterii instantanee,calculată relativ simplu.Mai întai se calculează puterea instantanee prin inmulțirea tensiunii instantanee măsurate cu valoarea instantanee măsurată a curentului electric. Însumând valorile instantanee ale puterii pe un anumit număr de eșantioane și divizând prin numărul eșantioanelor se obține următorul cod:

for (i=0; i<=1023; i++)

{

puterea_instantanee = voltaj_instantaneu * curent_instantaneu;

suma_puterilor_instantanee += puterea_instantanee;

}

puterea_reală = suma_puterilor_instantanee/1023;

Unde i reprezintă numărul de măsurători făcute, voltajul_instantaneu și curentul_instantaneu se calculează cu ajutorul imputurilor date de ADC.

Pentru realizarea calculului puterii aparente este nevoie de calculul rădăcinii medii pătrate a curentului și a tensiunii

Calculul rădăcinii medii pătrate a tensiunii (VRMS – Voltage Root Mean Sqare) poate fi realizat astfel:

for (i=0; i<=1023; i++)

{

voltaj_pătrat = voltaj_instantaneu * voltaj_instantaneu;

suma_voltaj_pătrat += voltaj_pătrat;

}

voltaj_pătrat_mediu = suma_voltaj_pătrat/1023;

rădăcină_medie_pătrată_voltaj=sqrt(voltaj_pătrat_mediu);

Calculul rădăcinii medii pătrate a curentului (IRMS – Intensity Root Mean Square) poate fi realizat astfel:

for (i=0; i<=1023; i++)

{

curent_pătrat = curent_instantaneu * curent_instantaneu;

suma_curent_pătrat += curent_pătrat;

}

curent_pătrat_mediu = suma_curent_pătrat/1023;

rădăcină_medie_pătrată_curent = sqrt(curent_pătrat_mediu);

Odată realizate aceste calcule, se poate afla puterea aparentă cu ajuroul formulei:

putere_aparentă = rădăcină_medie_pătrată_curent * rădăcină_medie_pătrată_voltaj;

Factorul de putere se calculează prin formula:

factor_de_putere = putere_reală / putere_aparentă;

Aceste formule sunt date doar spre a explica cum se realizeză măsurătorile, însă prin folosirea librăriei Emonlib, acestea nu mai sunt necesare de implementat în proiect, ci doar apelate ca atare. Libraria realizeză practic „munca” din background punând pe langă aceste calcule matematice, la dispoziția utilizatorului și posiblităti de calibrare.

4.3.1 Construirea dispozitivului de măsură a curentului. Senzor CT

Pentru a conecta un senzor CT la un Arduino, semnalul de ieșire de la senzorul CT trebuie să fie condiționat, astfel încât să îndeplinească cerințele de intrare ale intrărilor analogice Arduino, adică o tensiune pozitivă între 0V și tensiunea de referință ADC.

Acest lucru poate fi realizat cu următorul circuit care constă din două părți principale:

Senzorul CT și rezistorul de sarcină

Distribuitorul de tensiune (divizorul rezistiv de tensiune reprezentat de R1 și R2 )

Schema de realizare a conexiunilor este redată în figura de mai jos:

Fig. 4.39 Modul de realizare al montajului pentru măsurarea intensității curentului electric

Fig. 4.40 Modul de implementare fizică a modulului de curent

În figura de mai sus (4.40) se pot conexiunile dintre divizorul rezistiv de tensiune pentru măsurarea tensiunii și condensatorul aferent de 10µF, în partea de jos a imaginii. Firul de culare albă duce la Arduino Ehernet Shield pe pinul A1. Divizorul de tensiune din partea de sus este format din două rezistoare în valoare de 470 kΩ. Pe lângă cele două rezistoare , există și un rezistor de sarcină RS = 33Ω, dar și un condensator în valoare de 10µF. Firul de culoare portocalie duce la Arduino Ethernet Shield pe pinul A0.

Tot în partea de sus a imaginii se poate observa un adaptor în vederea conectării mufei jack a sensorului de curent CT (senzor bazat pe transformator de măsură de curent) .

Fig. 4.41 Senzorul de curent CT – aspect fizic și mod intern de construcție

Dacă senzorul CT are ieșirea în curent,așa cum este în cazul de fată, senzorul YHDC SCT-013-000 (denumirea cumpletă a senzorului folosit), semnalul de curent trebuie convertit la un semnal de tensiune cu un rezistor de sarcină.

În cazul în care este un senzor CT ce are ieșirea în curent, se poate omite folosirea unei rezistențe de sarcină, deoarece acesta este încorporat direct în senzorul CT.

Senzorul folosit, YHDC SCT-013-000 CT are un domeniu curent de 0 până la 100 A.În vederea măsurării, curentul maxim mediu (IRMS), trebuie convertit la curentul de vârf (curent ce descrie o alternanță completă), prin înmulțirea cu .

Astfel, rezultă un curent în înfășurarea primară dat de relația de mai jos:

Senzorul YHDC SCT-013-000 CT conține 2000 de spire, deci curentul prin secundarul transformatorului va fi:

Pentru a maximiza rezoluția măsurătorilor, tensiune pe rezistența de sarcină de vărf ar trebui să fie egală cu jumătate din tensiunea de referință analogică Arduino (Aref /2).

Unde Aref – valoarea tensiunii de referintă analogică a plăcuței Arduino

Aref /2 = 5V/2 = 2.5V

Rezistența de sarcină este dată de relația de mai jos:

35 Ω nu este o valoare comună a rezistenței. Valorile cele mai apropiate de fiecare parte de 35Ω sunt 39 și 33Ω. O valoare mai mică a tensiunii este întotdeauna recomandată, deoarece încărcarea maximă a curentului (valoarea maximă) va depăși valoarea tensiunii Aref.

Așadar, vom alege o rezistență de 33Ω, cu o toleranță de ±1%.

Dacă se conectează unul dintre firele CT la masă și se măsoară tensiunea celui de-al doilea fir, față de sol, tensiunea ar varia de la pozitiv la negativ în raport cu solul. Cu toate acestea, intrările analogice Arduino necesită o tensiune pozitivă. Prin conectarea cablului CT am conectat la masă, la o sursă la jumătate din tensiunea de alimentare, tensiunea de ieșire CT va trece acum peste și sub 2,5 V rămânând astfel pozitivă.

Rezistoarele R1 și R2 din schema de circuit de mai sus (fig. 4.36) reprezintă un divizor de tensiune care asigură o valoare medie a tensiunii de 2.5V.

Capacitorul C1 are o reactanță joasă – câteva sute de ohmi – și oferă o cale de alternare a curentului pentru ocolirea rezistenței. O valoare de 10 μF este potrivită. [59]

4.3.2 Interfața cu Arduino.

Interfața este reprezentată prin conexiunea pe pinul analog A0, al Ethernet Shield-ului.

În figura de mai jos este prezentată interfața fizică realizată prin intermediul prograului de simulare Fritzing:

Fig. 4.42 Realizarea interferței cu Arduino pentru senzorul de curent

Programarea a fost făcută cu ajutorul librăriei Emonlib, la fel ca în cazul tensiunii și celoralți parametri măsurați.

Capitolul V: Dezvoltare ulterioară și îmbunătățiri

Când vine vorba despre dezvoltarea și îmbunătățirea proiectului, pot spune că întotdeanuna este loc de mai bine, pot fi implementați algoritmi mai preciși, mai rapizi, care să îndeplinească funcții mai diversificate.

Se pot implementa soluții mai fiabile și mai puțin costisitoare, la același preț sau chiar unul mai redus. Odată cu dezvoltarea tehnicii și apariția unor soluții hardware mai performante, este evident faptul că dispozitivele devin din ce în ce performante.

În următoarele subcapitole voi vorbi despre upgrade-urile ce pot fi realizate în implementarea ulterioară a unor soluții de măsurare inteligentă a paramentrilor unui circuit electric monofazat, sau chiar a mai multor dispozitive în același timp.

5.1 Înlocuirea interfeței Ethernet cu Wi-Fi (ESP8266)

Înlocuirea interfeței Ethernet cu interfața Wi-Fi prezintă avantaje în sensul că nu mai este necesară conexiunea prin fir a plăcuței Arduino cu routerul, acest lucru realizându-se prin intermediul intefeței Wi-Fi.

Această modificare duce la înlocuirea modulului Ethernet Shield W5100 cu modulul Wi-Fi ESP8266.

Fig. 5.1 Interfața Wi-Fi ESP8266

Fig. 5.2 Schema de conexiune a modulului Wi-Fi cu Arduino Mega realizată prin intermediul programului de simulare Fritzing

Wi-Fi este numele pentru tehnologiile ce au la bază standardul de comunicație din familia IEEE 802.11, utilizate în vederea realizării de rețele locale de comunicție – LAN (Local Area Network), fără fir – wireless (WLAN), la viteze de transmisie egale cu ale rețelelor cu fir electric de tip Ethernet. Sistemul Wi-Fi este suportat de diverse dispozitive hardware.

Standardul IEEE 802.11 descrie protocoale de comunicație aflate la nivelul gazdă – rețea al modelului TCP/IP.

De asemenea, standardul Wi-Fi se află la nivelurile fizic și legătură de date ale Stivei OSI (Open System Interconnecțion). Acest lucru înseamană că standardul IEEE 802.11 trebuie să primească pachete de la protocoalele de la nivelul de rețea, adică IP și să le transmită evitând coliziunile ce ar putea să apară.

Limitările standardului provin din mediul fără fir folosit, care face ca rețelele IEEE 802.11 să fie mai lente decât cele cablate, de exemplu Ethernet, dar și din folosirea benzii de frecvență de 2,4 GHz, împărțită în 12 canale care se suprapun parțial două câte două. Limitările date de consumul mare de energie, precum și de reglementările privind puterea electromagnetică emisă, nu permit arii de acoperire mai mari de câteva sute de metri, mobilitatea în cadrul acestor rețele fiind restrânsă.[60]

5.2 Descentralizarea sistemului de analiză. Conexiune RF între platforma de colectare date și cea de procesare (RF 433Mhz)

Descentralizarea datelor se poate realiza folosind o plăcuță Arduino, pe post de colectare a datelor. Aceasta poate fi o plăcuță cu performanțe mai reduse (UNO sau altă plăcuță,cu precizare ca acestea să fie compatibile cu modulul RF), dar se poate folosi la fel de bine și Mega pentru o compatibilitate mai ridicată. Pentru partea de procesare a datelor se folosește o altă plăcuță Arduino cu shield-ul Arduino Ethernet Shield si SD Card. Cele două module sunt conectate permanent prin intermediul conexiunii RF de 433 Mhz.

Această variantă de conectare este una ieftină și ușor de implementat. Este mai simplu de utilizat decât conexiunea realizata prin intermediul unui XBee (modul radio de la Digi International).

Este foarte ușor să se transmită date prin intermediul acestor module de radio-frecvență direct prin cod, fără ajutorul unor librării specializate.

Conexiunea RF între plăcuțele Arduino se realizează prin intermediul a două module și anume un transmitător și un receptor.

Înainte de a începe conectarea propriu-zisă si realizarea funcțiilor specifice pentru care este proiectat, trebuie să ne asigurăm că cele două module (cel de transmisie si cel de recepție a datelor), funcționează în mod corespunzător.

În vederea realizării acestei verificări se poate folosi o conexiune simplă, de exemplu se poate folosi un cod pentru aprinderea unui led.

Modulele de transmisie și recepție trebuie sa fie apropiate unul de celălalt, la o distantă de aproximativ 1-2 cm, pentru a evita interferențe majore. Se pot însă utiliza antene în vederea conectării modulelor de la distanțe mai mari.

Din practică se observă faptul că se obține o acuratețe mai mare prin utilizarea pinului de 3.3 V în vederea alimentării modulului de recepție a datelor, în detrimentul alimentării de la pinul ce debitează 5V.

Fig. 5.3 Realizarea comunicției între două module RF de 433 Mhz în vederea conectării a două plăcuțe Arduino UNO

Transmițătorul conține trei pini, așa cum se poate observa în figura de mai sus. În figura 4.46 este prezentat modului RF de transmisie a datelor.

Fig 5.4 Modulul RF de transmisie a datelor

Pinul DATA este responsabil cu tansmiterea datelor, iar ceilalți doi pini sunt pinii de alimentare – VCC, conectâdu-se la 5V, iar GND, la pinul GND al plăcuței de dezvoltare Arduino.

Receptorul se ocupă de recepția datelor procesate de primul Arduino și transmiterea la cel de-al doilea Arduino, ce este conectat la Internet prin standardul Ethernet sau IEEE 802.11 (Wi-Fi), ce are rolul de stocare a datelor și transmitere a acestora la serverul web.

În figura de mai jos avem prezentat receptorul (Reciever) și un tabel prin care sunt puși în evidentă pinii acestuia. [61]

Fig. 5.5 Modulul RF de recepție a datelor

Avantajele acestei implementări constă în faptul că datele pot fi colectate de către mai multe module Adruino și transmise modulului principal, de procesare, în vederea efectuării diferitelor operații (de scriere pe card, de transmitere a datelor spre pagina web , etc). Se pot astfel obține valori de la mai multe dispozitive, clasificarea datelor fiind facilă, deoarece fiecare dispozitiv este conectat la propriul modulul Arduino. Acesta preia datele și le transmite spre procesare modulului principal.

Un alt avantaj major este reprezentat de faptul că, la modulul Arduino care preia datele de la senzori și le transmite spre procesare prin intermediul modulului de transmisie – recepție, pot fi conectați mai mulți senzori (atâția câte intrari analogice conține placa de dezvoltare Arduino). În plus, după cum spuneam mai sus, există posibilitate de conectare multiplă și în cazul modulelor. Numărul maxim de senzori ce pot fi conectați la unitatea de procesare (modulul principal Arduino) este dat de numărul de intrări analogice ale acesteia.

Problema care se pune este aceea de a reuși minimizarea interferențelor ce apar între modulele RF de transmisie – recepție.

5.3 Analiza individuală a mai multor consumatori. Modul de centralizare senzori de măsură

Analiza individuală a mai multor consumatori se poate realiza cu ajutorul mai multor senzori de curent, circuitul de tensiune fiind același pentru toate aparatele conectate, considerând că aceste aparate sunt conectate la aceeași tensiune, în cazul acesta, monofazată.

O astfel de implementare există pe piață, fiind realizată prin proiectul „OpenEnergyMonitor”, acesta fiind un proiect de dezvoltare a instrumentelor de monitorizare a energiei de tip open – source. Acest proiect ne ajută să ne raportăm la consumul de energie electrică în vederea unei provocări în a menține o dezvoltare sustenabilă și durabilă în domeniul energetic.

În cadrul proiectului s-au realizat dispozitive performante de măsurare, iar unul din ele constă în analiza individuală a mai multor consumatori, cu ajutorul a 4 senzori de tip CT.

Proiectul se numește EmonTx V3.4 și reprezintă cea mai recentă versiune a nodului de monitorizare a energiei, fără fir, emonTx Low Power conceput pentru a monitoriza alimentarea cu energie electrică pe un număr de maxim 4 circuite separate (de uz casnic / clădire) utilizând senzori CT neinvazivi cu clip și un AC-AC Adaptor de tensiune pentru a furniza un semnal de tensiune pentru calculele Real Power. EmonTx V3.4 este o actualizare minoră a emonTx_V3.

Fig. 5.6 Implementarea hardware a dispozitivului de măsurare a parametrilor unor circuite electrice monofazate, numărul de circuite ce pot fi măsurate fiind 4

Caracteristici ale dispozitivului emonTx V3.4:

măsurarea puterii aparente AC, puterii AC reale și tensiunii AC RMS

3 x intrări senzor CT de curent monofazat (100A / 24KW – 240V max)

1 x canal de intrare senzor de curent CT cu o sensibilitate ridicată (18,8A / 4,5KW – 240V max)

1 x intrare RJ45 pentru conectarea senzorilor de temperatură DS18B20

un adaptor AC-AC poate activa unitatea și poate efectua măsurători de tensiune AC

baterie de 3 baterii AA, cu monitorizare la distanță a tensiunii bateriei

accesul blocului de conexiune la șinele de alimentare, porturile I / O și IRQ digitale și analogice pentru conectarea senzorului de numărare a impulsurilor / senzorii de temperatură DS18B20 / auxiliari

selectarea comutatorului DIP a ID-ului nodului RF și a selecției adaptorului 240V / 120V

Utilizând un microprocesor ATmega328, emonTx V3.4 rulează schițe standard Arduino. Este ușor de personalizat și de încărcat codul folosind ID-ul Arduino și un cablu USB la UART.

Datele de la emonTx V3.4 sunt transmise printr-un radio RFM12B / RFM68CW 433/868 MHz către o stație de bază conectată la web (se recomandă un Raspberry Pi cu un RFM12Pi), care apoi pune datele pe un server emoncms (ex. http://emoncms.org) pentru logare, procesare și grafic.

EmonTx V3.4 are două switch-uri DIP care permit selecția ID-ului nodului RF și alegerea adaptării UK / EU sau US AC-AC fără a fi necesară schimbarea firmware-ului. Unitatea trebuie reluată după schimbarea pozițiilor comutatorului DIP. Setarea implicită a comutatorului DIP (ambele oprite) este nod ID 10 și 240V AC.

Fig. 5.7 Schema de trecere (comutare) DIP între tensiuni de 130V, respectiv 240V

După cum se poate observa în figura 5.7, switch-ul poate comuta între două valori, cea de default, presetată, respectiv cea de 130V – reprezentând standardul de tensiune pentru SUA.

EmonTx V3.4 are două switch-uri DIP care permit selecția ID-ului nodului RF și alegerea adaptării UK / EU sau US AC-AC fără a fi necesară schimbarea firmware-ului. Unitatea de procesare trebuie reluată după schimbarea pozițiilor comutatorului DIP. Setarea implicită a comutatorului DIP (ambele oprite) este nod ID 10 și 240V AC.

Există patru moduri de alimentare a sistemului emonTx V3:

Cablul USB la UART – recomandat doar pentru perioade scurte de timp în timpul programării, se recomandă scoaterea tuturor celolalte surse de alimentare

Cablu mini-USB 5V DC – este necesară scoaterea jumper-ului JP2, când se realizeză alimentarea prin DC, dacă adaptorul de curent alternativ este conectat

baterii AA – este necesară scoaterea jumper-ului JP2, când se alimentează prin DC dacă adaptorul AC este conectat

9V adaptor AC-AC – cu jumper JP2 închis (Dacă jumperul 2 este lăsat deschis, adaptorul AC-AC va fi folosit pentru eșantionare de putere, dar nu pentru alimentarea modulului emonTx V3)

Dispozitivul de bootloader serial OptioBoot Arduino Uno ar trebui să fie gata încărcat pe ATmega328 de pe emonTx din fabrică. Dacă totuși, din orice motiv, trebuie să reîncărcați bootloaderul și să setați siguranțele, procedați astfel:

Firmware-ul stoc emonTx, inclusiv bootloader-ul, poate fi descărcat în formularul .hex pre-compilat de la github. Căutați un fișier .hex incluzând cuvântul "bootloader" în titlu, pe pagina GitHub emonTx V3.

Un senzor digital de temperatură DS18B20 poate fi ușor conectat la emonTx V3 prin conectarea senzorului la blocul de borne cu șurub emonTx V3 sau la conectorul RJ45. Firmware-ul implicit (eșantionare discretă) acceptă detectarea automată a unui senzor DS18B20. Multi DS18B20s pot fi înlănțuite, dar acest lucru va necesita modificări ale firmware-ului emonTx preinstalat – de asemenea, puteți rula probleme de putere în funcție de modul în care alimentați emonTx.

Pentru a economisi energie atunci când funcționează cu baterii, emonTx V3 acceptă oprirea citirii intermediare DS18B20 și efectuarea conversiei de temperatură în timp ce ATmega328 dormește. Pentru a face acest lucru, alimentarea (3.3 V) este furnizată de pinul de alimentare al DS18B20 de la Dig19 (ADC5), acest pin digital fiind oprit între citiri.

Un senzor DS18B20 poate fi conectat direct la mufa RJ45 sau poate fi utilizată o conexiune RJ45 la blocul de borne pentru conectarea mai multor senzori, după cum este prezentat în figura 5.8:

Fig. 5.8 Modul în care se conectează mai mulți senzori de temperatură DS18B20, prin intermediul conexiunii RJ45

Este important de precizat faptul că priza RJ45 nu acceptă comutarea sursei de alimentare prin intermediul pinului digital 19 (ADC5) așa cum este descris mai sus.

EmonTx V3.4 utilizează un pin-out standard RJ45 DS18B20 folosit de Sheepwalk Electronics:

Fig. 5.9 Modul de dispunere al pinilor de ieșire pentru mufa de tip RJ45

Numărătoarea optică a impulsurilor se realizează prin intermediul senzorului optic de impulsuri. OpenEnergyMonitor poate fi conectat direct la emonTx V3 prin intermediul lui RJ45. În martie 2015, numărarea impulsurilor a fost integrată în firmware-ul principal emonTx V3 și livrat ca standard.

Multe contoare, inclusiv contoarele de energie electrică de import sau export monofazat, ori trifazat, contoare de gaz și contoare de apă, au ieșiri de tip puls. Ieșirea pulsului poate fi o lumină intermitentă sau un releu (de obicei solidă) sau ambele. Se recomandă astfel, utilizarea interfeței optice, dacă este disponibilă, deoarece aceasta decuplează echipamentul de monitorizare de la rețea.

În cazul unui contor de energie electrică, o ieșire de impuls corespunde unei anumite cantități de energie care trece prin contor (kWh / Wh). Pentru contoarele de energie electrică monofazică, de ex. Elster A100c, fiecare puls corespunde în mod obișnuit cu 1 Wh (1000 impulsuri per kWh). Contoarele de apă și gaz vor fi marcate în mod obișnuit pentru a arăta cantitatea de apă (litri / galoane) sau gaz (metri cubi) pe care fiecare impuls o reprezintă.

Impulsurile și cel mai recent număr de impulsuri sunt transmise prin RF, ca variabilă finală în structura de pachete JeeLib. Procesul de intrare wh_accumulator detectează când numărul de impulsuri este resetat la zero (după resetarea emonTx) și continuă să se acumuleze, ignorând resetarea. Un proces de introducere a scalei poate fi utilizat pentru a converti numărul de impulsuri în kWh. De exemplu: contorul meu de energie electrică emite 800 de impulsuri pe kWh, deci fiecare impuls este de 0,8Wh. Pot multiplica numărul de impulsuri cu 0,8 pentru a obține numărul de Wh sau cu 0,0008 pentru numărul de kWh acumulat.

Atât Raspberry Pi, cât și emonTx v3 rulează la 3.3V, astfel încât liniile de primire și transmitere serial pot fi conectate direct. Șina de putere de 5V de la Raspberry Pi poate fi livrată către emonTx, care este apoi scos la 3,3V de către regulatorul de tensiune emonTx. 5V este furnizat de firul roșu (vezi fig. 5.10). Conexiunea la sol este firul negru, iar datele de serie care merg de la emonTx la Raspberry Pi sunt firul verde. Sârmă pentru datele seriale care merge în direcția opusă (Pi la emonTx) nu a fost conectat în acest exemplu, dar ar putea fi adăugat în cazul în care comunicarea bidirecțională este necesară.

Fig. 5.10 Realizarea conexiunii modulului emonTX la Raspberry Pi

În figura de mai jos sunt prezentate datele caracteristice referitoare la modulul de monitorizare a energiei electrice – emonTX V3.4

Fig. 5.11 Date caracteristice referitoare la modulul de monitorizare a energiei electrice

Așadar, folosirea sistmelor de monitorizare de genul emonTX, ajută la urmărirea mai multor sisteme electrice în mediul online, prin intermediul unui singur modul. De asemenea acest modul poate măsura, nu doar parametrii circuitului electric pe care-l montorizează, ci și temperatura incintei în care se află sistemlul electric ce urmează a fi măsurat.[62]

5.4 Sistem de management al consumatorilor. Întreruperea condiționată și reluarea alimentării

O altă îmbunătățire ce poate fi adusă sistemului descris în această lucrare este repezentat de un sistem ce realizează managerierea consumatorilor prin întreruperea condiționată sau reluarea alimentării acestora. Implementarea constă în folosirea releelor.

Putem controla dispozitive electronice de înaltă tensiune folosind relee. Un releu este de fapt un comutator care este acționat electric de un electromagnet. Electromagnetul este activat cu o tensiune scăzută, de exemplu 5 volți de la un microcontroler și acționează un contact, pentru a închide sau întrerupe un circuit de înaltă tensiune.

Fig. 5.12 Stările unui releu

Ca un exemplu, se pot folosi module de relee cu două canale de tipul HL-52S, care are în componență 2 relee cu următoarele caracteristici: un canal de 10A – 250V/125V AC și celălalt canal de 10A – 30V/28V DC. Conectorul de ieșire de înaltă tensiune are 3 știfturi, cel din mijloc este pinul comun și după cum se poate observa din marcaje, unul dintre cei doi alți pini este pentru conexiunea normal deschisă, iar cealaltă pentru conexiunea normal închisă.

Fig. 5.13 Modul releu cu două canale

Pe cealaltă parte a modulului avem aceste două seturi de știfturi. Primul are 4 pini, un GND și un pin VCC pentru alimentarea modulului și 2 pini de intrare In1 și In2. Al doilea set de pini are 3 pini cu un jumper între JDVcc și pinul Vcc. Cu o astfel de configurație, electromagnetul releului este alimentat direct de la placa Arduino și dacă se întâmplă ceva cu releul, microcontrolerul s-ar putea deteriora.

Așadar, cei 5 volți de la microcontrolerul conectat la pinul Vcc pentru activarea releului prin intermediul optocuplor IC sunt de asemenea conectați la pinul JDVcc care acționează electromagnetul releului. Deci, în acest caz, nu s-a realizat o izolație între releu și microcontroler.

Fig. 5.14 Conectarea releului la modulul de dezvoltare Arduino, varianta fără izolație între releu și Arduino

Pentru a izola microcontrolerul de releu, trebuie scos jumperul și conectată sursa de alimentare separat pentru electromagnet la JDVcc și pinul GND. Acum, cu această configurație, microcontrolerul nu are nici o conexiune fizică cu releul, ci doar utilizează lumina LED a optocuplorului IC pentru a activa releul. Schema de conectare este prezentată în figura de mai jos (Fig. 5.15).

Fig. 5.15 Conectarea releului la modulul de dezvoltare Arduino, varianta cu izolație între releu și Arduino

Se poate folosi un adaptor de 5V ca sursă de alimentare separată pentru electromagnetul conectat la JDVcc și pinul GND. Pinul de 5V al lui Arduino va fi conectat la pinul Vcc al modulului și pinul 7 la pinul de intrare In1 pentru controlul releului. Acum, pentru partea high, avem nevoie de o priză de alimentare, o priză și un cablu cu două fire. Unul dintre cele două fire va fi tăiat și conectat la pinul comun și normal deschis al conectorului de ieșire al modulului. Deci, cu această configurație când vom activa releul, circuitul de tensiune înaltă va fi închis și funcțional.

Fig. 5.16 Modul de realizare a conexiunii releului cu Arduino Mega

Se poate testa dacă modulul funcționează corespunzător cu ajutorul unui multimetru, sau se poate mai întâi testa la o tensiune scăzută.

Fig. 5.17 Forma finală de conexiune a releului la alimentarea consumatorului (disspozitivului ce urmează a fi măsurat)

Prin intermediul acestei conexiuni, nu doar că sunt măsurați parametrii circuitului electric supus măsurării, ci se poate interveni și asupra stării acestuia (pornit/oprit), prin folosirea releelor.

Capitolul VI: Concluzii

Bibliografie

1.https://ro.wikipedia.org/wiki/Măsurare

2. http://www.ac.tuiasi.ro/~lmastacan/wp-content/uploads/29.09.2017_C01_Notiuni_generale_de_metrologie.pdf

3. SR 13251:1996 – Vocabular internațional de termeni fundamentali și generali în metrologie, traducere a ISO Guide 99:1996 – International vocabulary of basic and general terms in metrology (VIM).

4.http://web.ulbsibiu.ro/laurean.bogdan/html/Traductoare_Principii.pdf

5. https://ro.wikipedia.org/wiki/Curent_electric

6 http://tehnium.org/wp/?p=2696

7.https://shopdelta.eu/curentul-continuu-dc_l19_aid761.html

8 https://ro.wikipedia.org/wiki/Consumator_electric

9. Influența unor consumatori uzuali asupra… (PDF Download Available). Available from: https://www.researchgate.net/publication/314329008_Influenta_unor_consumatori_uzuali_asupra_calitatii_energiei_electrice_Influence_of_some_Ordinary_Electric_Consumers_on_Power_Quality_Full_text_in_Romanian [accessed May 12 2018].

10. https://www.electrica.ro/activitatile-grupului/distributie/eficienta-energetica/

11. http://apollo.eed.usv.ro/~elev6/obt_en_el.html

12. https://www.digi24.ro/special/campanii-digi24/romania-cu-incetinitorul/platim-curentul-de-trei-ori-mai-mult-decat-pretul-de-productie-cum-impovareaza-statul-consumatorii-dar-protejeaza-marile-companii-358597

13. https://www.green-report.ro/mix-ul-perfect-in-energie-42-din-productia-de-energie-electrica-a-romaniei-asigurata-din-surse-regenerabile/

14. http://apollo.eed.usv.ro/~elev6/impact.html

15. https://en.wikipedia.org/wiki/Electricity_meter

16. https://wiki.ezvid.com/best-electricity-usage-monitors

17. https://en.wikipedia.org/wiki/Internet_of_things

18. https://en.wikipedia.org/wiki/Renewable_energy

19. https://whatis.techtarget.com/definition/sensor

20. https://en.wikipedia.org/wiki/Current_sensor

21. https://e2e.ti.com/blogs_/archives/b/precisionhub/archive/2015/07/10/six-ways-to-sense-current-and-how-to-decide-which-to-use#

22. https://hobbytronica.ro/ce-este-puterea-electrica/

23. https://hobbytronica.ro/defazajul-dintre-tensiune-si-curent/

24. http://www.electricalc.ro/certificari/2-galerie/detail/34-instalatie-distributie-tv?tmpl=component

25. https://ro.wikipedia.org/wiki/Arduino

26. https://www.arduino.cc/en/Tutorial/Memory

27. http://www.mantech.co.za/datasheets/products/A000047.pdf

28. https://www.i2c-bus.org

29. users.utcluj.ro/~sebestyen/_Word_docs/Cursuri/Luc6-uP.doc

30. https://profs.info.uaic.ro/~arduino/index.php/Comunicare_I2C

31. https://www.optimusdigital.ro/ro/adaptoare-i-convertoare/89-adaptor-i2c-pentru-lcd-1602.html

32. https://arduino-info.wikispaces.com/LCD-Blue-I2C

33. https://www.robofun.ro/lcd_serial_25_20x4

34. http://users.utcluj.ro/~rdanescu/pmp-lab03.pdf

35. https://www.arduino.cc/en/Reference/LiquidCrystalSetCursor

36. http://www.instructables.com/id/Arduino-Ethernet-Shield-Tutorial/

37. https://www.arduino.cc/en/Reference/Ethernet

38. https://www.mouser.com/catalog/specsheets/A000056_DATASHEET.pdf

39. https://ro.wikipedia.org/wiki/Interfața_serială_SPI

40. https://ro.wikipedia.org/wiki/Cablu_torsadat

41. https://ro.wikipedia.org/wiki/Secure_Digital

42. https://startingelectronics.org/tutorials/arduino/ethernet-shield-web-server-tutorial/SD-card-web-server/

43. https://www.arduino.cc/en/Reference/SD

44. https://en.wikipedia.org/wiki/Real-time_clock

45. https://www.maximintegrated.com/en/products/digital/real-time-clocks/DS3231.html

46. https://howtomechatronics.com/tutorials/arduino/arduino-ds3231-real-time-clock-tutorial/

47. https://en.wikipedia.org/wiki/Web_application

48. https://www.w3schools.com/html/default.asp

49. https://www.tutorialspoint.com/css/what_is_css.htm

50. https://en.wikipedia.org/wiki/Bootstrap_(front-end_framework)

51. https://ro.wikipedia.org/wiki/JavaScript

52. https://en.wikipedia.org/wiki/Ajax_(programming)

53. https://jquery.com

54. https://www.json.org

55. https://www.chartjs.org/docs/latest/

56. http://www.shilling.co.uk/survey/Charts/docs/

57. https://en.wikipedia.org/wiki/Voltage

58. https://learn.openenergymonitor.org/electricity-monitoring/voltage-sensing/measuring-voltage-with-an-acac-power-adapter

59. https://learn.openenergymonitor.org/electricity-monitoring/ct-sensors/interface-with-arduino

60. https://ro.wikipedia.org/wiki/Wi-Fi

61. http://arduinobasics.blogspot.com/2014/06/433-mhz-rf-module-with-arduino-tutorial.html

62. https://wiki.openenergymonitor.org/index.php/EmonTx_V3.4

Anexe

Similar Posts