Holybro PM02 Power Module not showing current reading

I am having issues where the current reading is not being displayed. Their instructions state to use the holybro (number 9) , and then to choose The cube or pixhawk (number 4). I have it powered through a bench supply to check accuracy and have had no luck with the current side. I am using a pixhawk carrier board with a blue cube. The power module is plugged into the power 1 port on the carrier board.

MP-no current

There needs to be quite a lot of current draw to register properly, like more than 3 to 5 amps.
Can you provide your BAT parameters from the full parameter list

Firstly they have 2 model, digital PM02D and the other analog one.
Both uses different settings. You need to be more specific. I recently asked the same question in regards to PM02D, the settings are in the forum you just need to search.
As for the Analog settings I gotten it from Px4 Manual.

BATT_AMP_OFFSET,0
BATT_AMP_PERVLT,39.877
BATT_ARM_MAH,0
BATT_ARM_VOLT,0
BATT_CAPACITY,3300
BATT_CRT_MAH,0
BATT_CRT_VOLT,0
BATT_CURR_PIN,3 (i have tried the default settings as well)
BATT_FS_CRT_ACT,0
BATT_FS_LOW_ACT,0
BATT_FS_VOLTSRC,0
BATT_LOW_MAH,0
BATT_LOW_TIMER,10
BATT_LOW_VOLT,0
BATT_MONITOR,4
BATT_OPTIONS,0
BATT_SERIAL_NUM,-1
BATT_VLT_OFFSET,0
BATT_VOLT_MULT,12.02
BATT_VOLT_PIN,2 ( I have tried the default settings as well.)
BATT_WATT_MAX,0

After it was setup I performed a motor test and the current value remains at 0 regardless of the throttle input.

@ Josephjj Power Module(PM02 V3) – Holybro I have tried the instructions they list and what I found in the ARDU firmware page with no luck on the current sensing.

If a Cube Blue is like an Orange (and I think it is) then you should have
BATT_VOLT_PIN,14
BATT_CURR_PIN,15

These are for the earlier Pixhawk2 and Cube Black
BATT_VOLT_PIN,2
BATT_CURR_PIN,3

Use one of those combinations based on the voltage reading working correctly and ignore the current at first. Whenever you change these pins or BATT_MONITOR you need to reboot the flight controller.
Calibrate the voltage reading at the lowest expected voltage, like 10 volts for a 3 cell LiPo.
If the current reading is still not working but voltage is, then there could be a problem with wiring or the power brick.

According to Holybro you should have these:
BATT_VOLT_MULT,18.182
BATT_AMP_PERVLT,36.364
but measuring and setting the voltage with a bench supply and digital multimeter is best. I’ll paste in the current “fine tuning” method below we use for multirotors, but it could easily be used for planes or anything else if you can keep the current draw reasonably constant.

You can use the MissionPlanner Initial Parameters section to set your battery voltage levels and just ignore (unselect) the copter related settings (which wont exist in your params anyway)

Here’s how to adjust your Amps Per Volt

  • Plug in a fresh battery and do a hover flight for 5 minutes or until you’ve used a significant amount of battery capacity
  • Immediately unplug the battery and charge it, note how many mah’s it took to charge. Let’s say that was 1,500 mah
  • Download your log and look at maximum CurrTot. Let’s say it was 1,300 mah
  • Get your existing BATT_AMP_PERVOLT setting from Mission Planner
  • NEW_AMPS_PER_VOLT = OLD_AMPS_PER_VOLT x CHARGED_MAH / LOGGED_MAH
    With my example numbers, you’d get
    NEW_AMPS_PER_VOLT = 17 x 1,500 / 1,300 = 19.61
  • Set the new value in the BATT_AMP_PERVOLT parameter and save to your copter
  • Fly to check, repeat until you’re happy the new value gives consistent readings

Hi @xfacta
Why you put 17 as your old Amps_Per_Volt here?? How did you get this number from? While based on existing (holybro) data, this number is 36.364 right??

It’s just an example, obviously substitute your original amps per volt value. It’s the default value for Pixhawk with original 3DR power module.

Yeah, the Batt_curr and Batt_vol values are the default arduplane firmware values that I started with and could not get current to work. I have swapped out a few power module with no luck.

Are voltage measurements working correctly?
How much current do you think is being drawn but not registering?

I hooked up a power supply to ensure the voltage was reading properly and it is slightly off (0.2V) with the recommended parameters from the manufacturer. I was setting up to do a motor test and during the motor test with a 12S battery plugged in, the current remains at 0 regardless of the throttle moving up to 70%. It should be pulling at least 15 amps. On the bench at idle (motor off) it is pulling 0.45 amps from the power supply.

Did you ever get the pm02 to sense current i am trying to get it to work with my cube orange

I’m having the same issue with a PM03 and Pixhaxk 6x. I’ll try the settings above, and reach out to Holybro to get some insight…

No joy. Nothing I tried helped including the settings from Holybro. Thoughts?

Can you provide your parameter file and a photo of the flight controller and PM connection please
Have you go the PM02v3 , PM02D or PM03D or something else?

You should be on the latest stable Ardupilot firmware and have these battery monitor settings:

  • BATT_MONITOR = 21

  • BATT_I2C_BUS = 1

  • BATT_I2C_ADDR

  • = 0 Auto detect (Default in Ardupilot 4.4 & later)

  • = 65 (For Low voltage (6S) Digital Power Module)

  • = 69 (For High Voltage (12S/14S) Digital Power Module)

Hey Shawn, will do, but will likely be tomorrow (rover not at home). Appreciate the settings! Oh, PM03D and on 4.5.1!

BATT_I2C_BUS Doesn’t show up in the full parameter list.

Trying to follow this:

18APR24.param (15.9 KB)

Maybe a silly question, but did you reboot the flight controller after setting BATT_MONITOR,21 ?
The I2C related params should then become available.

Unrelated, but so I can provide the correct voltage levels - What battery pack do you have?

Not a silly question at all! But, yes, rebooted in between. I’m powered off the mower battery.