Forum: Analoge Elektronik und Schaltungstechnik IL300 Optokoppler Beschaltung für ADC


von karl (Gast)


Lesenswert?

Hallo Leute,

ich krieg's nicht hin... ;-)

Ich versuche die Spannung von Li-Ion Zellen optisch isoliert zu messen. 
Dafür verwende ich einen IL300, bekomme die Beschaltung aber nicht 
sauber hin. Ich bin in Analogtechnik echt schwach. Das Datenblatt habe 
ich schon mit meinem schmalen Know-How analysiert, bin aber nur 
beschränkt weitergekommen. Ebenso mit der Recherche hier im Forum.

Ich habe auf der Eingangsseite einen 330R Widerstand auf der Plus Seite 
und gehe damit direkt an den Akku. Ich möchte dort einen Spannung 
zwischen 2,5 und 4,5V messen.

Auf der Ausgangsseite gehe ich einerseits auf +5V und am Ausgang mit 
4.7kR auf GND und mit dem Ausgang an einen ADS1115 ADC Wandler.

Leider bekomme ich kein sinnvolles Signal am Multimeter dargestellt.

Könnt ihr mir bitte helfen, die Beschaltung richtig hin zu bekommen.

Danke schon mal
Karl

von karadur (Gast)


Lesenswert?

Hallo schau dir das mal an: https://www.vishay.com/docs/83708/appn50.pdf

von karl (Gast)


Lesenswert?

hi
danke, das wollte ich gerade reinverlinken
https://www.vishay.com/docs/83708/appn50.pdf

ich werde daraus leider auch nicht schlau. das ist immer mit opamps usw.

ich will einfach nur auf der ausgangsseite ein lineares signal. alle 
off-sets usw. kann ich in der programmierung machen...

danke

von karadur (Gast)


Lesenswert?

Damit es linear wird brauchst du die OPs.
Die eine Photodiode in der Gegenkopplung sorgt mit dem OP für eine 
Regelung der LED. Die andere Photodiode erzeugt dann einen Strom der 
proportional dem Eingang des OPs ist.

von Achim S. (Gast)


Lesenswert?

karl schrieb:
> alle
> off-sets usw. kann ich in der programmierung machen...

Auch die Exemplarstreuungen, den Temperaturgang und die Alterung des 
Optokopplers?

Wie auch immer: wenn du glaubst, dass es auch ohne Nachregelung per OPV 
genau genug wird...

Dein Eingangsstrom liegt rechnerisch irgendwo zwischen 3mA und 9,8mA. 
Der Ausgangsstrom sollte also zwischen 18µA und 166µA liegen. An deinen 
4,7kOhm sollten also zwischen 84mV und 780mV abfallen. Das müsste für 
deinen ADC gut zu messen sein.

Welche Werte misst du denn stattdessen und was genau bedeutet folgende 
Aussage:

karl schrieb:
> Leider bekomme ich kein sinnvolles Signal am Multimeter dargestellt.

Wenn das Ausgangssignal nicht in diesem Bereich ist, dann hast du wohl 
einen Fehler in der Schaltung (Emfpänger verpolt oder Sendediode verpolt 
oder ...)

karl schrieb:
> Könnt ihr mir bitte helfen, die Beschaltung richtig hin zu bekommen.

Dann zeig doch mal eine Schaltskizze der tatsächlichen Beschaltung.

von temp (Gast)


Lesenswert?

karl schrieb:
> Ich versuche die Spannung von Li-Ion Zellen optisch isoliert zu messen.
> Dafür verwende ich einen IL300,

karl schrieb:
> Auf der Ausgangsseite gehe ich einerseits auf +5V und am Ausgang mit
> 4.7kR auf GND und mit dem Ausgang an einen ADS1115 ADC Wandler.

Ob die erreichbare Linearität des IL300 zum ADS1115 passt wage ich zu 
bezweifeln. Warum machst du die Isolation nicht auf der i2c-Seite. Da 
gibt es doch genügend Lösungen. z.B. Adum1250/1251 ISO1540. Gibt es 
beide bei Reichelt.
https://www.reichelt.de/ICs-ADC-ADXRS-/ADUM-1251-ARZ/3/index.html?ACTION=3&LA=446&ARTICLE=185563&GROUPID=5458&artnr=ADUM+1251+ARZ&SEARCH=adum12&trstct=pos_4

von Karl (Gast)


Lesenswert?

karl schrieb:
> Ich habe auf der Eingangsseite einen 330R Widerstand auf der Plus Seite
> und gehe damit direkt an den Akku. Ich möchte dort einen Spannung
> zwischen 2,5 und 4,5V messen.

Das geht nicht. Du brauchst auf der Eingangsseite eine Nachregelung mit 
OPV. Dafür ist der zweite Empfänger im IL300 da. Ansonsten ist der IL300 
weder linear noch stabil. Jede Temperaturänderung wird Deinen Wert 
verändern.

von MaWin (Gast)


Lesenswert?

karl schrieb:
> Ich versuche die Spannung von Li-Ion Zellen optisch isoliert zu messen.
> Dafür verwende ich einen IL300,

Kannst du vergessen, der IL300 ist dafür nicht genau genug

> Ich habe auf der Eingangsseite einen 330R Widerstand auf der Plus Seite
> und gehe damit direkt an den Akku. Ich möchte dort einen Spannung
> zwischen 2,5 und 4,5V messen

Was soll der Schwachsinn ? Hast du noch nicht mal einen Blick ins 
Datenblatt des IL300 nach der Analoganwendung geworfen ?

Stimmt, musst du auch nicht, er taugt nicht für deine Anwendung und 
braucht auch noch viel Strom.

von Karl W. (charly144)


Lesenswert?

MaWin schrieb:
> karl schrieb:
>> Ich versuche die Spannung von Li-Ion Zellen optisch isoliert zu messen.
>> Dafür verwende ich einen IL300,
>
> Kannst du vergessen, der IL300 ist dafür nicht genau genug
>
>> Ich habe auf der Eingangsseite einen 330R Widerstand auf der Plus Seite
>> und gehe damit direkt an den Akku. Ich möchte dort einen Spannung
>> zwischen 2,5 und 4,5V messen
>
> Was soll der Schwachsinn ? Hast du noch nicht mal einen Blick ins
> Datenblatt des IL300 nach der Analoganwendung geworfen ?
>
> Stimmt, musst du auch nicht, er taugt nicht für deine Anwendung und
> braucht auch noch viel Strom.

Danke MaWin für deinen wertschätzenden Beitrag. Wenn das alles so klar 
für mich wäre, wäre ich nicht mit meiner Frage hier!

Zu den Anderen Beiträgen: Vielen Dank für Eure Inputs!

Nachdem ich 14 Batteriepacks messen möchte, d.h. 14 in Serie, muss ich 
die Schaltung 14x realisieren und das ist mir in Summe zu komplex mit 
den opamps.

Hat wer eine Idee, wie ich das zielführend lösen kann. Ich verwende auf 
der digitalen Seite einen esp8266 oder esp32 mit EspEasy und der 
unterstützt halt den ADS1115.

Bin offen für Ideen und Hinweise.... ;-)

Danke
Karl

von Oskar D. (tds210)


Lesenswert?

Ich habe vor kurzem ein 0-7V Signal galvanisch getrennt messen wollen 
und habe dafür die Schaltung mit einem Transistor aus diesem Thread 
genommen, funktioniert super! Du musst wahrscheinlich die Widerstände 
anpassen
Beitrag "Lineare High-Side-Strommessung mit Optokopplern"

von temp (Gast)


Lesenswert?

Karl W. schrieb:
> Bin offen für Ideen und Hinweise

glaub ich nicht, sonst wärst du auf den Vorschlag der Isolation des i2c 
eingegangen. Außerden solltest du wenigstens beschreiben was du unter 
"Akkupacks" verstehst. Glaube kaum dass hier einer Lust hat auf 
Ratespiele. Weiterhin ist mir unklar wie du die 14 ADS1115 (mit max. 4 
verschiedenen i2c Adressen) an einem ESPxx betreiben willst, und wenn du 
pro ADS1115 einen ESPxx nehmen willst wozu ist dann die Isolation nötig? 
Außer dein WLAN-Kabel ist zu niederohmig...

von Karl (Gast)


Lesenswert?

Trotz deiner Bereitschaft mir zu helfen ein etwas gewöhnungsbedürftiger 
Ton...

Also, das Projekt, an dem ich derzeit arbeite, ist ein Batteriespeicher 
für mein Haus auf Basis 18650er Zellen. Der gesamte Speicher besteht aus 
14s80p, d.h. 80 Zellen parallel, sodas 150Ah zusammen kommen und 14 in 
Serie, damit 48V rauskommen...

Für die Überwachung jedes 80p Packs muss ich die Packspannung 
überwachen, die sich irgendwo zwischen 2,5 bis 4,2V bewegen wird. Ich 
hoffe soweit klar.

Geht irgend ein Pack über die 4,2V und alle anderen sind noch nicht da, 
dann wird ein Widerstand zum Pack geschalten, der ca. 1A verbrennt und 
so die Spannung unter Kontrolle hält, bis die anderen Packs auch die 
gleiche Spannung haben. Die Funktion eines passiven 
Batteriemanagementsystems.

Der ESP8266 kann mit dem ADS1115 gut umgehen und der ADS ist ja auf 4 
Adressen programmierbar, wodurch sich 16 Kanäle in Summe ergeben würden, 
was gut für mich passt. 14 für die Packs und 1 für die Gesamtspannung... 
Ich brauche keine 14 ADS.

Mein Thema ist mit dem ADS1115, dass die 4 Kanäle nicht galvanisch 
getrennt betreibbar sind. Einziger Weg wäre, wenn ich pro Batteriepack 
(als in Summe 14x) einen ESP einsetze. Auch das ist nicht völlig 
abwegig, aber ein wenig viel los im WLAN dann... Ich hätte dann aber die 
Spannungsversorgung vom Batteriepack und nicht unabhängig, was speziell 
im Winter, wo der Batteriespeicher nicht über PV geladen wird, die Packs 
definitiv entleert... nicht so optimal.

Bzgl. Galvanische Trennung des I2C. Dazu habe ich gar keine Idee! Ich 
bin gerade mal im STande ESPEasy für die Programmierung zu verwenden, 
Code selbst kann ich keinen schreiben.
Die galv. Trennung würde dann aber bedeuten, dass ich 14 ADS benötigen 
würde, was aber wieder mit dem ADS nicht funktionieren würde... Aber 
grundsätzlich wäre das schon spannend... Oder ist dann die Adressierung 
des ADS kein relevantes Thema mehr?

Vielen Dank schon mal und ich hoffe, ihr könnt euch ein Bild zu meinem 
Setup machen.

Karl

von temp (Gast)


Lesenswert?

Karl schrieb:
> Bzgl. Galvanische Trennung des I2C. Dazu habe ich gar keine Idee! Ich
> bin gerade mal im STande ESPEasy für die Programmierung zu verwenden,
> Code selbst kann ich keinen schreiben.

Ab jetzt bin ich raus. Hoffentlich hast du eine gute Versicherung. Mit 
so wenig Kenntnissen würde ich so etwas auf keinen Fall anfangen. Bis 
jetzt ist das wo du Probleme hast absolut trivial. Wenn du daran schon 
scheiterst, ist das Projekt eine Nummer zu groß für dich. Diesen 
fehlenden Wissenstand kannst   du mit ein paar gezielten Fragen hier 
nicht wett machen.

Karl schrieb:
> Geht irgend ein Pack über die 4,2V und alle anderen sind noch nicht da,
> dann wird ein Widerstand zum Pack geschalten, der ca. 1A verbrennt und
> so die Spannung unter Kontrolle hält, bis die anderen Packs auch die
> gleiche Spannung haben. Die Funktion eines passiven
> Batteriemanagementsystems.

Ich hoffe du bist dir der Komplexität an dieser Stelle bewusst. Damit 
dein Widerstandsbalancing mit 1A funktioniert musst du auch sicher 
stellen, dass der Ladestrom 1A nicht überschreitet. Und dieser 
sicherheitsrelevante Datenaustausch wird dann per WLAN gehandelt? Au 
weia.

von Karl (Gast)


Lesenswert?

Karl W. schrieb:
> und das ist mir in Summe zu komplex mit
> den opamps.

Dann hast Du Pech.

Karl schrieb:
> Galvanische Trennung des I2C. Dazu habe ich gar keine Idee! Ich
> bin gerade mal im STande ESPEasy für die Programmierung zu verwenden,
> Code selbst kann ich keinen schreiben.

Dann hast Du noch mehr Pech.

Einfach mit den IL300 geht nicht. Iss so. Entweder die OPV und dann auf 
der anderen Seite wandeln.

Oder auf der Batterieseite wandeln, und dann die digitalen Daten optisch 
oder über ADUM übertragen. Dafür empfiehlt sich aber einen (oder eben 
14) AD-Wandler mit SPI zu verwenden.

Ersteres ist weniger aufwendig, zumal Du einen Mikropower OPV nehmen 
kannst und den und den IL300 aus den Akkus versorgen kannst. Nachteil, 
die Schaltung zieht immer einige mA aus den Akkus und wenn Du sie 
vergisst und die Akkus ausser Betrieb nimmst, wird sie - über Monate - 
Deine Akkus gnadenlos tiefentladen.

von Spannungsteiler (Gast)


Lesenswert?

Karl schrieb:
> Bzgl. Galvanische Trennung des I2C. Dazu habe ich gar keine Idee!

siehe hier:
Beitrag "AVR SDA-SCL One-Wire I2C Optokoppler"

von Karl W. (charly144)


Lesenswert?

temp schrieb:
> Karl schrieb:
>> Bzgl. Galvanische Trennung des I2C. Dazu habe ich gar keine Idee! Ich
>> bin gerade mal im STande ESPEasy für die Programmierung zu verwenden,
>> Code selbst kann ich keinen schreiben.
>
> Ab jetzt bin ich raus. Hoffentlich hast du eine gute Versicherung. Mit
> so wenig Kenntnissen würde ich so etwas auf keinen Fall anfangen. Bis
> jetzt ist das wo du Probleme hast absolut trivial. Wenn du daran schon
> scheiterst, ist das Projekt eine Nummer zu groß für dich. Diesen
> fehlenden Wissenstand kannst   du mit ein paar gezielten Fragen hier
> nicht wett machen.
>
> Karl schrieb:
>> Geht irgend ein Pack über die 4,2V und alle anderen sind noch nicht da,
>> dann wird ein Widerstand zum Pack geschalten, der ca. 1A verbrennt und
>> so die Spannung unter Kontrolle hält, bis die anderen Packs auch die
>> gleiche Spannung haben. Die Funktion eines passiven
>> Batteriemanagementsystems.
>
> Ich hoffe du bist dir der Komplexität an dieser Stelle bewusst. Damit
> dein Widerstandsbalancing mit 1A funktioniert musst du auch sicher
> stellen, dass der Ladestrom 1A nicht überschreitet. Und dieser
> sicherheitsrelevante Datenaustausch wird dann per WLAN gehandelt? Au
> weia.

Was ist denn dir passiert, du könntest in Wien (da komm ich her) als 
grantelnder Kellner arbeiten, da würdest du nicht auffallen gg

Sorry, aber das ist einfach nicht nötig, das kann man auch neutral 
kommunizieren.

von Karl W. (charly144)


Lesenswert?

Ich glaube die Lösung mit der galvanischen Trennung auf der I2C 
erscheint den meisten Sinn zu machen. Ich habe bei meiner Suche eine 
Lösung gefunden, die aus meiner Sicht durchaus Sinn macht. Ich werde 
mich da einlesen und nach Bewertung eventuell nachbauen:

https://github.com/stuartpittaway/diyBMS

danke an alle, die hier ihre Ansätze mit mir geteilt haben. Das ist eben 
das tolle und nette an den Foren, dass es motivierte Menschen (mit 
unterschiedlichem Know-How) gibt, die sich austauschen und einander 
weiter helfen.

Ich bin eher auf der digitalen Seite unterwegs und das mit Grenzen, aber 
das sollte einen nicht vor Bastelein abhalten.

Vielen Dank
Karl

von Max S. (maximus-minimus)


Lesenswert?

pass auf..gleich kommen die ersten die sich über Deine freche Art 
beschweren, wo sie dir doch so toll helfen...
Das Sozialverhalten in diesem Forum ist allseits bekannt...der Ruf eilt 
dem Forum voraus...
Wirklich qualifizierte Leute schreiben hier schon gar nicht mehr, weil 
sie es als Kindergarten bezeichnen oder eine Gruppe mit Sozialstörungen.
Und nun kritisiert die Rechtschreibung..lol

von Karl W. (charly144)


Lesenswert?

na du traust dich auch was... ggg.

ich finde sowas einfach unnötig, das bringt doch nichts, außer einen 
selbst in eine abwärtsspirale zu bringen. aber jeder wie er mag und 
wenn's einem besser geht, dann halt so. ich kann das aushalten und muss 
es mir ja nicht dauernd reinziehen *einer der mit dem leben zufrieden 
ist*

danke an alle helfenden hände!
Karl

von temp (Gast)


Lesenswert?

Karl schrieb:
> Ich
> bin gerade mal im STande ESPEasy für die Programmierung zu verwenden,
> Code selbst kann ich keinen schreiben.

Karl W. schrieb:
> Ich bin eher auf der digitalen Seite unterwegs und das mit Grenzen, aber
> das sollte einen nicht vor Bastelein abhalten.

Nein vom Basteln sollte dich das nicht abhalten. Aber ein LiIon Akku mit 
7.2kWh der unbeaufsichtigt vor sich hin arbeitet und im Fehlerfall im 
wahrsten Sinne des Wortes brandgefährlich ist als Bastelei zu bezeichnen 
ist schwer untertrieben. Du kannst dich doch nicht darauf verlassen, 
dass der Code den du irgendwo zusammenkopierst auch nur annähernd 
fehlerfrei ist. Noch dazu bei solchen Teilen wie ESPxxx. Wenn du dann 
nicht mal ansatzweise einen Plan hast wie das fertige System unter allen 
Umständen funktioniert kann man das nur als grob Fahrlässig bezeichnen.
Die Leute hier im Forum mit besserem Background als du wissen, dass sich 
hier viele maßlos überschätzen, und das wirkt sich auf das Klima im 
Forum aus.
Wenn Fragen von Anfängern gestellt werden, die sich auf Projekte 
beziehen die dem Kenntnisstand entsprechen, fallen die Antworten auch 
anders aus und es wird gern geholfen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.