Baro issues to consider

Barometer Issues!?

Ok, here is another problem I've spotted in the mind field of hardware issues and for people who continually bang their heads trying to fix them through PID tuning. .

If you have a housing that is covering over all of your electronics such as a plastic container,.. then when you descend or ascend quickly the pressure inside the container changes and gives your barometer an false reading.

For example if you descend quickly the pressure increases inside the container making the barometer think that you are descending faster than you actually are. So the APM will try to compensate this out and try to increase the throttle and this probably cause a bouncing behavior some people are finding happens .

Some may argue that the barometer cant be this sensitive, but I beg to differ because the pressure variation it can sense for the pressure variances in altitude that it works off is very fine. The pressure change inside the container even for horizontal flight will be enough to for it to sense the changes of pressure in the container.

This also includes pressure zones around the incoming and out going air stream around the props if they are to close to the container or even if you have an open center frame the pressure zone around the props can possibly still affect the barometer

I'm considering some fixes for this such as a tube that has a H tube branch at its end and that sits above or below the center board.

I would be interested to know what others view and ideas are on this. .

E-mail me when people leave their comments –

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

Join diydrones


  • I was experiencing ALT_Hold problems above sonar altitude (sonar alt-hold was fine): altitude jumping up and down approx +/- 3 ft. This caused the hexa to jump up and down in alt-hold.

    The problem turned out to be the fact that I had a MinimOSD mounted directly above the baro sensor, approx 1cm away. This caused interference. When I moved it 2cm away, the problem disappeared. I had perfect Loiter, Alt-Hold and RTL today.

  • With a sealed box and some pin holes will work fine, BUT the pressure value will be relative to the ground pressure. I had a sealed box much like Ellison's and it measured fine... Alt hold was acceptable, just the reading was always 4m above actual. Over time it would start to veer off and alt hold ended up pulsing the motors. I found problems can be introduced by the temperature compensation in a semi sealed box... the APM will be heating up the air quite a bit and it's not linear (and bounces) looking at the logs. FYI, my food container is mounted on the bottom (yes...APM mount *under* the frame).

    I have encountered more baro problems with having my 900mhz xbee (spark fun explorer board, likely affecting the i2c!) being too close to the APM causing baro noise (seen even on a 3DR frame).
  • Oh, I'm talking about Arducopter code only.  I suspect that in Arduplane the code is somewhat different. I haven't looked.  Also from a barometer point of view, I think that a plane might have more stable readings, if the APM is properly enclosed, given that planes actually are aerodynamic.

  • Great achievement, but the guy's funny hat kept distracting me.

    Btw, what's the relevance to this blog, Eagle? ;-)

  • suggest punch some holes in the top as well to avoid pressure increase when you descend. Yes I am aware of the filters, but it is always my view to try eliminate as much as possible on the hardware affect to being with. then less work the filters have to do.

    This is an interesting reply to my other post just now on the vibration issue.

  • I use  a food container turned upside down for my enclosure.  So the lid is on the bottom, and I punch a couple of holes in the lid.  There's also software filters on the baro readings to try and smooth out the pressure oscillations..  But, it's not perfect.  The sensor accuracy for BMP085 we currently use is about 2 M.  Some newer boards are now using MPX6115, which is supposed to have accuracy of 10 cm.  That might improve things.

    As for the mounting, people are finding that APM2 needs to have vibration dampers, due to the extra sensitivity in the MPU6000 sensors.  I'm only running APM1 now, and all dampening I have is a 2mm thick piece of foam, and nylon washers.

  • I'm assuming when you say the holes are in the bottom of the container and the container is upside down on your rig, then the holes are on the top side right? This is also what I have to avoid internal pressure variances inside the container. The underside also is not air tight and air can flow. Like you mentioned the sonar mixes in with the baro reading and the baro becomes less significant as you get closer to the ground. This is maybe why a lot of people don't find the bouncing around of altitude changes etc until they are up much higher when the sonar affect is less and the baro more.Look at how many people post this same problem.

    I can see a lot of problems people post could be related to this and also the poorly mounting of the APM to the frame.  Wobbles in flight, over correction, bouncing flight behavior after ascending and descending can also be related to people who have their APM mounted on rubber rings. Bounding up and down can be caused by pressure changes caused by prop wash or trapped air in the center cover and many more issues I see could be linked to many of  these issues.

  • Well, I'm by no means a baro expert, but my idea is to have airflow.  So I make sure the bottom is sufficiently aerated.(i.e. multiple holes) and a piece of sponge on top of the baro to avoide drafts.  Also the code will use the sonar, if installed at below 2 meters.  Although the barometer reading is still blended in with a scaling factor depending on how low the copter is. The lower the less significant the baro becomes.

    Here's the code snippet:

    scale = (sonar_alt - 400) / 200;
    scale = constrain(scale, 0, 1);

    // solve for a blended altitude
    current_loc.alt = ((float)sonar_alt * (1.0 - scale)) + ((float)baro_alt * scale) + home.alt;

    // solve for a blended climb_rate
    climb_rate_actual = ((float)sonar_rate * (1.0 - scale)) + (float)baro_rate * scale;

    Maybe we should just ignore the baro below a certain point or adjust the scaling factor for more stable low altitude alt holds.  

  • All true, but that's why we use the sonar below a certain point.

  • Also take into consideration how close the props are to the housing. The props draught causes pressure zones around them and if this is to close to the housing then whether there are holes or not , it can also affect the baro.

    I also noticed that the ground affect causes a lot of baro interference so always try to get above ground affect as quickly as possible.

This reply was deleted.