The APM 2.5 on my 600 sized heli is mounted in a nice box together with the RX as you can see at the picture below.
The holes where the wiring comes out are plugged with some foam to prevent air turbulence reaching the barometer. The box hangs on 4 ear plugs for vibration isolation, so in a hover I record only about 0.05 g or less of vibration. The heli flies great in all flight modes, flying AltHold sideways, forwards and backwards with high speed; no problems at all.
But only in one situation AltHold played crazy, this was when the heli turned in to a certain heading, which was about 250 to 270degr. At that critical heading the heli suddenly dropped 5m or more, and if you turned out of that heading, the heli went back to its original altitude.
Funny, what has AltHold to do with heading??? It drove me nearly nuts, for weeks as I tried to solve the problem.
I knew AltHold could be negatively influenced by vibrations or by turbulent air at the barometer. But how can I get the heading into this equation???
The only thing I could think of was the wind, and we have mostly sea breeze.
I knew the heli had a sloppy tail rotor holder due to a missing washer, but it was never a problem.
So I thought, if the wind is in a certain angle to the tail rotor it might cause some vibrations, causing AltHolt to play crazy. So I fixed the sloppy tail and went for a test the next morning. The sea breeze was on, and the heli handled AltHold with no problems in all directions.
Problem solved!! I felt good.
A few days later I went flying, it was a nice sunny day. Of course I checked first if AltHold was still ok. To my great disappointment turning into that critical heading the heli dropped again.
I studied the logs again, and my next though was about turbulent air at the barometer caused by a certain angle to the wind. Truly I had not a good feeling about it, but it was the only straw I had. “Luckily” I found a small hole in the box containing the APM which was not plugged with some foam. So I plugged the hole tight and went for a test flight the next morning. It was a cloudy morning, the sea breeze was on, and the heli handled AltHold with no problems in all directions. Problem solved!! I felt good again.
A few days later I went flying, it was a nice sunny day. Of course I checked first if AltHold was still ok. To my second great disappointment turning into that critical heading the heli dropped again.
I went nearly nuts...... I was out of my wisdom!!! What has heading to do with AltHold???
At home I studied the logs again; I knew the problem was in the hardware, but where?
I said to my wife: I feel the same now, as I felt when I had that crazy problem with the weather stations wind direction indicator playing crazy every day between 1 and 2 o’ clock. (It was the sun who disturbed the infra red sensors in the wind direction indicator)
Sun, this was the key word I needed. Not only the wind has a direction; the sun has a direction too. This was a new way to investigate. The box had a window on the right side covered with acrylic glass to be able to see the LED’s of the APM.
I checked if the angle of the sun could match the critical heading and the position of the window, so the sun could reach the barometer at that critical heading, and it did.
I investigated also the days I thought the problem was solved, and they were always cloudy days. So, almost everything matched with my “Sun Theory”.
So, let’s check it out.
The next day was sunny, and the heli dropped nicely when heading into the critical direction.
Then I covered the window and took off again, and the heli handled AltHold with no problems in all directions. I checked this many times, always when the window was covered, everything was great, and when the window was clear, the heli dropped. It was reproducible, so finally I found the cause for sure.
The only thing I cannot spin my head around is:
The sudden sunshine at the barometer should cause a rise in pressure and this would mean the heli should rise to counter act, but not drop.
Maybe someone else could answer this mystery?
That’s a good explanation; it’s actually the semiconductors which create the effect and not the pressure rise, because the heli then should rise and not drop. And the baro has tiny openings where the light could reach some semiconductors.
Mystery completely solved.
You can modify the code to record the sensor registered temp. The baro is supposed to temp compensate (and fairly quickly, e.g. upto 1Hz), unless you're reaching a saturation point.
Also log your compass as well, if you're seeing change in both (i.e. the changes appear coupled) then it could be an I2C noise issue.
Nice troubleshooting Manfred. Do you have any videos of the 600 flying?
Go here: http://www.parallax.com/desktopmodules/catalookstore/ImageViewer.as...
Note the text on the corner of the board....
Many semiconductor devices are light sensitive....
Clearly the light effects the sensitive analog electronics in the sensor....
Black electrical tape is your friend...
I posted this problem a while ago arducopter-2-8-released?commentId=705844, because I had the same problem with Naza. To solve it I put a small black box on my Naza FC.
You just invented an unexpected SUN detection device ! Maybe a new product to develop there ;)
I've seen this effect on the Baro mentioned in several places, and with several different flight controllers, and always wondered why the APM didn't seem to be affected. I guess it is affected... I should check my systems, as I know I don't have that black foam on them. Something that I have not paid enough attention to for sure.
Damn you are absolutely right, sorry for that...
However why should the pressure rise? Is the irradiation causing the air to get denser?
If the pressure rises the APM should think it's too low, shouldn't it? Pressure at height is lower than pressure at sea level.
When the sun shines at the barometer, the detected pressure rises and therefore the helicopter thinks it is too high. Therefore it commands a loss in altitude to regain the "correct" altitude (which is of course 5m lower due to sunshine). Seems logical?
However congrats to your endurance, I wouldnt have the patience to find this kind of hardware bug.