APM 2.5 Power Module - incorrect readings

I am using the 2.5 3DR Power module on my APM 2.5 Mega board.

I have reviewed the instructions at http://plane.ardupilot.com/wiki/common-measuring-battery-voltage-and-current-consumption-with-apm/ and from what I can see, this is sort of plug and play.

If I select options 4, 2 and 2, you can't adjust the voltage readings.  

Have I interpreted this correctly?  

Thanks, Mike


You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • Moderator

    From your tile I assume you aren't getting accurate readings for either or both voltage and current? I can confirm that the above settings are correct. Personally I don't have any experience with the 3DR PM, I have been using an Attopilot 90A since before they cam out with the PM and if it's anything like the PM you will need to manually tune the Parameters for VOLTAGE_DIVIDER and AMP_PER_VOLT. The output from the voltage/current sensor are scaled, the resulting value is multiplied by the appropriate parameter and then displayed. For example in my case I have a VOLTAGE_DIVIDER value of 16.305 so if I have a voltage on the current sensing pin of 1.294v then I would have 16.305 / 1.294 = 12.6 (the value of a fully charged 3 cell LiPo. The output range for the Attopilot is 3.3v so for me that means 3.3 x 16.305 = 53.806v MAX the same applies to the AMP_PER_VOLT scenario again it's a 3.3v output on the Attopilot and for me I have a value of 34.95 so 3.3 x 34.95 = 115.335 Amp MAX . Both of these values were derived from calculating the difference between the current value and the actual value under actual usage conditions and adjusting accordingly. For voltage I simply measured the actual voltage of the battery and compared it to the displayed value in the Mission Planner. I determined the % of difference between the two values and adjusted the value of the VOLTAGE_DIVIDER parameter by that % of difference.

    Now some will say that that isn't accurate and the only right way is to use a multimeter to measure the actual voltage output and then adjust, I say real world values are best because after all that's what counts. The AMP_PER_VOLT is similar except that I record the amount (or calculate the amount used by (capacity-(capacity x %remaining)) used in mAh and the amount actually put back into the battery during charging then determine the % difference as before in adjusting the VOLT_DIVIDER parameter. For the Attopilot the rated max volts are 51.8v and 89.4A with a scaled output of 0-3.3v that means that for me the voltage was off by 3.89% and the Amperage was off by a whopping 29%! Now with that said the Amperage is only accurate if the flying style remains relatively constant.

    The longer the flight and the longer you spend in cruise the more accurate the results. However if you shorten your flight time or change the flying style dramatically (greater use of higher throttle) the less accurate the readings will be. I'm sure someone can offer a better explanation for this than I but I think it has to do with two things: First I think it has to do with how well you battery holds it's voltage under load, and second the load itself. Under light loads like cruise we can sustain low current with minimal drop in voltage, but under higher loads like takeoff and climb to altitude a weak battery or a lower quality battery will show a greater voltage drop under these conditions thereby magnifying the resulting displayed current.

    All in all I have found the best thing is just to record and compare my result over a number of flights and tune the parameters accordingly.

    Good luck!


    Nathaniel ~KD2DEY

This reply was deleted.