Files
trikkeSensors/docs/axis-validation-2026-08-16.md
T

59 lines
2.2 KiB
Markdown

# Enclosure Axis Validation — 2026-08-16
The enclosure was tested with the battery end treated as the bottom of the
reference orientation. The shared enclosure frame is +X right, +Y toward the
top, and +Z toward the cover.
## Audit clarification
The timing results below validate the ESP32-C3 polling loop, not the independent
sensor sample clocks. A subsequent review of the capture found a coherent repeated
ADXL345 sample approximately every 27 polls, consistent with an actual device ODR
near 96.3 Hz. This does not affect the static six-position axis result. Firmware v2
adds ADXL345 and L3G4200D freshness/overrun status to every record so dynamic data
can be interpreted correctly.
## Capture integrity
- 50,001 consecutive samples over 500.000 seconds
- Effective MCU polling rate: exactly 100 Hz
- Timestamp interval: 10,000 us for every sample
- Sequence gaps: 0
- Axis-mapping mismatches between mapped and native columns: 0
The raw capture is `captures/enclosure_axis_test.csv` and is intentionally
excluded from source control.
## Accelerometer orientation results
| Position | Mean enclosure counts | Expected dominant axis | Result |
| --- | ---: | ---: | --- |
| Flat, cover up | (+4, -5, +258) | +Z | Pass |
| Left edge down | (+258, -3, +10) | +X | Pass |
| Right edge down | (-260, -9, +16) | -X | Pass |
| Battery edge down | (-3, +255, +11) | +Y | Pass |
| Top edge down | (+5, -264, +15) | -Y | Pass |
| Cover side down | (-7, -7, -234) | -Z | Pass |
The paired-face results give an initial calibration estimate of:
```text
offset_counts = (-1.30, -4.45, +12.20)
counts_per_g = (258.90, 259.85, 245.70)
```
These values are recorded as candidates only; calibration is not yet applied
in firmware.
## Gyroscope rotation results
- The deliberate X rotation was X-dominant in 1,261 dynamic samples, versus
44 Y-dominant and 35 Z-dominant samples.
- The deliberate Z rotation was Z-dominant in all 1,008 dynamic samples. No X
or Y sample crossed the same 500-count activity threshold.
- Earlier side-to-side orientation changes were Y-dominant, confirming the
remaining gyro axis.
The mounted sensor axes and the firmware's enclosure-frame mapping are
consistent.