standalone BMS/charger bouwen

ik zit nu al een tijdje mijn hoofd te breken ipv het op spanning houden van li-ion. (li-ion 12V ups met alle cellen op 3.95-4.00V).

ik heb nu al wat ge-experimenteerd met voedingen en het lukt mij niet om een stabiele voeding te bouwen die ten alle tijde stabiel blijft.
dus had ik gedacht: waarom laat ik de batterij het niet zelf oplossen.

mijn gedacht: ik bouw een arduino in bij het accupack die alles voor zijn rekening neemt:
je bied die een spanning aan net iets hoger dan de accuspanning (12.4V ofzo).
de arduino zal via pwm een fet aansturen die het pak dan exact op 12.00V houd. (schema links). ik kan dan alle spanningen meten van de cellen alsook de stroom die er loopt door die meetweerstand.

bijkoment zou ik de arduino ook alle cellen willen monitoren en ze iets laten leeglopen als de spanning over de 4.00V loopt door de optocoupler aan te sturen (schema rechts)

probleem: ik kan die cellen niet nauwkeuring genoeg meten. de onderste zou ik 1:1 kunnen meten (0-4,2V moet lukken), maar de 2de moet al met een spanningsdeler (1/2) en de 3de cel moet al met een spanningsdeler 1/3 gebeuren.
de celspanning van de bovenste moet ik dan berekenen dmv cel3 - cel2. er zijn dan al 2 mogelijke meetfouten die je gaat berekenen. vind ik niet acceptabel.
nu dacht ik om extern met een differentiele ADC te werken die een cel tussen 2 ingangen meet. alsook hier weer het probleem, als ik ze er alle 3 aanhang, komt 1 ingang 12V hoger dan de andere (weet niet of dat mag).
https://i0.wp.com/henrysbench.capnfatz.com/wp-content/uploads/2015/10/Arduino-ADS1115-Differential-Voltmeter.png

weet iemand hoe laptopaccu fabrikanten dit oplossen? bestaan er goedkope ADC's die tot 15V ofzo? zijn er misschien makkelijkere oplossingen om dit te doen.
ik wil eigenlijk elke accu als standalone kunnen inzetten. eens actief, bestuurt de arduino alles tot de accuspanning te laag is en dan schakeld de boel uit. eens je laadspanning toevoegt, start de arduino terug op, bekijkt de accu en gaat dan verder (indien geen problemen).
voordeel is dat ik zo verschillende stand-alone blocks kan gebruiken in parallel. loopt er iets fout in 1 accu, dan schakeld enkel die accu uit en doet de rest verder (heel handig in een UPS).
kan ook een testcyclus inbouwen dan die een pack afkoppelt van het geheel, zichzelf test, weer gaat opladen en dan zichzelf weer aankoppelt aan de UPS

[Bericht gewijzigd door fcapri op donderdag 29 november 2018 11:32:26 (16%)

ik hou van werken ..., ik kan er uren naar kijken

lithium cellen die niet worden gebruikt in een zgn stby toepassing hoeven niet constant aan de lader te hangen, ik zou eerder een lader maken die ze oplaad tot een veilige spanning van zeg 4,1V per cel en dan wekelijks een keer bijladen voor een half uur. een spanningsdip reset de lader, dus erna worden ze weer volgeladen.

liion cellen constant aan de lader hangen is niet verstandig, temperatuur en laden constant is sowiso geen aanrader, zeker niet met de cellen die je uit laptops hebt gehaald. het pack ruim maken, als de capaciteit terugloopt houd je nog zat backuptijd over..

waar rook was, werkt nu iets niet meer

daar zit nu net mijn detail.
stel, ik heb een accupack van een laptop in een 3S2P configuratie.
de cellen zijn allemaal opgeladen tot 4.0V.

wat maakt het nu uit of een cel van zichzelf op 4.0V staat of aan een voeding hangt van 4.00V?
immers zo een 2P paartje heeft 2 cellen parallel hangen van 4.0V. ook die houden mekaar dus vast op die hoge spanning.

aangezien ik mijn apparatuur op 12V hebt draaien, leek het mij handig om die rechtstreeks aan het 3S pack te koppelen en met de voeding gewoon de stroom te voorzien.

je kan het dan zien als: de voeding van 12.00V voedt mijn apparatuur en de li-ion cellen hangen er parallel op.
valt de netspanning weg, dan neemt de accu gewoon over.

door nu meerdere afzonderlijke packs parallel te gebruiken, kan ik dus 1 pack eruit trekken om te testen terwijl de boel verder draait op de andere packs.
ik zou dan een 3S4P maken met eigen controller. en zo een stuk of 3-4 packs parallel gaan gebruiken.

ik kan geen commerciele spullen gebruiken omdat die allen opladen tot 4,2V en dan stoppen (li-ion op 4,2V houden is nu net het schadelijke dat ze snel laat verouderen). daarom wil ik alles vastzetten op 3.95-4.00V (11.75-12.00V voor het pack dan).

door alles op 12V te houden (of in de toekomst op 24V) kan ik zonder convertoren mijn apparatuur laten draaien. het meeste spul draait toch gewoon op 12V (ledstrips voor noodverlichting, wifi/adsl modem, routers, server (rpi))

ik hou van werken ..., ik kan er uren naar kijken

Er zijn ook atmel processortjes met voorversterking in de analoge ingang, die is dan ook weer instelbaar, heb je een grotere spanningsdeler dan kun je een grotere versterking kiezen.
Ik weet miet in hoeverre deze processortjes in arduino verkrijgbaar zijn.
Als voorbeeld attiny85 pag.126

Arco

Special Member

Met een charger ic als de ADP5062 kun je (bijna) alles instellen...
(stroom, max.spanning, min spanning wanneer laden moet beginnen, 'weak' level, 'dead' level,.....)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

de lader ook als spanningsbron gebruiken voor de aangesloten last zou ik niet aan beginnen, immers is er geen scheiding tussen laadstroom en last, dat wordt nooit zo gedaan, lege liion cellen trekken een hoge laadstroom, zonder begrenzing gaat dat fout..

beter een kleine oplader gebruiken en de systeem voeding apart houden. een simpele truc is om de systeemvoeding een 0,8V hoger te houden als de accu in geladen toestand, valt de voeding weg of stroom uit, neemt door het spanningsverschil de accu het vanzelf over. geen relais oid die om moeten schakelen en dus kunnen falen.

hier zit dat ook zo en werkt al jaren prima, een dikke schottkey diode van 80A scheid de systeemspanning van de accu's. trek ik meer uit het systeem als de voeding aankan, gaat de spanning omlaag en nemen de accu's ook over, handig bij starten van lasten met hogere inschakelstroom.

waar rook was, werkt nu iets niet meer

ik ga dan ook geen lader gebruiken maar een vaste spanningsbron op iets meer dan 12V.
er komt ook vanzelf een stroombeperking.
stel dat de spanning wegvalt, en de cellen vallen naar 10.8V terug als de spanning terug opkomt.
de primaire voeding zal begrensd zijn in stroom, pakweg 5A.
de last trekt 2A. dan schiet er slecht 3A over voor de accu's.

de spanning zal dan van 10.8V omhoog gaan naar iets van 11.5V waardoor de li-ion cellen laden, en de verbruiker blijft gewoon werken (op 11,5V/2A).
eens de cellen het volniveau bereiken, zal de stroom afnemen op 12.00V en hoeft de voeding enkel 2A van de verbruiker te leveren. de accu's op spanning zouden theoretisch geen stroom meer mogen opnemen.

de oplaadcurve van li-ion gaat quasi niet meer gevolgt worden. de ruwe CC in het begin zal gewoon 'Imax voeding - Iverbruiker' zijn
en de CV zal vanzelf gebeuren op 12.00V (als de cellen de 4.00V bereiken)

ik hou van werken ..., ik kan er uren naar kijken

zou je denken, maar een smps gaat gewoon staan hikken als de cellen te leeg zijn, de laadstroom is de 1e paar minuten hoog. m'n zelfbouwladers heb ik daarom een slow knop gegeven, pack wat te ver leeg is gaat eerst 5min op 1A laden en dan kan het ding voluit laden. neem je een te ruime smps als voeding dan pomp je 8A+ laadstroom in die cellen en dat vinden ze niet fijn.

waar rook was, werkt nu iets niet meer

Een SMPS gaat niet perse hikken bij een lege accu, dat ligt aan het ontwerp; hij kan ook in constant-current bedrijf gaan. Ik heb zelf een full-bridge converter ontworpen die een pakket supercaps moet kunnen laden; als die leeg zijn is de spanning zo goed als 0V, en een goed ontworpen converter kan daar gewoon mee omgaan.

De meeste off-the-shelf voedingen zijn echter niet ontworpen voor zulke toepassingen, en zien dat als een storing aan de secundaire kant, waardoor ze (terecht) uitschakelen om verdere schade te voorkomen.

@fcapri: met een 16-bit ADC heb je meer dan genoeg resolutie om de spanningen te berekenen, en nog genoeg bits over te houden. Het lastige is dat je spanningsdelers moet gebruiken (afwijkingen door weerstandstoleranties kun je in de calibratie oplossen), maar die trekken constant een beetje stroom uit de cellen.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

stroom uit de cellen trekken kan niet veel kwaad.
het is een 12V ups en zou 99,9% van de tijd gewoon op netspanning staan.

ik wil ook de cellen zwaar overkill gaan bouwen zodat interne weerstand totaal geen rol speelt.
geplant staat toch dat het ding een 2-3A aan de verbruikers zal leveren en het zal minstens een 12P pakket in totaal worden (die terugvalt naar 8P als 1 pack zichzelf test).
dat is elke cel nog geen 500mA dan

ik hou van werken ..., ik kan er uren naar kijken

oud topic naar boven halen, ik zag nu deze dingen op internet verschijnen, hoe meten die alles zo precies? zijn er speciale ic's gemaakt om 6S li-ion cellen te gaan meten?
https://www.stefansliposhop.de/images/product_images/popup_images/a1072_1459.jpg

het project ligt al even stil alweer, al heb ik wel wat werkend spul. het nadeel is dat mijn COTS meter de eerste cel altijd leegtrekt door daar zijn stroom uit te halen.
-metalen kast van een oud alarm systeem (voor als de li-ion's boos worden)
-12,6V lood accu lader met stroom begrenzer (bovenaan rechts), hier moet nog de converter tussen om van 12.6V naar 3x 4.00V te gaan.
-zelfbouw print voor de DC converters. ik kan 3 converters parallel zetten (nu 1x lm2596 en 1x7805 als backup). groene led toont de status van de voedingen om naar 5,2V te gaan voor de raspberry server array
-mogelijkheid om 6 accu's parallel in te pluggen

dus de monitor verwijderd en een standaard voltmeter erop. ik had deze als monitor,
https://i.ytimg.com/vi/LgHH8I8vuPU/maxresdefault.jpg
maar die doet hetzelfde als die kleintjes, de eerste cell extra ontladen
https://d1xahwiwo4b49p.cloudfront.net/7165-thickbox_default/1-8s-lipo-battery-tester-and-voltmeter-low-voltage-alarm-indicator.jpg

dus nu heb ik deze besteld, die een aparte voedingsspanning heeft (JST aansluiting links onder)
https://www.der-schweighofer.net/public/files/original/98816_LiPo_Checker___Li_Battery_Balancer_Graupner_GraupnerSJ_GmbH_759856609.jpg

en ook dit DIY ding met een arduino die hetzelfde probleem heeft volgens mij.
https://i.ytimg.com/vi/gCS-p8VnSlg/maxresdefault.jpg
de onnauwkeurigheid bij de hogere cellen. zeker bij de 6de cell heb je al een spanning van tegen de 20V. daar moet je al serieus wat spanningsdeler gaan maken (1:4 ofzo). probleem is dan ook, als je 0.025V fout kan meten, dat je al 0.1V fout meet op de accu.

mijn idee was nu om per accubank een arduino te zetten, en dat deze arduino's hun 'meting' doorsturen naar een hoofdarduino die alles op een display zet. aan 1.5€ voor een arduino kan je niet sukkelen.
of ik moet naar isolated ADC gaan zoeken

ik hou van werken ..., ik kan er uren naar kijken

Ik denk toch dat ze 't gewoon delen. Met een 16 bits ADC heb je dan nog steeds 20/2^16 = 300 uV resolutie. Dat lijkt voldoende. Imperfecties in de deler kun je eenmailg wegkalibreren.