diff --git a/modm b/modm index 03c6f7df..b9b2550b 160000 --- a/modm +++ b/modm @@ -1 +1 @@ -Subproject commit 03c6f7df783613b88867432d316c449ac22d4a41 +Subproject commit b9b2550b8d862831fe2bf0bb7b70f29911c3fb14 diff --git a/src/tap/communication/sensors/imu_heater/imu_heater.hpp b/src/tap/communication/sensors/imu_heater/imu_heater.hpp index 923a77bd..fc7e8d88 100644 --- a/src/tap/communication/sensors/imu_heater/imu_heater.hpp +++ b/src/tap/communication/sensors/imu_heater/imu_heater.hpp @@ -61,10 +61,10 @@ class ImuHeater /** * PID constants for temperature control. */ - static constexpr float TEMPERATURE_PID_P = 1.0f; - static constexpr float TEMPERATURE_PID_I = 0.0f; - static constexpr float TEMPERATURE_PID_D = 20.0f; - static constexpr float TEMPERATURE_PID_MAX_ERR_SUM = 0.0f; + static constexpr float TEMPERATURE_PID_P = 0.12f; + static constexpr float TEMPERATURE_PID_I = 0.005f; + static constexpr float TEMPERATURE_PID_D = 0.0f; //Derivative control is unwanted on a 1st order system + static constexpr float TEMPERATURE_PID_MAX_ERR_SUM = 0.12f / TEMPERATURE_PID_I; static constexpr float TEMPERATURE_PID_MAX_OUT = 1.0f; /** @@ -77,7 +77,7 @@ class ImuHeater * Normal operating temperature is ~40 degrees C, and RM manual says the optimal operating * temperature is ~15-20 degrees C above the normal operating temperature of the board. */ - float imuDesiredTemperature = 50.0f; + float imuDesiredTemperature = 35.0f; Drivers *drivers;