Meten individuele cellen batterij met ADC

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • j-a-s-p-e-r
  • Registratie: December 2004
  • Laatst online: 17-06 21:58
Hoi allemaal,

Even een vraagje waar ik met beperkte elektronica kennis helaas nog niet helemaal uitkom:

Ik heb een 7S 25.9v 30Ah Lipo pack gebouwd uit 7 maal 3.7V cellen waarvan ik graag de individuele celvoltages van wil loggen. Hiervoor heb ik een prachtige esp8266 setup met SDcard, wifi/webserver en ADC (MCP3208) gebruikt. Alles werkt softwarematig totdat ik de ADC kanalen aansloot op de polen tussen de accu's:
Afbeeldingslocatie: https://www.dropbox.com/s/nycv2egmohd4z0z/7s_ADC.png?dl=1

Helaas was dat het einde van de ADC :( Ik snap ook wel waarom, de ADC kanalen zijn geschikt tot 5v (tot reference van in dit geval 5V) terwijl de batterij na de 2e cel al op 7.4 v zit.

Maar hoe moet ik dit dan tackelen?
  • Per cel van weerstanden een voltage divider bouwen en die meten?
  • Of een ADC scoren die tot 30VDC kan meten?
  • Alle spanning doormiddel van iets door 10 delen? Dan is het absolute verschil bij de cellen weer een stuk kleiner en kan ik niet echt gebruik maken van de 12bit resolutie van de ADC..
  • Of iets anders
Ik gok op de laatste optie, wie kan mij op weg helpen?

Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 04-10 17:40

SA007

Moderator Tweaking
Een ADC die meer spanning dan de chip VCC kan meten zal intern met spanningsdelers werken.
Dat is dan ook de manier om hiermee om te gaan.

Dan heb je per cel 2 weerstanden nodig en heb je de spanning binnen het meetbereik van je ADC.

Acties:
  • 0 Henk 'm!

  • Merion
  • Registratie: Juli 2016
  • Laatst online: 26-09 01:44
Maken deze cellen deel uit van de schakeling zelf, maw moet de -pool van de onderste cel met de massa van de schakeling verbonden worden of mag dat anders?

Acties:
  • 0 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Nu online

memphis

48k was toen meer dan genoeg.

Als je achteraf de gemeten waardes kan berekenen moet je iedere aftakking dmv een weerstandsdeler terug brengen naar iets in de 5v.

Kan je niet rekenen moet je dmv een paar (electrinisch) relais de cellen 1 voor 1 naar de ADC schakelen. Belangrijk is dan wel dat je ADC op een gescheiden spanning staat.

Er zijn mensen die mij een GOD vinden


Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

Volgens mij heb je 2 opties:
- met spanningsdelers in de vorm van weerstanden werken, maar dan is een 12-bit adc niet de beste keus
- adc('s) gebruiken dat differentieelmetingen kan doen, zie bijv. https://learn.adafruit.co...el-adc-breakouts?view=all

Wat je bij optie 2 zou kunnen doen, gezien het aantal benodigde differentiële inputs, is wat gratis samples bestellen bij analog.com , bijv. http://www.analog.com/en/...738.html#product-overview en http://www.analog.com/en/...718.html#product-overview i.c.m. Details about 2Pcs 0.65mm 1.27mm SSOP28 TSSOP28 to 2.54mm DIP28 SMD IC PCB Adapter Socket

[ Voor 61% gewijzigd door Raven op 20-08-2016 19:01 ]

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!

  • Cassettebandje
  • Registratie: Juli 2002
  • Laatst online: 04-10 20:38

Cassettebandje

SA-C90 TDK

In plaats van een differentiële adc kun je ook voor elk kanaal een differentiële versterker gebruiken en de uitkomst daarvan met de adc meten. Opamps die een hogere spanning aankunnen zijn makkelijker te vinden dan adc's.

Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 04-10 17:40

SA007

Moderator Tweaking
Vraag aan de TS, hoeveel nauwkeurigheid wil je hebben?
0.1V, 0.01V?

Met 7 cellen zit je vol opgeladen op 29.4V, met 12bit heb je 4096 waardes.
Met 0 op 0V en 0.01V per bit zit je op 40V max.

Lijkt me een prima resolutie om zo'n pack in te meten, dan kan je prima af van 7 setjes van dezelfde weerstanden.

Om zo vrij te zijn ze te [url=http://mustcalculate.com/electronics/automaticresistivevoltagedivider.php?vin=40.96&vout=5&eser=E24&rmin=1k&rmax=100k]berekenen[url], dan wil je gewoon een weerstand van 13k en 1.8k, standaardwaardes.
Dan heb je op je 12bit adc altijd ruwweg 0.01V resolutie op elke cel, wat mij voor de meeste toepassingen plenty is.

Is dat niet zo, moet je totaal je naar differentiele versterkers, afhankelijk van hoe je die gebruikt kan je een resolutie van 0.001V halen, maar dan moet je ook veel extra onderdelen hebben, die nogal duur worden, met die weerstanden ben je voor minder dan een euro klaar zegmaar.

Acties:
  • 0 Henk 'm!

  • j-a-s-p-e-r
  • Registratie: December 2004
  • Laatst online: 17-06 21:58
thnx heren voor de input! Fijn dat jullie hiermee even mee willen denken.

resolutie van 0.01v zou fijn zijn, dus 12bit op 40v is dan idd genoeg. Alleen vroeg ik mij af omdat ik het voltage tussen de cellen ga meten of ik voor de n-de cel niet alle onderliggende cellen ook meeneem? Ik zie het zo voor mij; met de weerstanden deel je elke keer de spanning tussen de cellen door het aantal cellen t.o.v. de min-pool. Dus cel 2: 1/2. Cel 3: 1/3 etc. Maar dan is het voltage van de 3e cel beïnvloed door dat van cel nummer 1, 2 en 3? Of zie ik dat fout?

Die diiferentiële weg is geheel nieuw voor mij, zag dat de ADC die ik gebruikte ook zoiets kon maar dacht 'hey dit gaat vast ook zo goed' :p De ADC compare chip uit het adafruit lijkt aardig op de ADC die opblies gebruikte. Maar hierbij staat ook dat het voltage niet meer dan 0.3v boven VDD/voeding van ADC mag liggen. Geldt dat dan niet als je de polen van één cel meet? Of zap ik hem dan alsnog door midden?

Als bovenstaande twee aannames kloppen dan zou de meest accurate zijn om zo'n electronisch 'relay' te gebruiken of via een opamp de voltages een beetje te normaliseren. Of heb ik bij een opamp hetzelfde (hypothetisch) probleem dat ik bij een voltage divider zou hebben?

[edit]
Het is al wat later dus bedacht dit net pas.. Zou een combinatie van een opamp of voltage divider met een differential ADC niet mijn oplossing zijn? Dan heb ik geen last van onderliggende cellen en blaas ik ook de ADC niet meer op. Helaas dan wel 2 stuks van 8 channels nodig maar soit..
Of is mijn hypothetische probleem helemaal niet bestaand? :p

[ Voor 12% gewijzigd door j-a-s-p-e-r op 20-08-2016 23:52 ]


Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 04-10 17:40

SA007

Moderator Tweaking
Als je de 'weerstanddeler' weg op gaat is wat op op de contacten meet de spanning tussen ground en de plus van die cel.
Dus voor de celspanning zal je het voltage van de cel ervoor eraf moeten halen.
Daardoor wordt de meetspanning niet beinvloed door de vorige cellen.
Stel cel 3 is stuk, en is maar 1V, ipv 3.7.
Dan meet je op
cel 1 - 3.7V
cel 2 - 7.4V
cel 3 - 8.4V
cel 4 - 12.1V
... etc
Dan kan je de spanning van cel3 prima berekenen door cel 3 - cel 2 te doen, dan zie je prima dat die 1V is.

Je moet voor een differentiele opamp inderdaad heel erg goed kijken wat de maximale waardes zijn voor de ingang, en meestal mag dat niet hoger zijn dan de voedingsspanning, maar kan de opamp zelf op zijn voedingsspanning best 40V aan.
Bij een opamp is een voltage divider niet nodig, maar wellicht wel feedback weerstanden, waar je qua nauwkeurigheid dezelfde beperkingen hebt als voltage dividers, maar je hebt een aantal extra bits resolutie omdat je maar tot ~4.5V hoeft te kunnen meten ipv 35V.

Het meest accurate hangt overigens vooral af van de specificaties van je componenten en hoe goed de berekeningen op de weerstanden zijn.
Qua specificaties gaat het dan niet zozeer om de absolute nauwkeurigheid, maar vooral om de temperatuurafhankelijkheid, een 0.5% stabiele afwijking kan je corrigeren in software, 0.5% afwijking als hij warm wordt is een heel stuk lastiger.

Edit:
Een voltage devider en een differential amp heb je niet beide nodig. de spanning over 1 cel blijft onder 5V wat je ADC kan meten.

[ Voor 4% gewijzigd door SA007 op 21-08-2016 00:04 ]


Acties:
  • 0 Henk 'm!

  • j-a-s-p-e-r
  • Registratie: December 2004
  • Laatst online: 17-06 21:58
Thnx :) dat probleem is inderdaad met simpel rekenwerk prima op te vangen. Daar had ik nog niet aan gedacht.

Zat er al aan te denken om niet mn cheape china weerstanden te gebruiken, ooit eens per paar duizend stuks gekocht via een inkoopactie maar afwijking is sowieso daarvan al niet al te best. Denk je dat kopen van 'goede' weerstanden en nameten goed genoeg is? Of zou ik ze bij eerste gebruik ook moeten meten en corrigeren tijdens gebruik?

Acties:
  • 0 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Nu online

memphis

48k was toen meer dan genoeg.

Gewoon 0.1% weerstanden gebruiken.

Er zijn mensen die mij een GOD vinden


Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

j-a-s-p-e-r schreef op zaterdag 20 augustus 2016 @ 23:40:
Die diiferentiële weg is geheel nieuw voor mij, zag dat de ADC die ik gebruikte ook zoiets kon maar dacht 'hey dit gaat vast ook zo goed' :p De ADC compare chip uit het adafruit lijkt aardig op de ADC die opblies gebruikte. Maar hierbij staat ook dat het voltage niet meer dan 0.3v boven VDD/voeding van ADC mag liggen. Geldt dat dan niet als je de polen van één cel meet? Of zap ik hem dan alsnog door midden?
Wat jij nu doet zijn single ended metingen, spanningen meten t.o.v. ground. Doordat de cellen in serie staan, levert dat op bepaalde punten een voor de adc te hoge spanning op.

Bij een differentieel meting, wordt er niet (per se) gemeten t.o.v. ground. In plaats daarvan meet je per cel het verschil in spanning tussen de plus-kant en min-kant van die cel, wat dus maximaal zo'n 3.7V is en dus ruim binnen de limieten ligt. In theorie zou dit geen problemen moeten opleveren, zoals je bij single ended metingen hebt. Al heb ik nog nooit met zo'n opstelling te maken gehad.

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • +1 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
SA007 schreef op zondag 21 augustus 2016 @ 00:01:
(…) 0.5% afwijking als hij warm wordt is een heel stuk lastiger.
Hij heeft nog een channel over, dus daar zou hij in theorie natuurlijk een meet-circuitje aan kunnen hangen met alleen een dezelfde weerstand om eventuele variatie te meten :P
Pagina: 1