stuartpittaway / diyBMSv4ESP32

diyBMS v4 code for the ESP32 and new controller hardware
Other
181 stars 80 forks source link

CAN BUS communication #266

Open lorenzo6201 opened 9 months ago

lorenzo6201 commented 9 months ago

I was testing some firmware with meningd and noticed that the controller does not send the appropriate alarms to the inverter. No mater what fault condition I trigger the controller sends a charge prevented message and the inverter stops charging but no fault codes are displayed on the inverter. I also tested with the latest release here on GitHub so I can rule out any firmware modification mistakes and the behavior is the same. The inverter in question is a Growatt SPF5000ES and is able to display the following errors when connected via can bus:

**1. Battery is over-charged

  1. Cell over voltage
  2. Cell under voltage
  3. Total over voltage
  4. Total under voltage
  5. Discharge over voltage
  6. Charge over voltage
  7. Discharge over temperature
  8. Charge over temperature
  9. Mosfet over temperature
  10. Battery over temperature
  11. Battery under temperature
  12. System shut down**

The fault codes are implemented and this is a bug , or they are not and the controller just sends a charge prevented without triggering a fault code on the inverter ?

I tested the above mentioned inverter with a pylontech battery and the fault codes are displayed immediately.

Also since i had more time to play with the BMS and can bus communication I noticed the if I change the charge current , activate the charge prevented option , or manually triggering a total pack / cell overvoltage condition or any other fault the controller is sending a charge prevented immediately but it takes 30 seconds to 1 minute for the inverter to respond and act accordingly. I do not know if it is a bug or intended to work this way , but with a pylontech battery the inverter responds immediately. I tested with short can bus cable (10cm) and long cable , same behavior. Is not a big deal , just asking for my knowledge.