Hallo in die Runde, Ich hab an andere Stelle vor einen Ecoflow Powerhub über den Canbus zu Nutzen/Auszulesen. Da ich keine Kommunikation aufbauen konnte, (Seitens des Raspberry PI scheint alles in Ordnung) suche ich den Fehler im Ecoflow Gerät. Ausgehend von der Hersteller Dokumentation, handelt es sich um einen Canbus nach J1939 Can Open mit 250kbit/s. Da ich schon lange nichtmehr als Elektroniker tätig bin, habe ich etwas gebraucht um aus dem verstaubten Osziloskop (Hmeg HM204) ein Bild des Bus zu bekommen, was schlussendlich am Testaufbau nur mit dem PI und SPI-Can Adapter auch einwandfrei funktionierte. (siehe Bild). Jeweils beidseitig mit 120 Ohm terminiert. Jeweils mit einer 1:10 Testsonde auf CH1 und 2 gegen GND, eine Differenzsonde habe ich nicht. Beim Ecoflow jedoch ist es schlicht unmöglich irgendetwas brauchbares auf dem Can zu sehen. Ein Triggern ist fast nicht machbar, um ein Stanbild zu erreichen. Für mich sieht es irgendwie so aus, als sei der Canbus von einem Sinusartigem Signal Überlagert, wodurch der Can Transceiver im PI sofort auf Error-Passive springt. Eigenartigerweise sieht man diesen Sinus auch bei völlig deaktiviertem Gerät, wenn man die t/div verkleinert. Hier kann ich aber eine Fehlbedienung nicht ausschließen. Was kann eine solche Störung verursachen? Oder wird hier schlicht der Can Transceiver hin sein ? Verwirrend finde ich den Can_GND der Laut Datenblatt auf Pin 3 des RJ45 Steckers liegt. Pin 1 Can_H, Pin 2 Can_L Pin 3 hat keinen Durchgang auf DC GND und auch nicht auf den Schirm des Kabels Jedoch PIN 6 DC GND PIN 8 DC GND PIN 5 HAt 1V Pin 7 hat 3V Laut Datenblatt sind aber nur PIN 1-3 überhaupt belegt. https://manuals.ecoflow.com/us/product/power-link?lang=en_US https://websiteoss.ecoflow.com/cms/upload/2024/11/13/EcoFlow%20J1939%20Protocol_V1.02_20241112_1731460673096.pdf Das Fehlerhafte Bild mit der Störung fehlt leider, muss ich nochmal neu machen. Das Bild auf dem sich die Pegel sowohl Auf Can High, als auch LOW gegenläufig verhalten, ist bei zusammengebautem System, hier Fällt diese Sinusartige Schwingung nicht auf, jedoch erschließt sich mir das Signal überhaupt nicht.
:
Bearbeitet durch User
Das oberste Bild ist kein CAN. Bei CAN gibt es zwei Zustände auf dem Bus: "Rezessiv", die Differenzspannung ist Null, weil kein Teilnehmer Spannung anlegt und daher die Abschlusswiderstände die Differenz auf 0 ziehen. Und "Dominant", wo mindestens 1 Teilnehmer den CANH hochzieht und gleichzeitig den CANL runter. Verwirrend bei der Messung ist oft das Ground-Problem. CAN ist differentiell, d.h. ob der Ruhepegel auf 1V oder 5V liegt oder sogar schwankt, ist für den Transceiver egal. Innerhalb seiner Grenzen, also bei zB 100V wird das nicht mehr funktionieren. Wenn du 1 oder 2V Sinus (zB 50Hz durch Netzeinkopplung) misst, und diese auf CANH und CANL identisch sind, ist alles normal.
Morgen, Doch das sollte ziehmlich sicher der Can sein, da ich in dem Bild nur am Can Port des Pi hänge und meine selbst gesendetes Signal darstelle. Jedoch habe ich keine Differenzsonde, Sonden nur zwei normale 1:10 und ich habe die y Achse auseinandergezogen. Ich mache gleich nochmal neue Bilder, auch vom Rauschen. Ich Versuche die Sinusartige Frequenz gleich mal zu ermitteln. Ich kann hier einen mess/Bedienfehler nicht ausschließen, was mich aber wundert ist, bei gleichen Einstellungen des Oszi, habe ich diesen Effekt beim PI nicht. Die Testumgebung ist die gleiche (Wohnmobil) Es war kein Netzanschluss vorhanden, und jegliche strahlende Periferie war abgeschaltet. (LTE Router/ WLAN etc.) Der Ecoflow ist keine Klassische Powerstation, sondern für den Festeinbau vorgesehen und hat keinen integrierten, sondern externe Akkus. Versorgt würde das Multimeter nicht aus der Ecoflow sondern von extern.
:
Bearbeitet durch User
Hannes S. schrieb: > 5b031a33db1199ccb8373eb555840ccde3a5e3af_2_999x750.jpeg Sind dies die Signal auf dem CAN-Bus? Das sieht doch auf ersten Blick in Ordnung aus. Hannes S. schrieb: > Jedoch habe ich keine Differenzsonde, Sonden nur zwei normale 1:10 und > ich habe die y Achse auseinandergezogen. Die Sinusschwingung kannst du für die Betrachtung auf dem Oszi möglicherweise unterdrücken, indem du die Oszi-Eingänge auf AC-Kopplung schaltest, falls die Grenzfrequenz dann immer noch zu niedrig ist, mit einem zusätzlichen Hochpass. Das würde dich zwar den Gleichspannungsbezug kosten, aber du bist den Sinus erstmal los. Zeig einmal ein Oszi-Bild, wo man den überlagerten Sinus sieht. Andererseits ist eine Differenzsonde für so niederohmige Signale mit einem OP schnell aufgebaut. https://ueba.elkonet.de/static/ueba/eoffline/sites/slt/0210153.htm Die Frage, wo der Sinus her kommt, wäre das nächste Thema - aber alles der Reihe nach. Hannes S. schrieb: > Doch das sollte ziehmlich sicher der Can sein, da ich in dem Bild nur am > Can Port des Pi hänge und meine selbst gesendetes Signal darstelle. Bei CAN gibt es nur einen gemeinsamen Bus für alle, d.h. wenn du auf dem Bus misst, siehst du alles, egal wo du auf den Bus guckst. Meinst du mit "am Can Port des Pi" den CAN-Bus oder das Signal auf der anderen Seite des CAN-Transceivers? Zeig doch einmal ein Blockschaltbild mit deinen Endgeräten, den CAN-Transceivern und dem Bus, aus dem ersichtlich ist, wo du genau misst.
:
Bearbeitet durch User
Hannes S. schrieb: > habe ich etwas > gebraucht um aus dem verstaubten Osziloskop (Hmeg HM204) ein Bild des > Bus zu bekommen So ein 8 Euro USB-Logicanalyzer aus dem Bücherhaus zusammen mit der Software Sigrok würde dich schneller ans Ziel bringen. U.A. weil Sigrok auch Can decodieren kann. Abgreifen am CAN-Transceiver auf dem Pi Hat, TXD (Pin1) und RXD (Pin4) (Da kannst du natürlich auch mit dem Oszi dran) Uwe
Ich versteh es nicht, heute funktioniert alles. Der Bus hat nicht wie vermutet 250k sondern 1Mbit\s Was jedoch nicht verstehe, wo kommt dieser Sinus her ? (In der Tat 50Hz, Rückkopplung übers Oszi?) Jetzt war er nur bei Stromlosen! (Keine Energiequelle angeschlossen) Auf dem Bus messbar. Ich hänge mal mehrere Bilder an, Diese zeigen Gerät aus und NICHT angeschlossen(kein Signal), Gerät aus (Sinus), Gerät an(kein Signal/rauschenden Oberwellen). Und aktive Kommunikation. Aber, warum sieht der Bus so komisch aus? Einstellungsfehler ? Auf CanH und CanL, jeweils steigt und fällt eine Flanke gleichzeitig invers?
:
Bearbeitet durch User
Hannes S. schrieb: > Aber, warum sieht der Bus so komisch aus? Einstellungsfehler ? > Auf CanH und CanL, jeweils steigt und fällt eine Flanke gleichzeitig > invers? Ja, invers. Differentielle (oder auch symmetrische) Übertragung. Wie beim guten alten Telefon. https://de.wikipedia.org/wiki/Symmetrische_Signal%C3%BCbertragung > Was jedoch nicht verstehe, wo kommt dieser Sinus her ? (In der Tat 50Hz, CAN_H und CAN_L sind nicht auf Masse bezogen, hängen "in der Luft" Der Sinus ist tatsächlich eingekoppelte Netzspannung. Macht aber nichts weil in beide Leiter, hoffentlich verdrillt, phasengleich eingekoppelt. Um saubere Signale zu sehen kanst du, wie schon beschrieben, auf er "anderen Seite" eines CAN-Transeivers abgreifen. Da ist es dann aud Masse bezogen. Mit dem analogen Oszi bekommst du aber keine Info, außer daß sich etwas tut, weil du nicht sinnvoll triggern kannst. Daher nochmal den Tip mit dem Billiglogicanalyzer. Uwe
:
Bearbeitet durch User
Hannes S. schrieb: > Aber, warum sieht der Bus so komisch aus? Was ist daran komisch? > Einstellungsfehler ? Kommt drauf an, was du meinst. Gleichspannungsmäßig sind deine beiden Kanäle gegeneinander verschoben. Der rezessive Pegel auf CAN_L und CAN_H ist gleich. > Auf CanH und CanL, jeweils steigt und fällt eine Flanke gleichzeitig > invers? Ja, der CAN-Bus verwendet symmetrische Übertragung über seine beiden Datenleitungen.
:
Bearbeitet durch User
Ich bin mir nicht sicher, aber ich glaube wir reden aneinander vorbei. Der Can ist sowohl auf den Can High als auch auf dem Can Low jeweils invers. Ich kenne den Can so wie es auf deinem Bild ist, Low ist invers zu High, bzw umgekehrt. Aber nicht beides und jeweils. Oder hat es damit zu tun das der Bus auf 1 Mbit läuft? Die Y Achsen haben ich absichtlich auseinander geschoben um es besser zu sehen. Woher kommt denn die Netzeinkopplung ? Das Gerät ist völlig Stromlos ? Weder der Wechselrichter ist aktiv, noch ist Netz angeschlossen, noch ist es überhaupt eingeschaltet ? Oder Koppel das Oszi das aus seinem eigenen Netz ein? Aktuell läuft es problemlos, sollte es nochmal kommen, dann versuchen ich es mit nem Logikanalyser. Danke!
Hannes S. schrieb: > Woher kommt denn die Netzeinkopplung ? Wo hast du die Masse von deinem Oszilloskop angeschlossen?
Hannes S. schrieb: > Der Can ist sowohl auf den Can High als auch auf dem Can Low jeweils > invers. Dreh die Zeitbasis herunter bis die die einzelnen Bits tanzen siehst. Mit der von dir gewählten Ablenkung siehst su viele Bits "übereinander" weil, auf welches Bit soll das Kino denn auch triggern? > Woher kommt denn die Netzeinkopplung ? Tip mal mit einem Finger fest auf die (nirgens angeschlossene) Tastspitze. Was siehst du? Uwe
Rainer W. schrieb: > Hannes S. schrieb: >> Woher kommt denn die Netzeinkopplung ? > > Wo hast du die Masse von deinem Oszilloskop angeschlossen? Can GND
Uwe B. schrieb: > Hannes S. schrieb: > >> Der Can ist sowohl auf den Can High als auch auf dem Can Low jeweils >> invers. > > Dreh die Zeitbasis herunter bis die die einzelnen Bits tanzen siehst. > Mit der von dir gewählten Ablenkung siehst su viele Bits "übereinander" > weil, auf welches Bit soll das Kino denn auch triggern? > >> Woher kommt denn die Netzeinkopplung ? > > Tip mal mit einem Finger fest auf die (nirgens angeschlossene) > Tastspitze. Was siehst du? > > Uwe OK, das ist logisch, also ist das oszi zu langsam. Bei 250kbit vom Pi ist es nahmlich einwandfrei sichtbar, siehe oben. Uwe B. schrieb: > Hannes S. schrieb: >> Der Can ist sowohl auf den Can High als auch auf dem Can Low jeweils >> invers. > > Dreh die Zeitbasis herunter bis die die einzelnen Bits tanzen siehst. > Mit der von dir gewählten Ablenkung siehst su viele Bits "übereinander" > weil, auf welches Bit soll das Kino denn auch triggern? >> Woher kommt denn die Netzeinkopplung ? > > Tip mal mit einem Finger fest auf die (nirgens angeschlossene) > Tastspitze. Was siehst du? > Uwe Blut :D
Hannes S. schrieb: > Rainer W. schrieb: >> Hannes S. schrieb: >>> Woher kommt denn die Netzeinkopplung ? >> >> Wo hast du die Masse von deinem Oszilloskop angeschlossen? > > Can GND Also völlig ohne Bezug zu den CAN-Signalen.... Uwe
Uwe B. schrieb: > Hannes S. schrieb: >> Rainer W. schrieb: >>> Hannes S. schrieb: >>>> Woher kommt denn die Netzeinkopplung ? >>> >>> Wo hast du die Masse von deinem Oszilloskop angeschlossen? >> >> Can GND > > Also völlig ohne Bezug zu den CAN-Signalen.... > > Uwe Gibt's dazu noch eine Erklärung?
Hannes S. schrieb: > OK, das ist logisch, also ist das oszi zu langsam. Nein, die Zeitbasis ist zu schnell eingestellt, ein Bit ist fast die Hlfte deines Fensters. Eine andere Dastellung (mit kleierer Zeitbasis) bekommst du mit den analogen Scope nicht hin. Abhilfe wäre ein Triggersignal welches du mit dem Pi auf eine bestimmte Message generierst Jetzt ist aber langsam gut %-( Uwe
Uwe B. schrieb: > Hannes S. schrieb: >> OK, das ist logisch, also ist das oszi zu langsam. > > Nein, die Zeitbasis ist zu schnell eingestellt, ein Bit ist fast die > Hlfte deines Fensters. > Eine andere Dastellung (mit kleierer Zeitbasis) bekommst du mit den > analogen Scope nicht hin. > Abhilfe wäre ein Triggersignal welches du mit dem Pi auf eine bestimmte > Message generierst > > Jetzt ist aber langsam gut %-( > > Uwe OK danke! Kleiner kleiner kann das oszi nicht.
Hannes S. schrieb: > Uwe B. schrieb: >> Also völlig ohne Bezug zu den CAN-Signalen.... > Gibt's dazu noch eine Erklärung? Ja, in dem von mir oben verlinkten Wikipedia-Artilel. Zum Beispiel. Uwe
Hannes S. schrieb: > Kleiner kleiner kann das oszi nicht. Ächtz. Andesrum,längere Zeit. Dmit du mehere (viele) Bits auf den Schirm bekommst. Uwe
Uwe B. schrieb: > Ja, in dem von mir oben verlinkten Wikipedia-Artilel. Zum Beispiel. Kommst du dir besonders witzig vor? Genauso gut hättest du schreiben können: "Im Internet. Zum Beispiel."
Uwe B. schrieb: >> Can GND > > Also völlig ohne Bezug zu den CAN-Signalen.... CAN-GND stellt genau den Massebezug für beide CAN-Leitungen bereit. Ist also völlig richtig diesen zum Messen zu benutzen. Hier was zum lesen: https://cdn.vector.com/cms/content/know-how/_application-notes/AN-ANI-1-115_HS_Physical_Layer_Problems.pdf
:
Bearbeitet durch User
In der Theorie würde ich erwarten, dass der CAN-Ground am Ground des Transceivers hängt. Aber die Messungen legen nahe, dass das nicht der Fall ist, sonst wären die 50Hz nicht zwischen CAN und CAN-Ground. Jeder Hersteller hat da seine eigenen Ideen, was "besser" ist. Man könnte die Box aufschrauben und schauen wie die Massen geplant waren.
Thomas F. schrieb: > Uwe B. schrieb: >>> Can GND >> >> Also völlig ohne Bezug zu den CAN-Signalen.... > > CAN-GND stellt genau den Massebezug für beide CAN-Leitungen bereit. Ist > also völlig richtig diesen zum Messen zu benutzen. Nein. Einen Bezug gibt es nur durch einen Spannungsteiler im Transceiver der den Pegel im rezessiven Zustand auf beiden Leitungen auf 1/2 VDD (gegen VSS) legt. (Das unterscheidet den CAN Bus vom RS485 Bus der komplett überhaupt keinen Bezug zu GND hat) VSS muss nicht zwangsläufig der herausgeführte GND sein, abgängig vom Design der Schutzbeschaltung. Ein CAN-Bus funktionert problemlos ohne GND-Verbindung solange der Gleichtaktbereich der Transceiver nicht verlassen wird. Nur um das zu verhindern schafft man die Verbindung der Schaltungsmassen zwischen den Busteilnehmern. Nachtrag: Es gibt natürlich einen Bezug des (CAN-) GND zu VSS des Transceivers. Das hat aber für die Funktion des Bus keine Bedeutung. Und ist zum Messen ungeeigent. Uwe
:
Bearbeitet durch User
Uwe B. schrieb: > Nein. Einen Bezug gibt es nur durch einen Spannungsteiler im Transceiver > der den Pegel im rezessiven Zustand auf beiden Leitungen auf 1/2 VDD > (gegen VSS) legt. Eben, 1/2 VDD ist doch ein Pegel, der durchaus eine Beziehung zu Gnd besitzt. Wie stark der ggf. gestört wird, hängt von der Quellimpedanz der Störungen und des Spannungsteilers ab. Die dominanten Pegel sind an VCC bzw. Gnd noch viel niederohmiger angebunden.
:
Bearbeitet durch User
Uwe B. schrieb: >> CAN-GND stellt genau den Massebezug für beide CAN-Leitungen bereit. Ist >> also völlig richtig diesen zum Messen zu benutzen. > > Nein. Einen Bezug gibt es nur durch einen Spannungsteiler im Transceiver > der den Pegel im rezessiven Zustand auf beiden Leitungen auf 1/2 VDD > (gegen VSS) legt. Nicht nur durch den Transceiver. Der geneigte Entwickler kann durchaus weitere (ESD-)Konzepte eingesetzt haben. Beitrag "Re: Analyse CAN Terminierung" Uwe B. schrieb: > Ein CAN-Bus funktionert problemlos ohne GND-Verbindung solange der > Gleichtaktbereich der Transceiver nicht verlassen wird. Und außerhalb des Gleichtaktbereiches funktioniert er eben nicht. Als ist immer ein Massebezug nötig. Uwe B. schrieb: > Es gibt natürlich einen Bezug des (CAN-) GND zu VSS des > Transceivers. Das hat aber für die Funktion des Bus keine Bedeutung. Und > ist zum Messen ungeeigent. Also doch. :-) Und warum soll man nicht den Gleichtaktbereich messen wollen? Für die Entscheidung des Transceivers zwischen 1 oder 0 ist der Massebezug erst mal egal, aber nicht für den generellen Betrieb des Busses.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.







