ADS1118 kaduuk?

Alleen berichten met de trefwoorden “breadboard” worden getoond. Alle berichten tonen

Hm... Ja ik blijf het vreemd vinden, het zou de eerst keer niet zijn dat ik een ic'tje opblaas. Maar meestal kan ik dat wel terug leiden tot verkeerd aansluiten of iets dergelijks. Maar zeker die tweede chip heeft een week stil gezeten op een breadboard samen met de rest van de schakeling. En gaf ineens de geest...

Hoi fatbeard,

Klopt, de spanningsdelers zijn het zelfde. Dat komt omdat de spanningen en range van de ADC toevallig zo uitkwamen dat dat niet uitmaakte. Het is lion dus 4,2V per cel is echt absoluut maximaal. 12.6/6.9*2.2 is 4.017V. Wat dus ruimschoots onder de 5.3V ligt wat de adc maximaal mag hebben (VDD+0.3)

Ik heb ook even aan de elco's gedacht, mijn beredenering was dat de onderste helft van de weerstandsdeler die wel leeg zou trekken. Dat zit tenslotte ook nog in het deel waar nog gewoon een stroomkring bestaat, of de accu nu aangesloten zit of niet. Hij loopt natuurlijk niet direct leeg. Maar het is maar 33uF. Na even een calculatortje op internet invullen kom ik uit op een slordige 100ms dat de elco van 5v (wat hij eigenlijk al nieteens haalt) tot 1v is leeg gelopen via die 2k2 weerstand. Dus of dat nou de oorzaak is dat het ic de geest geeft?

De schottky diodes zitten al in het ic (zie afbeelding). Het feit dat het dus eigenlijk al beveiligd is maakt dat ik het alleen maar vreemder vind dat het zo snel stuk gaat zonder overduidelijke veel te hoge spanningen o.i.d er op te zetten.

Er zou hooguit een weerstand van een andere spanningsdeler tegen een pootje van een andere weerstand aan kunnen komen. (het zit op een breadboard. Als ik er er zo naar kijk zitten er 2 pootjes erg dicht op elkaar. Ik heb ze wel uit elkaar gebogen, maar zo langzamerhand sluit ik niks uit. Dan is het volgens mij mogelijk dat de spanning wat hoger word dan de bedoeling is (al zou het niet eens veel zijn volgens mij). Maar zelfs dan zit er op z'n aller minst een 1k weerstand tussen. Dus dan zou de schottky diodes in het IC dat toch moeiteloos moeten kunnen wegvoeren zonder schade?

Please correct me if i'm wrong! Maar volgensmij zouden de punten die je noemt dus niet de oorzaak kunnen zijn? Ik ben zeker geen expert (werktuigbouwer als achtergrond) dus mocht ik dingen over het hoofd zien roep het vooral ;)

fatbeard

Honourable Member

Hoi Daan,

Ik had het ff na moeten rekenen, de ingangsspanning blijft inderdaad binnen range. Tenminste, als de 'bottom resistor' geen last heeft van slecht contact in je breadboard. Geloof me, dat komt voor; vaker dan je zou willen.

Er is een (groot) verschil tussen de "Absolute Maximum Ratings" en de "Recommended Operating Conditions"; de eerste is een set gegevens waarvan de fabrikant eigenlijk zegt: als je daar ook maar iets overheen gaat, gaat-ie gegarandeerd stuk.
Bij die maximum ratings staat ook vrijwel altijd de zin "Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability", of woorden van gelijke strekking.

Die ingebouwde schottky diodes zijn niet bedoeld (of geschikt) om stromen van meer dan ca. 0.5mA te verwerken, als dat kan optreden gebruike men externe diodes.
Een 1k weerstand beperkt de stroom 'niet echt' (=echt niet voldoende) in deze context.

De ingangen A0 en A1 hebben helemaal geen weerstandsdeler en die elko's lopen dus niet 'automagisch' leeg; ze gaan stroom leveren aan de rest van het circuit via die ingebouwde schottky diodes (die daar dus niet voor bedoeld zijn en slecht tegen kunnen)...

Mijn aanbevelingen voor een langer leven van dit geheel:

  • de elko's aan de ingangen (zoals Arco ook al zei) verwijderen, of op zijn minst een factor 10 kleiner nemen om de hoeveelheid energie bij afschakelen te beperken
  • de spanningsdelers (en serieweerstanden) minstens een factor 10 hoger in waarde nemen om de stroom te beperken (je accu's vinden dat ook wel leuk en zullen langer op spanning blijven)
  • externe clamp-diodes aanbrengen om de interne diodes te ontlasten mocht het toch nog fout gaan

Last but not least:
Een SPI-bus zou 100% van de tijd correct moeten werken (en niet 99,999%).
Mogelijke foutbronnen zijn

  • onjuiste SPI mode van de master (er zijn er 4, meestal werken er twee 'wel ongeveer' maar slechts één goed)
  • onvoldoende of verkeerd geplaatste ontkoppeling
  • te hoge klok snelheid voor de omgeving (parasitaire capaciteit: twee rijtjes in een breadboard naast elkaar hebben al 5-10pF)
  • onjuiste of te lange GND verbindingen

De laatste drie punten zijn op een breadboard snel gebeurd, de laatste twee tasten signaalvormen aan.

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.
benleentje

Golden Member

Ik heb ook met met deze chips gespeeld en als de spanning op de ingang ook maar even te hoog is, is het gelijk kapot. En omdat er maar 1 ADC in zit met een multiplexer is natuurlijk de hele chip onbruikbaar.

Grote kans dat toch de een piekspanning heeft opgetreden.

Het is lion dus 4,2V per cel is echt absoluut maximaal.

Maar dat wil niet zeggen dat je hem er niet boven kan krijgen als je hem maar door blijft laden. De 4,2V is enkel de max spanning waarbij het nog een normale levensduur heeft. Hoewel verlagen tot 4,1V de levensduur enorm verlengt.
Maar ik denk inderdaad niet dat je een lion zo ver kan opladen dat het boven de 5V komt of zelf maar in de buurt van de 5,3V komt. Dus een slecht contact in een breadboard lijk me het meest logisch. HEt missen van SPI signalen wijst ook in die richting van slechte contacten.
Vele van mijn experimenten zijn mislukt door slecht contact met slechte banaan stekkers of met slechte krokodillenbek snoertjes. IK heb ze nu allemaal zelf gemaakt en gesoldeerd en banaan snoeren kopen ik alleen nog van Hirschman. En dan nog controleer ik ze op goede werking en lage weerstand.

Mensen zijn soms net als een gelijkrichter, ze willen graag hun gelijk hebben.

Wauw haha dat is nog eens uitleg!

Om te beginnen iedereen super bedankt voor de tips!

@ fatbeard:

Er is een (groot) verschil tussen de "Absolute Maximum Ratings" en de "Recommended Operating Conditions"

Het verschil tussen "absolut maximum" en "recommended"ken ik, en dat zinnetje staat er inderdaad bij. Ik zit alleen bij beide ruimschoots er onder dus dat zou het probleem niet mogen zijn.

Die ingebouwde schottky diodes zijn niet bedoeld (of geschikt) om stromen van meer dan ca. 0.5mA te verwerken, als dat kan optreden gebruike men externe diodes.
Een 1k weerstand beperkt de stroom 'niet echt' (=echt niet voldoende) in deze context.

Die 0.5mA is inderdaad wel akelig weinig. aanzienlijk minder dan ik dacht wat ze konden hebben. Ik heb die weerstanden gekozen om de impedantie niet al te groot te nemen. Maar die zal ik een factor 10 verhogen, de impedantie van de chip zelf is 6Mohm dus als de deler in totaal rond de 60Kohm zit moet dat nog wel kunnen. Dat zelfde geld voor die 1K serie weerstand.

De ingangen A0 en A1 hebben helemaal geen weerstandsdeler

Klopt, tot nu toe vertrouwde ik daar op de interne schottky diodes. Wat dus niet verstandig blijkt te zijn xD. Ik zal in elk geval overal die diodes gaan plaatsen.

Ik heb alleen mijn bedenkingen bij het weghalen van die elco's. Ik heb die daar geplaatst nadat tijdens het testen bleek dat het signaal alle kanten op vloog en bijzonder instabiel was. De weerstanden samen met die elco's vormen een mooi filter en maken het signaal tot op 3á4 stappen op de ADC stabiel. En dat is ruim voldoende voor deze toepassing. Zonder die elco's zit er vooral in de stroom te grote schommelingen in het resultaat. Nou laat mijn kennis van analoge electronica me even in de steek, maar klopt mijn vermoeden dat als ik de weerstandsdeler een factor 10 vergroot en de elco een factor 10 verklein. De cut-off frequency dus effectief gelijk blijft? (Wat ik even vrij vertaal naar de stabiliteit van het signaal blijft dus gelijk).

Een SPI-bus zou 100% van de tijd correct moeten werken (en niet 99,999%).

Ik heb een tijd terug zelf de hele SPI bus gemaakt, dwz de software. Voor zover de PIC weet gooit hij gewoon digitale ingangen hoog en laag. Ik had toen wat gezeik met die bus en vertrouwde de ingebouwde fucntie toen niet. Het gevolg was overgens ook dat toen ik deze chip begon te gebruiken dat er een factor 0.5 op de ADC leek te zitten... Dat bleek een fout te zijn in die mode. De data was geldig op de andere flank. Het gevolg is wel dat ik daar zo diep in gedoken ben dat ik zeker weet dat dat in elk geval klopt.

De overige punten die je noemt, slecht contact zou inderdaad goed kunnen.
Ik snap even niet wat je met ontkoppeling van de bus bedoeld?
Te hoge kloksnelheid denk ik niet. Ik heb de bus al een keer behoorlijk traag gezet (klokpuls was 100uS hoog en 100uS laag) en dat had het zelfde resultaat.
En onjuist/te lange GND verbinding... ik gok dat dit ook neer zou komen op slecht contact. De lengte valt nogal mee en de ground van de adc hangt simpelweg aan de gnd van de pic... Valt weinig verkeerd aan te doen :P.

@Arco: Haha ja die heb ik geloof ik ook een keer gezien. Maar meestal staat er ook een dergelik plaatje in de datasheet van de chip. Dus ik programmeer het op basis daarvan. Dan zit je altijd goed. (Alleen jammer dat ik dat de eerste keer met deze chip niet bedacht :P).

@benleentje:

Grote kans dat toch de een piekspanning heeft opgetreden.

Dat lijkt me dan inderdaad de meest voor de hand liggende oplossing. Ik zal met de tips van fatbeard de hele schakeling verbouwen/verbeteren en het resultaat hier laten weten!

Maar dat wil niet zeggen dat je hem er niet boven kan krijgen als je hem maar door blijft laden.

Haha ja oke, dat is waar inderdaad. Maar ik heb in de software op 4,15 een keiharde voorwaarde zitten. Als de spanning van 1 van de cellen daar boven komt wordt de lader direct een stuk terug geschroeft. Dus zelfs die 4,2 zou hij eigenlijk al niet moeten halen. 5 of 5,3... Ja goed alles kan, maar ik gok dat de cellen me dan al om de oren vliegen ;).

Ik vraag me af... kan je iets doen aan slecht contact in een breadboard? (afgezien van een nieuwe kopen :)). Eens uitblazen met een sloot perslucht is het eerste wat ik bedenk? Conactspray lijkt me dan weer een aanzienlijk minder goed idee :P.

Arco

Special Member

Breadboards geven door hun slechte contact ook slechte data wat betreft a/d conversie natuurlijk geen beste resultaten, gewoon de boel op gaatjesboard solderen...
Als de waardes alle kanten op vliegen is er zeker wat los of mis.

Ik gebruik 10 en 12 bits A/D, en da's bijna altijd constant. Een extra elco is een 'kludge' om andere hardwareproblemen te maskeren.
Dat je met 16 bits een beetje verschil krijgt is logisch, je moet alles wel heeel erg netjes opbouwen wil dat niet gebeuren. (Eén stapje is maar 76µV!)

Ik zie trouwens weinig nut of voordeel in 16 bits voor zo'n vrij 'grof' klusje. (wat is het nut om de spanning van de batterij op 76µV precies te weten??)
Ik gebruik daar altijd 10 bits voor (de A/D in de pic zelf), en 10 bits is al ruim meer als ik nodig heb...

Nogmaals, als de a/d resultaten onbetrouwbaar zijn maakt een elco daar niks beter aan... (beter de schakeling zelf in orde maken)
Onder een lekkende waterleiding kun je ook een emmer zetten en die iedere dag legen, maar dat zegt nog niet dat het een goede oplossing is... ;)

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

Nouja, ik heb opzich goede ervaringen met breadboards. Ook met enige regelmaat met analoge signalen. Het is dat het nu toch wel even wat nauwkeuriger moet dat het problemen oplevert.

Ik bouw schakelingen altijd op breadboard en als ik tevreden ben ets ik er een print voor. Dus dan lossen problemen als slecht contact e.d zich vanzelf op. Alleen om nu mee te testen is het even knap knudde.

De nauwkeurigheid op de accuspanning is inderdaad gigantisch overkill. In elk geval voor C1. Door de weerstandsdelers en bijbehorende berekening gaat de nauwkeurigheid voor C2 en C3 wel achteruit. Maar is 10bits nogsteeds voldoende. Het is de stroommeting die echt nauwkeuriger moet. 10 bits zijn 1024 stapjes. De stroomsensor levert 0,5v bij -20A en 4.5V bij 20A.
Dat betekend dat 10 bits een resolutie van bijna 50mA. En op de schaal waar ik nu mee werk zou dat net aan voldoende zijn als er geen drift of meetfouten in zitten. Maar dat zit er helaas wel in en een afwijking van 200-300mA (waar ik nu op zit, ik heb de adc er even uitgehaald en gebruik nu gewoon die van de PIC zelf) is echt veel te veel. Met de 16bits zit ik welliswaar weer veel nauwkeuriger dan persee nodig is. Maar dit was een goed verkrijgbare chip voor rondom de 2 euro. Dus dan is de keus snel gemaakt ;).

Ik zal wel iets aan afvlakken moeten doen, ik kwam er net bijvoorbeeld achter dat de dc-dc converter die vanaf de accu de 5v rail voor de gebruiker voed (dus niet de BMS) schopt een lading ruis op de analoge lijnen waar je even niet lekker van wordt. Dus ik moet echt dempen, dat kan digitaal natuulijk (lopend gemiddelde bijvoorbeeld) maar dat kost weer relatief veel tijd. En dat kan hier niet zomaar omdat het systeem snel moet kunnen reageren op bijvoorbeeld te hoge/lage spanning van de accu.

Ik heb nog even zitten graven naar diodes voor bescherming tegen overspanning... Maar daar zie ik vooral zener diodes voor ingezet worden. Is dat ook een optie of zit daar echt een wezelijk verschil tussen?
Bij farnell heb ik in schottky diodes maar weinig keus wat betreft spanningen

Arco

Special Member

Schottky diodes van 5.1v bestaan niet. Hebben bijna allemaal een Vf van 0.2 tot 0.4V... (5.1V is een zener of tvs diode)
Die voeding moet dan wel alleen voor de adc zijn (en niet bijv. ook voor de pic), anders heb je er niet veel aan...
Ik heb geen andere verklaring voor die enorme schommelingen als dat de boel op het breadboard gammel in mekaar steekt...

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

Special Member

Een BAT48 kan ook, al zou ik een breadboard helemaal niet gebruiken voor zoiets. (ik heb het al heel lang niet meer gebruikt behalve voor wat simpele testen)
Voeding van 5v begint ook al wat 'uit de tijd' te raken... (nieuwe pics zijn bijna allemaal 3.6v max...)

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

Op 1 juli 2018 00:28:08 schreef Arco:
Een BAT48 kan ook, al zou ik een breadboard helemaal niet gebruiken voor zoiets. (ik heb het al heel lang niet meer gebruikt behalve voor wat simpele testen)
Voeding van 5v begint ook al wat 'uit de tijd' te raken... (nieuwe pics zijn bijna allemaal 3.6v max...)

Naja er is niet echt een alternatief voor zover ik weet. Afgezien van solderen op gatenprint ofzo. Maar in het uitproberen/testen/bijna dagelijks dingen veranderen in de schakeling schiet dat ook niet op. Wat gebruik jij dan nu?
En ik heb hier in huis 5v en 12v. Daarbij zal ik niet snel die nieuwe PICs gebruiken. Ik heb een handje vol die tot nu toe steeds voldoen. Dus dan heb ik weinig reden op over te stappen op iets anders. Zeker omdat ik eigenlijk al m'n projecties op 5 of 12 baseer. En van 5 3,3 maken kan altijd. Andersom is al lastiger. Daarbij is het instelbare DC DC. Dus als ik iets anders nodig heb kan dat altijd ;).