AH500C Attitude and Heading Reference System (AHRS) is a high performance, high precision inertial measurement device that measures the attitude parameters (roll and pitch), angular velocity, acceleration information and heading angle of the dynamic carrier. It communicates with the Raspberry Pi 3b through RS232 full (Logic 1: -15V, logic 0: +15V) via a TTL-RS232 converter. The inclinometer can be controlled through serial port commands and can polled up to 500 Hz.
Specifications:
Attitude:
Accuracy: 0.1° / 0.01° (RMS, dynamic/static) for both Pitch and Roll
Resolution: 0.01°
*NOTE: The manufacturer notes that internal processing time (including filtering and processing from the each of the sensor chips) should result in delays no higher than 10 ms.
*NOTE: The attitude, obtained directly from the 3-axis accelerometer, is not affected by changes in the magnetic field and should thus be inmune to interference from drone motors. The heading reference (2-axis attitude + azimuth) relies heavily in the magnetometers and should be handled with care when in the presence of strong magnetic fields.
A library has been developed to communicate with the inclinometer and control its functions (see HoverCal github: ah500.py). An example of the full verbose output of the sensor is shown below:
An example of all sensor data logged and saved to a .txt file through the use of the ah500.py library is shown below. Data includes: 3axis angles, acceleration, angular velocity, magnetic field and quaternion
25-MINUTE TEST, 500 HZ
60-MINUTE TEST, 500 HZ
60-MINUTE TEST, 5 HZ
STABILITY TEST SUMMARY
The inclinometer was mounted on the gimbal on a standalone data logging platform and submitted to repeated periodical oscilations on separate axes (pitch and roll). The results are shown in the images below:
Repeated and periodic knocks on the pitch axis at a frequency of ~1 Hz. The drift in the signal is a product of the gimbal's behavior when a specific attitude has not been commanded.
Repeated and periodic knocks on the roll axis at a frequency of ~1 Hz. The drift in the signal seems to be a product of the testing procedure. The inclinometer hasn't shown such a behavior when recording data for longer period while laying stationary.
Left: Motion of the gimbal as recorded by the inclinometer for commanded motion of pitch and roll to 20° and -20°, respectively. The maximum/minimum angles measured by the inclinometer are listed in the plot, in parenthesis, the final angle reported by the gimbal's control software. NOTE: The gimbal reported an initial angle of 0° and 0.1° for pitch and roll. Right: FFT of the pitch and roll signals. No noticeable power was seen above ~5 Hz.
Vibration tests were simulated through a single tone played through a speaker. The inclinometer and readout electronics were adhered to a hardboard plate mounted on top of the speaker.
Maximum logging rate of the inclinometer is 500 Hz, so the spectral response of the vibration tests was analyzed in search of harmonics when the tone frequency is in the order of the nyquist frequency.
Tone freq. 30 Hz 60 Hz 120 Hz
Tone freq. 245 Hz 270 Hz 280 Hz