Forum: Mikrocontroller und Digitale Elektronik i2c Isolator für 2.5volt


von Spoe N. (elkoo)


Lesenswert?

Moin,

Ich möchte via I2C ein paar Atmega328 microcontroller mit einem Arduino 
Mega verbinden. Diese müssen aber entkoppelt sein (dh. kein common 
ground, keine gemeinsame Versorgungsspannung). Deshalb will ich einen 
Isolator einsetzen (wie den TI ISO1540). Jedoch muss der Isolator 
mindestens auf der Atmega328-Seite auch schon bei 2.5v und nicht erst 
bei 3v Versorgungsspannung funktionieren. Die zweite Seite kann ich mit 
5v versorgen.

Gibt es sowas als abgeschlossenes, kostengünstiges Bauelement?

Danke für eure Tipps & hinweise.

von Baendiger (Gast)


Lesenswert?

Von Analog Devices kann die ADUM Serie (teilweise ?) 2,5V

von Spess53 (Gast)


Lesenswert?

Hi

>Ich möchte via I2C ein paar Atmega328 microcontroller mit einem Arduino
>Mega verbinden. Diese müssen aber entkoppelt sein (dh. kein common
>ground, keine gemeinsame Versorgungsspannung).

Warum?

MfG Spess

von Spoe N. (elkoo)


Lesenswert?

Die Atmega328 chips überwachen einzelne Blocks einer Batterie und melden 
Spannung und Temperatur an die «Zentrale» (Arduino Mega) zwecks Battery 
Management. Die Atmegas laufen direkt mit der jeweiligen Zellspannung, 
welche zw. 2.5v & 4.2v sein kann. Deshalb muss auch der Isolator ab 2.5v 
laufen. Die Spannung innerhalb der Batterie kann bis knapp unter 60v 
betragen, daher kein Common Ground. Etwas kompliziert zu erklären - 
hoffe es ist einigermassen nachvollziehbar.

von Frank K. (fchk)


Lesenswert?

Spoe N. schrieb:
> Moin,
>
> Ich möchte via I2C ein paar Atmega328 microcontroller mit einem Arduino
> Mega verbinden. Diese müssen aber entkoppelt sein (dh. kein common
> ground, keine gemeinsame Versorgungsspannung). Deshalb will ich einen
> Isolator einsetzen (wie den TI ISO1540). Jedoch muss der Isolator
> mindestens auf der Atmega328-Seite auch schon bei 2.5v und nicht erst
> bei 3v Versorgungsspannung funktionieren. Die zweite Seite kann ich mit
> 5v versorgen.

https://www.silabs.com/isolation/digital-isolators/si86xx-digital-isolators

Up to 5 kVrms isolation
UL, CSA, VDE certification
60-year life at rated working voltage
High electromagnetic immunity
Supply voltage 2.5 to 5.5 V
Independent, bidirectional SDA and SCL isolation channels
    Open drain outputs with 35 mA sink current
    Supports I²C clocks up to 1.7 MHz
    Unidirectional isolation channels support additional system signals 
(Si8605, Si8606)

fchk

PS:
Ich hab mir gerade das Datenblatt angeschaut

https://www.silabs.com/documents/public/data-sheets/Si860x.pdf

und da steht 3.0V. Auf der Webseite steht 2.5V. FRag am Besten mal nach, 
und/oder besorge Dir so ein Teil mal und probiere aus, ob es bei 2.5V 
noch sauber funktioniert.

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Spoe N. schrieb:

> laufen. Die Spannung innerhalb der Batterie kann bis knapp unter 60v
> betragen, daher kein Common Ground. Etwas kompliziert zu erklären -
> hoffe es ist einigermassen nachvollziehbar.

Für sowas gibts von Analog/Linear spezielle Bausteine, wo ein Chip 12 
oder 14 Zellen monitoren kann. Das ist letztendlich deutlich billiger 
als 12 Arduinos plus die Isolatoren, die auch ein paar € kosten.

https://www.analog.com/en/products/power-management/battery-management/multicell-battery-stack-monitor.html

Schau Dir das an:

https://www.analog.com/en/products/ltc6811-1.html

Diese Bausteine gibts nicht ohne Grund.

fchk

von foobar (Gast)


Lesenswert?

Ich denke, dass "Warum?" von Spesss meinte "Warum I2C?".  I2C galvanisch 
zu trennen ist sehr aufwendig.  UART z.B. wäre deutlich einfacher.

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


Lesenswert?

Spoe N. schrieb:
> Die Atmega328 chips überwachen einzelne Blocks einer Batterie und melden
> Spannung und Temperatur an die «Zentrale» (Arduino Mega) zwecks Battery
> Management. Die Atmegas laufen direkt mit der jeweiligen Zellspannung,
> welche zw. 2.5v & 4.2v sein kann. Deshalb muss auch der Isolator ab 2.5v
> laufen.

Typischer Fall von "dämliches Design führt zur Frage nach 
Wunderbauelementen"

Die Kommunikation ist doch unidirektional. Kein Grund, dafür auf I²C zu 
setzen. Nimm SPI oder UART. Dann reichen Optokoppler.

Und schau dir auch an, wie das die Profis machen. Ein ATMega328 (also 
wahrscheinlich Arduino-nano) pro Zelle ist vollkommener Overkill.

von Spoe N. (elkoo)


Angehängte Dateien:

Lesenswert?

Ist der Unterschied denn so gross?
Brauche ich nicht sowohl bei UART als auch bei I2C ein RX ein TX sowie 
einen gemeinsamen GND?

Würde das konkret nicht die gleiche Anzahl trennstellen bedeuten? 
Wunderbauelement - nö, denke ich nicht?! Imho würde es der TI ISO1540 
tun, wenn er schon ab 2.5v funktionierte... wesentlich unter 3v werde 
ich ohnehin nicht gehen - die 2.5v sind reine Sicherheit.

Zum Einsatz soll der blanke ATmega328 kommen (mit 8mhz internal clock). 
Es wird aber immer eine bidirektionale Kommunikation benötigt, da der 
Arduino Mega die Infos abfragt zu dem Zeitpunkt wo er sie für nötig 
hält. Dann treten erst die Atmega328 in Aktion, messen & melden.

Und nein, ich bin kein Profi und ja, ich mache bestimmt Fehler, denn von 
der ganzen Sache habe ich (noch) nicht derart viel Ahnung, dass ich das 
ohne das Fragenstellen schaffe. ABER ich lerne dazu ;)

von Klaus (Gast)


Angehängte Dateien:

Lesenswert?

Spoe N. schrieb:
> Brauche ich nicht sowohl bei UART als auch bei I2C ein RX ein TX sowie
> einen gemeinsamen GND?

Nicht wirklich. I2C ist bidirektional, sowohl SDA als auch SCL. Beim 
UART reicht TX (bzw. von der anderen Seite RX). Die oben gezeigte 
Schaltung wird für I2C zweimal bebraucht.

MfG Klaus

von Spoe N. (elkoo)


Angehängte Dateien:

Lesenswert?

Klaus schrieb:
> Nicht wirklich. I2C ist bidirektional, sowohl SDA als auch SCL. Beim
> UART reicht TX (bzw. von der anderen Seite RX). Die oben gezeigte
> Schaltung wird für I2C zweimal bebraucht.

Heisst das im Umkehrschluss, dass ich mit zwei Optokopplern auskomme 
wenn ich UART verwende? Da war ich irgendwie auch schon mal... siehe 
Anhang

von Klaus (Gast)


Lesenswert?

Spoe N. schrieb:
> Heisst das im Umkehrschluss, dass ich mit zwei Optokopplern auskomme
> wenn ich UART verwende?

Ja. Und wenn die Atmegas nur senden reicht auch einer.

MfG Klaus

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.