IoT og smarthus

Solcelle på hytta: dimensjoner et lite off-grid-system

Et lite solcellepanel ved en norsk hytte, sammen med batteri, laderegulator og lavspenningselektronikk

Et 55 W-panel gir omtrent 215 Wh per døgn i juni i Oslo, 25 Wh i desember og ingenting i Tromsø. Den forskjellen avgjør hvordan du bygger et solcelleanlegg på hytta til elektronikk. Her regner vi på en 4G-ruter og en temperatursensor, fra soldata til ferdig koblet anlegg, og bygger en frostvakt som varsler på mobilen.

Kort forklart Dimensjoner etter den mørkeste måneden du faktisk trenger anlegget. Et 55 W-panel, en MPPT-regulator og et 26 Ah GEL-batteri holder en sensor og en tidsstyrt ruter i gang det meste av året, men i Oslo når batteriet grensen på 50 % omtrent hver femte dag i desember. I Tromsø redder ingen panelstørrelse mørketiden. Koble alltid batteriet først, sett inn en sikring ved plusspolen og hold 230 V utenfor.
Nivå
Nybegynner med multimeter
Tid
Én dag, pluss en kveld til frostvakten
Lodding
Nei til anlegget, frivillig til frostvakten
Du lærer
Wh-regning, soldata, sikring, spenningsfall og frostvarsel fra ESP32
Tegning av ferdig frostvakt på hytta: solcellepanel, regulator, batteri, ESP32, relé, 4G-ruter og mobil med frostvarsel.
Slik kan det ferdige anlegget se ut. Dette er en tegning, ikke et bilde av et bygget anlegg, og teksten på mobilen er et eksempel med programmets egne meldinger.

Så mye sol får du: desember i Tromsø er null

EUs beregningsverktøy PVGIS regner ut solenergi for hvert sted fra satellitt- og værdata over 16 år og tar med terrenget i horisonten. Vi hentet månedstall for et panel som står 60 grader bratt og vender rett mot sør, og regnet dem om til panelet på 55 W.

Månedlig solenergi fra 55 W-panel i fire byer: desember gir 37 Wh i Kristiansand, 25 Wh i Oslo, 4 Wh i Trondheim og 0 Wh i Tromsø.
Beregnet med PVGIS 5.2, gjennomsnitt 2005 til 2020. Forutsetninger: 60 grader, retning sør, frittstående panel, 14 % systemtap, datakilde SARAH2 og ERA5 for Tromsø. Snø på panelet og skygge fra trær er ikke med. Den stiplede linjen er eksempelforbruket på 22 Wh per døgn.

Tabellen viser det samme som kWh per installert kWp. Tallet er også antall timer med full effekt per døgn, og det er den verdien du trenger i kalkulatoren under.

MånedKristiansandOsloTrondheimTromsø
Januar0,880,620,280,00
Februar1,601,541,150,70
Mars2,982,992,302,57
April3,983,693,033,98
Mai4,223,843,334,05
Juni4,263,913,333,29
Juli4,053,703,293,20
August3,683,322,912,89
September2,872,922,302,18
Oktober1,901,921,590,94
November1,080,890,530,04
Desember0,670,460,080,00

Regn på ditt eget anlegg

Kalkulatoren starter med eksemplet i neste del: 22 Wh per døgn, det vil si 0,92 W i snitt, i Oslo i desember. Sett inn ditt eget forbruk og tallet for din måned fra tabellen. Feltet for tap står på 22 %, fordi tabellen allerede har trukket 14 %, mens PVGIS regner et helt off-grid-anlegg med batteri til en ytelsesfaktor på 0,67 (0,67 / 0,86 = 0,78).

Svaret sier at panelet mangler 2 Wh per døgn i desember. Det høres lite ut, men det er forskjellen mellom et batteri som tåler vinteren og et som sakte går tomt. Bruk tallet som et varsel: Du har ingen margin.

Eksempel: 4G-ruter og sensor på hytta

Oppgaven: Du vil lese temperaturen på hytta fra byen og få varsel ved frost. En ESP32 med en vanntett DS18B20-probe måler, og en 4G-ruter sender. Teltonika oppgir for sin RUT241 ved 12 V 1,31 W med mobildata uten trafikk, 1,48 W med én enhet tilkoblet og 3,28 W ved full belastning. Vi regner med 2 W. For ESP32-en med WiFi regner vi med 0,5 W inntil du har målt den, se guiden om multimeter og USB-tester.

LastEffektTid per døgnEnergi
4G-ruter, tidsstyrt2 W2 t4 Wh
ESP32 og sensor0,5 W24 t12 Wh
Tap i 5 V-omformer, antatt 90 % virkningsgrad1,3 Wh
Regulatorens eget forbruk0,2 W24 t4,8 Wh
Sum22 Wh per døgn
  1. Velg reserve. Fem dager uten nevneverdig sol gir 22 × 5 = 110 Wh.
  2. Dimensjoner batteriet. Med 50 % utlading trengs 220 Wh, altså 18 Ah. Vi velger 26 Ah, som gir 312 Wh, og bruker 156 Wh av dem. Det er 7 døgn ved 25 °C. I kulde blir det mindre.
  3. Sjekk panelet. Oslo i desember: 55 W × 0,46 t = 25 Wh, og etter batteritap omtrent 20 Wh. Det er like under forbruket, så reserven må ta resten.
  4. Kjør hele året. PVGIS har en egen off-grid-beregning som går gjennom 16 år, dag for dag. Resultatet står under.
Tomme batteridager per måned med 55 W-panel og 26 Ah i fire byer: 22 Wh klarer seg bedre enn 66 Wh, men mørketiden er tapt.
Prosent av dagene i hver måned da batteriet når grensen på 50 %. Beregnet med PVGIS 5.2 SHS (55 Wp, 312 Wh, grense 50 %, 60 grader mot sør, standard forbruksprofil). Snø på panelet, skygge og lavere batterikapasitet i kulde er ikke med, så virkeligheten blir verre.

Ruteren avgjør det meste: Lar du den stå på døgnet rundt, øker forbruket fra 22 til 66 Wh. Da går batteriet ned til grensen på 95 % av dagene i desember i Oslo, og på 4 % av dagene allerede i september. Tidsstyringen er den billigste komponenten i hele anlegget. Regulatorens lastutgang har en brukerdefinert modus, eller du kan bruke en relémodul på ESP32-en. Pass på at tidsstyring på lastutgangen slår av alt som henger på den, også ESP32-en. Skal ESP32-en gå døgnet rundt, må ruteren derfor styres med reléet, ikke med lastutgangen.

Anlegg og forbrukOslo, des / janTrondheim, des / janTromsø, des / jan
55 W, 26 Ah, 22 Wh20 % / 23 %94 % / 75 %100 % / 99 %
55 W, 26 Ah, 66 Wh95 % / 91 %100 % / 100 %100 % / 100 %
130 W, 52 Ah, 22 Wh0 % / 0 %37 % / 51 %100 % / 97 %

Dette klarer anlegget, og dette klarer det ikke

Her er regnestykket med de 156 Wh du bruker av batteriet, uten at panelet bidrar. Tallene er avrundet og gjelder ved 25 °C.

Virker: sensor og ESP32

0,5 W i 13 døgn. Med dvale mellom målingene varer det mye lenger.

Virker: LED-lys

En lampe på 3 W i 52 timer. Lys er det letteste du kan gjøre på 12 V.

Virker med plan: 4G-ruter

2 W i 78 timer. Hele vinteren krever tidsstyring.

Virker ikke: kaffetrakter

1000 W krever over 80 A fra batteriet. Produsentens kurve viser 78 A i under 10 minutter, og spenningen synker til under 10 V.

Virker ikke: panelovn

500 W bruker hele den brukbare energien på 19 minutter. Varme skal komme fra ved eller gass her.

Tømmer stille: inverter

Inverteren på 300 W har en tomgangsstrøm under 0,4 A. Det kan bli nesten 5 W og 115 Wh per døgn, fem ganger hele eksempelanlegget.

Solcellepanel til hytte uten strøm: holder 55 W til lys og mobil?

Ja, fra mars til september i Oslo, hvis ruteren er det største du bruker. To LED-lamper på 3 W i 5 timer gir 30 Wh. Vi antar 20 Wh til å lade to telefoner. Ruteren på 2 W døgnet rundt gir 48 Wh, og regulatorens eget forbruk 5 Wh. Til sammen er det omtrent 105 Wh per døgn. Tabellen bruker 55 W × soltimer × 0,78.

MånedOsloTrondheimDekker 105 Wh?
Januar27 Wh12 WhNei
Mars128 Wh99 WhOslo ja, Trondheim nesten
April158 Wh130 WhJa
September125 Wh99 WhOslo ja, Trondheim nesten
Oktober82 Wh68 WhNei

Bruker du hytta bare i helgene, får batteriet fem dager på å lade seg opp igjen, så regnestykket blir snillere. Slår du av ruteren når du drar, trenger du heller ikke 48 Wh. Sett inn dine egne tall i kalkulatoren.

Delene: hva de er, og om de passer sammen

Vi har valgt delene etter datablad og ikke etter navn. Det ga en overraskelse: Regulatoren vi først så for oss, passer ikke til panelet i kulde. Tabellen forklarer det.

I tillegg trenger du en hovedsikring ved batteriet. Vi fører ikke den typen, men en flatsikring (ATO) på 10 A i holder fra en bilforretning passer: Den er laget for 32 V DC og oppgis å bryte 1000 A. Glassikringen på 5 × 20 mm er ikke beregnet på å bryte kortslutningsstrømmen fra selve batteriet, så den hører hjemme på lastkursen etter hovedsikringen.

KombinasjonPasser?Hvorfor
55 W + MPPT 10 A + 26 Ah GELJa, dette bruker viPanelet holder seg under regulatorens grense på 45 V i all kulde. Ladespenningen 14,5 V og vedlikeholdsspenningen 13,7 V ligger innenfor batteriets datablad. Eget forbruk 0,2 W.
55 W + DFRobot-modul for 12 V bly + 26 Ah GELIkke i frostSolinngangen er spesifisert til 15 til 25 V. Panelet går over 25 V ved omtrent +6 °C.
30 W + DFRobot-modul + 26 Ah GELJa, ned til ca. -15 °CVoc 21,6 V stiger til 25 V ved omtrent -20 °C, og da er du på inngangsgrensen uten margin. Lader med 14,8 og 13,55 V, i øvre del av området i batteriets datablad. Under 4 mA hvilestrøm, utganger på 5 V og 12 V, men åpent kretskort.
55 W + Votronic MPP 165 Duo + 26 Ah GELNei, ikke ett batteriVotronic anbefaler over 40 Ah for bly. To batterier på 26 Ah gir 52 Ah og passer, med hvilestrøm på bare 4 mA (omtrent 1,2 Wh per døgn).
130 W + Votronic + 2 × 26 Ah GELJa, større anleggGir ingen tomme dager i Oslo med 22 Wh per døgn i beregningen over. 130 W er også øvre grense for MPPT 10 A.

Step-down-omformeren passer til alle kombinasjonene med 12 V, siden den tar 9 til 35 V inn. DFRobot-modulen har 5 V innebygd, så der trenger du den ikke. MPPT-regulatoren har to USB-uttak på 5 V og 2 A, men omformeren på lastutgangen slås av sammen med resten når batteriet er lavt.

Slik kobler du: batteriet alltid først

Koblingsskjema for solcelle, regulator, sikring og batteri: batteriet kobles først, deretter panelet og til slutt lasten.
Forenklet koblingsskjema, tegnet etter terminalrekkefølgen på regulatorens produktbilde: panel, batteri, last, hver med pluss til venstre. Følg alltid regulatorens bruksanvisning. Plussledningen har sikring nær batteriet.
Batteriet kan levere hundrevis av ampere. 12 V gir ikke støt, men en kortslutning kan smelte en skrutrekker og starte brann i løpet av sekunder. Ta av ringer og klokke, bruk isolert verktøy, og la hovedsikringen stå ute til alle plussledninger er festet. Batteriet skal aldri stå i et tett skap uten at produsentens krav er oppfylt.
  1. Monter. Skru regulatoren på en vegg rett ved batteriet, tørt og innendørs (kapslingsgrad IP32). Bruk korte ledninger.
  2. Koble batteriet (1). Press ringkabelsko på ledningene. Fest BAT- til minuspolen og BAT+ til holderen med hovedsikring og videre til plusspolen. Sett i sikringen til slutt.
  3. Velg batteritype. Sjekk at ladespenningene passer til etiketten på batteriet.
  4. Koble panelet (2). Dekk panelet med en tepperest, koble kabelen til PV+ og PV-, og fjern deretter dekket.
  5. Koble lasten (3). Sett glassikringen på 1 A i LOAD+. Mål 5 V ut av omformeren før du kobler på ESP32-en.

Spenningsfall: regn det, ikke gjett

Spenningsfallet er U = I × 0,0175 × L / A, der L er ledningslengden tur og retur i meter, A er tverrsnittet i mm² og 0,0175 er resistiviteten til kobber. Victrons håndbok Wiring Unlimited tar sikte på under 2,5 %.

StrekningStrømLengde og tverrsnittFallAndel
Panel til regulator2,69 A10 m, 4 mm²0,12 V0,6 %
Regulator til batteri4,2 A2 m, 4 mm²0,04 V0,3 %
Lastkurs til ruteren0,27 A10 m, 0,75 mm²0,06 V0,5 %
5 V ut av omformer, full last5 A4 m, 0,5 mm²0,7 V14 %

Den siste raden viser hvorfor du setter 5 V-omformeren nær lasten og lar den lange ledningen gå på 12 V. Trenger du et annet spenningsnivå, forklarer guiden om step-down, step-up og buck-boost hva du skal velge.

Bygg frostvakten: varsel på mobilen når hytta blir kald

Nå får anlegget en jobb. Frostvakten måler temperaturen hvert minutt og slår på 4G-ruteren høyst 10 minutter hver 2. time for å sende status. Faller temperaturen til 3 °C, slår den på ruteren med en gang og varsler mobilen. Meldingen går gjennom ntfy, som tar imot meldinger uten konto og uten egen server.

Du trenger også en 4G-ruter på 12 V. Den fører vi ikke, så du må kjøpe den et annet sted. Eksemplet regner med Teltonika RUT241, og forhandlere oppgir 9 til 30 V inn. Kontroller spenningsområdet for ruteren du velger. Motstander og ledninger finner du under elektronikk og komponenter.

Koblingsskjema for frostvakt: ESP32 med DS18B20 på D4, relé på D26, spenningsdeler på D34 og 4G-ruter gjennom reléet.
Skjemaet viser funksjonen. Pinnene på reléet er tegnet i den rekkefølgen som holder ledningene fra hverandre, så følg merkingen på modulen din. Produktsiden oppgir ikke fargene på probens ledninger: rød, gul og svart er det vanlige, men kontroller din.
FraTilMerk
5 V ut fra step-downVIN på ESP32 og + på reléetMål 5,0 V før du kobler til
Minus ut fra step-downGND på ESP32 og - på reléetFelles minus
D26S på reléetD26 til S: HIGH gir strøm til ruteren
3V3Rød ledning på probenVCC
GNDSvart ledning på probenGND
D4Gul ledning på probenD4 til DATA, med 4,7 kΩ mellom 3V3 og D4
D34Midtpunktet i spenningsdelerenD34 til deleren: 100 kΩ videre til LOAD+, 10 kΩ til GND
LOAD+COM på reléet12 V fra lastutgangen, etter sikringen på 1 A
NO på reléet+ på ruterenNO til ruter +: ruteren er av når reléet er i ro
- på ruterenLOAD-Minusledningen går uavbrutt
Pinnene på ESP32 tåler 3,3 V, ikke 12 V. Koble 10 kΩ til GND før du kobler 100 kΩ til LOAD+. Mangler 10 kΩ-motstanden, får D34 hele batterispenningen. Reléet her skal bare bryte 12 V til ruteren. Det skal ikke kobles til 230 V i dette prosjektet.
  1. Test hjemme først. Sett ESP32 og proben på et koblingsbrett med koblingsledninger, og gi ESP32-en strøm fra USB. Bruk hjemmenettet ditt i stedet for ruteren.
  2. Installer bibliotekene. Velg kortet «ESP32 Dev Module» i Arduino IDE, og legg inn OneWire og DallasTemperature i Library Manager. Har du ikke satt opp Arduino IDE, gjør du det med ESP32 for nybegynnere.
  3. Velg et emne i ntfy. Installer ntfy-appen på mobilen og abonner på et langt navn som ingen kan gjette. ntfy skriver selv at emnet i praksis er et passord.
  4. Endre tre linjer og last opp. Skriv inn WiFi-navn, passord og emne øverst i programmet, og åpne Serial Monitor på 115200 baud.
  5. Test frosten. Legg proben i et glass med isvann. Innen et par minutter skal Serial Monitor vise «Frost: slår på ruteren», og mobilen skal få meldingen.
  6. Flytt til hytta. Koble etter tabellen, med ESP32 og relé i en boks innendørs. Bytt til WiFi-navnet på 4G-ruteren, og la proben henge der det blir kaldest, for eksempel ved vannrøret.
// Frostvakt for hytta: ESP32, DS18B20 og tidsstyrt 4G-ruter.
// Ruteren får strøm høyst 10 minutter hver 2. time, altså høyst 2 timer per døgn.
// Ved frost slås den på med en gang, og varselet går til mobilen med ntfy.
#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <HTTPClient.h>
#include <OneWire.h>
#include <DallasTemperature.h>

// Disse tre linjene må du endre.
const char *WIFI_NAVN = "Hytte-4G";
const char *WIFI_PASSORD = "passordet-til-ruteren";
const char *NTFY_EMNE = "hytta-velg-et-langt-navn-8342";  // emnet virker som et passord

const int SENSOR_PIN = 4;     // DATA fra DS18B20, med 4,7 kΩ til 3V3
const int RELE_PIN = 26;      // S på relémodulen: HIGH gir strøm til ruteren
const int BATTERI_PIN = 34;   // midtpunktet på spenningsdeleren

const float DELER = (100.0 + 10.0) / 10.0;  // 100 kΩ mot batteriet, 10 kΩ mot GND
const float FROST_GRENSE = 3.0;             // varsler ved denne temperaturen og lavere
const float FRI_GRENSE = 5.0;               // nytt varsel først etter at det har vært så varmt

const unsigned long MAALING_MS = 60000UL;       // én måling i minuttet
const unsigned long SYKLUS_MS = 7200000UL;      // ruteren våkner hver 2. time
const unsigned long VINDU_MS = 600000UL;        // og får høyst 10 minutter
const unsigned long FORSOK_MS = 30000UL;        // nytt forsøk hvert 30. sekund

OneWire oneWire(SENSOR_PIN);
DallasTemperature sensor(&oneWire);

float temperatur = 0;
float laveste = 100;
float batteri = 0;
bool sensorOk = false;
bool frostVarslet = false;
bool frostVenter = false;
bool statusVenter = true;     // første status går rett etter start, så du ser at alt virker
bool ruterPaa = false;
unsigned long ruterStart = 0;
unsigned long sisteForsok = 0;
unsigned long sisteMaaling = 0;
unsigned long sisteVindu = 0;

void slaPaRuter(unsigned long naa) {
  if (ruterPaa) {
    return;
  }
  digitalWrite(RELE_PIN, HIGH);
  WiFi.mode(WIFI_STA);
  WiFi.begin(WIFI_NAVN, WIFI_PASSORD);
  ruterPaa = true;
  ruterStart = naa;
  sisteForsok = naa - FORSOK_MS;
  Serial.println("Ruter PÅ");
}

void slaAvRuter(unsigned long naa) {
  WiFi.disconnect(true);
  WiFi.mode(WIFI_OFF);
  digitalWrite(RELE_PIN, LOW);
  ruterPaa = false;
  Serial.print("Ruter AV etter ");
  Serial.print((naa - ruterStart) / 1000);
  Serial.println(" s");
}

float lesBatteri() {
  unsigned long sum = 0;
  for (int i = 0; i < 16; i++) {
    sum += analogReadMilliVolts(BATTERI_PIN);
  }
  return sum / 16.0 / 1000.0 * DELER;
}

void maal(unsigned long naa) {
  sensor.requestTemperatures();
  float lest = sensor.getTempCByIndex(0);
  sensorOk = lest != DEVICE_DISCONNECTED_C;
  batteri = lesBatteri();

  if (sensorOk) {
    temperatur = lest;
    laveste = min(laveste, temperatur);
    Serial.print("Temperatur ");
    Serial.print(temperatur, 1);
    Serial.print(" C, batteri ");
    Serial.print(batteri, 1);
    Serial.println(" V");

    if (temperatur <= FROST_GRENSE && !frostVarslet) {
      frostVarslet = true;
      frostVenter = true;
      Serial.println("Frost: slår på ruteren");
      slaPaRuter(naa);
    } else if (temperatur >= FRI_GRENSE) {
      frostVarslet = false;
    }
  } else {
    Serial.println("Sensoren svarer ikke");
  }
}

String statusTekst() {
  if (!sensorOk) {
    return "Hytta: sensoren svarer ikke, batteri " + String(batteri, 1) + " V";
  }
  return "Hytta: " + String(temperatur, 1) + " °C, laveste " + String(laveste, 1) +
         " °C, batteri " + String(batteri, 1) + " V";
}

bool sendMelding(const String &tekst, bool viktig) {
  WiFiClientSecure klient;
  klient.setInsecure();  // kryptert, men serverens sertifikat kontrolleres ikke
  HTTPClient http;
  if (!http.begin(klient, String("https://ntfy.sh/") + NTFY_EMNE)) {
    return false;
  }
  if (viktig) {
    http.addHeader("Priority", "high");
  }
  int svar = http.POST(tekst);
  http.end();
  Serial.print("Sendte \"");
  Serial.print(tekst);
  Serial.print("\", svar ");
  Serial.println(svar);
  return svar == 200;
}

void passRuter(unsigned long naa) {
  if (WiFi.status() == WL_CONNECTED && naa - sisteForsok >= FORSOK_MS) {
    sisteForsok = naa;
    if (frostVenter && sendMelding("FROST på hytta: " + String(temperatur, 1) + " °C", true)) {
      frostVenter = false;
    }
    if (statusVenter && sendMelding(statusTekst(), false)) {
      statusVenter = false;
      laveste = temperatur;
    }
  }
  if (!frostVenter && !statusVenter) {
    slaAvRuter(naa);  // alt er sendt, så ruteren slipper å bruke strøm resten av vinduet
  } else if (naa - ruterStart >= VINDU_MS) {
    Serial.println("Fikk ikke sendt, prøver igjen i neste vindu");
    slaAvRuter(naa);
  }
}

void setup() {
  setCpuFrequencyMhz(80);  // lavere klokke gir lavere forbruk, WiFi virker fortsatt
  Serial.begin(115200);
  pinMode(RELE_PIN, OUTPUT);
  digitalWrite(RELE_PIN, LOW);
  WiFi.mode(WIFI_OFF);
  sensor.begin();
  Serial.println("Frostvakt startet");
  maal(millis());
  slaPaRuter(millis());
}

void loop() {
  unsigned long naa = millis();
  if (naa - sisteMaaling >= MAALING_MS) {
    sisteMaaling = naa;
    maal(naa);
  }
  if (naa - sisteVindu >= SYKLUS_MS) {
    sisteVindu = naa;
    statusVenter = true;
    slaPaRuter(naa);
  }
  if (ruterPaa) {
    passRuter(naa);
  }
  delay(200);
}

Slik kan Serial Monitor se ut etter opplasting og frosttesten:

Frostvakt startet
Temperatur 6.0 C, batteri 12.6 V
Ruter PÅ
Temperatur 6.0 C, batteri 12.6 V
Sendte "Hytta: 6.0 °C, laveste 6.0 °C, batteri 12.6 V", svar 200
Ruter AV etter 95 s
Temperatur 3.0 C, batteri 12.6 V
Frost: slår på ruteren
Ruter PÅ
Temperatur 3.0 C, batteri 12.6 V
Sendte "FROST på hytta: 3.0 °C", svar 200
Ruter AV etter 95 s

Utskriften kommer fra den samme programlogikken kjørt på en PC med simulert sensor og WiFi, der ruteren er antatt å bruke 95 sekunder på å komme på nett. Noen linjer er tatt bort mellom målingene. Vi har ikke kjørt den på et bygget anlegg, så tidene og tallene blir andre hos deg.

Hva koden gjør

  • maal() leser proben og batteriet hvert minutt. analogReadMilliVolts() gir millivolt på D34, og DELER regner det tilbake til batterispenningen. 14,9 V blir 1,35 V på pinnen.
  • FROST_GRENSE og FRI_GRENSE gir to grenser: Du får ett varsel ved 3 °C, og neste varsel først etter at temperaturen har vært oppe i 5 °C. Slik slipper du en melding i minuttet.
  • passRuter() slår av ruteren så snart meldingene er sendt. 10 minutter er taket, ikke vanlig driftstid, så forbruket blir ofte lavere enn tabellen. Når ruteren ikke får kontakt i løpet av de 10 minuttene, prøver koden igjen i neste vindu. Ved dårlig dekning kan et frostvarsel derfor komme opptil 2 timer for sent.
  • setInsecure() gir kryptert trafikk, men ESP32-en kontrollerer ikke sertifikatet til serveren. Det holder for et temperaturvarsel, men ikke for noe du må stole på uten å sjekke.
Tidslinje for tidsstyrt 4G-ruter over ett døgn: høyst 10 minutter hver 2. time og frostvarsel utenom tur.
Slik fordeler programmet ruterens driftstid over et døgn. Regnet ut fra konstantene i koden, med ruteren på 2 W. Frostvarselet er tegnet inn som et eksempel.

Reléspolen bruker omtrent 0,36 W mens ruteren er på. Det blir 0,7 Wh ekstra per døgn, altså 23 Wh i stedet for 22. Prosentene fra PVGIS over er regnet med 22 Wh. 12 vinduer på 10 minutter gir de 2 timene i forbrukstabellen.

Hvis det ikke virker: «Sensoren svarer ikke» eller -127 °C

Biblioteket fant ikke proben. Kontroller at 4,7 kΩ sitter mellom 3V3 og D4, og at gul ledning går til D4. Hvis du ser 85 °C, er det verdien sensoren har rett etter oppstart. Da er strømmen til proben vanligvis ustabil.

Hvis det ikke virker: reléet klikker ikke

Mål 5 V mellom + og - på modulen. Mål så S mot GND rett etter oppstart: Pinnen skal vise omtrent 3,3 V når ruteren skal være på. Er signalet der uten klikk, er modulen eller tilkoblingen feil. Fortsatt usikker? Se guiden om relémodul på ESP32.

Hvis det ikke virker: ruteren er på, men mobilen får ingen melding

«svar -1» i Serial Monitor betyr at ESP32-en ikke nådde serveren. Koble mobilen til rutersignalet og prøv en nettside. Virker ikke det, ligger feilen i SIM-kortet, PIN-koden eller dekningen. «Fikk ikke sendt» uten linjen «Sendte» betyr at ESP32-en ikke kom på WiFi innen 10 minutter: Kontroller navn og passord, og mål hvor lang tid ruteren bruker på å starte.

Hvis det ikke virker: batteritallet er feil

Mål spenningen på D34 mot GND. Ved 12,6 V skal den være omtrent 1,15 V. Er den langt unna, er motstandene byttet eller har feil verdi. Står den riktig, men tallet er litt feil, justerer du DELER med forholdet mellom multimeteret og meldingen.

Prøv selv: varsel ved lavt batteri

Lag en egen grense på 12,0 V og et flagg som frostVarslet, slik at du får ett varsel når batteriet er langt nede. 12,0 V i ro er bare en grov grense for omtrent halvt batteri, så følg med på hvordan tallet endrer seg over noen uker.

Prøv selv: varsel på sommeren også

Hytta kan bli svært varm under et mørkt tak. Legg til en øvre grense, og send et varsel hvis temperaturen passerer den. Bruk to grenser her også, slik at du ikke får en melding i minuttet.

Vinkel og snø: bratt vinner om vinteren

I Oslo står sola 6,7° over horisonten midt på dagen ved midtvinter og 53,5° ved midtsommer. Panelet fanger mest når det står vinkelrett på sola, altså omtrent 83° i desember og 36° i juni. Du må velge én vinkel hvis du ikke vil justere panelet.

Panelvinkel vinter og sommer med snø: 35, 60 og 90 grader i Oslo, med lav desembersol, høy junisol og tall fra PVGIS.
Forenklet sideriss av tre panelvinkler i Oslo med middagssol i desember og juni. Tall fra PVGIS 5.2 med 14 % systemtap, per kWp. Snølaget er illustrert, PVGIS regner ikke ut snø.

Tallene viser hvorfor 60° er et godt kompromiss: 35 % mer i desember enn ved 35°, og bare 2 % mindre over året. Et loddrett panel gir enda litt mer i desember, men mister 23 % over året sammenlignet med 35°. Snø glir lettere av et bratt panel, og snø på bakken kan gi litt ekstra lys som ikke er med i beregningen. Sikre panelet mot vind, og plasser det så snøen fra taket ikke raser ned på det.

Fire feller som koster strøm eller utstyr

PWM eller MPPT

Effektkurve for 55 W-panel med PWM og MPPT: PWM gir omtrent 37 W ved 13,2 V, MPPT henter 55 W ved 20,46 V.
Forenklet kurve beregnet fra panelets fire datablad-verdier ved standard testforhold. Reelle verdier endrer seg med lys og temperatur.

En PWM-regulator kobler panelet nesten rett på batteriet, så panelet tvinges ned på 13,2 V og gir omtrent 37 W. En MPPT-regulator lar panelet jobbe på sitt beste punkt og gjør om spenningen. Grovt regnet er det 20 Wh mot 16 Wh i Oslo i desember, selv etter at PWM-regulatoren får fratrukket sitt lavere eget forbruk (5 mA mot 0,2 W). Til gjengjeld tåler den -35 °C, mens MPPT-regulatoren er spesifisert ned til -20 °C. Står anlegget i en kald innlandsdal, kan det avgjøre valget.

Panelets tomgangsspenning stiger i kulde

Panelspenning i kulde mot regulatorgrense: Voc på 55 W-panelet passerer 25 V ved omtrent 6 °C og 27 V ved minus 20 °C.
Voc regnet fra produktdataene med temperaturkoeffisient -0,35 % per grad, som er verdien i Victrons datablad for tilsvarende 12 V-panel. Produktdataene for panelet oppgir ingen koeffisient. Sjekk ditt eget panel.

23,47 V gjelder ved 25 °C. Med -0,35 % per grad (verdien i databladet til Victrons monokrystallinske paneler, siden produktsiden til dette panelet ikke oppgir sin egen) stiger spenningen 0,082 V for hver grad det blir kaldere, til 27,2 V ved -20 °C. Høyest blir den en klar og kald morgen når sola treffer et iskaldt panel. Velg derfor regulator etter spenningen i kulde, ikke tallet på etiketten.

LiFePO4 skal ikke lades under frysepunktet

Litiumbatterier er lette og tåler dyp utlading, men Victron tillater lading av sine Smart-batterier bare mellom +5 og +50 °C, og kapasiteten faller med omtrent 20 % ved 0 °C og 50 % ved -20 °C. Votronic skriver at LiFePO4 helst bør holdes over 0 °C. På en ufyrt hytte trenger du derfor et batteri med innebygd sperre mot lading i kulde, og du må kontrollere at det står i databladet. Av den grunn bruker eksemplet her GEL.

AGM og GEL er ikke det samme

Victron anbefaler 14,1 til 14,4 V for sitt GEL-batteri og 14,2 til 14,6 V for AGM. Databladet til batteriet i eksemplet oppgir 14,4 til 14,9 V ved syklisk bruk og 13,5 til 13,8 V ved vedlikehold. Stol derfor på etiketten og ikke på et ferdig program som heter «GEL». Kaldt batteri trenger også høyere ladespenning: Victron oppgir -24 mV per grad, som gir omtrent 0,8 V ekstra ved -10 °C. Uten ekstern temperatursensor regner regulatoren med 25 °C, så et kaldt batteri blir sjelden helt fullt.

Hva sier DSB om 12 V, og når trenger du elektriker?

Et batterianlegg på 12 V er fortsatt et elektrisk anlegg. DSBs veiledning til forskrift om elektroforetak sier at ufaglærte kan utføre arbeid på lavvoltsanlegg under 50 V dersom alle disse vilkårene er oppfylt:

  • effekten overstiger ikke 200 VA
  • monterings- og bruksanvisningen følges nøye
  • hele anlegget er lett tilgjengelig for visuell inspeksjon og kontroll
  • tilkobling til 230 V-nettet gjøres av registrert virksomhet, med mindre den skjer over transformator med sertifisert plugg og stikkontakt

Eksemplet på 55 W ligger godt innenfor. Kabler skjult i veggen gjør det ikke, og en inverter på 300 W overstiger grensen.

Når du trenger elektriker: Fast 230 V-anlegg og kobling mot hyttas sikringsskap skal gjøres av registrert elvirksomhet. Det samme gjelder en inverter som mater en kurs eller stikkontakt i veggen. Ikke mat en kurs baklengs. Anlegg over 200 VA og skjult opplegg faller utenfor unntaket over. Er du i tvil, spør en registrert elvirksomhet.

Vanlige spørsmål

Hvor stort panel trenger jeg på hytta?

Del døgnforbruket på tallet for den mørkeste bruksmåneden i tabellen, og deretter på 0,78 for batteritap. 22 Wh i Oslo i desember gir omtrent 61 W, mens 66 Wh gir omtrent 184 W. Sjekk resultatet i PVGIS for stedet ditt.

Kan 4G-ruteren stå på hele vinteren?

Ikke med 55 W og 26 Ah. Forbruket blir 66 Wh per døgn, og batteriet når grensen på 95 % av dagene i desember i Oslo. Tidsstyr ruteren eller velg et større panel.

Er MPPT alltid bedre enn PWM?

Ikke alltid. MPPT gir mer når panel og batteri har ulik spenning, men mange modeller bruker mer strøm selv og har snevrere temperaturområde. Regn med eget forbruk i små anlegg.

Kan jeg koble panelet rett på batteriet?

Nei. 23 V uten regulator overlader batteriet. Du trenger en regulator som passer panelets spenning og batteriets ladeprofil.

Trenger et 12 V-anlegg sikring?

Ja. Lav spenning betyr ikke lav feilstrøm, og batteriet er kilden til brannfaren. Sikringen skal sitte på plussledningen, nær batteriet.

Hvilken solcelleregulator trenger jeg til 12 V?

En som tåler panelets spenning i kulde og lader etter etiketten på batteriet. Vår MPPT-regulator på 12 V og 10 A tar opp til 45 V og 130 W fra panelet. Se flere under solceller og solpaneler.

Hvor stort batteri trenger jeg til solcelle på hytta?

Forbruk per døgn × dager uten sol / 0,5 for bly og GEL. 22 Wh i 5 dager gir 18 Ah, og 105 Wh i 3 dager gir 630 Wh, omtrent 53 Ah på 12 V. Velg gjerne neste størrelse opp, fordi kapasiteten faller i kulde.

Kan jeg få 230 V fra solcelle på hytta?

Ja, med en omformer fra 12 V til 230 V, men et anlegg med 55 W og 26 Ah egner seg ikke til det. Tomgangen kan bruke mer enn resten av anlegget til sammen, så slå den av når du ikke bruker den. Plugg bare inn utstyr rett i omformeren. Kobling mot en kurs eller sikringsskapet skal gjøres av registrert elvirksomhet, og vi tilbyr også installasjon av solceller og vindkraft.

Finnes det en ferdig solcellepakke til hytta?

Ja, mange selger pakker, men regn før du kjøper. Sjekk tre tall: Wh fra panelet i din mørkeste måned, brukbare Wh i batteriet, og om regulatoren tåler panelet i kulde. Vi selger delene hver for seg, så du kan velge etter tabellene over.

Trenger jeg 4G-antenne på hytta?

Bare hvis signalet inne er svakt. Prøv ruteren der du vil ha den først. Hjelper det å flytte den til et vindu, kan en innendørs antenne være nok. Ellers fører en utendørs antenne med 3 m kabel signalet forbi veggen. Se alle under mobilantenner. Velg en ruter med SMA-kontakter for ekstern antenne, og kontroller at kablene og kontaktene passer.

Hva gjør jeg i mørketiden?

Lad batteriet fullt om høsten, koble fra lasten og la det stå. Votronic skriver at batterier skal lagres ladet og lades regelmessig. Victron oppgir under 2 % selvutlading per måned ved 20 °C for sine GEL-batterier. Trenger du drift hele vinteren, må strømmen komme fra noe annet enn sola. En vindmølle på 12 V kan lade når sola mangler, men den trenger jevn vind der hytta står, og vi har ikke regnet på den her.

Test deg selv: hvorfor styres ruteren med relé og ikke med lastutgangen på regulatoren?

Lastutgangen slår av alt som henger på den, også ESP32-en. Da kan ingen måle frost mens ruteren er av. Reléet lar ESP32-en gå og bryter bare ruteren.

Test deg selv: hvor mye strøm stjeler spenningsdeleren på D34?

12,6 V over 110 kΩ gir 0,11 mA, altså omtrent 1,4 mW og 0,03 Wh per døgn. Det er derfor deleren kan stå på hele tiden.

Test deg selv: hvorfor varsler programmet ved 3 °C og ikke ved 0 °C?

Du trenger tid til å reagere, og proben måler bare ett sted. Med ±0,5 °C kan vannrøret ved gulvet allerede være kaldere enn tallet viser.

Test deg selv: bruker du 66 Wh i stedet for 22 Wh, hvor mange dager når batteriet grensen i desember?

I Oslo går det fra omtrent hver femte dag (20 %) til nesten hver dag (95 %), med samme panel og batteri. Det er grunnen til at ruteren er tidsstyrt.

Neste steg: mål og bygg videre

Koble anlegget, og mål forbruket gjennom en hel uke før du stoler på regnestykket. Bytt deretter ut forutsetningene med dine egne tall i kalkulatoren. Vil du ha en sensor som klarer seg med langt mindre strøm, er værstasjonen med ESP32, LoRa og solcelle neste prosjekt. Er ESP32 nytt for deg, begynn med ESP32 for nybegynnere.

Kilder: PVGIS-håndboken, Victrons datablad for GEL og AGM, Victrons datablad for monokrystallinske paneler, Victrons manual for Lithium Smart og Wiring Unlimited, samt Votronics monterings- og bruksanvisning for MPP Duo Digital. Frostvakten bygger på ntfy-dokumentasjonen og databladet til DS18B20.

Alle guider

Produkter omtalt i denne guiden

Produktene som brukes og sammenlignes i guiden, med pris og lagerstatus.