Comunicación entre BMS y PC a través de CAN/RS485: ¿por dónde empezar?

Estoy a punto de obtener una batería residencial BYD B-Box LV para mi sistema solar fuera de la red. El inversor que tengo no está en la lista de compatibles, lo que significa (según mi proveedor local de baterías) que la batería simplemente se negará a funcionar a menos que la conectemos a un dispositivo especialmente programado como Venux GX que engañará al BMS para que piense que esté conectado a un inversor compatible. La interfaz es CAN/RS485.

Ahora mi idea es usar una laptop en vez de una Venux GX por estas razones:

  • Venux GX no estaría conectado al inversor, por lo tanto, no tendrá posibilidades de reaccionar (por ejemplo, cambiar el voltaje) exactamente/cuando el BMS lo desee (aunque el inversor se puede programar solo, esto no es lo ideal). Al mismo tiempo, el inversor se puede controlar desde la PC a través del puerto serie, por lo que me gustaría escribir un programa que coordine el inversor y el BMS para que funcionen bien;
  • Quiero aprender a programar este tipo de cosas (soy ingeniero de software pero nunca antes trabajé con microcontroladores).

Entonces, la pregunta es dónde/cómo abordar esta tarea. Supongo que necesitaré obtener:

  • ¿Algún tipo de adaptador de CAN/RS485 a USB?
  • ¿Algún software/marcos/lenguajes útiles para programar comunicaciones a través de CAN/RS485?
  • ¿Alguna otra trampa que se le aconsejaría a un novato que supiera?
trick the BMS into thinking that it is connected to a compatible inverter... ¿cómo hace eso el Venus GX? .... tienes la información
@jsotola Mi proveedor local de baterías sabe cómo programar Venus para hacer eso. Todavía no tengo idea pero me están ofreciendo vender la batería y Venus programado para trabajar con ella.
Estoy seguro de que su proveedor de baterías no sabe cómo se comunica el Venus GX con el BMS... necesita saber esa información antes de poder reemplazar el VenusGX con su propio dispositivo (su computadora portátil)
@jsotola Bueno, el proveedor afirma que sabe y me avisará si les compro. Así que supongamos que sé cómo se comunican a los efectos de esta pregunta.
¿Qué quieres decir con "Supongo que habrá"? ¿Que se incluye con el producto residencial BYD B-Box LV? ¿O que necesitaría comprarlo por separado (y recibir nuestros consejos sobre qué comprar)?
@PeterMortensen Que tendré que comprar, por supuesto. Entiendo que el producto BYD es para usuarios habituales y no para fanáticos del bricolaje.
Necesitará saber qué protocolo está usando el BMS o no hay nada que pueda hacer, excepto intentar aplicar ingeniería inversa, lo cual no es una tarea para principiantes. Aparte de eso, es posible que pueda o no usar adaptadores y una computadora portátil, según los requisitos en tiempo real. Como regla general, olvídese de usar una PC si necesita un tiempo de respuesta más rápido que 10 ms. En cuanto a adaptadores, hay muchos fabricantes, dependiendo de si necesitas CAN o RS485.

Respuestas (4)

Sé que esto es unos años demasiado tarde, pero para los futuros lectores, el concepto general aquí es muy, muy peligroso. La razón por la que BYD requiere comunicación es porque, en caso de error, el BMS debe poder apagar los inversores sin simplemente desconectarlos. Esto mantiene el inversor IC encendido pero la salida a 0W. Además, el BMS debe poder controlar los parámetros de carga y descarga en tiempo real. Eliminar esta capacidad es fundamental para desechar la garantía y acortar significativamente la vida útil de la batería. Sin mencionar los dolores de cabeza/apagados por bajo voltaje/sobrevoltaje que una persona encontrará.

Una búsqueda de "Victron y byd" y encontrará un documento de Victron sobre cómo configurar y conectar Venus/ccgx a byd bmu. Se sospecha que esta es la medida en que su proveedor de baterías afirma saber cómo se comunican los dos, lo que no le da nada excepto el pinout CAN H/L y la velocidad en baudios.

Especulando como alguien que aún no sabe nada (me gustaría investigar si algunos de los datos del historial se pueden recopilar para el software VenusOS).

El sistema operativo Venus que se ejecuta en Venux GX es (parcialmente) de código abierto y puede descargar imágenes para Raspberry Pi y Beagle Bone. Si puede encontrar un adaptador USB - CAN y configurarlo para que se muestre como un puerto serie, es posible que se comunique con BYD BMU.

Por lo que sé, Venus OS envía un comando de latido a la BMU con frecuencia para evitar que se apague.

Pruebe esto: https://nocache.victronenergy.com/upload/documents/Manual-CANUSB-EN.pdf

tal vez pueda ayudarte o orientarte en la dirección correcta.

Bienvenido a EE. Se desaconsejan las respuestas de solo enlace ya que el objetivo del enlace a veces desaparece. Es posible que desee incluir los puntos principales en su respuesta.