bms-c1
bms-c1 copied to clipboard
"flashing quickly" LED won't stop
Hello @martinjaeger ,
When I connected the BMS, the LED kept flashing quickly. However, I reupload the software "west flash" command. It didn't fix the issue. Please nominal volts of the battery pack are reading the right value, which means the connection is correct.
Kindly assist.
https://github.com/LibreSolar/bms-c1/assets/123452423/9e953345-896f-43bd-a95d-a643833c6d69
Thanks for your report.
Can you please post the output of thingset ?Meas command on the Zephyr shell (connect to the USB virtual COM port using picocom or similar program). This will help to identify which kind of error it is.
Hello @martinjaeger ,
Thank you for your response. Please see the formatted output below.
:85{ "rPackVoltage_V":0.47, "rStackVoltage_V":24.87, "rPackCurrent_A":0.00, "rBatTemp_degC":-59.1, "rICTemp_degC":34.7, "rMOSFETTemp_degC":31.9, "rSOC_pct":3.0, "rErrorFlags":321, "rBmsState":0, "rCellVoltages_V":[ 3.267, 3.270, 3.273, 3.263, 3.262, 3.270, 3.274, 3.263, -0.011, 0.000, 0.000, -0.534, -0.319, 1.009, -0.566, -0.415 ], "rCellAvgVoltage_V":3.017, "rCellMinVoltage_V":1.009, "rCellMaxVoltage_V":3.274, "rBalancingStatus":0 }
Ok, there we have it. ErrorFlags = 321 means we have bits 0, 5, 8 and 9 set, which corresponds to the following errors:
- BMS_ERR_CELL_UNDERVOLTAGE
- BMS_ERR_OPEN_WIRE
- BMS_ERR_CHG_UNDERTEMP
- BMS_ERR_CHG_OVERTEMP
The error flag enum can be found here.
Also looking at the single cell voltages, maybe the 14th channel was not properly shorted?
As stated in the manual, at least NTC1 has to be connected. However, it looks like you only connected NTC2 in your video. If you take the latest main firmware, even both NTCs have to be connected (see the last commits).
Please double-check your connections and let us know the results.
Hello @martinjaeger ,
It was properly connected before the recording. However, I have reconnected and am having error 320 now with some 0.0 and negative values. Please see below.
{ "rPackVoltage_V":0.47, "rStackVoltage_V":26.01, "rPackCurrent_A":0.03, "rBatTemp_degC":-59.1, "rICTemp_degC":35.9, "rMOSFETTemp_degC":33.1, "rSOC_pct":57.5, "rErrorFlags":320, "rBmsState":0, "rCellVoltages_V":[ 3.268, 3.270, 3.274, 3.263, 3.262, 3.281, 3.275, 3.263, -0.333, 0.397, 0.000, 0.000, 0.000, 0.000, -0.332, 0.403 ], "rCellAvgVoltage_V":3.270, "rCellMinVoltage_V":3.262, "rCellMaxVoltage_V":3.281, "rBalancingStatus":0 }
https://github.com/LibreSolar/bms-c1/assets/123452423/17a2172c-46f5-45e8-854c-80cbeb377096
I have updated the firmware to report the individual cell temperatures instead of the average only (f20eb964dfe42b6897199e54fa8044cb5c9d2090). Please flash latest main branch to check.
For me the result looks like this:
uart:~$ thingset ?Meas
:85 {"rPackVoltage_V":12.93,"rStackVoltage_V":13.14,"rPackCurrent_A":0.00,"rCellTemps_degC":[22.2,21.7],
"rICTemp_degC":23.8,"rMOSFETTemp_degC":23.0,"rSOC_pct":82.4,"rErrorFlags":0,"rBmsState":3,
"rCellVoltages_V":[3.295,3.298,3.288,3.296,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000],
"rCellAvgVoltage_V":3.294,"rCellMinVoltage_V":3.288,"rCellMaxVoltage_V":3.298,"rBalancingStatus":0}
For further debugging you could also measure the resistance of pins of the J1 connector where the thermistors are connected vs. GND or BAT-. It should be around 10 kOhm.
As you can see, in my case all unconnected voltages actually show 0V. In your case the OPEN_WIRE error is still set, so there is still something not properly connected.
Hello Martin,
i am getting this error after running the "west build -b bms_c1@revision"
[0/1] Re-running CMake... /bin/sh: /usr/local/Cellar/cmake/3.27.8/bin/cmake: No such file or directory FAILED: build.ninja /usr/local/Cellar/cmake/3.27.8/bin/cmake --regenerate-during-build -S/Users/apple/zephyr-sdk-0.16.3/west-workspace/bms-firmware/app -B/Users/apple/zephyr-sdk-0.16.3/west-workspace/bms-firmware/app/build ninja: error: rebuilding 'build.ninja': subcommand failed FATAL ERROR: command exited with status 1: /usr/local/bin/cmake --build /Users/apple/zephyr-sdk-0.16.3/west-workspace/bms-firmware/app/build
You have to replace revision with your actual revision number, which is 0.3.
That's what i did at first. "west build -b [email protected]", I got the error below. It's the same error when I ran "west build -b [email protected]" but replaced 0.3 with 0.4.
ERROR: Build directory /Users/apple/zephyr-sdk-0.16.3/west-workspace/bms-firmware/app/build targets board bms_c1@revision, but board [email protected] was specified. (Clean the directory, use --pristine, or use --build-dir to specify a different one.) FATAL ERROR: refusing to proceed without --force due to above error
Well, then please do what is stated in the error message. Add the --pristine flag to the west command. Or delete the build folder.
west build -b [email protected] --pristine
I ran "west build -b [email protected] --pristine" then I got a list of boards and then got another error. See below. Does this mean I have to delete and start building the env again?
CMake Error at /Users/apple/zephyr-sdk-0.16.3/west-workspace/zephyr/cmake/modules/boards.cmake:163 (message): Invalid BOARD; see above. Call Stack (most recent call first): /Users/apple/zephyr-sdk-0.16.3/west-workspace/zephyr/cmake/modules/zephyr_default.cmake:115 (include) /Users/apple/zephyr-sdk-0.16.3/west-workspace/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include) /Users/apple/zephyr-sdk-0.16.3/west-workspace/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate) CMakeLists.txt:7 (find_package)
-- Configuring incomplete, errors occurred! FATAL ERROR: command exited with status 1: /usr/local/bin/cmake -DWEST_PYTHON=/Users/apple/zephyrproject/.venv/bin/python3.11 -B/Users/apple/zephyr-sdk-0.16.3/west-workspace/bms-firmware/app/build -GNinja [email protected] -S/Users/apple/zephyr-sdk-0.16.3/west-workspace/bms-firmware/app