I2C Decoupling ohne Optokoppler

Gast #3318303
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.
Angehängte Dateien:
Gast #3318318
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
Gast #3318362
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?
#3318390
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.
Gast #3318402
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.
#3318445
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.
Gast #3318460
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
Gast #3318551
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?
Angehängte Dateien:
Gast #3318571
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.
#3318876
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
Gast #3319510
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren