foxBMS / foxbms-1

foxBMS 1, online documentation at https://iisb-foxbms.iisb.fraunhofer.de/foxbms/gen1/docs/html/latest/
https://foxbms.org/
Other
170 stars 83 forks source link

CAN protocol compatibility with other BMS units? #3

Closed davidbuzz closed 7 months ago

davidbuzz commented 5 years ago

There are a lot of BMS/batteries on the market that use CAN, and I was wandering in foxbms is compatible with any if them...? Eg: BYD Battery Box PYLON US2000 or US3000 LG RESU DYNESS PowerBox GCL variants AlphaESS Smile ... And many more Etc... I'd be happy with just one common one of these, as it would make integration of a foxbms with existing hybrid inverters easier, as they usually support most common batteries/BMS like these.

davidbuzz commented 5 years ago

I've done a bit of research about the can protocols and can messages used by BMS's, and it seems the majority of them think they are special and invent their own messages etc, but some of these are public info either due to specification docs or thru reverse engineering.... So I thought as I find them I'd drop links into this issue that point at places where BMS CAN protocol things have been reversed or spec released... as research info for possible future integration of one of these?

davidbuzz commented 5 years ago

https://github.com/jens18/lgresu is code written and communicating with a 'LG RESU 10' BMS via CAN and querying it etc, and this one is neat because it appears to also as a bonus include a simulator as well as a monitor https://github.com/jens18/lgresu/blob/master/cmd/lgresu_sim/lgresu_sim.go https://github.com/jens18/lgresu/blob/master/cmd/lgresu_mon/lgresu_mon.go

davidbuzz commented 5 years ago

https://www.elithion.com/lithiumate/php/controller_can_specs.php contains a full and open CAN spec document for that particular BMS. This BMS however doesnt seem to be mainstream and is not supported out-of-the-box by any major Hybrid Inverters or similar , just like I understand foxbms is in the same boat already

davidbuzz commented 5 years ago

Victron whitepaper says Its "VE.Can" is actually international standard J1939 / NMEA2000 https://www.victronenergy.com/upload/documents/Whitepaper-Data-communication-with-Victron-Energy-products_EN.pdf https://www.victronenergy.com/live/ve.can:nmea-2000:start I don't know if NMEA2000 defines packets down to the byte layer, haven't read it, probably not, so victron is probably still off-the-table ?

davidbuzz commented 5 years ago

Batrium seems to have quite an ecosystem of protocols and compatibility, but it's worth noting that there is some open source code to read UDP packets from a watchmon , not CAN ones, but same basic idea. https://github.com/Batrium/WatchMonUdpListener Individual packets are being parsed , for example https://github.com/Batrium/WatchMonUdpListener/blob/master/payload/Msg_415a_CellNodeStatus.js

davidbuzz commented 5 years ago

https://emusbms.com/ makes marine battery installs and a BMS ... https://www.electricmotorsport.com/ev-parts/batteries/battery-packages ...and fully specifies their CAN protocol (link below) , with a 50 page pdf that is one of the best I've seen, but again, this company isn't a popular one that I've heard of... maybe someone else has... so being compatible with them isn't high value to start with. https://emusbms.com/wp-content/uploads/2018/04/BMS_CAN_Messages_v2.0.11.pdf

davidbuzz commented 5 years ago

Another I haven't heard of ... Elcon, do Automotive/ Electric vehicle chargers: https://www.elconchargers.com/catalog/item/9034090/10317340.htm and their good looking CAN specification pdf here : https://www.nothnagel-marine.de/media/downloads/Elcon_TCCH/ElCon_Ladeger%25C3%25A4t_CAN-Bus-Communication-Spec.pdf

davidbuzz commented 5 years ago

REC , specifically the REC 9R-15S, includes some basic CAN protocol info here, probably enough... http://www.rec-bms.com/datasheet/UserManual9R_SMA.pdf ...and I fould a rumour on a random forum that said Pylon's CAN was almost a copy of the REC one except for one key difference, but didn't say what the difference was.

davidbuzz commented 5 years ago

This BMS is open source, and although designed for recycled car batteries like the Tesla ,VW and BMW , it communicates over CAN with a Victron compatible set of messages , which is cool Doco.. https://github.com/tomdebree/SimpBMS?files=1 Code. .. https://github.com/tomdebree/TeslaBMSV2?files=1

forest1298 commented 4 years ago

Very important topic, thanks for information first

dudman commented 2 years ago

Thought I'd add this link https://github.com/juamiso/PYLON_EMU for the Pylon example... has anyone got this to work ?

I'm using a pip 8k max MPPT controller and would like to try this.

foxBMS commented 7 months ago

Dear @davidbuzz,

foxBMS 1 is no longer supported or updated.

The further development of the foxBMS project is done in the second generation of foxBMS - foxBMS 2. foxBMS 2 is also available on GitHub at https://github.com/foxBMS/foxbms-2.

Best regards, The foxBMS Team