Hallo,
ich nutze für meine Heimautomatisierung den ESP32 mit diesen Transivern:
https://www.exp-tech.de/module/schnittstellen/9053/sn65hvd230-can-board
vorne und hinten hab ich 120 Ohm (der Buswiderstand ist bei 67 Ohm). Die
Leitungen sind alle CAT7 und die Spannungsversorgung sind 9V welche "vor
Ort" mit einem Stepdown auf 5V und im ESP auf 3.3.V heruntergeregelt
werden.
Ich habe nahezu keine Stichleitungen, da ich immer den Rückkanal des
Kabels verwende und dann sozusagen einen durchgehenden Bus habe.
Allerdings ist mein BUS Super lange. Ich schätze 250m - 300m. Jetzt
fallen immer wieder Module aus. Wenn ich allerdings vorne oder hinten 3
Module (100m Kabellänge) entferne läuft der BUS Stabil. Ich habe schon
super langsame Geschwindigkeiten von 5Khz versucht, arbeite momentan mit
20 (die Geschwindigkeit ändert aber nichts am Ausfall)
Leider ist ein Debug sehr schwer, da die Module erstmal 2-10 Stunden
fehlerfei arbeiten und auch nicht immer die selben Module ausfallen
sondern hier und da mal eines (auch in der Mitte). Da Hard und Software
immer gleich (wenn auch funktion nicht immer identisch) ist denke ich
aber fast ein Problem mit der Leitungslänge zu haben. Meine Idee wäre
jetzt in der Zentrale (welche nahezu in der Mitte des Buses ist) einfach
einen "Verstärker" einzubauen. <- geht sowas?
Alternativ müsste ich den BUS trennen und ein Modul bauen, welches 2
CAN-Transiver beinhaltet und die Nachrichten weiterleitet <- das würde
zwar eine Latenz bedeuten, aber der CAN ist so oder so "extrem schnell".
hat jemand eine Idee für mich?
Vielen Dank
Tom schrieb:> Jetzt fallen immer wieder Module aus.
Was meinst du damit? Was tun die Module? Gehen sie auf bus off? Was
passiert, wenn du versuchst, sie wieder zu aktivieren?
> Ich habe schon super langsame Geschwindigkeiten von 5Khz versucht, arbeite> momentan mit 20 (die Geschwindigkeit ändert aber nichts am Ausfall)
Bei 300m sollten auch 125 kbit/s noch funktionieren. Bei 50 kbit/s
sollte schon ein Kilometer drin sein.
Tom schrieb:> Meine Idee wäre jetzt in der Zentrale (welche nahezu in der Mitte des Buses> ist) einfach einen "Verstärker" einzubauen. <- geht sowas?
Normalerweise hat die Längenbegrenzung weniger mit dem Pegel als mit den
Signallaufzeiten zu tun.
Tom schrieb:> Meine Idee wäre> jetzt in der Zentrale (welche nahezu in der Mitte des Buses ist) einfach> einen "Verstärker" einzubauen. <- geht sowas?
Nein. Die Signale laufen ja in beide Richtungen, und das wird für einen
Verstärker schwierig.
> Alternativ müsste ich den BUS trennen und ein Modul bauen, welches 2> CAN-Transiver beinhaltet und die Nachrichten weiterleitet <- das würde> zwar eine Latenz bedeuten, aber der CAN ist so oder so "extrem schnell".
Das wäre der Weg, den Du gehen müsstest. Das wwäre dann ein Repeater:
Nachricht auf einem Bus empfangen und auf dem anderen wieder senden.
Oder die Zentrale so umbauen, dass sie mehrere Busse ansteuern kann.
Dazu brauchst Du einen Mikrocontroller mit zwei oder drei integrierten
CAN Controllern, so wie z.B. STM32F413.
Andere Sache: Deine CAN-Transceiver haben einen Widerstand an Pin 8, der
festlegt, wie steil die Flanken sind. Der ist normalerweise 10k. Mit
einem 100k Widerstand machst Du den langsamer. Das könnte auch helfen.
Natürlich musst Du diese Modifikation auf allen angeschlossenen
Transceivern durchführen.
fchk
Tom schrieb:> vorne und hinten hab ich 120 Ohm (der Buswiderstand ist bei 67 Ohm). Die> Leitungen sind alle CAT7
Naja, CAT7 Ethernetkabel hat 100 Ohm Wellenwiderstand, da sollte man
auch mit 2x 100 Ohm terminieren. Die 120 Ohm gelten nur, wenn man auch
120Ohm Kabel nutzt.
Auf welchen Adern liegen deine Signale? Hoffentlich liegen CANH und CANL
auf einem verdrillten Paar.
> Allerdings ist mein BUS Super lange.
lang.
> Ich schätze 250m - 300m.
Das ist nicht sonderlich lang. Mit welcher Baudrate arbeitest du?
> Jetzt> fallen immer wieder Module aus.
Was heißt das genau? Funktionieren sie nicht mehr und du musst einen
Reset machen oder gehen sie dauerhaft kaputt?
> Wenn ich allerdings vorne oder hinten 3> Module (100m Kabellänge) entferne läuft der BUS Stabil. Ich habe schon> super langsame Geschwindigkeiten von 5Khz versucht, arbeite momentan mit> 20 (die Geschwindigkeit ändert aber nichts am Ausfall)
Möglicherweise hast du ein EMV-Problem.
> Leider ist ein Debug sehr schwer, da die Module erstmal 2-10 Stunden> fehlerfei arbeiten und auch nicht immer die selben Module ausfallen> sondern hier und da mal eines (auch in der Mitte).
Wie verhalten sich die Module beim Ausfall? Kann man sie aus dem Bus
entfernen und in einem Testaufbau testzen? Weißt du, was kaputt geht?
> Da Hard und Software> immer gleich (wenn auch funktion nicht immer identisch) ist denke ich> aber fast ein Problem mit der Leitungslänge zu haben.
Du denkst nicht, du glaubst. Weil es die einfachste Erklärung ist.
> Meine Idee wäre> jetzt in der Zentrale (welche nahezu in der Mitte des Buses ist) einfach> einen "Verstärker" einzubauen. <- geht sowas?
Nennt sich Repeater.
> Alternativ müsste ich den BUS trennen und ein Modul bauen, welches 2> CAN-Transiver beinhaltet und die Nachrichten weiterleitet <- das würde> zwar eine Latenz bedeuten, aber der CAN ist so oder so "extrem schnell".
Ein Repeater kann das.
Betreibe eine systematische Fehlersuche.
Hi Tom,
bei meiner Heizungssteuerung hatte ich immer Probleme mit Überspannungen
bei Gewittern (CAN-Bus Länge ca 800m, mehrere Gebäude). Da hab ich mir
diese Repeater gebaut. Es sind zwei Stück im Einsatz und funktioniert
seit zwei Jahren problemlos. Vielleicht hilft es dir ja. Wenn du
interesse hast kan ich dir noch die Kicad Dateien schicken.
lg
Michi
Michi schrieb:> Hi Tom,>> bei meiner Heizungssteuerung hatte ich immer Probleme mit Überspannungen> bei Gewittern (CAN-Bus Länge ca 800m, mehrere Gebäude). Da hab ich mir> diese Repeater gebaut. Es sind zwei Stück im Einsatz und funktioniert> seit zwei Jahren problemlos. Vielleicht hilft es dir ja. Wenn du> interesse hast kan ich dir noch die Kicad Dateien schicken.>> lg> Michi
ein interessantes Konzept. Wenn Deine Praxis nicht zeigen würde das es
bei Dir funktioniert hätte ich gesagt das gemeinsame GND macht die galv.
Trennung der Daten vollkommen sinnfrei und der GND baut lustige
Schleifen, die erst recht für interessante Effekte zwischen Gebäuden
sorgen können.
Naja, hier wird CAN mit Sillabs-Isolatoren (die Chips sind erfrischend
einfach zu verwenden) getrennt, für Hardcore-Isolation (einige kV mit
Transienten auf einer der Seiten von bis zu 30kV/us) wird LWL verwendet,
läuft mit 1Mbit tadellos.
MiWi schrieb:> Wenn Deine Praxis nicht zeigen würde das es bei Dir funktioniert hätte> ich gesagt das gemeinsame GND macht die galv. Trennung der Daten> vollkommen sinnfrei und der GND baut lustige Schleifen, die erst recht> für interessante Effekte zwischen Gebäuden sorgen können.
Warum? Ich hab damit doch damit zwei galvanisch getrennte gnds. Die
verwendeten Treiber haben hald jeweils zwei Kanäle die ich rausgeführt
habe.
Michi schrieb:> MiWi schrieb:>> Wenn Deine Praxis nicht zeigen würde das es bei Dir funktioniert hätte>> ich gesagt das gemeinsame GND macht die galv. Trennung der Daten>> vollkommen sinnfrei und der GND baut lustige Schleifen, die erst recht>> für interessante Effekte zwischen Gebäuden sorgen können.>> Warum? Ich hab damit doch damit zwei galvanisch getrennte gnds. Die> verwendeten Treiber haben hald jeweils zwei Kanäle die ich rausgeführt> habe.
mag sein, doch du verbindest die GNDs über die TVS (D8 und D10). Daher -
mehr als die TVS schafft Dein Teil als Potentialuterschied nicht.
Und besonders kräftig sind die TVS auch nicht. ESD ist ok, irgendwelche
Normpulse auch, doch Real life zwischen mehreren Gebäuden würd ich ihnen
nicht zumuten. Wenn Blitzschlag mit einer Quellimpedanz=50Ohm definiert
wird dann ist klar das das für schon sehr geschütze Umgebungen gedacht
ist. Zwischen Gebäuden passiert vieles, doch alles ohne eine definierte
Quellimpedanz. Und 800m lange Letungen klingeln lustig vor sich hin wenn
es irgendwo scheppert.
Das ist ungefähr so wie der ideale Opamp und den real erhältlichen.
Irgendwas ist immer.
Wie gesagt, es scheint bei Dir zu funktionieren und damit ist für Dich
alles ok. Doch Galvanisch getrennt ist was anderes.
Hallo,
naja, er leitet nicht gegen GND sondern gegen PE ab.
Machen einige Hersteller auch so.
Der PE ist sowieso immer komplett durchverbunden.
Und seine beiden GNDs sind nicht mit PE verbunden.
Ich würde eher lieber 2 getrennte Trafos verwenden.
Je nach Typ ist die Koppelung der beiden Sekundärspulen nicht ohne.
Die Spannungsfestigkeit ist oft auch nicht so besonders.
Verbessern kann man immer was, das Problem hat jeder,
der eine Schaltung postet.
Jogibär
Michael J. schrieb:> Hallo,>> naja, er leitet nicht gegen GND sondern gegen PE ab.> Machen einige Hersteller auch so.> Der PE ist sowieso immer komplett durchverbunden.> Und seine beiden GNDs sind nicht mit PE verbunden.
Aber nur solange die Spannungsdifferenz zwischen den beiden GNDs nicht
größer als die TVS-Spannung ist.
Und dem CAN-Teil ist es vollkommen egal welche Spannung gegenüber PE
ansteht, der will das seine max. Ratings zwischen seinen Eingangsports
und GND eingehalten werden.
iaW: so wie es derzeit gezeichnet ist ist im Fall der Fälle die doppelte
TVS-Spannung an den Eingängen der Transceiver vorhanden, da erst zB. D7
und dann D3 leiten müssen damit Überspannungen abgeleitet werden. Wenn
der Transceiver das aushält ist`s ja ok.
>> Ich würde eher lieber 2 getrennte Trafos verwenden.> Je nach Typ ist die Koppelung der beiden Sekundärspulen nicht ohne.> Die Spannungsfestigkeit ist oft auch nicht so besonders.
spielt aber in dem geposteten Fall keine Rolle weil es eben max. 88V
sind die die beiden GNDs auseinander sein können (D8 in Serie mit D9)
> Verbessern kann man immer was, das Problem hat jeder,> der eine Schaltung postet.
Wie gesagt, ich habe nur die Frage erläutert warum ich die Schaltung
interessant finde. Michi hat keine Probleme damit, also paßt es für ihn.
Mein Konzept ist anders: eine robuste Isolierung der es (bis zu etlichen
kV) egal ist wie hoch das Potential gegenüber PE ist (wird nur statisch
mit R (einige Meg) und C auf PE geholt) und innerhalb vom Bus TVS auf
den lokalen GND damit die Common Mode-Spannung nicht überschritten wird.
MiWi schrieb:> Mein Konzept ist anders: eine robuste Isolierung der es (bis zu etlichen> kV) egal ist wie hoch das Potential gegenüber PE ist (wird nur statisch> mit R (einige Meg) und C auf PE geholt) und innerhalb vom Bus TVS auf> den lokalen GND damit die Common Mode-Spannung nicht überschritten wird.
Nicht nur bei dir! Mache ich seit bestimmt zwanzig Jahren so... Local
GND und PE sind einzig bei mir mit 1Meg und parallelen 1nf/1-2kv
verbunden...
Zusätzlich können noch potente TVS Dioden in die Datenleitungen wie
PESD1CAN. Mit Transceivern hab ich viel experimentiert und bin final
beim TJA1051 gelandet. Sehr robust und wenn nötig auch schnell. Wenn
sehr EMV versuchte Einsatzorte vorkommen oder es sehr sauber sein muss,
kommt noch eine Daten-StroKo mit rein. Mag besser Wege geben, aber das
ist mein Rezept mit dem ich gut fahre.
Speziell für Blitzeinschlag und Co bei CAN hab ich eine Appnote bei HOLT
Semi gefunden. Die Stellen Chips für den Avionik Sektor her.