-
Notifications
You must be signed in to change notification settings - Fork 18.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
5525 airspeed i2c noise #7188
Comments
what about comparing current sample to a high-passed previous sample? Or if delta between samples is large, use previous sample. |
Are these errors solely attributable to bad I2C wiring/routing, or is there a problem with the voltage levels on the bus? |
If this data is from an improperly designed sensor, this might be the root cause: |
@kd0aij it wasn't, was from a MRo and jDrones airspeed + compass board. Both exhibited the same noise for me (as did a 3DR one). |
Were you unable to eliminate the noise by shortening or shielding the I2C cable? |
Not possible due to mounting constraints on the first one, the second didn't seem to have any useful effect, however all shielding was an improve affair and not great. Also tested the differential encoder pair from MRo but didn't seem to see any benefit from it. (It was tested before I had identified the actual line level problem). It's worth noting that the log this issue is open from is not mine, and the pair of PR's I linked you completely resolved all my I2C airspeed problems. |
Your second link is circular, so I haven't seen your scope trace, but this is definitely a good reason to move to CAN for larger aircraft. But I've not observed this problem at all in my little E-flite Convergence |
@kd0aij oops! Sorry, I've updated the link, it was PR #5950 My setup had a long I2C cable (somewhere on the order of 20-30 cm's) and it runs along a RF cable and is quite close to the actual antenna on a RFD900 (basically it's a terrible spot for wiring reasons, but mounting reasons meant it was the best option available). |
@DavidIngraham wondered if it could be a software issue, so I've created a branch here that logs the raw data from the I2C bus: |
We are going to attempt to reproduce this issue on the ground using the fork @tridge linked above. |
this fixes issue #7188, where we could read from the MS5525 sensor too soon after requesting data and the result coming back would be garbage
I've created a PR to fix this: |
this fixes issue ArduPilot#7188, where we could read from the MS5525 sensor too soon after requesting data and the result coming back would be garbage
this fixes issue #7188, where we could read from the MS5525 sensor too soon after requesting data and the result coming back would be garbage
this fixes issue ArduPilot#7188, where we could read from the MS5525 sensor too soon after requesting data and the result coming back would be garbage
We need a way to filter noise on the MS5525 airspeed sensor. On the 4425 we can use double reads to detect errors. On the MS5525 we can't do that, as a 2nd read will always give zero. This is a log of a flight leading to a stall and crash due to extreme i2c noise.

Log is here: http://uav.tridgell.net/DaleRogers/00000021.BIN
The text was updated successfully, but these errors were encountered: