Table of Contents

Dynamic Solar Panel

Introducere

În prezent se dorește utilizarea în cea mai mare măsură posibilă a energiei verzi, reprezentată și de energia fotovoltaică.

Proiectul reprezintă un sistem de urmărire a soarelui sau a sursei de lumină, bazat pe un mini panou solar, cu două servomotoare și trei senzori de intensitate a luminii.

În esență, funcționarea acestui sistem este destul de simplă, dar eficientă. Senzorii de lumină detectează intensitatea luminii solare în diferite direcții, iar în funcție de aceste informații, servomotoarele ajustează poziția panoului solar astfel încât acesta să fie mereu orientat cât mai perpendicular pe razele solare. Prin această optimizare a poziționării, se maximizează absorbția energiei solare de către panou, crescând astfel eficiența colectării de energie electrică.

Descriere generală

Schema bloc

Hardware Design

Piese

Arduino UNO:

Senzori intesitate luminoasă - TSL2561:

Senzor solar UV analogic - GUVA-S12SD

Servo motoare - SG 90, 180 grade:

Panou solar

Ecran LCD

Schemă Electrică

Pini:

Asamblare inițială

Asamblare componenete hardware

Link Video - testare senzor intensitate luminoasă

Software Design

Dezvoltarea software:

  • Mediu de dezvoltare: PlatformIO
  • Biblioteci folosite: <avr/io.h> <delay.h> <stdio.h>

Pentru a realiza miscarea panoului solar în direcția luminii, inițial trebuie să obtin valorile citite de cei trei senzori de intensitate luminoasă. Inițializez comunicația I2C astfel.

După inițializarea senzorilor, doresc să obțin valorile citite de aceștia care vor fi convertite apoi în lux pentru obtinerea intensitații luminoase.

Cu datele despre mediu obtinute, urmează logica ce va pune în mișcare mecanismul reprezentat de cele 2 servo-motoare pentru o poziționare cât mai optima a panoului spre sursa de lumină. Compar diferențele dintre senzori și astfel calculez direcția în care trebuie sa se rotească sistemul sau să se încline sus sau jos.

Pentru a controla servo motoarele am folosit PWM-ul microcontroller-ului pentru a obține un semnal cu frecvența de 50Hz.

Conectarea, logica și controlul display-ului LCD I2C pentru afisarea valorilor intensităților luminoase și a valorii luminii ultra-violete (receptată de un modul sensor UV ADC), precum si restul codului se află pe repository-ul de gitHub disponibil mai jos.

cod-GitHub

Rezultate Obţinute

Videoclip demo funcționare: Demo

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF