MicroPilot

MicroPilot Autopilot Users Group

The pps signal is used for the following functions in the autopilot. The effect if the PPS signal is lost is described:

1. Compensating GPS fixes for delay when the option 'GPS delay compensation' is enabled in 3.7 code, or in 3.6 code where GPS delay compensation is automatically enabled.

If the pps signal is lost, then there will be some additional error in the Kalman Filter estimates, especially when accelerating quickly.

If the PPS signal is incorrect, then the GPS position and velocity corrections will be applied with incorrect GPS delay compensation. This may cause a small error with the position and velocity estimate before the "No GPS PPS signal" fatal error is flagged.

If the fatal error "No GPS PPS signal" is flagged, then the GPS delay compensation algorithm will be disabled.


2. Compensating for GPS delay when calculating the glideslope for fixed wing landing.

This functionality is only enabled with the following settings:
-'update glideslope at 30Hz' circuit option enabled AND
-3.6 code version, or 'Use Kalman Filter position for fixed wing' option disabled with 3.7 code version

If the PPS signal is incorrect, most likely it won't follow the glideslope as well as before. We recommend 3.7 with the 'Use Kalman Filter position for fixed wing' option.


3. Verifying that an mp3x board 5 Hz and 30 Hz loops are running.
The time since the PPS count is used to verify that the 5 Hz and 30 Hz loops of a board in an mp3x are running, and take the board offline if they are not.

If the PPS signal is no longer present or resets faster than expected, the code to detect if the 5 Hz and 30 Hz are still running remains functional as of version 3.7.747.

If the PPS signal resets constantly in under 100 ms, then the code can no longer detect failures in the 30 Hz loop, and resetting constantly more often than 500 ms prevents the autopilot from detecting if the 5 Hz loop is still running.


4. Reporting PPS time for user functionality and logging.
The PPS time is reported in three different places that do not affect the flight functionality but can be used for external devices or logging purposes:
-the current PPS time is stored in field 1693
-the current PPS time is stored in the datalog header when the datalog starts to be recorded, and is saved to the datalog's .text file as startGpsTime1Khz
-when the 'edge detect' custom I/O option is used and an edge is detected on the input, the current PPS time is saved to a state field so that you can determine the timing of a pulse relative to the start of a GPS second. This is useful for timing a camera flash trigger relative to the GPS time to match the GPS position with when the photo was taken.

Views: 65

Reply to This

Share

© 2024   Created by MicroPilotNingAdmin.   Powered by

Report an Issue  |  Terms of Service