[Gelöst] Daly BMS auslesen klappt nicht

  • Ich habe mir diese Micro-USB-Boards geholt, um mein Daly BMS auszulesen:

    Ich habe schon mal 4 Kabel angelötet, obwohl laut Anleitung nur die 3 gebraucht werden: D-, D+ und GND.

    Das ist der Anschluss am BMS:

    Laut Anleitung sollte also von links nach rechts sein:

    Rot = Rx

    Weiss = Tx

    Gelb = Aktivierung indem man Gelb kurz auf Masse legt. (was fatal wäre, weil 22,6 Volt anliegen !!! )

    Sollte laut Anleitung Power Supply sein, ist aber nicht belegt.

    Grün = + 3,3 Volt

    Schwarz = GND

    Tatsächlich messe ich aber an allen 3,3 Volt gegen GND, außer auf ID, also Gelb, da liegen 22,6 Volt an.

    Jetzt habe ich sowohl über UART direkt, als auch mit USB-Serial-Adapter versucht, etwas an Daten zu entlocken, aber es kommen keine.

    Angeschlossen habe ich nur D+, D- und GND.

    Weder mit dem Pythonscript, noch mit einem seriellen Monitor wie z.B. cutecom sehe ich Daten auf /dev/serial0 mit UART oder /dev/ttyUSB0 mit USB-Adapter.

    Zur Sicherheit habe ich auch schon Tx und Rx vertauscht, aber nichts.

    Überbrücke ich am Pi Tx und Rx mit einem Jumperkabel, kann ich empfangen, was ich sende.

    Das ganze nochmal etwas unscharf:

    Am BMS müsste also Weiss und Grün Tx und Rx sein.

    Am Adapter müsste Schwarz = D+ sein und Weiss = D-


    Ist aber:

    Rot = VBUS

    Weiss = D-

    Gelb = ID

    Grün = D+

    Schwarz = GND

    Dann würde die Anleitung auch stimmen.


    Ausgabe daly-bms-cli -d /dev/ttyUSB0 --all --uart

    und daly-bms-cli -d /dev/serial0 --all --uart

    Mit daly-bms-cli -d /dev/serial0 --all --sinowealth

    Code
    Traceback (most recent call last):
      File "/usr/local/bin/daly-bms-cli", line 185, in <module>
        result = bms.get_all()
      File "/usr/local/lib/python3.9/dist-packages/dalybms/daly_sinowealth.py", line 240, in get_all
        "errors": self.get_errors()
      File "/usr/local/lib/python3.9/dist-packages/dalybms/daly_sinowealth.py", line 215, in get_errors
        if response[key] == "1":
    TypeError: 'bool' object is not subscriptable

    Den mitgelieferten Micro-USB-Bluetooth-Dongle möchte ich nicht zerstören, nur um reinzusehen.

    Ich habe schon /dev/ttyAMA0, /dev/ttyS0, /dev/ttyUSB0 und /dev/serial0 durchprobiert, mit --sinowealth und ohne.

    Da der Micro-USB ja nur 5 Anschlüsse hat, bin ich jetzt am Ende meines Lateins. :denker:

    Hat schonmal jemand Daten aus dem Daly BMS bekommen und kann mir einen Tip geben ?

    EDIT:

    Ich habe herausgefunden, dass der Parameter --sinowealth schon richtig war, aber einige andere Parameter das Script abstürzen lassen.

    Ohne Absturz geht daly-bms-cli -d /dev/serial0 --uart --sinowealth --status --cell-voltages --temperatures --balancing --errors

    Die Ausgaben sind aber für die Tonne: :no_sad:

    Zyklen müssten 0 sein, Spannungen zwischen 3,331 und 3,332 Volt, Temperatur 21°C.

    Es gibt auch eine Software für Windows, die zeigt nichts an.

    Nochmal EDIT:

    Ich habe hier einen USB-Adapter mit CH340-Chipsatz gesehen, bei dem scheinen 3 Kabel an das BMS zu gehen, jeweils die äusseren:

    Leider sieht man den Stecker nicht so gut.

    Also Auflösung:

    Die Belegung stimmt, die Chinesen halten sich halt nicht an den Standard:

    Ganz links ist Rx (rot), rechts daneben Tx (weiss), ganz rechts GND (schwarz).

    Somit muss das rote Rx-Kabel vom BMS an VBUS vom MicroUSB-Board und an Tx vom Pi.

    Das weisse Tx-Kabel vom BMS an D+ vom MicroUSB-Board und an Rx vom Pi.

    Ganz rechts (schwarz) ist GND und kommt an GND vom MicroUSB-Board und an GND vom Pi.

    Die Ausgabe von daly-bms-cli -d /dev/ttyUSB0 --uart --all:

    Und mit daly-bms-cli -d /dev/serial0 --status --soc --mosfet --cell-voltages --temperatures --balancing --errors --check

  • fred0815

    Changed the title of the thread from “Daly BMS auslesen klappt nicht” to “[Gelöst] Daly BMS auslesen klappt nicht”.