Een robuuste UPS bouwen: een diepgaande technische analyse voor ontwikkelaars
Deel
Projectoverzicht
Dit artikel, dat een voormalig schoolproject van Jesse beschrijft, neemt je mee door het proces zoals hij dat destijds deed.
Het hoofddoel van dit project was het ontwerpen en bouwen van een ononderbroken stroomvoorziening (UPS) die gedurende twee uur 30W bij 12V kan leveren tijdens een stroomuitval, specifiek gericht op kleine apparaten zoals wifi-routers. Dit rapport beschrijft de technische architectuur, de componentkeuzes en het probleemoplossingsproces vanuit mijn perspectief.
Systeemarchitectuur
Het UPS-systeem was modulair opgebouwd en verdeeld in vier cruciale subsystemen: veilig opladen, veilig ontladen, batterijbescherming en de microcontroller-systeemdriver.
I. Batterij en opladen (veilig opladen)
Het systeem maakt gebruik van LiFePO₄-cellen vanwege hun verbeterde veiligheidseigenschappen in vergelijking met Li-ion-alternatieven. Een belangrijke ontwerpuitdaging was het implementeren van een efficiënt laadcircuit met constante stroom en constante spanning (CCCV) .
Aanvankelijke uitdagingen en evolutie:
- Lineaire regelaars: Vroege pogingen met lineaire regelaars (zoals de LM317 ) en eenvoudige transistorcircuits bleken te inefficiënt en verbruikten te veel vermogen.
- De overstap naar een DC-DC buck-converter: het uiteindelijke ontwerp maakte gebruik van een efficiënte DC-DC buck CCCV-converter om energieverlies te minimaliseren.
- Probleem met FET-selectie: Tijdens de implementatie van het circuit werd aanvankelijk een N-kanaals FET ( IRL530N ) gebruikt voor de schakeling. De gemeten gate-source-spanning was echter te laag ( 2,6 V ), waardoor de FET niet volledig inschakelde en er overmatige warmteontwikkeling buiten het veilige werkgebied optrad.
- De oplossing: Dit probleem werd opgelost door de N-kanaals FET te vervangen door een P-kanaals FET (IRF5305) , die veilig binnen de specificaties functioneerde en het vermogensverlies drastisch verminderde.

II. Batterij en ontlading (veilige ontlading)

Veilig ontladen was cruciaal om het accupakket te beschermen en een stabiele output te behouden.
Stroombegrenzing en uitschakelspanning:
- De minimale celspanning voor de LiFePO₄-cellen bedraagt 2,5 V (17,5 V totaal voor 7 cellen). Om een stabiele levering van de vereiste 19 V-uitgang te garanderen (een geplande upgradefunctie), hebben we de technische beslissing genomen om de onderspanningsbeveiliging te verhogen naar 2,9 V per cel (in totaal 20,3 V ). Dit gaat ten koste van een deel van de totale capaciteit, maar ten gunste van een verbeterde uitgangsstabiliteit.
- De maximale ontlaadstroom werd beperkt tot 4A om de cellen te beschermen.
- Voor de uitgangstrap, waar een maximum van 3A bij 19V ( 57W ) vereist was, werd een buck-converter met een regelbare feedbackpin gebruikt om stroombegrenzing te realiseren.

III. Batterijbeveiliging en microcontroller

Om de complexiteit te beheersen en de projectdeadlines te halen, is er gekozen voor een speciaal geïntegreerd circuit (IC) voor het batterijbeheersysteem (BMS).
Gebouwbeheersysteem (BMS) en bewaking:
- We hebben de BQ76930 IC geselecteerd vanwege de geïntegreerde mogelijkheden, waarmee de kernfuncties worden uitgevoerd: thermische beveiliging , passieve celbalancering en ontladingsbeveiliging .
- De IC communiceert met de hoofdstuurprogramma van het systeem via I²C .
- De gekozen microcontroller is een ESP32 , die de gegevensbewaking beheert, communiceert met de BQ76930 en de display-interface aanstuurt.
Microcontroller-software (Arduino-C):
- De besturingssoftware is ontwikkeld in Arduino-C. Een belangrijke uitdaging was het aanpassen van een bestaande BQ76930-bibliotheek en het debuggen van onjuiste metingen als gevolg van een onjuist getekend 16-bits integer voor stroommetingen.
- De veiligheid wordt gewaarborgd door een if-statement-lus die elke 250 ms wordt uitgevoerd om te controleren op overstroom (> 4,05 A), onderspanning (<= 19,6 V) en oververhitting (> 45 °C). Dit activeert het uitschakelen van de FET's en het in de verzendmodus zetten van de BMS-chip ter bescherming tegen diepe ontlading.
IV. Eindresultaat en prestaties

Ondanks aanzienlijke vertragingen als gevolg van de noodzaak tot meerdere herontwerprondes (bijvoorbeeld voor het laadcircuit) en inconsistente documentatie, zijn alle kernfuncties van de UPS succesvol ontworpen, gebouwd en getest.
Belangrijkste prestatie-indicatoren (gemeten op het uiteindelijke prototype, op basis van nettovermogen):
| Uitvoer | Belasting (Watt) | Uitgangsspanning | Ingangsvermogen (Watt) | Rendement (%) |
|---|---|---|---|---|
| 12V DC-aansluiting | ~29,5W | 11,79V | 33,6W | ~87,7% |
| 19V DC-aansluiting | ~37,4W | 18,68V | 42,0W | ~89,0% |
| USB-PD (12V) | ~24,1W | 12,04V | 28,0W | ~86,0% |
De gemeten rendementen waren zeer bevredigend, wat het succes aantoont van de overstap van inefficiënte lineaire regelaars naar buck-converters in het uiteindelijke prototype.
Noodsituaties/Toekomstige kenmerken:
Functies zoals de webinterface, opladen via zonne-energie en volledige USB Power Delivery (die gedeeltelijk werd gerealiseerd door gebruik te maken van een voorgebouwde module) werden vanwege tijdgebrek als noodoplossingen beschouwd, maar de architectuur is voorbereid op hun uiteindelijke integratie.
Een klein probleem
Er is één ding dat mijn projectpartner en ik niet op tijd voor de deadline hebben kunnen oplossen.
Het probleem is dat we de massa (GND) van het batterijbeheersysteem (BMS) niet hebben gescheiden van de algemene massa. Dit leidt tot allerlei problemen, waaronder onjuiste uitschakeling en problemen met het laadcircuit.

Probeer het zelf!
Repareer gerust het circuit en probeer het zelf uit! De KiCAD-bestanden vind je HIER.