How to reliably measure current battery level of a DIY drone?

Hello,

I'm building an autonomous drone with a Pixhawk and a Raspberry Pi on a F450 chassis, which starts and returns to it's home base by itself. For this project, I need to have a good estimate of the battery level.

So far, I learned that the flight controller usually assumes a starting capacity and then continuously measures the current drawn. By continuously subtracting this current from the initial capacity, the remaining capacity can be determined.
This technique has the drawback that the assumed initial capacity might be wrong due to production imperfections and/or aging. Also, the battery might simply not be completely charged (in my scenario, it is possible that the drone needs to start with a partly filled battery).

RTF drones usually come with "smart batteries" which have internal electronics for measurement and provide a very good estimate. However, I couldn't find anything like this for DIY drones (at least not in the consumer market). The only project in found is BatMon (https://rotoye.com/), but currently (09.06.22) their store only sells acessories for their boards but not the boards itself (?!?). Does anybody know if they're still in the market?

Also, does anybody know other ways to reliably measure the battery level? What options do I have here?

BTW. I'd need a 3s LiPo battery with 3000mAh and a discharge rate of 30 - 40c.

Best regards
 
Hi are you going to be watching what the drone is doing ie FPV if he's you can use OSD on screen display this will show battery voltage
 
Depending on the rx/tx being used you might be able to get telemetry data back that includes the current battery voltage usually can make a table for a given battery of voltage to rough percentage based on total flight time and recording the voltage as time passes (it varies depending on acceleration changes/altitude adjustments and wind etc.). There's also some little balance cable lipo level checker modules that'll just beep really loud if below some selected voltage (can usually set to beep at 3.2-3.6V per cell).

In broad terms too a BMS or battery management system is the module that can directly connect to some cells and help level the voltage on them as well as report some info, however these are usually either meant for directly wired for the info reported or sometimes over bluetooth but nothing long range I'm aware of... think best option for you would probably be use ELRS rx/tx with telemetry data sent back to the TX from the RX about the state of GPS and voltage and other things.
 
Depending on the rx/tx being used you might be able to get telemetry data back that includes the current battery voltage usually can make a table for a given battery of voltage to rough percentage based on total flight time and recording the voltage as time passes (it varies depending on acceleration changes/altitude adjustments and wind etc.). There's also some little balance cable lipo level checker modules that'll just beep really loud if below some selected voltage (can usually set to beep at 3.2-3.6V per cell).

In broad terms too a BMS or battery management system is the module that can directly connect to some cells and help level the voltage on them as well as report some info, however these are usually either meant for directly wired for the info reported or sometimes over bluetooth but nothing long range I'm aware of... think best option for you would probably be use ELRS rx/tx with telemetry data sent back to the TX from the RX about the state of GPS and voltage and other things.
Hello,
and thanks for the info.
So, do I understand the voltage table right: I charge the battery completely and assume that it holds the capacity it claims to hold. Then I do a controlled discharge at a fixed current and measure the voltage of the whole pack at certain points in time. Due to the constant current I also know the capacity at this point. This gives me a capacity-to-voltage lookup table.
This could give at least some value in the area of capacity. Would it also be possible to use a predefined table (e.g. https://blog.ampow.com/lipo-voltage-chart/) or do batteries have a very individual behaviour?

And one more thing I forgot to mention, sorry: The drone has an onboard Raspberry Pi which sends the battery level to a ground station, so the necessary values must be queryable via software.
 
Discharge charts if for a specific cell can be used as well but each lipo has different discharge rates in reality so ymmv to some degree but in general a discharge chart from trusted third party probably gives pretty good baseline (the "idle or hover draw" due to power to weight of a given craft or fighting more or less wind to hold position etc will effect things too generally higher current draw means more loss as heat (internal resistance within elements of each cell leads to some heat loss). Sounds like you got the overall idea though constant load on it and measuring the voltage at intervals of time to be able to plot out where the voltage dips more or less during the discharge (generally speaking cells stable between 3.8 and 3.6V and drop off fast from there.
 
Back
Top