Wraz z rozwojem technologii energii odnawialnej, systemy zasilane energią słoneczną zyskały na popularności. Projekt Smart-Energy-System projektuje i wdraża inteligentny system zarządzania baterią i obciążeniem oparty na panelach słonecznych, bateriach i Arduino. Panel słoneczny przekształca światło słoneczne w energię elektryczną, aby ładować baterię, a bateria, za pomocą przetwornicy podwyższającej, dostarcza moc do Arduino i innych urządzeń peryferyjnych.
Arduino jest odpowiedzialne za monitorowanie stanu baterii, zbieranie oraz wyświetlanie danych o napięciu, natężeniu i mocy baterii i obciążeniach. Jednocześnie system wykorzystuje moduł INA226 do monitorowania kluczowych parametrów takich jak napięcie, natężenie i moc baterii i dwóch obciążeń.

Komponenty sprzętowe
Następujące komponenty nie są sprzedawane na tej stronie. Zaleca się zakup ich zgodnie z Twoimi potrzebami:
1. Bateria (5V): Zapewnia zasilanie dla Arduino i obciążenia.
2. Wyświetlacz: Wyświetla dane dotyczące napięcia, prądu i mocy baterii oraz obciążenia.
3. Drewniana deska: Wspiera i mocuje różne elementy sprzętowe.
Połączenia systemowe
-
Panel słoneczny: Zapewnia stabilny prąd i napięcie do ładowania baterii przez przetwornicę obniżającą napięcie.
-
Bateria: Dostarcza zasilanie 12V do Arduino, zapewniając jego działanie.
-
Arduino: Połączone z wyświetlaczem przez I2C, aby pokazać dane w czasie rzeczywistym o stanie baterii i obciążenia.
-
Moduł INA226: Monitoruje napięcie, prąd i moc zarówno baterii, jak i dwóch obciążeń.
Implementacja kodu
#include "INA226.h"
#define INA_COUNT 4
// IIC Address Selection
// A1 = 0 A0 = 0 ->0x40
// A1 = 0 A0 = 1 ->0x41
// A1 = 1 A0 = 0 ->0x44
// A1 = 1 A0 = 1 ->0x45
INA226 INA[INA_COUNT] =
{
INA226(0x40),
INA226(0x41),
INA226(0x44),
INA226(0x45)
};
char string_V[10];
char string_I[10];
char string_W[10];
char string_X[10];
void setup()
{
Serial.begin(115200);
Serial.println(__FILE__);
Serial.print("INA226_LIB_VERSION: ");
Serial.println(INA226_LIB_VERSION);
Wire.begin();
bool niepowodzenie = false;
dla (int ID = 0; ID < INA_COUNT; ID++)
{
if (!INA[ID].begin() )
{
failed = true;
Serial.println(ID);
}
INA[ID].ustawMaksymalnyPrądShunt(8, 0.01);
}
jeśli (niepowodzenie)
{
Serial.println("Nie można połączyć się z jednym lub więcej INA. Napraw i uruchom ponownie");
while (1);
}
Serial.println("\nID\tBUS\tSHUNT\tPRĄD\tMOC");
}
void loop()
{
float voltage = INA[0].getBusVoltage();
dtostrf(napięcie, 4, 3, string_V); // Konwertuj liczbę zmiennoprzecinkową na łańcuch znaków, zachowując trzy miejsca po przecinku
char string_X[50];
char str[50];
sprintf(string_X, "page0.t10.txt=\"%s V\"\xff\xff\xff", string_V); // Łączenie łańcuchów znaków
Serial.print(string_X);
Serial.print(str);
opóźnienie(1000);
}
Funkcje
-
Monitorowanie baterii: Używa modułu INA226 do monitorowania napięcia, prądu i mocy baterii w czasie rzeczywistym oraz przesyłania danych do Arduino za pomocą komunikacji szeregowej.
-
Funkcjonalność wyświetlacza: Wyświetla napięcie, prąd i moc zarówno baterii, jak i obciążenia na ekranie LCD za pomocą I2C.
-
Zarządzanie obciążeniem: System wykorzystuje Arduino do monitorowania stanu dwóch obciążeń i dostosowuje zasilanie na podstawie danych pobranych z modułu INA226.
-
Zdalne sterowanie: System może być zintegrowany z platformą inteligentnego domu za pomocą IoT, co umożliwia zdalne sterowanie przez aplikację mobilną w celu przeglądania danych i dostosowywania ustawień systemu.
Przypadki użycia
-
Zdalne monitorowanie baterii: Użytkownicy mogą monitorować stan ładowania baterii i poziomy mocy, zapewniając, że urządzenia działają w optymalnym zakresie mocy.
-
Zarządzanie obciążeniem: Odpowiednie dla inteligentnych domów lub systemów zasilanych energią słoneczną, może monitorować wiele urządzeń obciążeniowych, aby zapewnić stabilną pracę.
-
Przyjazne dla środowiska zarządzanie energią: System wykorzystuje energię słoneczną, zmniejszając zależność od tradycyjnych źródeł energii i poprawiając zrównoważony rozwój systemu.
Przyszły rozwój i ekspansja
-
Rozszerzenie wielofunkcyjne: Użytkownicy mogą dodać dodatkowe moduły czujników, takie jak czujniki temperatury, wilgotności i światła, aby jeszcze bardziej usprawnić monitorowanie środowiska.
-
Inteligentne przewidywanie i dostosowanie: System będzie wykorzystywał technologię AI do inteligentnego przewidywania zużycia energii, dostosowując tryby zasilania w celu optymalizacji wydajności systemu.
-
Optymalizowane zarządzanie energią słoneczną: W miarę jak technologia paneli słonecznych nadal się rozwija, system może integrować bardziej wydajne panele słoneczne, aby zwiększyć ogólną efektywność ładowania i czas użytkowania.
-
Zarządzanie wieloma urządzeniami: Dzięki wykorzystaniu platform chmurowych i IoT, użytkownicy mogą zarządzać i monitorować wiele urządzeń, co umożliwia szerszą kontrolę systemów inteligentnego domu.
Wniosek
