Skip to content
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

PX4NuttX: setup I2C digital filter #5935

Closed
wants to merge 1 commit into from

Conversation

tridge
Copy link
Contributor

@tridge tridge commented Mar 27, 2017

This may reduce the impact of I2C bus noise, which could help with compasses and with airspeed sensors

@OXINARF OXINARF added the PX4 label Mar 27, 2017
@OXINARF
Copy link
Member

OXINARF commented Mar 27, 2017

From a logic perspective looks good, but I can't say much more. I'll only ask if this was tested in all PX4 boards (and maybe Aero)?

@tridge
Copy link
Contributor Author

tridge commented Mar 27, 2017

only tested on FMUv2 so far

@WickedShell
Copy link
Contributor

The comment for the table number should be annotated with the datasheet version you are using, because the RM0090 I used it was a very different table number.

@WickedShell
Copy link
Contributor

WickedShell commented Mar 29, 2017

The digital noise filter makes a significant improvement to the readings of the data off the bus. Far fewer bit flips on sensor data. (It doesn't entirely eliminate them, you can see a single temperature spike on the log with the noise filter, but compared to the other log file it's a massive improvement.

This data is collected from an extremely noisy system, that has large grounding problem on the I2C signal lines, crosstalk, and is generally quite a horrible RF enviorment. There remains a bug where the MS4525DO driver can accept data that is invalid, but @tridge and I think we can manage this by double reading the sensor, and rejecting any min/max sensor output values (the most common failure remaining).

With the filter:
figure_1-7
Without the filter:
figure_1-8

EDIT: Other then firmware, everything was identical, nothing was moved or altered between the two tests.

@WickedShell
Copy link
Contributor

With:
figure_1-9
Without:
figure_1-10

@tridge
Copy link
Contributor Author

tridge commented Mar 29, 2017

excellent results Michael!
@lucasdemarchi, can you test on aero-fc?
@rmackay9 can you do a flight test on a copter?

@tridge
Copy link
Contributor Author

tridge commented Mar 31, 2017

@rmackay9 randy did a successful test flight, so I will push now

@tridge tridge closed this Mar 31, 2017
@WickedShell
Copy link
Contributor

Flight tested this as well at this point, no issue, cleaned up a noisy system quite nicely.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants