Merge pull request #726 from dhiltonp/temp-correction
High wattage means tip temp is low, compensate
This commit is contained in:
@@ -8,6 +8,7 @@
|
|||||||
#include "TipThermoModel.h"
|
#include "TipThermoModel.h"
|
||||||
#include "Settings.h"
|
#include "Settings.h"
|
||||||
#include "BSP.h"
|
#include "BSP.h"
|
||||||
|
#include "power.hpp"
|
||||||
#include "../../configuration.h"
|
#include "../../configuration.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -102,6 +103,10 @@ uint32_t TipThermoModel::convertFtoC(uint32_t degF) {
|
|||||||
uint32_t TipThermoModel::getTipInC(bool sampleNow) {
|
uint32_t TipThermoModel::getTipInC(bool sampleNow) {
|
||||||
int32_t currentTipTempInC = TipThermoModel::convertTipRawADCToDegC(getTipRawTemp(sampleNow));
|
int32_t currentTipTempInC = TipThermoModel::convertTipRawADCToDegC(getTipRawTemp(sampleNow));
|
||||||
currentTipTempInC += getHandleTemperature() / 10; //Add handle offset
|
currentTipTempInC += getHandleTemperature() / 10; //Add handle offset
|
||||||
|
// Power usage indicates that our tip temp is lower than our thermocouple temp.
|
||||||
|
// I found a number that doesn't unbalance the existing PID, causing overshoot.
|
||||||
|
// This could be tuned in concert with PID parameters...
|
||||||
|
currentTipTempInC -= x10WattHistory.average() / 25;
|
||||||
if (currentTipTempInC < 0)
|
if (currentTipTempInC < 0)
|
||||||
return 0;
|
return 0;
|
||||||
return currentTipTempInC;
|
return currentTipTempInC;
|
||||||
@@ -111,6 +116,7 @@ uint32_t TipThermoModel::getTipInF(bool sampleNow) {
|
|||||||
uint32_t currentTipTempInF = TipThermoModel::convertTipRawADCToDegF(
|
uint32_t currentTipTempInF = TipThermoModel::convertTipRawADCToDegF(
|
||||||
getTipRawTemp(sampleNow));
|
getTipRawTemp(sampleNow));
|
||||||
currentTipTempInF += convertCtoF(getHandleTemperature() / 10); //Add handle offset
|
currentTipTempInF += convertCtoF(getHandleTemperature() / 10); //Add handle offset
|
||||||
|
currentTipTempInF += x10WattHistory.average() / 45; // 25 * 9 / 5, see getTipInC
|
||||||
return currentTipTempInF;
|
return currentTipTempInF;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user