"Bad battery" error

Hello Everyone , we are continuously facing an issue that a ‘bad battery’ alarm message appears in our screen even if our pixhawk FC is connected to the full charged 3-s Li-po Battery. Please provide guidance to resolve it.

Provide a .bin log from the copter.
Also check in the Pre-Flight tab of MissionPlanner that you havent got any strange conditions set - but usually that message comes from the copter.

For 3 cell Lipo you should have exactly these settings:

BATT_FS_CRT_ACT,1
BATT_FS_LOW_ACT,2
BATT_ARM_VOLT,11.00
BATT_CRT_VOLT,10.50
BATT_LOW_VOLT,10.80
MOT_BAT_VOLT_MAX,12.60
MOT_BAT_VOLT_MIN,9.90

DO NOT change any of these values - if you still have a problem, or even what you consider premature low battery alarms, then check your voltage/current monitor. Or your battery is near dead - we’ve seen that before where peoples cheap charger has never fully charged the battery, or they have repeatedly discharged the battery too much.

1 Like

Dear sir,
Here is the .bin file of the copter& also a short video of our issue. Additionally, We are not getting these types of settings in our software . Can you please suggest how to overcome this.

Thank you
Shakti prasad patra

(Attachment Drone bad battery.mp4 is missing)

Look in the Config , full parameter list

Sir, can you please elaborate the steps what to do after going into full parameter list .

Find the parameter names I listed and carefully enter their new values I listed for them.
Try not to make any mistakes as the values are important. You will need to try out using MissionPlanner and look around all it’s screens and features.

While you are there, also set these to 0

ATT_CAPACITY,0
BATT_ARM_MAH,0
BATT_CRT_MAH,0
BATT_LOW_MAH,0

Reason: Setting the capacity and triggering a failsafe based on milliamp hours used is ideal, but only if you have an accurate calibrated current sensor - which most are not.
Just using the Voltage is good for now.

When I said this, I meant use exactly the values I provided and dont alter them further. If you still have a bad battery message then maybe you voltage sensor needs calibration.

I listed them in a format that allows them to be copied and pasted into a text file, but you dont need to worry about that now - there is only a few values to modify.
If there was a lot of values they could be saved as a .param file and loaded that way, without typing errors.

Dear sir,
Can you please address our problem with reference to the sent screenshots and the short video.

Thank you

I have - please specify something else if you think I have missed the point.
You will need to read through the documentation much more.

1 Like

Dear sir,
Our bad battery issue is not resolved yet. Here is the full parameter list of our Flight controller. Can you please tell what the modifications or corrections should be done to resolve this issue?

Thank you

drone param list.param (17.1 KB)

ARMING_CHECK,1
BATT_LOW_TIMER,10
BATT3_MONITOR,0

These should fix it

1 Like

Thank you so much sir for your valuable guidance, our bad battery issue is now resolved & also now the copter is being armed. But, the copter is not taking off & also, the ESCs are blinking after arming.

Hi there,

I am having the same issue with a lipo 4s. I’m still very new to ardupilot, I didn’t build the copter I’m currently working with but I’m taking the hardware for a different project. At the moment I can’t arm the drone, I used to be able to. On Missionplanner it is passing all the pre-arming checks but gives the bad battery message.

I checked if I needed to re-calibrate the voltage sensor but it seems fine. Although when I measured the voltages of the cells - the one is 0.02V more than the other 3. Would this be the issue? Or please can you assist with what parameter values I should change for a 4s.

Hi Nikita,
In Ardupilot everything is contained in the “dataflash log” including all the settings (parameters).
Go to the Config/Full parameter list, set LOG_DISARMED,1 then re-power and go through your normal arming process.
Once that data is collected, you can set LOG_DISARMED,0

Then you need to go back to the Data section, DataFlash Logs tab, download the latest log
image

Upload this log to a file hosting service like dropbox or similar, then provide a link to it here in this discussion.

https://ardupilot.org/copter/docs/common-downloading-and-analyzing-data-logs-in-mission-planner.html#downloading-and-analyzing-data-logs-in-mission-planner

Hi Shawn, thanks for the reply.

I am assuming you need the .bin file.
https://www.dropbox.com/scl/fo/f3qqa7jrip3o1zkfyxax6/AKmas2DGJtdsuaCPN53dzdM?rlkey=2n6uwiwfyobdwh8eeopkydh11&st=gm40s5l0&dl=0

I have also ensured the lipo is fully charged - however it is still not arming and giving the bad battery message.

These should fix it.
There’s no inbuilt current sensor, so change to checking voltage only, and setting the correct failsafe voltage levels:

BATT_MONITOR,3
BATT_CAPACITY,0
BATT_FS_LOW_ACT,2
BATT_ARM_VOLT,14.70
BATT_CRT_VOLT,14.00
BATT_LOW_VOLT,14.40

You need to reboot the flight controller for the BATT_MONITOR setting to take effect.

Hi Shawn

Sorry for the late reply. I adjusted those parameters now and power cycled (to reboot?) but I am still unable to arm with a bad battery message. I logged the data again and have added to dropbox.
https://www.dropbox.com/scl/fi/c3ef5m3zjdxx0v0kqiufw/2024-08-19-21-21-14.bin?rlkey=ga5zzrl82ghjlq6l54eonxlrv&st=9cvjhhiq&dl=0

I would really appreciate it if you could take another look at this. Thank you so much in advance. I am just confused why I was able to previously arm without this error?

That log doesnt have a battery connected, or if it does the monitoring is still wrong somehow.
I think these should be set:

BATT_CURR_PIN,11
BATT_VOLT_PIN,10

I also have this problem. We use a 12s battery type. How to prepare?

You prepare it like this

I’m facing sort of the same issue, I’m running ardupilot on speedybee F405 V4 Stack, and a 3s 5000 mAh lipo, I’m getting Prearm:Battery 1 unhealthy, even tho is correctly reading the voltage 12.4 and current at 1.1
pram list.param (19.0 KB)