This shows you the differences between two versions of the page.
|
pm:prj2025:vradulescu:valentin.pletea [2025/05/30 09:46] valentin.pletea [Bill of Materials (BOM)] |
pm:prj2025:vradulescu:valentin.pletea [2025/05/30 09:55] (current) valentin.pletea [Laboratory Functionality Integration] |
||
|---|---|---|---|
| Line 242: | Line 242: | ||
| * Temporary buffers are reused where possible to reduce peak memory usage | * Temporary buffers are reused where possible to reduce peak memory usage | ||
| - | ==== Sensor Calibration ==== | + | ==== Sensor Calibration ==== |
| - | The calibration process for the MPU6050 was implemented in several steps: | + | Initial Angle Determination: |
| - | + | * Initial angles are calculated from accelerometer data at startup | |
| - | * Gyroscope Bias Calibration: | + | * These angles initialize the Kalman filter states |
| - | * The device is placed in a stationary position at startup | + | * Ensures stable starting point for the filter |
| - | * 500 gyroscope readings are collected over approximately 5 seconds | + | |
| - | * The average value for each axis is calculated and stored as the gyroscope bias | + | |
| - | * This bias is then subtracted from all subsequent gyroscope readings | + | |
| - | + | ||
| - | * Accelerometer Calibration: | + | |
| - | * A six-position calibration procedure was used (placing the sensor flat on all six sides) | + | |
| - | * For each position, 100 readings are averaged to determine the accelerometer response | + | |
| - | * A 3x3 calibration matrix is calculated to correct for misalignment and scale errors | + | |
| - | * The calibration matrix is applied to all raw accelerometer readings | + | |
| - | + | ||
| - | * Initial Angle Determination: | + | |
| - | * Initial angles are calculated from accelerometer data using arctangent functions | + | |
| - | * These initial angles are used to initialize the Kalman filter states | + | |
| - | * This ensures the filter begins with accurate orientation information | + | |
| - | + | ||
| - | The calibration parameters are stored in memory and applied continuously during operation. The calibration procedure significantly improved angle estimation accuracy from ±5° to better than ±0.5° in static conditions. | + | |
| + | Automatic Bias Correction: | ||
| + | * The Kalman filter continuously estimates gyroscope bias | ||
| + | * No manual calibration required | ||
| + | * Bias estimation improves over time during operation | ||
| ==== Servo Control System ==== | ==== Servo Control System ==== | ||
| The servo control implementation includes: | The servo control implementation includes: | ||
| Line 310: | Line 298: | ||
| ==== Laboratory Functionality Integration ==== | ==== Laboratory Functionality Integration ==== | ||
| The project leverages several functionalities covered in laboratory sessions: | The project leverages several functionalities covered in laboratory sessions: | ||
| - | |||
| - | * GPIO Control (Lab 0): | ||
| - | * Used for system status indicators | ||
| - | * Implemented LED indicators for system status | ||
| - | * Configured button input for user interaction and calibration trigger | ||
| * UART Communication (Lab 1): | * UART Communication (Lab 1): | ||