Proiectul “Solar Tracker” prezinta un sistem de urmarire a soarelui automatizat pe o singura axa, care are scopul de a imbunatatii eficienta unui paou solar prin orientarea constanta a acestuia catre soare/sursa de lumina.
Functionarea sistemului se bazeaza pe doi fotorezistori pusi pe partile opuse ale unei suprafete, care detecteaza diferenta de intensitate a luminii solare. Aceste valori sunt analizate de o placa Arduino, care controleaza un servomotor SG90 pentru a roti panoul solar. Panoul se roteste pana cand cei doi fotorezistori arata valori similare, ceea ce inseamna ca niciunul nu e in umbra, iar panoul solar este perpendicular pe directia luminii.
Panoul solar este conectat la Arduino printr-un divizor de tensiune, ceea ce permite monitorizarea tensiunii generate in timp real.
Pentru monitorizarea de la distanta, sistemul este echipat cu un modul Bluetooth HC-05, prin care pot fi transmise date precum valorile fotorezistorilor sau tensiunea generata de panou, catrea aplicatia Serial Bluetooth Terminal.
Conexiuni hardware:
Fotorezistori - 2 senzori
* Conectati la:
* Motiv: Fotorezistorii sunt folositi pentru a detecta diferenta dintre lumina intre cele 2 parti ale suprafetei. Sunt conectati prin cate un divizor de tensiune cu rezistente de 10kΩ, iar iesirea este citita de pinii analogici A0 si A1 prin ADC.
Servomotor SG90
* Conectat la:
* Motiv: Servomotorul controleaza orientarea panoului solar. Este conectat la un pin digital cu functionalitate PWM, necesara pentru control precis
Panoul solar 5V
* Conectat la:
* Motiv: Panoul genereaza o tensiune proportionala cu lumina primita. Este folosit un divizor de tensiune deoarece panoul e posibil sa produca prea mult pentru Arduino. Tensiunea panoului este citita de Arduino prin pinul analog A2, tot prin ADC, pentru a putea fi monitorizata in timp real
Modul Bluetooth HC-05
* Conectat la: * TX(modul) - D10 * RX(modul) - D11 * Motiv: Modulul comunica prin interfata UART. Se utilizeaza libraria SoftwareSerial pentru a crea o comunicare seriala pe D10 si D11. Prin aceasta conexiune, Arduino transmite catre aplicatia Serial Bluetooth Terminal informatii
Componenta | Link | Datasheet |
---|---|---|
Arduino MEGA2560 | Nu am link | Datasheet |
Servomotor SG90 | Nu am link | Datasheet |
Fotorezistori | Optimus Digital | Datasheet |
Panou solar | eMAG | Nu am datasheet |
Modul Bluetooth HC-05 | Optimus Digital | Datasheet |
Rotirea panoului:
* Sistemul citește valori de la doi fotorezistori, calculează diferența de iluminare și mișcă un servomotor pentru a orienta un panou solar în direcția cu lumină mai puternică
Transmiterea datelor prin Bluetooth:
* Se transmit valorile fotorezistorilor si voltajul panoului solar prin bluetooth catre aplicatia Serial Bluetooth Terminal
Motivarea bibliotecilor:
* Servo.h: permite controlul simplu și precis al servomotorului cu funcții precum .attach() și .write()
* SoftwareSerial.h: permite utilizarea altor pini digitali pentru comunicare serială (Bluetooth), deoarece pinii 0 și 1 sunt deja rezervați pentru comunicația USB (Serial Monitor). Am evitat AltSoftSerial.h din cauza conflictelor cu biblioteca Servo.
Utilizarea funcționalităților din laborator: * ADC (Analog-to-Digital Converter):
* PWM (Pulse Width Modulation):
* UART (Universal Asynchronous Receiver/Transmitter):
Structura proiectului și interacțiunea funcționalităților:
* Fotorezistori - măsoară lumina pe două direcții.
* Logica diferenței - determină dacă servomotorul trebuie să se rotească stânga/dreapta pentru a alinia panoul.
* Servo motor - este controlat în funcție de diferență (dacă e mai mare decât margin).
* Panoul solar - măsoară tensiunea furnizată de lumină.
* Bluetooth - transmite datele colectate într-un format structurat.
* Validare - s-a făcut prin observarea mișcării servo în funcție de lumină și recepționarea corectă a datelor transmise.
Elementul de noutate al proiectului:
* Proiectul implementează un sistem simplu dar eficient de urmărire solară cu feedback în timp real transmis prin Bluetooth * Alimentarea folosind panouri solare este “la moda”, iar acest proiect poate duce la eficientizarea ei
Stadiul actual al implementarii:
* Cele doua functionalitati principale, anume cea de rotire a panoului in functie de lumina si cea de transmitere prin bluetooth a datelor sunt functionale si merg bine
* Cele doua nu functioneaza concomitent totusi
* O posibila rezolvare pentru acasta problema este conectarea servomotorului la o sursa de alimentare separata fata de modulul Bluetooth
Optimizari realizate:
* Setarea unei valori “margin” cu 50 pentru a evita fluctuații minore ce pot cauza mișcări inutil
Incercari de rezolvari pentru problema servomotor + modul(care nu au dat roade): * Verificarea alimentarii:
* Modificarea pinilor de comunicatie pentru SoftWareSerial:
* Incercarea folosirii biblioteci AltSoftSerial
* Logica de separare temporara intre scrierea prin bluetooth si rotirea servomotorului
Proiectul a demonstrat cu succes funcționarea sistemului de urmărire solară și transmiterea datelor prin Bluetooth, evidențiind atât potențialul cât și limitările soluției curente. În continuare, o soluție hardware pentru alimentarea separată a modulului Bluetooth și a servomotorului este posibil sa asigure funcționarea simultană. Astfel, proiectul oferă o bază solidă pentru dezvoltări ulterioare în monitorizarea și orientarea panourilor solare, cu aplicabilitate practică crescută.
[!Video](https://youtu.be/GAS8k1Odir0)
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.