Pixhawk / 3DR PM voltage readings too low

Hi

I’ve got a pixhawk running off the 3dr power that came in the pixhawk box. I’m running a 3S 5A LIPO, and I’ve got the PM connected directly to the battery, and the other end of the PM connects to the PDB (F450 frame).

It all works absolutely fine, I’ve calibrated to a divider of about 10.25 and set the battery failsafe to 10.5v, which I understand is a conservative safe value for a 3S.

The problem I’ve got is that the voltage readings through the pixhawk are massively affected by throttle, so that it drops significantly and triggers the failsafe, when the battery clearly has plenty of beans left in the tank. You can see this in the attached graph that it starts above 12v (it was fully charged but i’d done a couple of short flights to start with), and then I do a long autotune flight of nearly 14 mins. This is the first flight I’d managed more than 2 minutes without smashing arms or props, but’s that another story… During the flight you can see a couple of times where the throttles come off and the voltage jumps back up, but with nice steady throttle there’s a general downwards trend in the voltage as you’d expect. I ended the flight with a (yet another) crash when I got over-ambitious with a roll in althold and lost control, and you can just see the voltage jump back up.

When I put the battery back on the balance charger, it was reading 11.4v. There was no loss of power and it didn’t take very long to charge, so I think this is a genuine reading (I can put a multimeter on it the next time to check, I guess), and the telemetry/GCS showed 11.5v at the end of the flight on the ground. However, the voltage readings when there is sufficient throttle just to hover clearly show a much lower voltage, so if I set the failsafes then it trips well before I believe it should do, so hugely shortening the potential length of flight.

So the question is, which I’m sure you’re all hoping I get to soon, is, is this normal? Is it normal for the voltage to drop like this under load? If the ‘safe’ voltage of a 3S is 10.5v should I be stopping at this point, even though when it’s not under load it reads 11.5v?

For bonus points:

  • What are the accepted safe failsafe values for 3S and 4S LIPOs?

  • Is there any way of getting APM firmware to auto-detect if a 3S or 4S is connected and set the failsafes accordingly? It’s a bit annoying to have to reset this out in the field when I change battery, it would be great if it could be automatic.

… and with the picture

Is this not the right place to post this? I thought this was the official 3DR support for their hardware?

Hi fluffyflyer.

It seems that you have a bad battery monitor setup, if you are using 3DRobotics Power Module please follow the next guide, no calculation should be done with this :slight_smile:

copter.ardupilot.com/wiki/common … on_planner

Be sure to use the following configuration:

  • Voltage and current
  • 3DR Power Module
  • Pixhawk

Also please set up the right battery capacity.

Currently the failsafe configurations we have are the following:
For 3s batteries: 10.5v
For 4s batteries: 14v

Unfortunately failsafe voltages will remain the same, you will have to change it depending on what kind of battery you are using (this also happens to me haha).

Please try it !

Hiya, just to follow up on this. So fundamentally the problem is that I’m new to all this UAV stuff and didn’t know anything about how LIPOs work - I didn’t realise they ‘sag’ under power. After reading up a bit and doing umpteen tests, I’ve found that different batteries exhibit very different behaviours under use, but the Zippy 3S 5000mah I was using for this particular test does seem to sag a lot under normal throttle - almost a full volt.

However saying that, the 3DR power module that came with my pixhawk is clearly out a bit and needs calibrating - it consistently reads 0.2v under a true reading for fully charged battery. I can’t seem to calibrate using a USB cable plugged into the pixhawk for some reason (it won’t allow me to connect to mission planner when powered by the battery and the usb is plugged in) and my 3DR radios have failed, so I’m stuck with under voltage readings for now.

Can the power modules not be calibrated at the factory? Is there an eeprom or similar on the module that can store settings?

The power module is nothing else but a shunt resistor. The actual measuring is done by the flight controller and can be calibrated as described here in the documentation.
Additionally, if you would have used the forum search as required by the forum rules, say, search for “calibrate power module”, you would have found this thread in which a very similar if not identical topic has been discussed less than a week ago.

So is the difference just down to tolerances of the components?

If you’d read my post you’d see that a) my questions were posted before the thread you reference, and b) I initially used the calibration, then was told not to by 3DR support, then I cannot any longer because the 3DR radios have failed.

Was my other post about power module balance plug/cell detection ‘moderated’?

Whoops, you are right, sorry.

Yes, it mainly comes down to component tolerance. You wrote, you have a constant error of 0.2V. THAT sounds like component tolerance to me! But please make also sure you are measuring the voltage with a properly calibrated meter!

That not-connecting via USB when powered by battery sounds vaguely familiar. You might want to search the Pixhawk subforum about that. I think I remember some solution for that but I’m not sure.

I don’t recall any balance plug post. But - balance plug? The power module doesn’t support balance plugs, so if it was about a DIY-hack or something like this, a moderator might have deleted it because as Craig recently wrote in another post, this forum is strictly for technical support questions only. DIY-stuff should go to DIY-Drones.

Hey Stefan, thanks that makes a lot of sense then. If the wiki was updated to explain this in laymens terms, along with some explanation of voltage sag under load, it would save newbies like me a lot of time and risk to our shiny new batteries and flying objects!

My post about the balance plug was a feature request to 3DR - to add a balance plug connector to the power module so that the pixhawk/apm could properly read the number of cells (and eg. warn if cells are off balance). If apm could read the number of cells then it could automatically adjust battery failsafes which it currently can’t do, and is a significant weakness in the system (I leave my battery failsafe completely disabled because of this). I’ll post it again, if 3DR/moderators decide to delete it again then that’s up to them. I’ll pose it as a question this time to have a bit more chance of staying around.

ps. just to follow up for newbies like me to avoid any confusion.

Do set/calibrate the PM voltage with a multimeter, otherwise you’ll get unreliable data to know when to land! I got confused because Francisco/3DR support above has told me not to do this, but it looks like it’s correct and important to do so.

As my radios are fried and it won’t respond through USB I eventually managed to do a complex Pixhawk->telemetry2->raspberrypi->wifi->udp->apm_planner2 link to connect and update the calibration, and it looks spot on now.

The option I sent you is to get default measurements on your PM and Pixhawk under our error tolerance, I agree with Stefan, it would be better to manually tune the multipliers to lower the measurement errors.