Sleeper85 / esphome-jk-bms-can

GNU General Public License v3.0
92 stars 22 forks source link

[Done] YamBMS cell number #57

Closed txubelaxu closed 3 months ago

txubelaxu commented 4 months ago

In my opinion, the cell number of the smartbms should be the total cell number of the system. 32 in my case (2x16cell real BMS) image

Sleeper85 commented 4 months ago

Hi,

The number of cells is used for charging logic. You can see it in smartbms.yaml.

Sleeper85 commented 4 months ago

In my opinion, the cell number of the smartbms should be the total cell number of the system. 32 in my case (2x16cell real BMS) image

Do you mean you have 2x 16S or 1x 16S2P battery ?

In all cases this parameter is important and at the heart of our charging logic because this logic compares max_cell_v to the charging parameters.

// Variables
float cell_bulk_v = (id(${yambms_id}_bulk_voltage).state / id(${yambms_id}_cell_count).state);
float cell_rebulk_v = (id(${yambms_id}_rebulk_voltage).state / id(${yambms_id}_cell_count).state);
float cell_absorption_offset_v = (id(${yambms_id}_absorption_offset_v).state / id(${yambms_id}_cell_count).state);
txubelaxu commented 4 months ago

I have 1xESP-->2xBMS (in parallel)

So, the smartbms has 2 BMS below it (each of one of 16 cells).

What would happen if one of the cells is missing (stop working or the BMS is telling that it does not exist)

In my code I have 2 "cell count" parameters: one is the "settings" one (that never changes because it is a setting) and a "real" one that is the real amount of cells that have been detected in each loop.

I do not know if this is important for the "smarbms" code layer.

El El vie, 12 jul 2024 a las 10:58, Sleeper85 @.***> escribió:

In my opinion, the cell number of the smartbms should be the total cell number of the system. 32 in my case (2x16cell real BMS) [image: image] https://private-user-images.githubusercontent.com/156140720/345350937-e2397535-80d0-4311-9836-b9572f382215.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA3NzQ2NTMsIm5iZiI6MTcyMDc3NDM1MywicGF0aCI6Ii8xNTYxNDA3MjAvMzQ1MzUwOTM3LWUyMzk3NTM1LTgwZDAtNDMxMS05ODM2LWI5NTcyZjM4MjIxNS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMlQwODUyMzNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01Mjk5NDg4MTllMzBhZWMyZTNkMzVhMjQxNmY1M2Y5NjlmYmNlNGRlZWUwZjlhNjFmZWJhNWRlOTYwNzkwNGZiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.0mHjA_wxfsSwg2GlFVo6_AgO2STymCk_-cm4GzoMwTU

Do you mean you have 2x 16S or 1x 16S2P battery ?

In all cases this parameter is important and at the heart of our charging logic because this logic compares max_cell_v to the charging parameters.

// Variablesfloat cell_bulk_v = (id(${yambms_id}_bulk_voltage).state / id(${yambms_id}_cell_count).state);float cell_rebulk_v = (id(${yambms_id}_rebulk_voltage).state / id(${yambms_id}_cell_count).state);float cell_absorption_offset_v = (id(${yambms_id}_absorption_offset_v).state / id(${yambms_id}_cell_count).state);

— Reply to this email directly, view it on GitHub https://github.com/Sleeper85/esphome-jk-bms-can/issues/57#issuecomment-2225135550, or unsubscribe https://github.com/notifications/unsubscribe-auth/BFHIJMBWPFWZI3EKAJCTJPTZL6LETAVCNFSM6AAAAABKJDFALSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRVGEZTKNJVGA . You are receiving this because you authored the thread.Message ID: @.***>

Sleeper85 commented 4 months ago

I have 1xESP-->2xBMS (in parallel) So, the smartbms has 2 BMS below it (each of one of 16 cells). What would happen if one of the cells is missing (stop working or the BMS is telling that it does not exist) In my code I have 2 "cell count" parameters: one is the "settings" one (that never changes because it is a setting) and a "real" one that is the real amount of cells that have been detected in each loop. I do not know if this is important for the "smarbms" code layer.

Indeed, if the BMS reports the wrong number of cells that would be a problem, especially if the BMS reports 15 cells instead of 16.

Then you are right, maybe this important parameter should be a fixed value defined by the user.

shvmm commented 4 months ago

I think now is a good time We maintain a list of BMS dependent parameters utilized going forward. Basically list of entities with an ID. We can then make sure that users check/configure the BMS values before employing the charging solution.

Will try tabulating them myself tomorrow for the Single BMS YAML

txubelaxu commented 4 months ago

So, I understand there will be 3 different parameters for each BMS:

-cell_count_settingssensor: the fixed value on BMS config (the one that the user set). That value is provided on each "settings query" by the BMS to the ESP. -cell_count_realsensor: the real amount of cells that the code detects when processing the cells info -yaml cell amount of each BMS

The 1st and 2nd are in production yet.

I have understood OK?

If so, I could change the BMS code because I could rise an alarm when the 3 parameters values does not match.

El El vie, 12 jul 2024 a las 18:23, Shivam Maurya @.***> escribió:

I think now is a good time We maintain a list of BMS dependent parameters utilized going forward. Basically list of entities with an ID. We can then make sure that users check/configure the BMS values before employing the charging solution.

Will try tabulating them myself tomorrow for the Single BMS YAML

— Reply to this email directly, view it on GitHub https://github.com/Sleeper85/esphome-jk-bms-can/issues/57#issuecomment-2225919193, or unsubscribe https://github.com/notifications/unsubscribe-auth/BFHIJMBRZBPDW7CRZQ6CSODZL77HZAVCNFSM6AAAAABKJDFALSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRVHEYTSMJZGM . You are receiving this because you authored the thread.Message ID: @.***>

Sleeper85 commented 4 months ago

So, I understand there will be 3 different settings for each BMS:

No, if I add a fixed variable with the number of cells it will be a single variable for YamBMS. It will default to 16S and users will need to be careful to configure it correctly!

And if you want there can be a second sensor counting the total number of cells in the installation.

Sleeper85 commented 4 months ago

@shvmm @MrPabloUK

I think now is a good time We maintain a list of BMS dependent parameters utilized going forward. Basically list of entities with an ID.

This is an Excel file that I have already created but not completely finished.

In addition, I started creating YAML for BMS with a number of sensors reduced to the minimum necessary to reduce the total number of entities and improve performance. It will be published today or tomorrow I think.

Sleeper85 commented 4 months ago

@txubelaxu

Done in YamBMS 1.3.2