Try and re-tune TS100 and TS80

This commit is contained in:
Ben V. Brown
2019-07-14 11:46:34 +10:00
parent c5409f4f1b
commit 4347ed2d68
9 changed files with 192 additions and 348 deletions

View File

@@ -11,7 +11,23 @@
#ifndef POWER_HPP_
#define POWER_HPP_
const uint8_t oscillationPeriod = 4 * PID_TIM_HZ; // I term look back value
// thermal mass = 1690 milliJ/*C for my tip.
// -> Wattsx10*Seconds to raise Temp from room temp to +100*C, divided by 100*C.
// we divide mass by 20 to let the I term dominate near the set point.
// This is necessary because of the temp noise and thermal lag in the system.
// Once we have feed-forward temp estimation we should be able to better tune this.
#ifdef MODEL_TS100
const uint16_t tipMass = 450; // divide here so division is compile-time.
const uint8_t tipResistance = 85; //x10 ohms, 8.5 typical for ts100, 4.5 typical for ts80
#endif
#ifdef MODEL_TS80
const uint16_t tipMass = 450;
const uint8_t tipResistance = 45; //x10 ohms, 8.5 typical for ts100, 4.5 typical for ts80
#endif
const uint8_t oscillationPeriod = 6 * PID_TIM_HZ; // I term look back value
extern history<uint32_t, oscillationPeriod> milliWattHistory;
int32_t tempToMilliWatts(int32_t rawTemp, uint8_t rawC);