Autonoom zonne-energie pompsysteem

Accu-gestuurde bilgepomp met Arduino-bewaking, spanningsmeting en veilige low-voltage uitschakeling

Overzicht

Dit project beschrijft een autonoom pompsysteem dat wordt gevoed door een zonnepaneel + laadcontroller + 12 V accu, en dat zelfstandig water wegpompt (bijvoorbeeld van een zwembadzeil of bilge), zonder netspanning. Ideaal voor een vakantiehuis.

Oplaaddeel (zonnepaneel + laadcontroller)

Het oplaaddeel verzorgt het laden van de 12 V accu via zonne-energie en vormt de eerste hardwarebeveiliging. Dit deel werkt autonoom en beschermt de accu tegen overladen en diepe ontlading.

Schema oplaaddeel (placeholder)

Schema oplaadmodule

Componenten
  • Zonnepaneel (12 V nominaal)
  • Solar charge controller (PV+ / PV−, BAT+ / BAT−, LOAD+ / LOAD−)
  • 12 V lood- of AGM-accu
  • Zekering (10–15 A) in de BAT+ lijn
Werking
  1. Paneel op PV+ / PV−, accu op BAT+ / BAT− (met zekering in BAT+).
  2. Controller regelt laadstroom en voorkomt overladen.
  3. Bij te lage accuspanning kan de controller LOAD uitschakelen.
  4. LOAD voedt pomp en buck (en daarmee de elektronica).
Ontwerpkeuze: de Arduino stuurt het laadproces niet aan. De laadcontroller blijft dus altijd een onafhankelijke beveiliging.

Arduinodeel (besturing & logica)

Het Arduinodeel is het “brein” van het systeem. Het leest sensoren, bewaakt de accuspanning en schakelt de pomp via een relais. De logica is geïmplementeerd als een statemachine met expliciete toestanden en overgangen, wat ongewenst gedrag voorkomt. Bij twijfel of onveilige spanning geldt: pomp uit.

Schema Arduinodeel (placeholder)

Schema Arduino module

Voeding

De Arduino wordt gevoed via een buck converter die van 12–14 V een stabiele 5 V maakt:

Accu / LOAD → Buck converter → 5V → Arduino + relais + sensoren
I/O-overzicht (typisch)
Signaal Arduino pin Functie
Accuspanning A0 Analoge meting via spanningsdeler
Floatsensor D4 Water aanwezig (aan/uit)
Relais D5 Pomp aan/uit
GND GND Gezamenlijk referentiepunt
Ontwerpkeuze: hoge pompstromen lopen nooit door de Arduino. De Arduino schakelt alleen het relais (lage stroom).

Spanningsmeterdeel (accubewaking)

Dit deel meet continu de accuspanning met een spanningsdeler en geeft een veilige 0–5 V meetspanning door aan Arduino A0. Zo kan de software beslissen wanneer de pomp veilig kan draaien.

Schema spanningsmeterdeel (placeholder)

Schema spanningsmeter module

Typische waarden
  • R1 = 100 kΩ
  • R2 = 33 kΩ
  • Meetbereik: 0–15 V → 0–5 V op A0
Principe

De Arduino meet de spanning op A0 en rekent die terug naar de accuspanning:

V_A0 = V_accu × (R2 / (R1 + R2))
Waarom hoge weerstand? Zeer lage stroom → minimale belasting van de accu en veilige meting.

Pompdeel (vermogen & uitvoering)

Het pompdeel is het vermogenspad dat daadwerkelijk water verplaatst. De pomp krijgt 12 V via een relaiscontact en draait alleen als de floatsensor water detecteert én de accuspanning veilig is.

Schema pompdeel (placeholder)

Schema pompmodule

Componenten
  • Bilgepomp (12 V DC)
  • (NO relaiscontact – pomp krijgt alleen spanning wanneer het relais actief wordt aangestuurd)
  • Floatsensor (water detectie)
  • Dikke bekabeling (14 AWG) voor pompstroom
Werking
  1. Floatsensor detecteert water.
  2. Arduino controleert accuspanning en status.
  3. Arduino activeert relais → pomp krijgt 12 V.
  4. Pomp stopt als water weg is of spanning onder drempel komt.
Fail-safe: bij ongeldige meting, foutstatus of lage accu → relais uit → pomp uit.

Software (Arduino) + statemachine

De software is state-based (statemachine) en voorkomt “spaghetti-logica”. De kern is eenvoudig: alleen pompen als water aanwezig is én spanning veilig is.

State diagram (placeholder)

State diagram

Ontwerpprincipes
  • Fail-safe: bij twijfel pomp uit
  • Deterministisch: vaste states, vaste overgangen
  • Geen oscillatie: gebruik hysterese of minimale wachttijd bij low-battery

De software is opgezet als een statemachine. Onderstaande states geven een globaal overzicht; de exacte overgangen zijn te zien in het state-diagram.

Typische states (globaal overzicht)
  • INIT – systeemstart, I/O configuratie, pomp uit
  • Standby – wachten en monitoren van sensoren en accuspanning
  • Pompen – relais actief, pomp draait
  • Afkoelen – pomp gestopt, korte wachttijd voordat opnieuw wordt geëvalueerd
  • Low Battery – accuspanning te laag, pompen geblokkeerd
  • Error – fouttoestand (bijv. sensor- of mechanisch probleem)

De state-diagram beschrijft wanneer en onder welke voorwaarden het systeem tussen deze states schakelt.

GND-structuur (één referentiepunt)

Dit systeem heeft geen aarde zoals bij netspanning. Alle GND’s zijn één referentiepunt in de DC-kring: accu −, controller BAT−, buck −, Arduino GND en sensor GND.