Messages : 2,081
Sujets : 158
Inscription : Mar 2022
Réputation :
4
On m'a prêté cette semaine
un shunt BMV-700 400 A de chez Victron . Merci à Ghislain :)
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:
La tension batteries complètement chargées
Le courant de queue
Le temps de détection de ces valeurs
La variable de Peukert
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:
Alors voici ci-dessous les 1ers essais de connexion. Cela a fonctionné du 1er coup. C'est rare mais ça arrive
parfois.
Les commandes à passer sous Linux et le résultat des données du Victron
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
Et voici les données du Victron Shunt dans Smartphoton
Jean-Luc
Messages : 2,081
Sujets : 158
Inscription : Mar 2022
Réputation :
4
12-02-2023, 10:48 PM
(Modification du message : 12-02-2023, 10:54 PM par jlm .)
Voici le flow (le code informatique) au format JSON pour Nodered si vous avez l'envie de regarder comment c'est fait
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
}
]
Jean-Luc
Messages : 2,081
Sujets : 158
Inscription : Mar 2022
Réputation :
4
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.
Jean-Luc
Messages : 2,081
Sujets : 158
Inscription : Mar 2022
Réputation :
4
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.
Jean-Luc