Forum: Mikrocontroller und Digitale Elektronik I2C Decoupling ohne Optokoppler


von Johannes (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe mehrer LifePo4 Zellen in Reihe geschaltet und habe an jeder 
Zelle einen AVR hängen.Ich möchte mittels I2C(TWI) Informationen von 
einem AVR zu anderen AVRs mitteilen.

Die GNDs der AVRs liegen nicht auf dem gleichen Potential wie man auf 
dem Bild sieht.

Ich möchte keine Optokoppler verwenden, wegen der langsamen 
Übertragungsrate und wegen der etwas höheren Kosten der schnelleren 
6N136 usw.

Was gibt es sonst noch für Möglichkeiten? Gibt's eine Schaltung mit 
Transistoren, die diese Aufgabe übernimmt? Gibt es Probleme, wenn ich 
wie im Bild eine Kapazität zur Potentialtrennung benutze?

Im Bild sind die beiden Widerstände die Pullups für den I2C Bus. Das 
Bild ist nur beispielhaft.

von Matthias L. (Gast)


Lesenswert?

Meinst DU das Optokoppler teurer sind als kaputte uC?

Hör auf mit dem Unsinn.

>Informationen von einem AVR zu anderen AVRs mitteilen.

Was für Informationen? NUR Spannung des einzelnen Akkus?
Dann nimm einen Wandler, welcher einen delta-sigma Ausgang hat. Da 
reicht Optokopplerkanal um alle auf dieselbe Masse zu bringen.

Etwa sowas meine ich:
http://www.analog.com/en/analog-to-digital-converters/ad-converters/ad7400a/products/product.html

von Johannes (Gast)


Lesenswert?

Warum gehen die uCs kaputt? Was könnte schief gehen?

von Matthias L. (Gast)


Angehängte Dateien:

Lesenswert?

Überleg mal, was der Ladestrom des Cs anrichtet? Ich hab den Stromkreis 
mal reingemalt. Wie gross ist der Strom? Wieviel darf durch die internen 
Dioden fliessen?

von Johannes (Gast)


Lesenswert?

Nagut.
Aber es muss doch noch eine andere Möglichkeit geben.
Im Prinzip möchte ich ja nur eine Spannung auf Masse beziehen. Gibt es 
dazu nicht einen Begriff.
Einen Differenzverstärker könnte man nehmen, was gibt es noch für 
Möglichkeiten?

von Peter R. (pnu)


Lesenswert?

Denkbar wäre ein Speicherkondensator mit z.B. 100nF, der mit einem 
Multiplexer sequentiell an die Verbindungspunkte zwischen den Zellen 
geschaltet wird.

Das masseseitige Ende muss natürlich mit Umladestrombegrenzung 
(z.B.1kOhm)
und Abfangvorrichtung gegen neg. Spannung und U > Vcc versehen sein.

Reihenfolge der Schritte:

C an n-ten Verbindungspunkt legen, anderes Ende an Masse legen, C nimmt 
Potential des ersten Verbindungspunktes an, als Nullpunkt.

Öffnen der Masseverbindung.

Umschalten des C auf (n-1)ten Verbindungspunkt. Anderes Ende auf 
Analogeingang legen. Dort liegt dann Spannungsdifferenz zwischen n-tem 
und (n-1)tem Punkt an.

/AD wandlung.

nächster Zyklus.

Bei den AVR's kann das auf Masse legen und Umschalten auf Messung an 
einem einzelnen Pin erfolgen, da man ja von input auf Output umschalten 
kann.

von Johannes (Gast)


Lesenswert?

Die Idee ist gut, damit könnte ich die einzelnen Zellspannungen messen. 
Ich lasse es mir mal durch den Kopf gehen

von Matthias L. (Gast)


Lesenswert?

>Die Idee ist gut, damit könnte ich die einzelnen Zellspannungen messen.

Finde ich nicht. Es ist und bleibt ein Gebastel mit Risiken. Optokoppler 
wurden genau dafür erfunden: Um grosse Potentialdifferenzen zu 
überbrücken. Deshalb: Mach es richtig und baue nur den ADC an die 
Batterie. Die Datenleitungen über Opto getrennt und fertig.

Und günstiger im Sinne von Material, Aufwand wird es definitiv nicht.

von Peter R. (pnu)


Lesenswert?

Es kommt halt drauf an, was der TE unter "gewissen Informationen" 
versteht.

Wenns nur um Spannungsüberwachung der Zellen geht, kann man die 
Schaltfolge gering halten, vor Allem beim Laden oder beim Leerlauf.

Der Stromverbrauch ist dann sicher geringer als bei Optokopplern, ganz 
zu schweigen von den zusätzlichen Analogwandlern oder Prozessoren für 
jede einzelne Zelle.

von Matthias L. (Gast)


Lesenswert?

>Der Stromverbrauch ist dann sicher geringer als bei Optokopplern, ganz
>zu schweigen von den zusätzlichen Analogwandlern oder Prozessoren für
>jede einzelne Zelle.

Auch Du solltest oben auf den Link von mir klicken und das 
Blockschaltbild ansehen. Man braucht keine extra Optos oder µC oder 
sowas. Nur der eine Chip pro Batterie

von Stefan S. (dipsy)


Lesenswert?


von Johannes (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe noch eine Transistor-Schaltung gefunden, mit der ich die 
Signale auf höhere Potentiale übertragen kann.
Mit dem Kondensator konnte ich die Schaltzeiten verkürzen.

Gibt es noch so andere Möglichkeiten, die Schaltzeiten zu verbessern?

von Matthias L. (Gast)


Lesenswert?

>Gibt es noch so andere Möglichkeiten, die Schaltzeiten zu verbessern?

Ja. Wie oft denn noch?
http://www.analog.com/en/analog-to-digital-converters/ad-converters/ad7400a/products/product.html

Wozu willst du jede Menge zu programmierender µC aufbauen, wenn es ein 
fertiger Chip machen kann?

Willst du unbedingt was mit einem Bus machen? Dann nimm den Bus zum 
Besorgen der Bauteile.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Johannes schrieb:
> Ich möchte keine Optokoppler verwenden, wegen der langsamen
> Übertragungsrate und wegen der etwas höheren Kosten der schnelleren
> 6N136 usw.

Warum langsam? Wieviele Datenpakete willst du denn pro Sekunde 
übertragen? Und vor Allem: WARUM ?

von Axel S. (a-za-z0-9)


Lesenswert?

Magnus M. schrieb:
> Johannes schrieb:
>> Ich möchte keine Optokoppler verwenden, wegen der langsamen
>> Übertragungsrate und wegen der etwas höheren Kosten der schnelleren
>> 6N136 usw.
>
> Warum langsam? Wieviele Datenpakete willst du denn pro Sekunde
> übertragen? Und vor Allem: WARUM ?

Das frage ich mich auch. Zumal I²C ja von Haus aus schon schnarchlahm 
ist. Außerdem will man an dieser Stelle sowieso kein I²C verwenden, 
sondern eher SPI, weil da die einzelnen Leitungen unidirektional sind.


XL

von Gerhard W. (gerhard86)


Lesenswert?

Nimm, wenn es ein µC pro Zelle sein soll, SPI oder UART und die 
billigsten Optokoppler die du kriegen kannst, pass dann die Datenrate 
an. Die Batteriespannung ändert sich doch so langsam dass du mit ein 
paar 100bit/s immer noch total gut dran bist.

von Chris (Gast)


Lesenswert?

Also wenn es schnell sein soll nimm doch HCPL-0601 :-D
Kostet bei Farnell 1Stk 1,-€ ...
oh man ^^

von Gerhard W. (gerhard86)


Lesenswert?

Nur, warum sollte es überhaupt schnell sein? Den Strom kann man dank 
Serienschaltung messen wo es bequem ist, die Spannung und die Temperatur 
sind alle 10 Sekunden oder so interessant.

von RS (Gast)


Lesenswert?

Alternative Lösung:
Du könntest an jede Zelle einen Spannungs-zu-Frequenzwandler hängen. 
Über einen einzelnen Koppelkondensator pro Zelle kannst du dann alle 
Signale zusammen auf einem Potential am µC auswerten. Auf der Seite des 
µC müssen pro Signal nur zwei Klemmdioden und ein 
Strombegrenzungswiderstand angebracht werden, um die Eingänge bei 
unerwarteten Transienten zu schützen.

Gruß, RS

von Frank K. (fchk)


Lesenswert?

Schau Dir den LTC6802/LTC6803 an. Der ist genau für diese Aufgabe 
gemacht.

http://www.linear.com/product/LTC6802-2
http://www.linear.com/product/LTC6803-2

fchk

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.