SOPR - přepínač pro solární mini elektrárnu

Ze zvědavosti (jak to vlastně celé funguje) jsem si pořídil jeden fotovoltaický panel a přes regulátor ho připojil k 24V baterii (2x12V baterie). Z baterie mám napájené další zařízení: IP kamera, vrata... V zimě (když napadne na panel sníh, nebo budou mlhy) nebude panel nejspíše schopen dobít baterie. Bude potřeba řešit dobití baterií jiným způsobem (ze zdroje 230V). Začal jsem tedy na Internetu hledat obvod, který by uměl přepínat mezi panelem/záložním zdrojem. Hlídat přebíjení a podbití. Nic kloudného jsem nenašel a z tohoto důvodu jsem si sestavil vlastní SOPR "SOlární PŘepínač"...

 

Přepínač je založený na procesoru Atmega 328P (stejný jako používá Arduino NANO). Napájecí spínaný zdroj na desce je řešený pomocí obvodu LM2576 (katalogové zapojení). Procesor je napájený napětím 5V ze spínaného zdroje. Procesor spíná 5ks signálních LED (solár, +24V zdroj, baterie, výstup aux, error) a 3ks relé (FV/zdroj, regulátor, aux). Napětí na baterii, soláru a zdroji se měří přes dělič, který je následně připojený na A/D vstup procesoru. Maximální měřené napětí na vstupech je 45V.

Blokové zapojení

Princip funkce přepínače

  • po zapnutí napájení (připojení baterie 24V se spustí test všech LED -> postupné přepínaní v cyklu cca 2 vteřiny).
  • když má baterie napětí vyšší než 25% a čidlo teploty je v pořádku -> svítí LED "BAT" (jinak nesvítí).
  • když má baterie napětí nižší než nastavené minimum (podbití) nebo má čidlo teploty poruchu -> svítí LED "ERR", nesvítí LED "FV", "24V", "BAT", "AUX". Výstup "AUX" je odpojen.
  • když má baterie napětí vyšší než nastavené maximum (přebíjení) nebo má čidlo teploty poruchu -> bliká současně LED "ERR" a  "BAT". LED "AUX" stále svítí (nedojde k odpojení výstupu). LED "FV" a "24V" svítí nebo blikají dle stavu (vysvětleno níže). Dojde k vypnutí přívodu do regulátoru (ať již z FV nebo zdroje. Tj nebude se nabíjet do doby poklesu napětí).
  • když je napětí ze soláru vyšší než nastavená hodnota -> LED "FV" bliká (je preferované dobíjení ze slunce). Relé je přepnuto na dobíjení z FV. Pokud je zároveň dostupné i napětí ze zdroje -> LED "24V" svítí, LED "ERR" nesvítí.
  • Když není dostupné napětí ze soláru -> LED "FV" nesvítí. Relé je stále přepnuto na dobíjení ze soláru (i když se momentálně nedobíjí). K přepnutí relé ze soláru na zdroj dojde až při poklesu napětí baterie pod 25%. -> LED "24V" bliká.

Nastavené hranice napětí pro SEALED baterie (dá se změnit v programu)

#ifdef BAT_IS_SEALED
  const float MINIMAL_SOLAR_VOLTAGE    = 20.0;        // pokud je více než přepne RE1 na FV
  const float MINIMAL_SUPPLY_VOLATGE   = 20.0;        // pokud je více než přepne RE1 na zdroj (a baterie je vybitá pod 25%)
  const float MINIMAL_BATTERY_VOLTAGE  = 21.2;        // pokud klesne napětí pod tuto hodnotu, tak odpojujeme zátež (rele 3 AUX)
  const float BATTERY_OVER_VOLT        = 30.0;        // nebezpečná hranice dobíjení (přepětí odpojujeme regulátor)
  const float BATTERY_25_PERCENT       = 25.2;        // stav baterie 25%

O veškeré nabíjení a hlídání dobíjení baterie se stará solární regulátor! SOPR je pouze přepínač směru toku dobíjení (slunce/síť) a hlídání podpětí/přepětí.

Schéma zapojení

Deska spojů

Foto osazené desky

Osazení desky (spínaný zdroj 24V/5V)

Test na zdroji se žárovkou 24V jako zátěž

Test osazené desky

Solární panel

Použil jsem 1ks solárního panelu GWL ELERIX, Mono 410Wp, 120 článků, half-cut. Zakoupeno u i4WiFi.cz

Výrobce:  GWL/ELERIX
Upřesnění typu:  Solární panel
Technické detaily
Max. zatížení tlakem (Pa):  5400
Provozní teplota max. (°C):  85
Provozní teplota min. (°C):  -40
Vstupy a výstupy
Konektor:  MC4
Napájení
Jmenovitý výkon (Wp):  410
Napětí naprázdno (V):  41,6
Napětí v bodě max. výkonu (V):  34,6
Počet buněk:  120
Proud v bodě max. výkonu (A):  11,84
Zkratový proud (A):  12,4
Účinnost solárního panelu (%):  21,4
Záruka
Délka záruky IČO (měsíce):  26
Délka záruky (měsíce):  26
Fyzické vlastnosti
Hmotnost (kg):  21
Výška (mm):  1760
Šířka (mm):  1096
Hloubka (mm):  35

 

Regulátor nabíjení

Použil jsem 1ks regulátoru EPEVER DR1206-DDS MPPT 12/24 V (DuoRacer 10A, vstup 60V.) Zakoupeno u i4WiFi.cz

Výrobce:  EPsolar
Upřesnění typu:  Regulátor
Technické detaily
Maximální výkon (W):  260
Provozní teplota max. (°C):  50
Provozní teplota min. (°C):  -20
Technologie:  MPPT
Napájení
Jmenovité napětí (V):  12/24
Max. vstupní napětí (V):  60
Max. vstupní proud (A):  10
Záruka
Délka záruky IČO (měsíce):  26
Délka záruky (měsíce):  26
Fyzické vlastnosti
Hmotnost (kg):  0.8
Rozměry:  227,2 x 143 x 58,1 mm

Baterie

Baterie 2ks v sérii - 12V/18Ah.

Zdroj

Zdroj jsem použil původní co zálohoval vrata (osazeno spínaným zdrojem 230V/24 s deskou, která řešila dobíjení baterií). Doplněním SOPRu zbyl pouze rozvaděč a baterie. Foto před úpravou. Zakoupeno u Varnet.cz

Typ modulu: přídavný zdroj
Napájení: 230 V, 138 W
Dokumentace: Instalace 3400/3004+
Typ zdroje: spínaný
Výstupní napětí (24 V výstup AUX): 24V= +-10%
Max. proudový odběr z AUX výstupu: 5 A trvale
Dobíjecí proud záložního akumulátoru: 1,5 A
Doporučený záložní akumulátor: 2 x 12 V/ 18 Ah
Ochrana proti přepólovaní akumulátoru: ano, tavná pojistka 7 A
Detekce výpadku AC: ano,LED
Detekce poruchy BATT: ano, LED
Detekce přetížení AUX : ano, LED
Optická signalizace: LED na čelním panelu

Význam LED

  • zelená LED FV = svítí když je napětí z FV panelu dostatečné pro dobíjení (bliká když je regulátor připojen na dobíjení z FV - tj když je dostupný i síťový zdroj).
  • zelená LED 24V = svítí když je napětí ze zdroje dostatečné pro dobíjení (bliká když je regulátor připojen na dobíjení ze zdroje - tj když není dostupný FV zdroj).
  • zelená LED BAT = svítí když má baterie > 25%. Bliká když je přepětí spolu s ERR.
  • zelená LED AUX = svítí když je připojen výstup (zátěž/spotřebiče).
  • rudá LED ERR = svítí když je podpětí, bliká když je přepětí.

Výstup na mobilní telefon/tablet

Na desce je osazený BT modul HC-05, který odesílá data ve formátu JSON na mobilní zařízení. Aplikace zobrazuje stav 5 LED, teplotu, napětí z FV, zdroje, baterie a zároveň ukazuje historii napětí v grafech (viz obrázek níže).

Rychlost komunikace je nastavená výchozí 9600 Bd a heslo: 1234. Přes aplikaci nejde nic nastavovat ani měnit a proto není nutné heslo nějak měnit.

Náhled z aplikace

Vysvětlení přenášených dat v JSON formátu

hodnoty ve stringu
fw = verze software v CPU
pv = napětí soláru
src = napětí zdroje 24V
bat = napětí baterie 24V
temp = teplota baterií -127C až 127C

hodnoty 0/1
re_s = rele co přepíná mezi solárem a zdrojem do regulátoru dobíjení
re_r = odpojuje regulátor od nabíjení (v případě přepětí baterie)
re_a = odpojuje zátěž (výstup)
led_p = stav LED solár
led_s = stav LED zdroj
led_b = stav LED baterie
led_a = stav LED aux
led_e = stav LED error

pole hodnot ve stringu (historie pro grafy - rotace záznamu po 30 minutách)
pH = 10 hodnot napětí ze soláru
sH = 10 hodnot napětí ze zdroje
bH = 10 hodnot napětí baterie

výstupní JSON - příklad dat:

{
  "fw": "1.00",
  "pv": "0.00",
  "src": "28.55",
  "bat": "24.15",
  "temp": "24.63",
  "re_s": 1,
  "re_r": 1,
  "re_a": 1,
  "led_p": 0,
  "led_s": 0,
  "led_b": 1,
  "led_a": 1,
  "led_e": 0,
  "pH": [
    "0.00",
    "0.00",
    "0.00",
    "0.00",
    "0.00",
    "0.00",
    "0.00",
    "0.00",
    "0.00",
    "0.00"
  ],
  "sH": [
    "0.00",
    "0.00",
    "0.00",
    "0.00",
    "0.00",
    "0.00",
    "0.00",
    "0.00",
    "0.00",
    "0.00"
  ],
  "bH": [
    "0.00",
    "0.00",
    "0.00",
    "0.00",
    "0.00",
    "0.00",
    "0.00",
    "0.00",
    "0.00",
    "0.00"
  ]
}

Nastavení pojistek CPU a nahrávání programu

Program byl napsán Arduino IDE -> výstupní HEX soubor byl do CPU nahraný přes USBasp programátor pomocí programu AVRdudess.

Nastavení pojistek u procesoru Atmega328P.

Pohled na celý program AVRDUDESS při nahrávání hex souboru do procesoru.

 3D krabička na SOPR

Deska spojů je uchycena pomocí 4ks šroubků M3x5 do spodní části krabičky. Na LED je nasazený světlovod, který přenáší svit LED do víčka krabičky. Všechny části jsou vytištěné materiálem PET-G na tiskárně Prusa i3 MK3.

Víčko drží zavřené pomocí 2ks šroubů M3x10.

ZDARMA (pro registrované)

  • hex pro procesor Atmega328P v1.0, v1.01

DONATE (pro ty co přispěli)

  • zdroj + hex pro Arduino IDE (FW-1.0 a vyšší), desky spojů a gerber (Eagle), 3D data pro tiskárnu (STL, GCODE)

Aktuální FW verze

  • FW1.0 výchozí verze
  • FW1.01 přidaný watchdog 4s (hlídání chodu programu), nepoužití knihovny arduinojson, přidány motohodiny (čas běhu CPU od zapnutí SOPR) ve formátu (a.b.c.d) -> dny.hodiny.minuty.sekundy. JSON se již neodesílá pořád, ale jen při příjmu znaku "J" (aplikace si řekne že chce přijmout data), oprava kalibrace odporového děliče (nyní stačí znát přesnou hodnotu rezistorů a tu následně zadáme do programu)

FOTO z instalace (panel, regulátor, SOPR, zdroj)

Umístění panelu na přístřešku.

Na veškerou kabeláž jsem použil "solární" kabely (černá a červená barva) 4mm2 . Svod z panelu, výstup z baterie a zátěž je jištěn DC jističi 10A.

Pohled na regulátor dobíjení

Finální montáž