18650 Lader Arduino

Hoi iedereen.
Ik had zopas even een schakeling in elkaar gebokst om 18650 cellen te laden met instelbare cutoff spanning. (Daar ik ze niet op 4.2V wil bewaren).

Ik heb hiervoor TP5100 modules gebruikt om de batterijen te laden, een lgt8F328P (arduino uno kloon (32Mhz, 12bit adc)) en IRLZ44N logic level n-fets om de TP5100 modules uit/in te schakelen als ik dat wens.

Echter liep het al mis bij een testsketch waar ik de mosfets 1 voor 1 liet aan- en uitschakelen.

Wanneer ik mijn analoge lijnen(waar ik de spanning mee meet), los maak is he t euvel verholpen. Ik bemerkte ook dat er op de anloge inputs 5V zit, wanneer deze geen analogread doen. Ik vermoed dat het probleem daar dan ook ergens zit. Iemand een idee of suggestie? Heb mijn schema in bijlage staan.
Momenteel heb ik ipv drukknoppen een rotary encoder gebruikt en ipv he oled scherm een 1602 lcd op i2c.

Alvast bedankt!

dan ga je nooit over naar CV mode?
stel dat je 4,1V instelt, de accu begint te laden met CC mode, spanning komt op 4,1V, lader wordt uitgeschakeld.

https://lh3.googleusercontent.com/proxy/QMNUlWxVoilFX_wr1ZcW61G65pr2DznXQRT4PHHvCbsN5SZVs_1s7vTyNWyEpZT9ATwPzvb7HlC7A2STNjUuv4CNPP3Y8L7ArK7ZMUVqwEeMNXbln93o
op die grafiek ga je dus op 105min al uitschakelen. probleem is dat de lading sterk gaat verschillen afhankelijk van de Ri van de cel

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

Regelen de "TP5100" modules in de min of in de plus ? Het zijn buck converters, gnd in is gnd uit.

Staat de voeding van de lgt8F328P module op 5V ingesteld ? Let op, men kan enkel meten als de low side fet dicht is.

Verder kan het goed zijn dat er een bugje in de libraries behorende bij een nieuwe chip zit. Het is dan handig het eerst even apart te testen.

[Bericht gewijzigd door Aart op 16 april 2021 07:01:42 (53%)]

Op 16 april 2021 06:27:52 schreef fcapri:
dan ga je nooit over naar CV mode?
stel dat je 4,1V instelt, de accu begint te laden met CC mode, spanning komt op 4,1V, lader wordt uitgeschakeld.

[afbeelding]
op die grafiek ga je dus op 105min al uitschakelen. probleem is dat de lading sterk gaat verschillen afhankelijk van de Ri van de cel

Bij volledig laden laat ik de tp5100 zijn werk doen.
Voor storage stop ik op 3.85v, dan heb ik na rust een open circuit voltage van +\- 3.75v op de cel.
Dus dat zit snor.

Op 16 april 2021 06:51:43 schreef Aart:
Regelen de "TP5100" modules in de min of in de plus ? Het zijn buck converters, gnd in is gnd uit.

Staat de voeding van de lgt8F328P module op 5V ingesteld ? Let op, men kan enkel meten als de low side fet dicht is.

Verder kan het goed zijn dat er een bugje in de libraries behorende bij een nieuwe chip zit. Het is dan handig het eerst even apart te testen.

Momenteel om te testen gebruik in de 5v als refentie. Bedoeling is dat ik er een externe ref02 (5v) aan hang als deze toekomen.
Ik meet er ook al mee op mijn ontlader (capaciteit testen) en dat lukt goed.
Echter kan ik mij niet van de indruk ontdoen, dan de 5v die je meet over een analoge input, invloed heeft op de tp5100 modules.

Ik gebruik tegenwoordig meestal de ADP5062. Kun je de 'termination voltage' (en nog veel meer) instellen...

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

Die ga ik straks eens bekijken.
Straks ook eens proberen wat het effect is, als ik meet over een spanningsdeler of evt een opamp in unity gain

blackdog

Golden Member

Hi Arco, :-)

Ik heb even gekeken bij Analog Devices betreffende de ADP5062.
Dat ziet er goed uit en heb ook even gekeken op ebay of daar een printje voor beschikbaar was.

Dat niet gezien na een korte zoektocht, wel woekerprijzen voor ene IC dat bij Analog Devices maar 1,29$ kost.

Heb jij wel een printje waar het IC al op zit en waar is dat eventueel te kopen?

Dank,
Bram

Waarheden zijn "Illusies waarvan men vergeten is dat het illusies zijn"

Printje daarvoor heb ik niet, wel gebruikt in een paar apparaten...
Enige jammere is dat je de batterijspanning niet kunt uitlezen, maar dat is in mijn geval niet echt interessant (je kunt dat altijd nog met de MCU doen)

Je kunt wel de batterijstatus uitlezen in 7 stappen:
- no battery
- battery short
- battery dead
- battery weak
- battery OK
- temp high
- temp very high

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

Persoonlijk vind ik de combi van een REF02 met een A/D in een ongedocumenteerde microcontroller een rare keuze. De "echte" Atmega328P specificeert een 'absolute error' van 4LSB met 10 bit resolutie, waardoor een externe referentie snel overkill wordt. Ik weet niet of een 12 bit A/D in een goedkope Chinese kloon het daadwerkelijk beter zal doen, zelfs al vind je documentatie die dat zou beweren. In deze toepassing zou ik de processor in 'sleep' zetten en oversampling toepassen en eens kijken of de getallen een beetje consistent zijn. Voor een situatie als deze zou ik een externe A/D overwegen. Ongedocumenteerde chips geven soms problemen.

Als de spanning naar 5V stijgt heeft de chip misschien de pull-ups geactiveerd staan. Je zou eens moeten kijken naar hoe de pinnen zijn opgezet. Heb je weleens geprobeerd de stroom te meten dat het kost ze weer naar 0V te trekken? Voor een 5V voeding zou het voor een Atmega328P tussen de 100 en 250µA moeten zijn (als de pull-up geactiveerd is dus). Is het minder is je print misschien vies, is het in de mA dan wordt de pin waarschijnlijk "hard" naar 5V getrokken.

Op 17 april 2021 13:15:05 schreef Kruimel:
Persoonlijk vind ik de combi van een REF02 met een A/D in een ongedocumenteerde microcontroller een rare keuze. De "echte" Atmega328P specificeert een 'absolute error' van 4LSB met 10 bit resolutie, waardoor een externe referentie snel overkill wordt. Ik weet niet of een 12 bit A/D in een goedkope Chinese kloon het daadwerkelijk beter zal doen, zelfs al vind je documentatie die dat zou beweren. In deze toepassing zou ik de processor in 'sleep' zetten en oversampling toepassen en eens kijken of de getallen een beetje consistent zijn. Voor een situatie als deze zou ik een externe A/D overwegen. Ongedocumenteerde chips geven soms problemen.

Als de spanning naar 5V stijgt heeft de chip misschien de pull-ups geactiveerd staan. Je zou eens moeten kijken naar hoe de pinnen zijn opgezet. Heb je weleens geprobeerd de stroom te meten dat het kost ze weer naar 0V te trekken? Voor een 5V voeding zou het voor een Atmega328P tussen de 100 en 250µA moeten zijn (als de pull-up geactiveerd is dus). Is het minder is je print misschien vies, is het in de mA dan wordt de pin waarschijnlijk "hard" naar 5V getrokken.

Zo ongedocumenteerd is die niet hoor: https://github.com/RalphBacon/LGT8F328P-Arduino-Clone-Chip-ATMega328P

Eigenlijk zijn de interne referenties allemaal vrij ok.
Alleen de 5v gaat nogal redelijk te keer samen met de 5v lineaire regulator op de pcb van de controller.
De ref02 + de controller kost me nog steeds minder dan een echte uno. Dus wakker lig ik daar niet bepaald van.

Ik heb je openingpost nog een keer aandachtig gelezen en samengevat is het "ik heb dit gemaakt en als ik zus doe, dan zie ik het probleem al... Iemand een suggestie?"

Dus mijn sgugestie: vertel eens wat je probleem is....

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Op 18 april 2021 09:05:46 schreef rew:
Ik heb je openingpost nog een keer aandachtig gelezen en samengevat is het "ik heb dit gemaakt en als ik zus doe, dan zie ik het probleem al... Iemand een suggestie?"

Dus mijn sgugestie: vertel eens wat je probleem is....

Daar heb je wel een goed punt!
Heb zonet mijn op even herlezen, en inderdaad; ik zeg dus niet wat er fout loopt xD .

Met losgekoppelde analoge pins, gaat de blauwe led van de tp5100 module branden. (Stand-by) en geeft deze +/- 4.2v uitgangsspanning. Met batterij gaat de blauwe uit en gaat de rode (charge) branden.

Echter met de analoge arduino pins aangesloten, gaat bij stand-by zowel de rode led (charge) branden en in charge mode gaan ze beiden branden. Je hoort op dat moment ook behoorlijk wat Coilwhine van de spoel komen.

Gisteren ben ik even aan het testen geweest.

Met een spanningsdeler over de module uitgangen en losgekoppelde analoge pins, heb ik mooi de halve spanning in het midden, met aangesloten analoge pin, valt die spanning in naar 0v. (2x 1M) dan heb ik eens een lm328 in unity gain buffer gezet. Zonder analoge pins, volgt die mooi. Met aangesloten analoge lijn, valt deze naar +/- 1.7v.

Dan maar eens gemeten met scoop er aan en analoge lijn gewoon op de + aangesloten.
De tp5100 gaat dan enorm oscilleren. Wanneer ik er een 1500uf elco over zet, zijn de oscillaties nagenoeg weg. Met batterij aangesloten uiteraard ook.

Het /kan/ zijn dat jou processor anders is (jij had toch een "rare" 328 processor?).... Maar de echte '328 heeft een ingangsimpedantie van rond de 10k voor de analoge pins. Dus als jij een spanningsdeler maakt met 1M weerstanden dan is het niet helemaal raar dat je "rare" dingen gaat meten. Je mag wel een condensator gebruiken om de boel af te vlakken. Dus neem een 1uF condensator en zet die op je spanningsdeler en dan pas aan je analoge input. Dan zou je moeten zien dat je wel de halve voedingsspanning kan meten. Als je nu continue AD conversies gaat doen kan het alsnog fout gaan, maar 1x per seconde moet kunnen. (en pas na 2.5 seconden zit je binnen 1% van de uiteindelijke waarde! Dat is gewoon de weerstanden en condensator)

Het lijkt mij er op alsof de analoge input nog steeds op output staat. Kan je dubbel checken dat je hem op (analoge) input zet en dat er niet iets perongeluk daarna hem weer op output zet?

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Je schakelt met de FETs in de massa, je hebt dus nooit een goede massa op de batterij voor je analoge meting, je kunt met P Fets in de plus schakelen, kun je de modules vast aan massa leggen en daarmee ook de cel denk ik.

Op 19 april 2021 11:33:56 schreef rwk:
Je schakelt met de FETs in de massa, je hebt dus nooit een goede massa op de batterij voor je analoge meting, je kunt met P Fets in de plus schakelen, kun je de modules vast aan massa leggen en daarmee ook de cel denk ik.

Even vergeten te vermelden.
Ondertussen schakel ik de massa van de tp5100 niet meer uit.
Deze heeft een cs pin. Daarmee kan je kiezen voor 4.2V, 8.4V (2s) of als je deze naar grond trekt, schakel je de module uit. Ik trek nu met diezelfde fet's cs naar grond om de module's uit te zetten.

Los daarvan, wanneer ik meet als de modules ingeschakeld zijn, is de ground er wel gewoon en heb ik ook dat gedrag.

@Rew:

Zal ik vanavond eens testen.
Bij een meting doe ik doorgaans een aantal reads die ik deel door het aantal voor het gemiddelde. Daar zal ik dan wel rekening mee moeten houden.

Op 19 april 2021 11:33:56 schreef rwk:
Je schakelt met de FETs in de massa, je hebt dus nooit een goede massa op de batterij voor je analoge meting, je kunt met P Fets in de plus schakelen, kun je de modules vast aan massa leggen en daarmee ook de cel denk ik.

Als je fets neemt die een RDON van 10mOhm hebben, en er loopt 1A dan zal je een fout hebben van 10mV. Dat is vergelijkbaar met de spanningsval over "had eigenlijk iets dikker gemogen" draadjes bij die stroom.

Ik heb ook een project waarbij ik de min van een "meetchip" (stroom-spanningomzetter: ACS711) schakelde. hier werd een SOT23 40 of 60mOhm fetje gebruikt. Tegenwoordig heeft dat ding geen zin meer en is die constructie verdwenen. (bij mij loopt de hoofdstroom niet door de fet en scahkel ik alleen het meet-chipje).

Even algemeen debuggen: Altijd halverwege je circuit meten en dan bepalen of je links of rechts van je meetpunt een probleem hebt. Dus als de ADC zegt: 5V (of nul), dan wil je weten is dat echt zo, of lult ie maar wat.

Dus loskoppelen en kijken wat de spanning is en wat de ADC zegt: prima actie. Maar dus even doorzetten en verder zoeken, mogelijk eerst: Doet de ADC het uberhaupt wel. Jou conclusie was: nee, maar volgens mij "verklaarbaar". Alhoewel, het atmel advies: minder dan 10k uitgangsweerstand van het te meten signaal is bedoeld om minder dan 1:1000 aan afwijking te krijgen. Jij zou echt wel iets moeten meten (mogelijk met 50% afwijking... Tja in de praktijk niet bruikbaar, maar... duidelijk anders dan een overtuigende 5V of 0V....)

[Bericht gewijzigd door rew op 19 april 2021 15:01:59 (31%)]

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Op 19 april 2021 14:56:12 schreef rew:
[...]

Als je fets neemt die een RDON van 10mOhm hebben, en er loopt 1A dan zal je een fout hebben van 10mV. Dat is vergelijkbaar met de spanningsval over "had eigenlijk iets dikker gemogen" draadjes bij die stroom.

Ik heb ook een project waarbij ik de min van een "meetchip" (stroom-spanningomzetter: ACS711) schakelde. hier werd een SOT23 40 of 60mOhm fetje gebruikt. Tegenwoordig heeft dat ding geen zin meer en is die constructie verdwenen. (bij mij loopt de hoofdstroom niet door de fet en scahkel ik alleen het meet-chipje).

Even algemeen debuggen: Altijd halverwege je circuit meten en dan bepalen of je links of rechts van je meetpunt een probleem hebt. Dus als de ADC zegt: 5V (of nul), dan wil je weten is dat echt zo, of lult ie maar wat.

Dus loskoppelen en kijken wat de spanning is en wat de ADC zegt: prima actie. Maar dus even doorzetten en verder zoeken, mogelijk eerst: Doet de ADC het uberhaupt wel. Jou conclusie was: nee, maar volgens mij "verklaarbaar". Alhoewel, het atmel advies: minder dan 10k uitgangsweerstand van het te meten signaal is bedoeld om minder dan 1:1000 aan afwijking te krijgen. Jij zou echt wel iets moeten meten (mogelijk met 50% afwijking... Tja in de praktijk niet bruikbaar, maar... duidelijk anders dan een overtuigende 5V of 0V....)

Het meten werk wel hoor.
Ik vond het alleen wat gek, dat wanneer ik een module inschakel zonder batterij en ik heb dan een analoge pin aangesloten om te meten, dat die die TP5100 dan gaat oscileren als een gek.

Oh... Tja, zou kunnen dat de belasting dan net zodanig is dat de module denkt: er is iets, maar dan kort daarna "oh toch weer niet". "Oh toch wel".... enz....

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Op 19 april 2021 17:03:13 schreef rew:
Oh... Tja, zou kunnen dat de belasting dan net zodanig is dat de module denkt: er is iets, maar dan kort daarna "oh toch weer niet". "Oh toch wel".... enz....

vermoedelijk door de impedantie van de analoge pins?
vandaar dat ik even wou proberen met een opamp in unity gain buffer er tussen. echter, wanneer ik de analoge pin aansluit op zijn uitgang, zakt mijn spanning naar 1.7v.
Ik moet toegeven, dat ik niet goed weet, hoe de microcontroller de analogread juist doet (fysiek dan toch). Zou het kunnen dat deze die pin vrij hard naar massa trekt, dat er te veel stroom gevraagd wordt van de opamp? de gebruikte opamp is een lm328p waar ik er veel van had liggen.

Dat van 1.7V als je een redelijk "stevige" bron hebt en precies 0V als je een softe bron hebt dat is voor mij de hint dat het ding op "output nul" staat ipv op "input". Koppel de opamp los, en meet dan in mA stand met de multimeter wat voor stroom er loopt als die input 1.7V zou zijn. Ik verwacht dat je ongeveer 30 ohm zult zien (en dat zal best een factor 10 anders kunnen zijn voordat ik ophoud met zeggen: zie je nu wel!). Dus 1.7V/30 Ohm = 56mA.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/