diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index be5b4ce7..68fdb150 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -137,7 +137,7 @@ #define TEMP_SENSOR_0 6 #define TEMP_SENSOR_1 0 #define TEMP_SENSOR_2 0 -#define TEMP_SENSOR_BED 0 //we're not using heated bed +#define TEMP_SENSOR_BED 1000 //we are treating the pressure sensor as a bed temp sensor. // This makes temp sensor 1 a redundant sensor for sensor 0. If the temperatures difference between these sensors is to high the print will be aborted. //#define TEMP_SENSOR_1_AS_REDUNDANT @@ -154,7 +154,7 @@ #define HEATER_0_MINTEMP 5 #define HEATER_1_MINTEMP 5 #define HEATER_2_MINTEMP 5 -#define BED_MINTEMP 5 +#define BED_MINTEMP -1 // 0 pressure is a valid reading // When temperature exceeds max temp, your heater will be switched off. // This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! @@ -162,7 +162,7 @@ #define HEATER_0_MAXTEMP 235 #define HEATER_1_MAXTEMP 235 #define HEATER_2_MAXTEMP 235 -#define BED_MAXTEMP 150 +#define BED_MAXTEMP 500 // If your bed has low resistance e.g. .6 ohm and throws the fuse you can duty cycle it to reduce the // average current. The value should be an integer and the heat bed will be turned on for 1 interval of @@ -216,7 +216,11 @@ // If this is enabled, find your own PID constants below. //#define PIDTEMPBED // -//#define BED_LIMIT_SWITCHING +#define BED_LIMIT_SWITCHING + +// Override the high and low values since we are using the bed temp for pressure control, and a high reading means a high temp +#define HEATER_BED_RAW_HI_TEMP 16383 +#define HEATER_BED_RAW_LO_TEMP 0 // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option. // all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis) diff --git a/Marlin/pins.h b/Marlin/pins.h index 10e4057a..52493da0 100755 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -2224,7 +2224,7 @@ DaveX plan for Teensylu/printrboard-type pinouts (ref teensylu & sprinter) for a #define Z_MS2_PIN 67 #define HEATER_BED_PIN 3 -#define TEMP_BED_PIN 2 +#define TEMP_BED_PIN 3 // Connect the pressure sensor to pin A3 on the Rambo #define HEATER_0_PIN 9 #define TEMP_0_PIN 0 diff --git a/Marlin/thermistortables.h b/Marlin/thermistortables.h index 86bf5c2d..790fc11f 100755 --- a/Marlin/thermistortables.h +++ b/Marlin/thermistortables.h @@ -1097,6 +1097,35 @@ const short temptable_70[][2] PROGMEM = { }; #endif +#if (THERMISTORHEATER_0 == 1000) || (THERMISTORHEATER_1 == 1000) || (THERMISTORHEATER_2 == 1000) || (THERMISTORBED == 1000) //pressure sensor LUT +// Lookup table to convert analog values to pressure values. +// Pressure values are in 10ths of PSIs (i.e 213 = 21.3 PSI). +const short temptable_1000[][2] PROGMEM = { + {1*OVERSAMPLENR, 0}, + {103*OVERSAMPLENR, 0}, + {115*OVERSAMPLENR, 6}, + {160*OVERSAMPLENR, 34}, + {180*OVERSAMPLENR, 47}, + {200*OVERSAMPLENR, 58}, + {240*OVERSAMPLENR, 83}, + {260*OVERSAMPLENR, 96}, + {300*OVERSAMPLENR, 120}, + {350*OVERSAMPLENR, 150}, + {400*OVERSAMPLENR, 181}, + {450*OVERSAMPLENR, 211}, + {500*OVERSAMPLENR, 242}, + {550*OVERSAMPLENR, 273}, + {600*OVERSAMPLENR, 304}, + {650*OVERSAMPLENR, 332}, + {700*OVERSAMPLENR, 364}, + {750*OVERSAMPLENR, 394}, + {800*OVERSAMPLENR, 425}, + {830*OVERSAMPLENR, 443}, +}; + +#endif + + #define _TT_NAME(_N) temptable_ ## _N #define TT_NAME(_N) _TT_NAME(_N)