Forums

Version complète : Shunt Victron Energy BMV 700
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
On m'a prêté cette semaine un shunt BMV-700 400 A de chez Victron. Merci à Ghislain  :)

[attachment=955]

Je l'ai installé dans l'optique de comparer les valeurs fournies par cet appareil de mesure par rapport à celles que me fourni le BMS de mes Pylontech.

Ce que je peux déjà en dire, après 1 jour d'utilisation c'est que les valeurs sont cohérentes. Il s'est auto-calibré, je n'ai juste eu qu'à lui donner le nombre d'Ah du pack.

Aujourd'hui j'ai pu affiner en lui donnant:
  1. La tension batteries complètement chargées
  2. Le courant de queue
  3. Le temps de détection de ces valeurs
  4. La variable de Peukert
  5. Le facteur de charge pour batterie Lithium
Je verrais si tout est ok dans quelques jours.

Et surtout je n'ai pas pu m'empêcher de fabriquer et connecter un câble maison sur le petit écran rond qui me faisait de l’œil :P
En effet il s'agit d'un port de communication.Selon la documentation, il est sensé envoyer ses valeurs via ce port.

Voici sont schéma de câblage:
[attachment=957]

https://smartphoton.ch/wp-content/upload...163100.mp4
Alors voici ci-dessous les 1ers essais de connexion. Cela a fonctionné du 1er coup. C'est rare mais ça arrive Rolleyes parfois.

Les commandes à passer sous Linux et le résultat des données du Victron

[attachment=956]

On aperçoit bien les divers valeurs écrites en clair, ce qui n'est pas toujours le cas.
Par exemple, la Tension, l'Intensité, la Puissance et le SOC (State Of Charge) du pack batterie

[attachment=958]

Et voici les données du Victron Shunt dans Smartphoton Blush

[attachment=959]
Voici le flow (le code informatique) au format JSON pour Nodered si vous avez l'envie de regarder comment c'est fait

[attachment=962]

Code :
[
    {
        "id": "044397eebe1dc2a8",
        "type": "tab",
        "label": "Victron BMV-700",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "8412d2fa475d1595",
        "type": "group",
        "z": "044397eebe1dc2a8",
        "name": "Victron BMV 700 avec Shunt 400 Ampères",
        "style": {
            "stroke": "#ff0000",
            "label": true,
            "color": "#ff3f3f"
        },
        "nodes": [
            "32eb4faf65534af1",
            "a88317a0cdcb2bdf",
            "32b0e1c721cb183f",
            "eff39b78b4d99b67",
            "a559c315b19d96f5",
            "56854b5b16ec224f",
            "780f62a6b94113b2",
            "0ad8152f1fc13b8c",
            "42e72c6953690b18",
            "88c7f4fa05e2f6ec",
            "7b259061e942f7c5",
            "57225073ed2a9bb1",
            "0da0ba26253247d7"
        ],
        "x": 14,
        "y": 59,
        "w": 1072,
        "h": 202
    },
    {
        "id": "32eb4faf65534af1",
        "type": "serial in",
        "z": "044397eebe1dc2a8",
        "g": "8412d2fa475d1595",
        "name": "Victron BMV-700",
        "serial": "04d53f2a241023ea",
        "x": 120,
        "y": 120,
        "wires": [
            [
                "780f62a6b94113b2"
            ]
        ]
    },
    {
        "id": "a88317a0cdcb2bdf",
        "type": "debug",
        "z": "044397eebe1dc2a8",
        "g": "8412d2fa475d1595",
        "name": "debug 59",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 300,
        "y": 160,
        "wires": []
    },
    {
        "id": "32b0e1c721cb183f",
        "type": "switch",
        "z": "044397eebe1dc2a8",
        "g": "8412d2fa475d1595",
        "name": "",
        "property": "topic",
        "propertyType": "msg",
        "rules": [
            {
                "t": "cont",
                "v": "V",
                "vt": "str"
            },
            {
                "t": "cont",
                "v": "I",
                "vt": "str"
            },
            {
                "t": "cont",
                "v": "P",
                "vt": "str"
            },
            {
                "t": "cont",
                "v": "SOC",
                "vt": "str"
            }
        ],
        "checkall": "false",
        "repair": false,
        "outputs": 4,
        "x": 630,
        "y": 120,
        "wires": [
            [
                "eff39b78b4d99b67"
            ],
            [
                "a559c315b19d96f5"
            ],
            [
                "56854b5b16ec224f"
            ],
            [
                "0ad8152f1fc13b8c"
            ]
        ]
    },
    {
        "id": "eff39b78b4d99b67",
        "type": "function",
        "z": "044397eebe1dc2a8",
        "g": "8412d2fa475d1595",
        "name": "Volt",
        "func": "msg.payload = msg.payload /1000;\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 810,
        "y": 100,
        "wires": [
            [
                "88c7f4fa05e2f6ec"
            ]
        ]
    },
    {
        "id": "a559c315b19d96f5",
        "type": "function",
        "z": "044397eebe1dc2a8",
        "g": "8412d2fa475d1595",
        "name": "Intensité",
        "func": "msg.payload = msg.payload /1000;\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 820,
        "y": 140,
        "wires": [
            [
                "7b259061e942f7c5"
            ]
        ]
    },
    {
        "id": "56854b5b16ec224f",
        "type": "function",
        "z": "044397eebe1dc2a8",
        "g": "8412d2fa475d1595",
        "name": "Puissance",
        "func": "msg.payload = msg.payload /1;\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 830,
        "y": 180,
        "wires": [
            [
                "57225073ed2a9bb1"
            ]
        ]
    },
    {
        "id": "780f62a6b94113b2",
        "type": "function",
        "z": "044397eebe1dc2a8",
        "g": "8412d2fa475d1595",
        "name": "Nettoyage",
        "func": "var values = msg.payload.trim().split('\\t');    // trim off the crlf first then split into parts   \nmsg.payload = values[1];  // replace payload with the reading we want\nmsg.topic = values[0];      // set the topic in case we need to tell them apart later\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 310,
        "y": 120,
        "wires": [
            [
                "a88317a0cdcb2bdf",
                "42e72c6953690b18"
            ]
        ]
    },
    {
        "id": "0ad8152f1fc13b8c",
        "type": "function",
        "z": "044397eebe1dc2a8",
        "g": "8412d2fa475d1595",
        "name": "SOC",
        "func": "msg.payload = msg.payload /10;\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 810,
        "y": 220,
        "wires": [
            [
                "0da0ba26253247d7"
            ]
        ]
    },
    {
        "id": "42e72c6953690b18",
        "type": "switch",
        "z": "044397eebe1dc2a8",
        "g": "8412d2fa475d1595",
        "name": "",
        "property": "topic",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "PID",
                "vt": "str"
            },
            {
                "t": "cont",
                "v": "BMV",
                "vt": "str"
            },
            {
                "t": "else"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 3,
        "x": 490,
        "y": 120,
        "wires": [
            [],
            [],
            [
                "32b0e1c721cb183f"
            ]
        ]
    },
    {
        "id": "88c7f4fa05e2f6ec",
        "type": "ui_gauge",
        "z": "044397eebe1dc2a8",
        "g": "8412d2fa475d1595",
        "name": "",
        "group": "798f2e7ae84f944d",
        "order": 1,
        "width": 3,
        "height": 3,
        "gtype": "gage",
        "title": "Volts",
        "label": "[V]",
        "format": "{{value}}",
        "min": "45",
        "max": "59",
        "colors": [
            "#00b500",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "",
        "seg2": "",
        "className": "",
        "x": 990,
        "y": 100,
        "wires": []
    },
    {
        "id": "7b259061e942f7c5",
        "type": "ui_gauge",
        "z": "044397eebe1dc2a8",
        "g": "8412d2fa475d1595",
        "name": "",
        "group": "798f2e7ae84f944d",
        "order": 2,
        "width": 3,
        "height": 3,
        "gtype": "gage",
        "title": "Intensité",
        "label": "[A]",
        "format": "{{value}}",
        "min": "-100",
        "max": "100",
        "colors": [
            "#ff0000",
            "#ff8040",
            "#008000"
        ],
        "seg1": "0",
        "seg2": "",
        "className": "",
        "x": 1000,
        "y": 140,
        "wires": []
    },
    {
        "id": "57225073ed2a9bb1",
        "type": "ui_gauge",
        "z": "044397eebe1dc2a8",
        "g": "8412d2fa475d1595",
        "name": "",
        "group": "798f2e7ae84f944d",
        "order": 3,
        "width": 3,
        "height": 3,
        "gtype": "gage",
        "title": "Watts",
        "label": "[W]",
        "format": "{{value}}",
        "min": "-1000",
        "max": "1000",
        "colors": [
            "#ff0000",
            "#ff8040",
            "#008000"
        ],
        "seg1": "0",
        "seg2": "",
        "className": "",
        "x": 990,
        "y": 180,
        "wires": []
    },
    {
        "id": "0da0ba26253247d7",
        "type": "ui_gauge",
        "z": "044397eebe1dc2a8",
        "g": "8412d2fa475d1595",
        "name": "",
        "group": "798f2e7ae84f944d",
        "order": 4,
        "width": 3,
        "height": 3,
        "gtype": "gage",
        "title": "SOC",
        "label": "[%]",
        "format": "{{value}}",
        "min": 0,
        "max": "100",
        "colors": [
            "#ff0000",
            "#e6e600",
            "#008000"
        ],
        "seg1": "20",
        "seg2": "80",
        "className": "",
        "x": 990,
        "y": 220,
        "wires": []
    },
    {
        "id": "04d53f2a241023ea",
        "type": "serial-port",
        "serialport": "/dev/tty-victron",
        "serialbaud": "19200",
        "databits": "8",
        "parity": "none",
        "stopbits": "1",
        "waitfor": "",
        "dtr": "none",
        "rts": "none",
        "cts": "none",
        "dsr": "none",
        "newline": "\\n",
        "bin": "false",
        "out": "char",
        "addchar": "",
        "responsetimeout": "10000"
    },
    {
        "id": "798f2e7ae84f944d",
        "type": "ui_group",
        "name": "BMV 700",
        "tab": "4e18bff874299c58",
        "order": 1,
        "disp": true,
        "width": 12,
        "collapse": false,
        "className": ""
    },
    {
        "id": "4e18bff874299c58",
        "type": "ui_tab",
        "name": "Victron",
        "icon": "dashboard",
        "order": 35,
        "disabled": false,
        "hidden": false
    }
]
J'attire votre attention, que avec ce type appareil, on pourrait gérer +/- toutes les batteries qui ne savent pas parler avec leur onduleur.
En effet, du moment que le SOC est disponible, on peut faire des automatismes et modifier les paramètres de l'onduleur en conséquence.
Petite remarque pour info:
J'ai tenté de modifier les paramètres, c'est +/- Ok sauf que
Il ne faut pas lancer la commande "reboot" car après le SOC passe à 100%. Il a donc perdu cette valeur.
Il va falloir attendre une charge complète de la batterie pour qu'il retrouve la bonne valeur.