@tsg Danke für deine Arbeit. Ich habe eine Segger JLink, der unterstützt laut Doku den Controller. Ich werde nur in den nächsten 3 Wochen nicht dazu kommen, das BMS auszubauen und den JLink anzuschließen. Danach mache ich das aber gerne einmal und schaue, was geht. Bis dahin beschäftige ich noch etwas mit der Doku zum Prozessor. Insbesondere würde ich gerne verstehen, wie JK das Softwareupdate macht. Nutzen die den integrierten Bootloader oder haben die einen eigenen geschrieben. Wenn ich das entwickeln würde, wäre es das letztere. Ich denke, dazu ist etwas Reverse Engineering des Flash Prozess auf dem Modbus notwendig. Ich schaue mal, was ich ohne Zugriff auf die HW in den nächsten 3 Wochen machen kann.
@axelb Gerne auch mal nur auf "Datenbasis" unterstützten. Kann mich hier auch nicht so intensiv mit beschäftigen. Andere Projekte sollten auch voran gehen. Ich könnte mir auch mal leihweise einen Segger besorgen. Bin auf SW Seite allerdings nicht so fit. Wenn meine HW läuft i.d.R. erfolgreiche Verbindung über SWD/JTAG. Dürfen die Kollegen von der Software ran 🙄
Mal mit einem LogicAnalyzer / Oszi schauen was so beim Update passiert, könnte ich auch mal schauen.
Ich werde mir jetzt aber auch mal noch ein gutes BMS anschauen:
Zum einen ob meine PCB Datum Thorie stimmt,die ist von außen ersichtlich.
Tatsächlich sollte heute mein Ersatz BMS geliefert werden, hier erst einmal Update fahren. Sonst geht das postwenden wieder zurück.
Und bei einem i.O. BMS schauen, ob da überall die gleichen Bauteil drauf sein.
Ggf. auch mal noch die RS232 ansehen... Ob da überhaupt eine Kommunikation geht.
Phil hat hier ja Datenblätter angefordert/bekommen: https://www.akkudoktor.net/forum/datenblaetter-manuals-usw/manual-jk-pb-serie/#post-219011
Hier gibt es auf jeden Fall Pins für RS232:
Was mich aktuell ein wenig stutzig macht: Bisher habe ich keinen MAX485, MAX232 oder CAN Transceiver auf dem BMS entdecken können. Auf der Kommunkationsplatine ist ja nichts drauf.
Ok, kleines Updates meiner seits. Heute nochmals 1x BMS geliefer bekommen. HW 15.XA mit SW 15.12, Update ohne Probleme auf SW 15.24. Danach wir die HW Version mit V 15A ausgegben.
Ich habe alle meine BMS angesehen. Auf dem Bestückungsdruck ist bei den "OK" BMS unter dem JK Logo die Version 15.1 und vermeidliches Datum 20140119. Bei dem Problem BMS 15.0.
Es scheint an 2 Stellen ein Bestückungsunterschied zu geben:
1. In der Nähe des MCU fehlt eine große Droßen / Schalttransistor. Auf der Rückseite ein weiteres IC. Vermutlich ein getakteter Spannungsregler
2. In der Nähe des Heizanschluss fehlen auch Bauteile.
So anbei nochBilder (versuche es mal so groß wie möglich am Dateilimit hochzuladen).
Die HW die Problme macht hat diesen Aufdruck (ich editire dahingend auch noch die Auflistung):
Es scheint an 2 Stellen ein Bestückungsunterschied zu geben:
fehlen beim 15.1 bauteile oder beim 15.0?
ich habe 6x 15.1 und keine probleme mit dem update
Projekt 48kWh / 12kWp Inselanlage - SMA Sunny Island
Sind Photovoltaik-Inselanlagen meldepflichtig?
Warum braucht man keinen 3phasen Batteriewechselrichter?
-- Sammelthread PV Anlagen Beispiele Umsetzung --
Die "Energiewende" kostet eine Kugel Eis..... pro kWh.
Bei der 15.1 "fehlen" Bauteile. Wobei fehlen, das falsche Wort ist. Es ist m.E. eine Bestückungsvariante. man könnte Versuchen diese anzugleichen.
Kurze Autopsie von mir:
Bei meinem Update-Verweigerer steht auf der Platine auch "15.0". Die Drossel ist klar zu erkennen.
Bei drei noch nicht verbauten BMS steht "15.1" auf der Platine. Die Drossel fehlt, der Rest vermutlich auch - aber das kann ich von der Seite nicht erkennen.
Nachtrag: Mein Problemfall
@tsg Ich nutze dafür Wireshark. Ist aber ein etwas komplizierteres Setup, weil man noch eine zusätzliche SW (ich nutze https://github.com/j123b567/SerialPCAP) braucht. Ansonsten versuch es erstmal mit einem Terminalprogramm. Dann fehlen zwar ein paar Infos, für den Anfang sollte das aber hoffentlich trotzdem reichen. Unter Windows nutze ich da https://www.der-hammer.info/pages/terminal.html Bei dem Programm kannst du einstellen, dass er eine neue Zeile erzeugt, wenn für eine gewisse Zeit keine Daten empfangen werden. Da Modbus Pausenzeit zum Signalisieren neuer Frames benutzt, kann man drüber ganz brauchbar Pakete separieren.
@axelb hterm hab ich auf dem Rechner. Ich denke nur der reine mitschnit, wird schwer zu verstehen sein, es gibt ja keine RX/TX Leitung. Maximal erkennbar wenn wirklich mit ModBus RTU oder so gesprochen wird.
Ich meine ich hötte vor Jahren auch Mal etwas mit Wireshark und USB mitschnitten gemacht. Ich muss Mal suchen. Denke da bekommt man ggf. Eher noch mit wer sendet/empfängt. Was müsste man für RS485 noch installieren? Einen Virtuellen Serial Port oder so?
@tsg Der einzige Unterschied ist doch, dass du mit Wireshark noch eine zeitlich Info hast, wann welches Byte empfangen wurde, oder übersehe ich da was? Dein RS485 Wandler sollte sich doch als Virtual COM Port am PC zeigen, jedenfalls macht das meiner. Schau mal in den Link zu SerialPCap, den ich gepostet habe. Die Sw zeichnet dann die Daten so auf, dass du sie in Wireshark auswerten kannst. Du kannst die auch direkt per Pipe verbinden und dann in Wireshark die Daten live sehen. Wirwshark selbst kann nicht direkt von der seriellen Schnittstelle lesen
@tsg Ich habe mir gerade mal die Firmware Dateien von V15.24 und V15.27 angeschaut und verglichen. Die sind definitiv sehr unterschiedlich. Ob komprimiert und/oder verschlüsselt würde ich noch versuchen, zu verstehen. Auf die Schnelle habe ich aber Format erkennen können. Ich würde daher gerne den Log vom Flashen mit den Dateien vergleichen. Vielleicht übernimmt ja das PC Programm die Entschlüsselung und JK macht es uns leicht...