1
0
forked from me/IronOS

Reduce max temp for MHP30

This commit is contained in:
Ben V. Brown
2021-05-05 18:48:12 +10:00
parent 0be4d596e3
commit 79fa47eb16
3 changed files with 62 additions and 30 deletions

View File

@@ -130,7 +130,13 @@
#define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS100 // #define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS100 //
#define TEMP_uV_LOOKUP_HAKKO // #define TEMP_uV_LOOKUP_HAKKO //
#define USB_PD_VMAX 20 // Maximum voltage for PD to negotiate #define USB_PD_VMAX 20 // Maximum voltage for PD to negotiate
#define PID_TIM_HZ (8) #define PID_TIM_HZ (8) // Tick rate of the PID loop
#define MAX_TEMP_C 450 // Max soldering temp selectable °C
#define MAX_TEMP_F 850 // Max soldering temp selectable °F
#define MIN_TEMP_C 10 // Min soldering temp selectable °C
#define MIN_TEMP_F 60 // Min soldering temp selectable °F
#define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C
#define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F
#endif #endif
#ifdef MODEL_Pinecil #ifdef MODEL_Pinecil
@@ -144,7 +150,13 @@
#define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS100 // Uses TS100 resistors #define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS100 // Uses TS100 resistors
#define TEMP_uV_LOOKUP_HAKKO // Use Hakko lookup table #define TEMP_uV_LOOKUP_HAKKO // Use Hakko lookup table
#define USB_PD_VMAX 20 // Maximum voltage for PD to negotiate #define USB_PD_VMAX 20 // Maximum voltage for PD to negotiate
#define PID_TIM_HZ (8) #define PID_TIM_HZ (8) // Tick rate of the PID loop
#define MAX_TEMP_C 450 // Max soldering temp selectable °C
#define MAX_TEMP_F 850 // Max soldering temp selectable °F
#define MIN_TEMP_C 10 // Min soldering temp selectable °C
#define MIN_TEMP_F 60 // Min soldering temp selectable °F
#define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C
#define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F
#endif #endif
#ifdef MODEL_TS80 #ifdef MODEL_TS80
@@ -158,7 +170,13 @@
#define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS80 // #define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS80 //
#define TEMP_uV_LOOKUP_TS80 // #define TEMP_uV_LOOKUP_TS80 //
#define USB_PD_VMAX 12 // Maximum voltage for PD to negotiate #define USB_PD_VMAX 12 // Maximum voltage for PD to negotiate
#define PID_TIM_HZ (8) #define PID_TIM_HZ (8) // Tick rate of the PID loop
#define MAX_TEMP_C 450 // Max soldering temp selectable °C
#define MAX_TEMP_F 850 // Max soldering temp selectable °F
#define MIN_TEMP_C 10 // Min soldering temp selectable °C
#define MIN_TEMP_F 60 // Min soldering temp selectable °F
#define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C
#define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F
#endif #endif
#ifdef MODEL_TS80P #ifdef MODEL_TS80P
@@ -172,22 +190,36 @@
#define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS80 // #define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS80 //
#define TEMP_uV_LOOKUP_TS80 // #define TEMP_uV_LOOKUP_TS80 //
#define USB_PD_VMAX 12 // Maximum voltage for PD to negotiate #define USB_PD_VMAX 12 // Maximum voltage for PD to negotiate
#define PID_TIM_HZ (8) #define PID_TIM_HZ (8) // Tick rate of the PID loop
#define MAX_TEMP_C 450 // Max soldering temp selectable °C
#define MAX_TEMP_F 850 // Max soldering temp selectable °F
#define MIN_TEMP_C 10 // Min soldering temp selectable °C
#define MIN_TEMP_F 60 // Min soldering temp selectable °F
#define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C
#define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F
#endif #endif
#ifdef MODEL_MHP30 #ifdef MODEL_MHP30
#define SOLDERING_TEMP 200 // Default soldering temp is 200.0 °C #define SOLDERING_TEMP 200 // Default soldering temp is 200.0 °C
#define VOLTAGE_DIV 360 // Default for MHP30 #define VOLTAGE_DIV 360 // Default for MHP30
#define PID_POWER_LIMIT 65 // Sets the max pwm power limit #define PID_POWER_LIMIT 65 // Sets the max pwm power limit
#define CALIBRATION_OFFSET 0 // the adc offset in uV - MHP compensates automagically #define CALIBRATION_OFFSET 0 // the adc offset in uV - MHP compensates automagically
#define POWER_LIMIT 65 // 65 watts default power limit #define POWER_LIMIT 65 // 65 watts default power limit
#define MAX_POWER_LIMIT 65 // #define MAX_POWER_LIMIT 65 //
#define POWER_LIMIT_STEPS 2 // #define POWER_LIMIT_STEPS 2 //
#define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_MHP30 // #define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_MHP30 //
#define USB_PD_VMAX 20 // Maximum voltage for PD to negotiate #define USB_PD_VMAX 20 // Maximum voltage for PD to negotiate
#define MODEL_HAS_DCDC // Has inductor to current filter #define MODEL_HAS_DCDC // Has inductor to current filter
#define PID_TIM_HZ (16) // #define PID_TIM_HZ (16) //
#define THERMAL_MASS_OVERSHOOTS #define THERMAL_MASS_OVERSHOOTS // We have overshoot so reverse direction of compensation
#define MAX_TEMP_C 300 // Max soldering temp selectable °C
#define MAX_TEMP_F 570 // Max soldering temp selectable °F
#define MIN_TEMP_C 10 // Min soldering temp selectable °C
#define MIN_TEMP_F 60 // Min soldering temp selectable °F
#define MIN_BOOST_TEMP_C 150 // The min settable temp for boost mode °C
#define MIN_BOOST_TEMP_F 300 // The min settable temp for boost mode °F
#endif #endif
#ifdef MODEL_TS100 #ifdef MODEL_TS100

View File

@@ -587,25 +587,25 @@ static bool settings_displayDisplayRotation(void) {
static bool settings_setBoostTemp(void) { static bool settings_setBoostTemp(void) {
if (systemSettings.temperatureInF) { if (systemSettings.temperatureInF) {
if (systemSettings.BoostTemp == 0) { if (systemSettings.BoostTemp == 0) {
systemSettings.BoostTemp = 480; // loop back at 480 systemSettings.BoostTemp = MIN_BOOST_TEMP_F; // loop back at 480
} else { } else {
systemSettings.BoostTemp += 20; // Go up 20F at a time systemSettings.BoostTemp += 20; // Go up 20F at a time
} }
if (systemSettings.BoostTemp > 850) { if (systemSettings.BoostTemp > MAX_TEMP_F) {
systemSettings.BoostTemp = 0; // jump to off systemSettings.BoostTemp = 0; // jump to off
} }
return systemSettings.BoostTemp == 840; return systemSettings.BoostTemp == MAX_TEMP_F - 10;
} else { } else {
if (systemSettings.BoostTemp == 0) { if (systemSettings.BoostTemp == 0) {
systemSettings.BoostTemp = 250; // loop back at 250 systemSettings.BoostTemp = MIN_BOOST_TEMP_C; // loop back at 250
} else { } else {
systemSettings.BoostTemp += 10; // Go up 10C at a time systemSettings.BoostTemp += 10; // Go up 10C at a time
} }
if (systemSettings.BoostTemp > 450) { if (systemSettings.BoostTemp > MAX_TEMP_C) {
systemSettings.BoostTemp = 0; // Go to off state systemSettings.BoostTemp = 0; // Go to off state
} }
return systemSettings.BoostTemp == 450; return systemSettings.BoostTemp == MAX_TEMP_C;
} }
} }

View File

@@ -239,15 +239,15 @@ static void gui_solderingTempAdjust() {
} }
// constrain between 10-450 C // constrain between 10-450 C
if (systemSettings.temperatureInF) { if (systemSettings.temperatureInF) {
if (systemSettings.SolderingTemp > 850) if (systemSettings.SolderingTemp > MAX_TEMP_F)
systemSettings.SolderingTemp = 850; systemSettings.SolderingTemp = MAX_TEMP_F;
if (systemSettings.SolderingTemp < 60) if (systemSettings.SolderingTemp < MIN_TEMP_F)
systemSettings.SolderingTemp = 60; systemSettings.SolderingTemp = MIN_TEMP_F;
} else { } else {
if (systemSettings.SolderingTemp > 450) if (systemSettings.SolderingTemp > MAX_TEMP_C)
systemSettings.SolderingTemp = 450; systemSettings.SolderingTemp = MAX_TEMP_C;
if (systemSettings.SolderingTemp < 10) if (systemSettings.SolderingTemp < MIN_TEMP_C)
systemSettings.SolderingTemp = 10; systemSettings.SolderingTemp = MIN_TEMP_C;
} }
if (xTaskGetTickCount() - lastChange > (TICKS_SECOND * 2)) if (xTaskGetTickCount() - lastChange > (TICKS_SECOND * 2))