Hallo,
Ik heb een aantal QNHC6 DC stroomsensoren die ik op mijn esp32 wil aansluiten.
In de specs stond +-12V voeding. Uitgang zou dan +-5V zijn bij 50A *DC*.
Ik had dat geïnterpreteerd als ongeveer 12V.
Aangesloten bleek dit zo te werken voor *positieve* stromen.
Maar voor negatieve stromen werkte dit niet...
De leverancier zei me dat ze met +- bedoelen: +12V GND -12V. En dan wordt het een ander verhaal. Met name de (negative) uitgangsspanning, die een ESP niet lust.
Kan iemand mij vertellen wat de "een na beste oplossing" is, bijvoorbeeld hoe met een 24v upconverter met zwevende massa te werken.
(de beste oplossing zou een dubbel voeding en een of andere level converter zijn, maar ik denk dat het eenvoudiger kan).
Ik moet dit voor 3 verschillende ESP's doen. Dan is een minimalistische oplossing wel handig.
De beschikbare spanning is slecht +12v. De stroom door de sensor electronica is max 50mA
Voeding kan met een converter. Bijv https://www.tme.eu/nl/en/katalog/?queryPhrase=TBA11222
En dan een opampje om de data te verschuiven naar het bereik voor de processor.
Dat is een mooie unit. kant en klaar. Dank je.
Is het mogelijk om met een weerstandsdeler en een differentiele adc (ads1115) de spanning te meten. Omdat ik weinig ervaring heb met opamp oplossingen, kan je me wat richtlijnen geven?
[edit] de TBA11222 heeft als specs max 13.2V Hoe zeker is dit een max waarde? Ik gebruik nl. LiFePO4 accu's en die gaan tot iets over de 14V
[Bericht gewijzigd door kirst op (24%)]
Helaas. De ADS1115 kan wel differentieel maar niet onder nul. Een paar millivolt gaat nog wel goed maar dan stopt het wel.
Met een andere A/D converter kun je wel onder nul. Bijv MCP3901.
OK, bedankt.
Maar ik zit nu helemaal zonder idee of en hoe ik het redelijkerwijs kan oplossen.
Van de MCP3901 kan ik geen BOB vinden en met smd werken is voor mij een grote stap.
Ik zie in een paar voorbeelden dat de MCP3901 ook in weeg of ander brug schakelingen wordt toegepast.
Ik heb een CS1238 of HX711 BOB liggen. Zou dat daar ook mee gaan?
Heeft iemand (een link naar) een oplossing zodat ik zonder diepgravend onderzoek en veel trial en error mijn sensors kan aansluiten?
OF kan ik toch beter deze sensors vaarwel zeggen?
Ik zag het grote voordeel van deze dat ze DC tot 100A (max ontlaadstroom van mijn batterij) kan meten zonder de sensor fysiek in het stroomcircuit op te nemen zoals de meeste andere DC sensors vereisen.
Wel zo veilig
Ik ben niet bang van 12V maar ik heb wel respect voor 100A 
[edit2: of zit ik in de verkeerde sectie?]
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Nee, volgens mij zijn de weerstandswaardes niet goed.
Je maakt met R1 en R2 (*) een weerstandsdeler, 2.5V, 5k uitgangsimpedantie.
Aan de ingang hang je dan met R3 10k je -5 tot +5. Dan hou je maar 1/3e van de range over. dus ongeveer 3.3V en dan ga je ook nog een keer anderhalf lopen doen met de overige weerstanden.
Als je R2 weglaat, dan heb je een 2:1 spanningsdeler naar -5:5 naar 0:5.
Dat kan je met een spanningsvolger naar 0:5 "versterken" en dan met een 5:3.3 spanningsdeler geschikt maken voor sampling met AD1115 of ESP32.
Maar.... we willen een 10V range naar 3.3V reduceren. Een spanningsdeler van 3:1 is dan voldoende, toch? Dus ingang aan 20k en 10k naar aarde. Nu heb je een -1.66 tot 1.66V signaal.
Hang je de "aarde" poot aan de 3.3V is het weer niet goed: de bovenkant wordt iets van 3.87V. Je moet de "vaste poot" dus aan een spanning hangen tussen de nul en de 3.3V. Als ik het goed uitreken moet die spanning 2.7V zijn.
daar hant dus een spanningsbron van 2.7V via een 10k aan de "uitgangs" node van je spanningsdeler. Dit kan je ook met een spanningsdeler maken: De R1/R2 wordt dan bepaald door de 2.7 t.o.v. de 3.3 . R1/R2 = (3.3-2.7)/2.7 .
en de uitgangsweerstand is R1 // R2 -> 1/(1/R1+1/R2) . Die wil je 10k hebben.
Je kan ook andersom beginnen. Kies R1 600 ohm, R2 2k7 en je hebt je 2.7V. De uitgangsimpedantie is dan 491 ohm, dus dan moet je een 982 ohm weerstand naar de input hebben om je 3:1 verhouding te krijgen.
Totaal 3 weerstanden Geen opamp.
(*) Hint: Geef de weerstanden een naampje zodat je er over kan praten.
De berekening van rew klopt wel, maak ik zou toch hogere weerstanden kiezen en een spannings-regelaar als referentie. Dan krijg je zoiets:
Weerstandswaarden zijn theoretisch. Hoger of lager kan ook zolang de verhouding tussen de weerstanden -ongeveer- hetzelfde blijft.
R2/R1 = 3.3/5 = 0.66
R1/R3 = (5 - 3.3)/3.3 = 0.515
PS. Voor de berekening van de weerstandswaarden ga ik uit van de volgende uitgangspunten:
- Bij +5V in wil je 3V3 uit. Dan loopt er geen stroom door R2 en is alleen R1 en R3 bepalend.
Die moet je dan zo kiezen dat je 3V3 krijgt : 1V7 over R1 en 3V3 over R3. - En bij -5V in wil je 0V uit. Dan loopt er geen stroom door R3 en zijn alleen R1 en R2 bepalend. : 5V over R1 en 3V3 over R2.
Daarmee kom je op bovenstaande verhoudingen.
ik heb een sensor die 0-5V gevoed wordt en zijn uitgang is standaard 2,5V.
is de uitgang hoger, heb je positieve stroom
is de uitgang lager, heb je negatieve stroom.
ik weet niet of je uw ding zou kunnen voeden met een DC spanning (tussen + en - ) en een 'virtuele GND' maken met wat weerstanden.
misschien is die virtuele GND zelf niet nodig, als je uw massa van ESP op de - aansluiting hebt van die stroom sensor
Ik heb de onderdelen in het schema voorzien van rugnummers. Praat inderdaad makkelijker. Had ik aan moeten denken 
Heb ik de advieswaarden van weerstanden zo goed begrepen? ipv een aparte 3.3v regelaar had ik gedacht om de 3.3v van de ESP32 module te gebruiken. Net als de 5v.
De oplossing van @rew lijkt me ook wel interessant. Een stuk eenvoudiger en komt overeen met de spanningsdeler die ik gebruik om de accuspanning en gasfles niveau te meten. Ik wist niet dat je zoiets kon gebruiken bij negatieve spanningen...
@fcapri, Dat had ik ook met mijn sensor verwacht. Als ik 'm op +12 en 0v aansluit (met de - op gnd) krijg ik ook iets van een halve voedingspanning (1.6v) en meet hij de positieve stromen helemaal juist in proportie. Maar bij negatieve stromen gaat de uitgangsspanning met minder dan 1/10 in vergelijk met de pos omlaag. Ik moet dus ook een -12v aansluiten. Ik heb het geprobeerd met 12v en een virtuele aarde maar dan werkt de sensor zeker niet goed. Nu zou ik met 24v en twee weerstanden een virtuele aarde kunnen maken, maar dan moet ik toch iets hebben om die 24v te genereren (ik heb alleen ongelimiteerde stromen met een spanning van 12v tot mijn beschikking.)
"Mijn oplossing" geeft al 0 tot 3V3 op de uitgang zonder opamp. Dus die opamp kun je weglaten. En anders R4 weglaten zodat de opamp niet versterkt.
En je kunt inderdaad de 3V3 van de voeding van de ESP aftakken. Nadeel is wel dat daar nogal wat ruis op zit want die ESP fluctueert nogal met zijn stroomverbruik. En dat werkt door in de metingen.
En ik zou ook de opamp -als je die al gebruikt- voeden met +/- 12V.
Dan heeft de opamp minder problemen rond 0V uitgangs-spanning. Alhoewel de A/D converter van de ESP32 ook al erg slecht presteert beneden 140 mV en boven 3.0V dus veel zal dat niet uitmaken. Dan kun je inderdaad volstaan met een MCP6002 op 5V, (of zelfs op 3V3).
Zie https://w4krl.com/esp32-analog-to-digital-conversion-accuracy/
@deKees:
Bij +5V in wil je 3V3 uit. Dan loopt er geen stroom door R2 en is alleen R1 en R3 bepalend.
Die moet je dan zo kiezen dat je 3V3 krijgt : 1V7 over R1 en 3V3 over R3.
En bij -5V in wil je 0V uit. Dan loopt er geen stroom door R3 en zijn alleen R1 en R2 bepalend. : 5V over R1 en 3V3 over R2.
Bedankt voor de methode om te weerstanden te bepalen. Erg triviaal, maar je moet het maar weten. Het enige dat ik vond was de wet van Kirchhoff. En dan gaat het snel duizelen.
Ja, dat wist ik ook niet. 
Ik was begonnen met de wet van kirchhof en dan krijg je inderdaad redelijk complexe formules. Maar als je dan de grensgevallen invult valt er ineens heel veel weg.
V_o = \frac{V_i(R2*R3) + V_b(R1*R3)}{R1*R2 + R1*R3 + R2*R3}
Neem deze dan:
In een draadkubus heeft elke ribbe een weerstand van 1 ohm.
Wat is de vervangingsweerstand op de lichaamsdiagonaal.
Dank en fijne feestdagen.
(hint: de waarde beredeneren bleek ook mogelijk)
Nou, helaas, ik ben hier toch weer terug zonder dat ik een geschikte oplossing gevonden heb.
Een 3 weerstanden deler/level shifter zonder opamp werkt niet. De inwendige weerstand van de sensor is kennelijk zo laag dat ik het nul-niveau niet op 1/2Ub krijg met een serie weerstand van 10k. Lager durf ik niet te te gaan omdat ik vrees de sensor op te blazen.
Van het berekenen van een opamp als level-shifter (en 10V -> 3v limiter) heb ik echt ongelofelijk weinig kaas gegeten.
Ik heb dit aan de hand van zoekwerk kunnen componeren, maar ik heb daar geen vertrouwen in. De componenten zomaar kopen kost (naast de best wel lange wachttijden) ook nog eens een veelvoud aan verzendkosten. In Den Haag zit een onderdelenzaak waar ik zo binnen kan lopen als ik weet wat ik nodig heb. De meeste courante onderdelen hebben ze wel op voorraad.
Kan iemand zeggen of deze oplossing wel goed is, en wat misschien een betere (courantere of alternatieve) opamp is? En wat ik met de 'trim' aansluitingen moet? Eventueel heb ik ook + en - 12v beschikbaar voor de spanningsrails (van de TBA 1-11222) zolang de stroom maar niet meer is dan een paar mA. Ook de 5V van de ESP32 is beschikbaar.
Ik heb op mijn print eigenlijk niet zo veel ruimte over dus als ik een paar weerstanden kan besparen zou dat fijn zijn. (en kleiner dan SOP-8 solderen is me nog niet gelukt:(
NB: Ik heb ook nog zitten kijken naar een ADC die direct +-5V aan kan (zonder opamp) en i2c (voorkeur) of spi heeft. Daarmee zou ik n.l. de hele opamp met weerstanden weg kunnen laten. Helaas heb ik van bijvoorbeeld de ADS8681, LTC2335-16, MCP33131 of the MAX11156 geen BreakOutBords gevonden
(en solderen daarvan kan ik niet aan)
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Ja normaal wel.
Alleen wil ik de laad en ontlaadstromen van mijn camper LiF accu meten.
Die gaan tot ruim 100 ampere. 200A zelfs voordat het (niet toegankelijke BMS) ingrijpt.
De kabel naar de inverter is bijna een cm dik.
Het lijkt me niet handig zulke stromen door een chipsubstraat te sturen.
De stroomsensoren heb ik al in huis. Die negatieve uitgangsspanning heeft me verrast. Vooral omdat de meeste sensoren zelf al een 1/2Ub offset verzorgen
Hi, ik wil graag even mijn uiteindelijk gekozen oplossing kenbaar maken als dank voor meedenken.
Ik heb dit onderdeel een tijdje laten liggen omdat ik er niet uit kwam met de spanningsdelers en het optrekken naar 0-5v.
De QNHC6 sensort is een rare eend. De spanningsdeler was geen probleem. Maar wat ik ook probeerde, bij het optellen van het gewenste potentiaal zat de sensor de boel danig dwars. Of ik nu alleen een weerstandsnetwerk probeerde of met een opamp er bij. Dat ding gedraagt zich als een vrij laagohmige constante spanningsbron die zijn waarde wil opdringen aan de rest van de elektronica.
Het enige moment dat ik mijn 0 nivo kon optrekken was door een laagohmige referentie (bijv via opamp) op het 'som' punt te zetten. Echter daardoor werd de stroom door de sensor uitgang vele malen hoger dan normaal en trok hij zijn eigen +-12v voeding uit balans (ik gebruik een tba 1-1222). De -12V dropte tot -9v terwijl de +12v 'goed' bleef. Daarnaast bleek de lineariteit van sensor volledig naar de knoppen te zijn. (Ik denk dat de beveiliging van de TBA mijn sensor gered heeft
)
Ik verwachtte daardoor mijn heil te moeten zoeken in instrumentatie versterkers of zo.
Toch kwam ik na een paar nachtjes slapen met een vrij eenvoudige oplossing.
De TBA 1-1222 die deKees suggereerde was de geniale oplossing. De TBA genereert zijn + en - 12v uit de inputvoeding (van 12v) en creëert daarbij spanningen die galvanisch volledig gescheiden zijn van zijn bron.
Het nul potentiaal van de sensor en TBA was dus zwevend en moest ik dus sowieso ergens aan hangen om een meting met de ads1115 uit te kunnen voeren.
Gewoon aan de -Ub (0v ) van de esp32 hangen is de voor de hand liggende gedachte maar lost het negatieve potentiaal van de sensor uitgang niet op. Maar wél als ik op een of andere manier het 0 potentiaal voor de buitenwereld kon verschuiven tot onder de -5v.
En daar was een mooie oplossing voor. Een 79L05. Gewoon standaard op TBA ground en -12v aangesloten. Zijn -5v uitgang (die dus ook potentiaal vrij was ten opzichte van de esp32) gebruikte ik als koppel punt voor de 0v van die esp.
Nu had ik dus (voor de esp) een spanning tussen 0 en 10v! Alles positief, alleen te hoog. Maar dat was met een eenvoudige deler op 0-5v (of 0-3.3v) te zetten. En de sensor kreeg geen geforceerde verschuiving van zijn output meer voor zijn kiezen.
Missie geslaagd. Dank allen!
NB, Ik heb overigens voor en Proof-Of-Concept in eerste instantie een 50k trimpotje ingezet om die -5v te krijgen. Ik kon zo makkelijk het effect een variable uitgangspanning uitproberen. 5V bleek gewoon perfect te voldoen. Deze was binnen een mV stabiel zolang de voeding van de TBA maar stabiel bleef (en die 'volgt' gewoon zijn bron). Ook kon ik met deze hoogohmige 'voeding' makkelijk zien of er toch ergens een grote belasting in het circuit optrad (wat dus niet het geval was).