Forum: Analoge Elektronik und Schaltungstechnik schneller Optokoppler gesucht (3V RS-232, Reichelt?)


von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Hi!

Ich brauche eine kurze Info aus der Schwarmintelligenz: Wer kennt einen 
Optokoppler, der bei 2,5..3V noch für RS-232 brauchbare Eigenschaften 
hat und gut verfügbar ist, evtl. bei Reichelt?

Die eigentliche RS-232 Geschwindigkeit ist nicht so ultimativ wichtig, 
eher ginge es ums Strom sparen. Heißt möglichst geringer LED-Strom, 
möglichst kurzer Datenburst... Daher schneller Optokoppler, der muss 
halt die Flankensteilheit schaffen, damit man ein brauchbares Ergebnis 
bekommt.

Oder die Frage genereller, hat jemand evtl. Erfahrung damit, was mit 
welchem Optokoppler möglich ist, wenn zwei AVR-µCs (mit 2,5..3V VCC) 
galvanisch getrennt miteinander Daten austauschen sollen?

Gehäuseform ist einigermaßen egal, SMD oder DIP-4, DIP-6 sollte alles 
passen.

Danke!

von H. H. (Gast)


Lesenswert?

Nix Opto:

ISO6721B

von Falk B. (falk)


Lesenswert?

Ben B. schrieb:
> Ich brauche eine kurze Info aus der Schwarmintelligenz: Wer kennt einen
> Optokoppler, der bei 2,5..3V noch für RS-232 brauchbare Eigenschaften
> hat und gut verfügbar ist, evtl. bei Reichelt?

Gar keiner, denn RS232 arbeitet mit +/-12V.

> Die eigentliche RS-232 Geschwindigkeit ist nicht so ultimativ wichtig,
> eher ginge es ums Strom sparen.

Also auch 300 Baud? Das kann praktisch JEDER Optokoppler.

> Heißt möglichst geringer LED-Strom,
> möglichst kurzer Datenburst... Daher schneller Optokoppler, der muss
> halt die Flankensteilheit schaffen, damit man ein brauchbares Ergebnis
> bekommt.

Alles eine Frage der Baudrate.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Wow das ging schnell.

> ISO6721B
Kenne ich nicht, schaue ich mir an.

> Gar keiner, denn RS232 arbeitet mit +/-12V.
Du weißt doch was ich meine. Einfache serielle Kommunikation mittels 
"8N1" oder wie immer man das nennen soll.

> Also auch 300 Baud? Das kann praktisch JEDER Optokoppler.
Zur Not ja, aber etwas mehr wäre schon besser, sonst dauern die 
Datenburst unnötig lange und das geht auf den Stromverbrauch.

> Alles eine Frage der Baudrate.
Genau, daher die Frage was möglich ist.

von Falk B. (falk)


Lesenswert?

Ben B. schrieb:
>> Gar keiner, denn RS232 arbeitet mit +/-12V.
> Du weißt doch was ich meine. Einfache serielle Kommunikation mittels
> "8N1" oder wie immer man das nennen soll.

Nennt sich UART.

>> Also auch 300 Baud? Das kann praktisch JEDER Optokoppler.
> Zur Not ja, aber etwas mehr wäre schon besser, sonst dauern die
> Datenburst unnötig lange und das geht auf den Stromverbrauch.

Der Stromverbrauch ist Strom x Zeit. Wenn der Optokoppler ULTRASPARSAM 
ist, kann man sich mehr Zeit lassen.

>> Alles eine Frage der Baudrate.
> Genau, daher die Frage was möglich ist.

Ich hab mal vor LAAAANGER Zeit einen Optokoppler mit 100uA betrieben und 
damit 10kHz Signale übertragen, war glaube ich einer ala IL300 mit 
Photodiode am Ausgang. Der Empfänger war aber selbst gestrickt mittels 
TIA.

von Gerald K. (geku)


Lesenswert?

Es gibt kapazitiv, isolierende Datenkoppler:

https://www.ti.com/de-de/isolation/isolated-interfaces/overview.html

https://www.elektroniknet.de/optoelektronik/bye-bye-optokoppler.167466.html

Braucht weniger Strom als Optokoppler und ist zuverlässiger als diese.

: Bearbeitet durch User
von Vanye R. (vanye_rijan)


Lesenswert?

> Heißt möglichst geringer LED-Strom,
> möglichst kurzer Datenburst... Daher schneller Optokoppler,

Vergiss den kruden misst.

Nimm einen ISO7041:

– 4.2 μA per Channel Quiescent Current (3.3 V)
– 15 μA per Channel at 100 kbps (3.3 V)
– 116 μA per Channel at 1 Mbps (3.3 V


> Ich hab mal vor LAAAANGER Zeit einen Optokoppler mit 100uA
> betrieben und damit 10kHz Signale übertragen,

Hm..mit selektierten Optos, bei 15 bis 25Grad und maximal 2Jahre 
Kundenlebensdauer? :-D

Olaf

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> Nennt sich UART.
Dann nennen wir es UART.

Worüber ich nachdenke ist eine Lösung wie ich es am besten schaffe, 
Daten von mehreren µCs, die alle auf einem anderen Potential liegen, mit 
einem Steuersystem auszutauschen (BMS/Balancing mit etwas Leistung). Das 
sind keine hohen Datenmengen, aber viele regelmäßige Datenbursts. Dafür 
habe ich mehrere Ansätze und mich noch nicht genau für einen 
entschieden.

von Bauform B. (bauformb)


Lesenswert?

Vanye R. schrieb:
> Vergiss den kruden misst.
>
> Nimm einen ISO7041:

Oder ISO7021, wenn du nur RX und TX brauchst. Nur halb so groß und noch 
etwas sparsamer.

von Clemens L. (c_l)


Lesenswert?

Ben B. schrieb:
> Daten von mehreren µCs, die alle auf einem anderen Potential liegen, mit
> einem Steuersystem auszutauschen

Geht mit praktisch jedem Isolator oder Optokoppler.

Wenn es billig sein muss, oder es dir zu aufwändig ist, die isolierte 
Spannungsversorgung mit über den Bus zu legen, nimm den H11L1 (1 Mbps).

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Man müsste mal probieren, ob die Dinger noch funktionieren, wenn man auf 
einer Seite die Ausgang über eine Diode voneinander trennt, so daß sie 
nur Strom ziehen, aber keinen speisen können bzw. welche Datenraten 
damit noch möglich sind. Ansonsten gibt's auf dem Rückkanal zum 
Steuerrechner das Problem, daß sie sich alle gegenseitig ihre Ausgänge 
blockieren.

Edit:
Stromversorgung sollte nicht das Problem sein, auf einer Seite haben die 
µCs alle ihre 2,5..3V Minimum und das Steuersystem kann seine 5V auf der 
anderen Seite bereitstellen wenn nötig.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Ben B. schrieb:
>> Nennt sich UART.
> Dann nennen wir es UART.

Sonst hast du nämlich nicht nur ein Spannungs- sondern auch noch ein 
Polaritätsproblem.

von Purzel H. (hacky)


Lesenswert?

Ich wuerde etwas in der Richtung von ADuM1301 oder aehnlich empfehlen.

von Jakob L. (jakob)


Lesenswert?

Ben B. schrieb:
> Daten von mehreren µCs, die alle auf einem anderen Potential liegen, mit
> einem Steuersystem auszutauschen (BMS/Balancing mit etwas Leistung).

Könnte man auch ganz billig lösen mit einem Kondensator statt einem 
Optokoppler. Im Idle-Zustand ist der TX auf High und den RX kann man auf 
Pull-Up konfigurieren, nach etwas Wartezeit (ca. 3 * Tau, Tau = R_pullup 
* C) hat der Kondensator dann ziemlich genau Spannungsdifferenz zwischen 
den beiden Potentialen. Wenn die Bursts kurz genug sind dann ändert sich 
während dem Senden nicht viel daran und die Übertragung klappt.

Gibt natürlich keine Garantie dass es keine Übertragungsfehler gibt bei 
schnellen Laständerungen (z.B. Kurzschluss oder Anschließen eines 
Gerätes mit viel Eingangskapazität), zumindest eine Prüfsumme im 
Protokoll sollte es also geben und eine gewisse Redundanz damit nicht 
viel passiert wenn ab und zu mal ein Paket nicht ankommt.

von Manfred P. (pruckelfred)


Lesenswert?

Ben B. schrieb:
> von mehreren µCs, die alle auf einem anderen Potential liegen,

Das Problem hatte ich vor Jahren, einen 3V3-Arduino mit eigener 
Versorgung an den PC zu klemmen.

Ich hatte einfach ein paar vorhandene Optokoppler gegriffen, die aber zu 
lahm waren. Beim Ali gibt es günstige Modulchen mit dem ADuM1201, spielt 
sauber, siehe dort:

Beitrag "Re: Arduino ProMini galvanisch getrennt"

Purzel H. schrieb:
> Ich wuerde etwas in der Richtung von ADuM1301 oder aehnlich empfehlen.

Genau, wenn man drei Kanäle braucht.

Oder auch, wie hhinz schrieb, Texas ISO6721B

Das sind saubere Lösungen, man muß nicht irgendwas mit Kondensatoren 
oder Dioden zusammenpfuschen.

von W.P. K. (elektronik24)


Lesenswert?

Weil es hier gerade passt.... weiß jemand zufällig ein dem genannten 
ISO7041 ähnliches Produkt (Mehrkanal digitaler Isolator), welches aber 
Eingangssignale bis 24V erlaubt (Vcc1=Eingangsseite auch gerne bis 24V; 
Vcc2 - also Ausgangsseite wäre dann 5V)?

: Bearbeitet durch User
von H. H. (Gast)


Lesenswert?

W.P. K. schrieb:
> Weil es hier gerade passt.... weiß jemand zufällig ein dem
> genannten ISO7041 ähnliches Produkt (Mehrkanal digitaler Isolator),
> welches aber Eingangssignale bis 24V erlaubt (Vcc1=Eingangsseite auch
> gerne bis 24V; Vcc2 - also Ausgangsseite wäre dann 5V)?

Da reichen doch Spannungsteiler.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Gibt es einen dieser ADuM- oder ISO-Typen mit open collector Ausgang 
oder sowas, daß man die auf einer Seite alle zusammenschalten könnte, 
ähnlich wie bei I2C? Die Senderichtung (vom Steuermodul aus gesehen) 
wäre kein Problem, aber zurück müssten alle auf der gleichen Leitung 
antworten können, das geht aber nicht wenn alle den Ausgang aktiv nach 
Vcc oder GND schalten, bzw. sie würden bei Kollisionen beim 
gleichzeitigen Senden zweier Controller aneinander geraten. Eigentlich 
sollte das nicht passieren (die Balancing-Module sollen nur auf 
Anforderung Daten schicken), aber wenn's doch mal vorkommt, dann sollte 
nicht gleich alles abrauchen.

Alternative wäre nach I2C-Isolatoren suchen und I2C benutzen - falls man 
mit denen kein UART-Signal übertragen kann.

von Bauform B. (bauformb)


Lesenswert?

Ben B. schrieb:
> Gibt es einen (...) mit open collector Ausgang oder sowas,
> daß man die auf einer Seite alle zusammenschalten könnte
>
> die Balancing-Module sollen nur auf Anforderung Daten schicken

In dem Fall würde ich doch normale Optokoppler nehmen. Die haben einen 
Open Collector-Ausgang und brauchen auf beiden Seiten Null mA - weniger 
geht nicht. Der LED-Strom spielt beim Laden und Entladen doch keine 
große Rolle und im Standby muss man nur sehr selten abfragen.

Es gibt Optokoppler, die bei 1mA oder 0.5mA LED-Strom spezifiziert sind, 
z.B. SFH6286-4 bzw. SFH628A-4. Damit sind 2400 Baud möglich. Kritisch 
ist vor allem der gemeinsame Pull-Up Widerstand, den optimalen Wert 
würde ich tatsächlich ausprobieren.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

0.5mA LED-Strom klingt brauchbar, aber mehr als 2.400 baud sind nicht 
drin? Ich hatte wenigstens auf 9.600 oder 14.400 gehofft um die Dauer 
der Datenbursts kurz zu halten. Sind zwar jeweils nur etwa 10 Byte, aber 
wenn man während der Übertragung recht viel Strom braucht, wäre es gut, 
die Dauer möglichst kurz zu halten.

von Bauform B. (bauformb)


Lesenswert?

Man kann statt einem Open Collector-Bus auch einen Multiplexer vorsehen. 
Dann wird die Abfrage nur an einen Controller gesendet, alle nicht 
gefragten merken nichts davon und brauchen keinen Strom. Außerdem 
braucht man keine Adressen und also keine DIL-Schalter o.ä. und die 
Antworten können nicht durcheinander kommen.

Man kann auch bei der Kodierung der Daten Strom sparen. Zum Beispiel hat 
man 2mV Auflösung für die Spannung. Dafür reicht ein Byte, wenn vom 
Steuermodul bei der Abfrage ein 0.5V breites Fenster vorgegeben wird, 
z.B. 3.5 bis 4V, 3.0 bis 3.5(11)V usw.

von Clemens L. (c_l)


Angehängte Dateien:

Lesenswert?

Ben B. schrieb:
> 0.5mA LED-Strom klingt brauchbar, aber mehr als 2.400 baud sind nicht
> drin?

Fototransistoren sind halt langsam, und wenn du nur wenig 
LED-/Basis-Strom hast, musst du einen großen Pull-Up am Ausgang 
benutzen.

0.5 mA am Eingang und geringer Betriebsstrom und schneller Ausgang geht 
nur mit dem 6N138/9. Zur Beschaltung siehe 
https://electronics.stackexchange.com/a/288481/29811; es sollten mehrere 
hundert kbaud möglich sein, abhängig von R2.

: Bearbeitet durch User
von Vanye R. (vanye_rijan)


Lesenswert?

Vor allem darf man nicht vergessen das Optokoppler gewaltige 
Exemplarstreuungen haben, also immer den schlechtesten CTR aus dem 
Datenblatt nehmen. Dann altern die noch und sie haben eine nicht 
unerhebliche Temperaturabhaengigkeit. Also den Wert nochmal durch 
2(privater Bastler) oder 4(Industrietechnik) teilen.

Und dann wird man relativ schnell darauf kommen das die angesprochenen 
ISO oder der Adum, oder auch das entsprechende Exemplar von Silabs, die 
kluegere Wahl ist wenn es um den Stromverbrauch geht.

Vanye

von Rainer W. (rawi)


Lesenswert?

Ben B. schrieb:
> Gibt es einen dieser ADuM- oder ISO-Typen mit open collector Ausgang
> oder sowas, daß man die auf einer Seite alle zusammenschalten könnte

Bei "oder sowas" fällt mir als erstes eine Schottky-Diode am Ausgang 
ein.

Vanye R. schrieb:
> Dann altern die noch ...

Das ist oft ein Design-Problem. Wer die Schaltung so auslegt, dass im 
Idle-Zustand der Schnittstelle die LED des Optokopplers dauerleuchtet, 
verschenkt hier viel. Die Alterung hängt auch entscheidend davon ab, wie 
sehr man die zulässigen Grenzen ausreizt.

: Bearbeitet durch User
von Clemens L. (c_l)


Lesenswert?

Ben B. schrieb:
> Gibt es einen dieser ADuM- oder ISO-Typen mit open collector Ausgang
> oder sowas, daß man die auf einer Seite alle zusammenschalten könnte,
> ähnlich wie bei I2C?

Es gibt I²C-Isolatoren (z.B. ISO1540).

Du könntest die Signale auch einfach mit 74xx08 kombinieren.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> Bei "oder sowas" fällt mir als erstes eine Schottky-Diode
> am Ausgang ein.
Die Idee schrieb ich oben bereits, man müsste probieren wie sich das auf 
die erreichbare Baudrate auswirkt, in Zusammenspiel mit dem passiven 
PullUp-Widerstand. Irgendwann werden durch parasitäre Kapazitäten auch 
die Flanken verschliffen. Alternativ die geringeren Baudraten zugunsten 
des niedrigen Stromverbrauchs in Kauf nehmen, sind ja keine hohen 
Datenmengen.

> Das ist oft ein Design-Problem. Wer die Schaltung so auslegt, dass
> im Idle-Zustand der Schnittstelle die LED des Optokopplers
> dauerleuchtet, verschenkt hier viel.
Das habe ich mir bereits angeschaut, der Idle-Pegel bei UART ist 
tatsächlich high - bedeutet, daß ich das Signal invertiert übertragen 
werde (idle low). Ansonsten kann man sich jede Stromspar-Überlegung 
sparen.

Eine zweite Idee habe ich mir mit diesen ISO-Schaltkreisen noch 
überlegt, man könnte die Module alle in Serie legen und die Controller 
schicken jede Nachricht, die nicht für sie ist, zur nächsten weiter. 
Dann brauche ich aber Controller mit zwei UART-Modulen (hat der 
angepeilte ATMega8 nicht) und die Datenübertragung muss bei 13 Modulen 
26mal fehlerfrei funktionieren. Erst das Kommando vom Steuermodul durch 
alle Balancing-Module hin und danach die Daten durch alle Module zum 
Steuermodul zurück. Bei dem geringen Stromverbrauch der ISO-Schaltkreise 
wären die vielen Datentransfers egal, Latenz ist nicht so extrem wichtig 
(bzw. wird durch hohe erreichbare Baudraten ausgeglichen) und die 
Kommunikation ist kollisionsfrei.

> Es gibt I²C-Isolatoren (z.B. ISO1540).
Danke für den Schaltkreis-Tip, den schaue ich mir mal an.
Vielleicht kann man da auch ein UART-Signal durchjagen.

> Du könntest die Signale auch einfach mit 74xx08 kombinieren.
Wie meinst Du das genauer? Meinst Du alle Signale mit ODER-Gattern auf 
den Modulen verknüpfen und das Summensignal am letzten Ausgang nutzen?

von Clemens L. (c_l)


Lesenswert?

Ben B. schrieb:
>> Wer die Schaltung so auslegt, dass im Idle-Zustand der Schnittstelle die
>> LED des Optokopplers dauerleuchtet, verschenkt hier viel.
>
> Das habe ich mir bereits angeschaut, der Idle-Pegel bei UART ist
> tatsächlich high - bedeutet, daß ich das Signal invertiert übertragen
> werde (idle low).

"Invertiert" kann auch bedeuten, dass du mit dem UART-Signal direkt die 
Kathode ansteuerst. (MIDI macht das so.)

>> Du könntest die Signale auch einfach mit 74xx08 kombinieren.
>
> Wie meinst Du das genauer? Meinst Du alle Signale mit ODER-Gattern

mit UND-Gattern

> auf den Modulen verknüpfen und das Summensignal am letzten Ausgang nutzen?

Genau.

von Peter K. (Gast)


Lesenswert?

Nachteil der hier vorgeschlagenen Lösungen ist die EMV Verträglickeit.
Im BMS ein Problem, bei hohen Strömen oder Störreichen Umfeld, wird das 
System unzuverlässig

"Zudem bleiben die Magnetfeldlinien nicht so im Bauelement wie beim 
klassischen Übertrager, die elektromagnetische Verträglichkeit ist 
demnach schlechter. Auch der Hilfsoszillator kann hier bei der EMV 
Probleme machen."

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Ben B. schrieb:
> Daten von mehreren µCs, die alle auf einem anderen Potential liegen
Aber trotzdem irgendwie in der selben  Schaltung miteinander verbunden 
(bzw nur durch Akkus voneinander getrennt) sind?

Dann könnte ich mir auch eine Schaltung ohne Optokoppler vorstellen.

von Frank K. (fchk)


Lesenswert?

Ben B. schrieb:

> Worüber ich nachdenke ist eine Lösung wie ich es am besten schaffe,
> Daten von mehreren µCs, die alle auf einem anderen Potential liegen, mit
> einem Steuersystem auszutauschen (BMS/Balancing mit etwas Leistung). Das
> sind keine hohen Datenmengen, aber viele regelmäßige Datenbursts. Dafür
> habe ich mehrere Ansätze und mich noch nicht genau für einen
> entschieden.

Dafür gibts doch fertige Lösungen, z.B.
https://www.analog.com/en/products/ltc6803-4.html

fchk

von Bauform B. (bauformb)


Lesenswert?

Peter K. schrieb:
> Nachteil der hier vorgeschlagenen Lösungen ist die EMV Verträglickeit.

Hauptsächlich mit den ADUM, die kapazitiven ISO sind pflegeleichter. Man 
würde natürlich die langsamsten und sparsamsten Typen verwenden. Aber es 
geht ja auch ganz ohne diesen Aufwand, nämlich so:

Ben B. schrieb:
> man könnte die Module alle in Serie legen und die Controller
> schicken jede Nachricht, die nicht für sie ist, zur nächsten weiter.
> Dann brauche ich aber Controller mit zwei UART-Modulen

Es geht auch mit einem UART. Alle Module, inkl. Steuermodul, werden in 
einem Kreis in Reihe geschaltet.
1
+--> [RX TX] -> [RX TX] -> [RX TX] --+
2
|                                    |
3
+--<------------------------------<--+
Wie mit zwei UARTs geben alle Module die Nachrichten weiter und am Ende 
kommen sie am Steuermodul an. Bonus: jeder darf jederzeit ungefragt 
senden, die Module müssen nur eine Nachricht zwischenspeichern können.

Der Potentialunterschied von Modul zu Modul ist kleiner als 5V, das 
sollte auch ohne Optokoppler oder gar ADUM machbar sein. Nur der Sender 
(oder der Empfänger) am Steuermodul muss die volle Spannung vertragen. 
Nur an dieser Stelle wird die Baudrate begrenzt. Je nachdem was 
einfacher ist, sendet man in Richtung höhere oder niedrigere Spannung.

: Bearbeitet durch User
von Peter K. (Gast)


Lesenswert?

Die von mir genannten NAchteile waren übrigens aus elektronik.net

von Manfred P. (pruckelfred)


Lesenswert?

Peter K. schrieb:
> Die von mir genannten NAchteile waren übrigens aus elektronik.net

Das hilft natürlich ungemein, irgendwas nachzuplappern, was man nicht 
selbst erfahren / gemessen hat. Bitte noch mit youtube ergänzen!

von Peter K. (Gast)


Lesenswert?

nennt sich nenne einer Quelle.
Beser als das oftmals ahnungslose Geplapper einiger hier.
Deshalb gibt es so viele unzuverlässige BMS, aber diese scheitern dann 
auch recht schnell.
Das dir das nicht bekannt ist oder du den nutzen daran erkennst, 
überrascht mich nicht..
https://www.elektroniknet.de/optoelektronik/bye-bye-optokoppler.167466.html

von Clemens L. (c_l)


Lesenswert?

> https://www.elektroniknet.de/optoelektronik/bye-bye-optokoppler.167466.html
> Über den Autor
> Wolf-Dieter Roth ist technischer Redakteur bei HY-LINE Power Components.

Das ist Werbung für GMR/TMR-Isolatoren von NVE, die von Hy-Line Power 
Components verkauft werden.

von Vanye R. (vanye_rijan)


Lesenswert?

Hm..euch ist schon aufgefallen das der TO irgendwas olles
mit Mega8 basteln wollte? Irgendwelche EMV-Betrachtungen
sind da wohl erstmal aussen vor. .-)

Wobei, wenn schon Mega8 dann ist ein alter Optokopplers
vermutlich das Mittel der Wahl. Der wuerde sich mit
so einem modernen ISO/ADum nicht wohl fuehlen. :-D

Vanye

von Peter K. (Gast)


Lesenswert?

doch, EMV kann da sehr wichtig sein, gerade daran scheitern viele BMS, 
selbst bei kommerziellen fällt es dann plötzlich auf und man baut die 
wider aus

von Vanye R. (vanye_rijan)


Lesenswert?

> doch, EMV kann da sehr wichtig sein, gerade daran scheitern viele BMS,

Schau mal, es gibt die ISO/ADuM seit vielen Jahren und die werden von 
tausenden von Firmen in Millionen von Projekten eingesetzt. 
Offensichtlich schaffen die es dort alle durch EMV-Tests zu kommen. Mag 
sein das es manchmal einen zweiten Anlauf braucht denn man ohne sowas 
nicht haette, aber in der Regel schaffen sie es.
Hier aber geht es um einen Bastler. Der muss nix testen. Geh mal davon 
aus das >90% der Bastelprojekte hier wahrscheinlich nicht durch so einen 
Test kommen wuerden. Interessiert aber keinen. Auch meine eigenen 
Projekte die ich Privat mache wuerden vermutlich (floet) nicht durch den 
Test kommen. .-)

Vanye

von Rainer W. (rawi)


Lesenswert?

Peter K. schrieb:
> EMV Verträglickeit.

Verwende besser keine Akronyme, deren Bedeutung du selber nicht 
verstehst.

von Bauform B. (bauformb)


Lesenswert?

Vanye R. schrieb:
>> doch, EMV kann da sehr wichtig sein, gerade daran scheitern viele BMS,
>
> Schau mal, es gibt die ISO/ADuM seit vielen Jahren und die werden von
> tausenden von Firmen in Millionen von Projekten eingesetzt.
> Offensichtlich schaffen die es dort alle durch EMV-Tests zu kommen.
> Mag sein das es manchmal einen zweiten Anlauf braucht denn man ohne
> sowas nicht haette, aber in der Regel schaffen sie es.

Andererseits gibt es vom Analog Devices die lesenswerte und lehrreiche 
AN-1109 "Recommendations for Control of Radiated Emissions with iCoupler 
Devices". Das sind netto 18 Seiten Kleingedrucktes, kein Werbetext.

Wie viel in der Art findet man bei Optokopplern? Beim 10MBaud 
Optokoppler ACPL-M61L ist es z.B. eine halbe Seite, im wesentlichen 
"braucht ein Abblock-C".

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Also, dann mal probieren, Klarheit zu schaffen...

Wieso der "alte" ATMega8 auf den Balancing-Modulen?
Ich hätte auf den Balancing-Modulen gerne etwas Intelligenz, so daß z.B. 
beim Anstieg der Zellspannung über einen bestimmten Wert automatisch ein 
Balancing-Strom mit 3..5A aktiviert wird (Laden) oder daß man dem Modul 
sagen kann Balancing bitte mit 0,5..1A bis zu einer Zellspannung von 
(..)V. Das können diese ganzen Balancing-ICs nicht alleine - alle, die 
ich mir angeschaut habe, benötigen dafür einen steuernden 
Mikrocontroller. Für fest zusammengesetzte Akkupacks mögen die Dinger 
praktisch sein, weil sie die komplette Serienschaltung messen können und 
mit Einschränkungen auch Balancing in einem einzigen IC (wofür sie aber 
wieder eine Steuerung durch einen µC brauchen) - aber bei Überwachung 
nur einer einzelnen Zelle (oder einer Parallelschaltung vieler), brauche 
ich das nicht bzw. kann ich das auch alleine machen wenn ich sowieso 
einen Steuer-Controller brauche.

Der ATMega8(L) lässt sich mit der einfachen Zellspannung ohne weitere 
Regelung betreiben, von der benötigten Rechenleistung her langweilt sich 
jeder 8-Bitter zu Tode (für die Leute, die mir hier einen STM32 oder was 
auch immer empfehlen möchten) und er hat genug Pins für 
Balancing-Ausgänge, UART, eine oder zwei LEDs, 2..4 ADC-Eingänge und 
eine 8 Bit ID über DIP-Switch und den Selbst-Abschalt-FET (falls die 
Zellengruppe vor Tiefentladung durch den BMS-Betriebsstrom geschützt 
werden muss).

Wieso der galvanisch getrennte Datenbus?
Jedes der Balancing-Module außer dem ersten in der Kette liegt mit 
seiner Masse eine Zellspannung über dem vorangegangen. Man kann die 
Masse daher nicht zusammenschalten und über Stromschleifen... Moment 
mal.

Da fällt mir evtl. noch etwas ein, worüber ich nachdenken muss. 
Vielleicht ließe sich ein Datenbus bauen, der die "2,5..300V" gegenüber 
der Haupt-Masse toleriert, aber das ist eine unschön hohe Spreizung und 
wenn das bei 2,5V schon zuverlässig funktionieren soll, fließen bei 
sagen wir 300V schon unschön hohe Ströme bzw. Leistungen. Bei 2,5..60V 
mag das vielleicht noch gehen, aber da das eine harte Begrenzung wird, 
wollte ich das eigentlich nicht bei einem BMS-Entwurf, das "für alles" 
tauglich sein soll. Mittels schneller Dioden wäre es aber möglich, daß 
vom Steuermodul aus gesehen immer nur Strom in dieses hineinfließt. 
Allerdings entstehen beim Senden von Daten vom Steuermodul aus dann sehr 
hohe negative Spannungen gegen Masse der höchsten Balancing-Module. 
Vielleicht doch nicht so eine gute Idee.

Die "Ringbus-Idee" von BauformB hat was, ich hatte mir über ein 
ähnliches System bereits Gedanken gemacht. Wenn man solche aktiven 
Übertrager-ICs verwendet, muss man sowieso die Betriebsspannung des 
Steuermoduls auf alle Balancing-Module mitnehmen (um eine Seite des 
ISO-ICs damit zu versorgen). Ein wirklicher Nachteil wäre aber eine hohe 
Auslastung des Datenbusses und sehr viele Übertragungen (lange 
Übertragungswege, evtl. hohe Latenz) wodurch der Datenbus praktisch 
ununterbrochen in Benutzung ist (alternativ: hohe Baudrate) und auf 
jeder der Übertragung kann etwas schief gehen, so daß die Nachricht 
nicht oder nicht intakt beim Empfänger ankommt, ggf. entstehen 
Timeout-Probleme. Der Vorteil wäre aber, daß sich das System teilweise 
selbst konfigurieren könnte - das Steuermodul könnte eine entsprechende 
Abfrage abschicken, alle Balancing-Module schnappen sich eine um 1 
erhöhte ID und geben diese weiter, das Steuermodul schaut, was am Ende 
zurückkommt. Noch ein Vorteil wäre evtl. eine deutlich geringere 
Störanfälligkeit durch die ständige lokale Verstärkung und kurze Wege. 
Ein großer Nachteil: Ein einziger Fehler bzw. ein einziges 
abgeschaltetes Balancing-Modul führt zu einem kompletten Ausfall des 
Datenbusses, auch mit den fehlerfrei arbeitenden Modulen kann nicht mehr 
kommuniziert werden, das Steuermodul kann nicht ermitteln, wo der Fehler 
liegt.

Immerhin wäre die Reihenfolge der Balancing-Module am Datenbus 
unwichtig, bzw. das Steuermodul braucht nicht zu wissen, an welcher 
Stelle in der Serienschaltung ein Balancing-Modul sitzt.

Den ISO1540/1541 I2C-Isolator-IC habe ich mir angeschaut, teures Teil. 
Keine Ahnung ob man es mal damit versuchen sollte oder eher doch eines 
der anderen ISO-ICs mit Sink-Diode am Steuermodul-seitigen Ausgang 
(damit sie sich nicht gegenseitig plätten können).

Zum Stromsparen gäbe es zwei Möglichkeiten: sehr wenig Strom und dafür 
geringe Geschwindigkeit (wie gesagt, 14400baud wären schön, aber zur Not 
gebe ich mich auch mit 1200 zufrieden, mit 300 komme ich auch klar 
wenn's gar nicht anders geht) oder lieber mehr Strom und dafür höhere 
Geschwindigkeit. Beides so, daß es noch nicht zu nennenswerten Störungen 
kommt bzw. nicht so wenig Strom, daß Störungen von außen viele 
Nachrichten zerstören. Keine Ahnung, wo da der sweet spot liegt.

Ich mache mir mal Gedanken, ob ich die Hardware so auslegen kann, daß 
sie für beide Varianten tauglich wäre (parallelgeschaltete Busteilnehmer 
oder Ring). Evtl. ist die Ringbus-Idee in Sachen Stromsparen trotz der 
hohen Buslast gar nicht so viel schlechter. Die Nachricht muss zwar der 
Reihe nach durch alle Übertrager, aber bei parallelgeschalteten 
Busteilnehmern sind beim Senden von Daten vom Steuermodul aus auch alle 
Empfänger aktiv und ich vermute, die höheren erreichbaren 
Geschwindigkeiten könnten das kompensieren.

Wegen Störungen allgemein:
Wirklich relevant wäre nur, wenn mein Aufbau Störungen erzeugt, die für 
andere zum Problem werden. Jetzt weiß ich nicht, ob "ein paar Meter 
Draht", auf denen bestenfalls 14,4kHz mit 5Vss liegen, so viel 
Störstrahlung verursachen (könnte bei der oben genannten HV-Idee mit 
vielleicht 300Vss anders aussehen). Ich glaube die funktionieren besser 
als Antenne für externe Störungen durch die hohen Ströme im Akkusatz, so 
daß ich in der Pflicht bin, meinen Aufbau gegen sowas zu härten und 
andere Seiten eher nicht selbst störe. Daher müsste man schauen wieviel 
Strom für eine sichere Kommunikation bei Baudrate X und sagen wir 32..64 
Balancing-Modulen erforderlich wäre. Damit käme man schon sehr weit, bei 
den heute am meisten gebräuchlichen 48V sinds "nur" 13 oder 14 
Balancing-Module, bei evtl. noch relevant werdenden 96V 26 oder 28. Wer 
noch mehr will, braucht halt "Improvements" wie geschirmte Kabel, aber 
das wären dann so Spielereien für Drehstrom-USVs oder Elektroantriebe 
und das wird irgendwann unschön teuer. Dann hat man zwar schön wenig 
Betriebsstrom, aber verdammt viele Akkus, die man da braucht 
(andererseits, wer die Leistung und Kapazität solcher Anlagen braucht, 
der braucht eben auch das Geld dafür).

Thema Sicherheit:
Ich mache mir da durchaus Gedanken drüber, denn auch ich möchte nicht, 
daß meine Bude schwarz, kalt, oben offen und durch die Feuerwehr 
zusätzlich noch nass wird. Sprich das BMS wird bei einem Fehler den 
Strom durch den Akku sofort hart trennen, egal ob das dann zu einem 
privaten Stromausfall führt oder nicht. Den nehme ich in Kauf.

Was ich dazu bislang auf dem Schirm habe:
- ständige Messung von Zellspannung und 2..3 Temperatursensoren
  durch alle Balancing-Module
- regelmäßige Abfrage dieser Messwerte seitens des Steuermoduls
Abschaltung bei:
- Überspannung einer Zelle
- Unterspannung einer Zelle
- Temperatur eines Fühlers außerhalb des Soll
- Nichterreichbarkeit eines Balancing-Moduls bzw. Datenbus-Ausfall

Gegen Überstrom nehme ich einen DC-Leitungsschutzschalter oder eine 
Schmelzsicherung (gPV), die sollte zuverlässig ausmachen wenn irgendwas 
nicht passt.

Hab ich was vergessen, was man noch überwachen sollte?

: Bearbeitet durch User
von Vanye R. (vanye_rijan)


Lesenswert?

> Der ATMega8(L) lässt sich mit der einfachen Zellspannung ohne weitere
> Regelung betreiben, von der benötigten Rechenleistung

Naja, ich hab jetzt nicht im Datenblatt geschaut, aber man darf
vermuten das es nach 20Jahren einen grossen Berg an Controllern
gibt deren Ruhestrom im Sleepmodus wesentlich geringer ist
und ein geringer Stromverbrauch sollte einem bei sowas ja
wichtig sein.

Vanye

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Ob man an der Stelle so viel sparen kann... ich plane maximal 1MHz 
Core-Takt auf den Balancing-Modulen, das Datenblatt sagt bei 4V idle 
0,5mA, bei 0,5Mhz/4V 0,2mA. Das hält eine einzelne 18650er Zelle unter 
Vernachlässigung der Selbstentladung fast bzw. über ein Jahr aus.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Bei geschicktem meschanischen Aufbau deines Systems, kann man sowas auch 
mit IR-Fernsteuerungs-Empfängern realisieren. Der "Bus" ist dann einfach 
die Reflektion auf der Innenseite des Gehäuses.

Oder Übertrager mit FSK oder so mit HART-Modem Chips.

von Vanye R. (vanye_rijan)


Lesenswert?

> Bei geschicktem meschanischen Aufbau deines Systems, kann man sowas auch
> mit IR-Fernsteuerungs-Empfängern realisieren.

Der Gedanke liegt nahe, noch besser sogar mit Irda weil viele moderne
Mikcrocontroller sowas integriert haben. (Mega8 aber wohl nicht)

Allerdings ob das eine Verbesserung bezueglich LowCurrent ist....

Aber einen gewissen Charme hat sowas wohl.

Vanye

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.