diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index ca7bdb58d..306ba2e0d 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -455,8 +455,8 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define SDSUPPORT // Enable SD Card Support in Hardware Console //#define SDSLOW // Use slower SD transfer mode (not normally needed - uncomment if you're getting volume init error) #define SD_CHECK_AND_RETRY // Use CRC checks and retries on the SD communication -#define ENCODER_PULSES_PER_STEP 2 // Increase if you have a high resolution encoder -#define ENCODER_STEPS_PER_MENU_ITEM 2 // Set according to ENCODER_PULSES_PER_STEP or your liking +#define ENCODER_PULSES_PER_STEP 4 // Increase if you have a high resolution encoder +#define ENCODER_STEPS_PER_MENU_ITEM 1 // Set according to ENCODER_PULSES_PER_STEP or your liking //#define ULTIMAKERCONTROLLER //as available from the Ultimaker online store. //#define ULTIPANEL //the UltiPanel as on Thingiverse //#define LCD_FEEDBACK_FREQUENCY_HZ 1000 // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click diff --git a/Firmware/thermistortables.h b/Firmware/thermistortables.h index ac1dea736..2b0f6ee63 100644 --- a/Firmware/thermistortables.h +++ b/Firmware/thermistortables.h @@ -1059,6 +1059,93 @@ const short temptable_147[][2] PROGMEM = { PtLine(200,100,4700) PtLine(250,100,4700) PtLine(300,100,4700) + PtLine(350,100,4700) + PtLine(400,100,4700) + PtLine(450,100,4700) + PtLine(500,100,4700) + PtLine(550,100,4700) + PtLine(600,100,4700) + PtLine(650,100,4700) + PtLine(700,100,4700) + PtLine(750,100,4700) + PtLine(800,100,4700) + PtLine(850,100,4700) + PtLine(900,100,4700) + PtLine(950,100,4700) + PtLine(1000,100,4700) + PtLine(1050,100,4700) + PtLine(1100,100,4700) +}; +#endif +#if (THERMISTORHEATER_0 == 148) || (THERMISTORHEATER_1 == 148) || (THERMISTORHEATER_2 == 148) || (THERMISTORBED == 148) // Pt100 with 4k7 MiniRambo pullup, no Amp. +const short temptable_148[][2] PROGMEM = { +// More raw data values avaliable via http://www.micropik.com/PDF/pt100.pdf +// This information is taken from http://shop.prusa3d.com/forum/improvements-f14/mini-rambo-1-3-and-e3d-with-pt100-t700-s40.html#p20938 +{0,0}, // first two entries are bogus, just to get the heater running +{286,50}, +{469,100}, +{531,150}, +{590,200}, +{649,250}, +{708,300}, +{763,350}, +{819,400}, +{872,450}, +}; +#endif +#if (THERMISTORHEATER_0 == 247) || (THERMISTORHEATER_1 == 247) || (THERMISTORHEATER_2 == 247) || (THERMISTORBED == 247) // Pt100 with 4k7 MiniRambo pullup & PT100 Amplifier +const short temptable_247[][2] PROGMEM = { +// Calculated from Bob-the-Kuhn's PT100 calculator listed in https://github.com/MarlinFirmware/Marlin/issues/5543 +// and the table provided by E3D at http://wiki.e3d-online.com/wiki/E3D_PT100_Amplifier_Documentation#Output_Characteristics. +{ 0 * OVERSAMPLENR, 0 }, +{ 244 * OVERSAMPLENR, 1 }, +{ 252 * OVERSAMPLENR, 10 }, +{ 262 * OVERSAMPLENR, 20 }, +{ 270 * OVERSAMPLENR, 30 }, +{ 278 * OVERSAMPLENR, 40 }, +{ 286 * OVERSAMPLENR, 50 }, +{ 294 * OVERSAMPLENR, 60 }, +{ 302 * OVERSAMPLENR, 70 }, +{ 310 * OVERSAMPLENR, 80 }, +{ 318 * OVERSAMPLENR, 90 }, +{ 326 * OVERSAMPLENR, 100 }, +{ 334 * OVERSAMPLENR, 110 }, +{ 344 * OVERSAMPLENR, 120 }, +{ 352 * OVERSAMPLENR, 130 }, +{ 358 * OVERSAMPLENR, 140 }, +{ 366 * OVERSAMPLENR, 150 }, +{ 374 * OVERSAMPLENR, 160 }, +{ 382 * OVERSAMPLENR, 170 }, +{ 390 * OVERSAMPLENR, 180 }, +{ 398 * OVERSAMPLENR, 190 }, +{ 406 * OVERSAMPLENR, 200 }, +{ 414 * OVERSAMPLENR, 210 }, +{ 422 * OVERSAMPLENR, 220 }, +{ 430 * OVERSAMPLENR, 230 }, +{ 436 * OVERSAMPLENR, 240 }, +{ 444 * OVERSAMPLENR, 250 }, +{ 452 * OVERSAMPLENR, 260 }, +{ 458 * OVERSAMPLENR, 270 }, +{ 466 * OVERSAMPLENR, 280 }, +{ 474 * OVERSAMPLENR, 290 }, +{ 480 * OVERSAMPLENR, 300 }, +{ 488 * OVERSAMPLENR, 310 }, +{ 496 * OVERSAMPLENR, 320 }, +{ 504 * OVERSAMPLENR, 330 }, +{ 510 * OVERSAMPLENR, 340 }, +{ 518 * OVERSAMPLENR, 350 }, +{ 524 * OVERSAMPLENR, 360 }, +{ 532 * OVERSAMPLENR, 370 }, +{ 538 * OVERSAMPLENR, 380 }, +{ 546 * OVERSAMPLENR, 390 }, +{ 554 * OVERSAMPLENR, 400 }, +{ 622 * OVERSAMPLENR, 500 }, +{ 688 * OVERSAMPLENR, 600 }, +{ 749 * OVERSAMPLENR, 700 }, +{ 809 * OVERSAMPLENR, 800 }, +{ 865 * OVERSAMPLENR, 900 }, +{ 919 * OVERSAMPLENR, 1000 }, +{ 969 * OVERSAMPLENR, 1100 }, }; #endif #if (THERMISTORHEATER_0 == 1010) || (THERMISTORHEATER_1 == 1010) || (THERMISTORHEATER_2 == 1010) || (THERMISTORBED == 1010) // Pt1000 with 1k0 pullup diff --git a/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h index c7e3ecb8a..43973fb1c 100644 --- a/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h @@ -18,6 +18,12 @@ GENERAL SETTINGS // Electronics #define MOTHERBOARD BOARD_RAMBO_MINI_1_3 +// Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) +//#define E3D_PT100_EXTRUDER_WITH_AMP +//#define E3D_PT100_EXTRUDER_NO_AMP +//#define E3D_PT100_BED_WITH_AMP +//#define E3D_PT100_BED_NO_AMP + /*------------------------------------ AXIS SETTINGS @@ -73,15 +79,26 @@ EXTRUDER SETTINGS #define BED_MINTEMP 15 // Maxtemps +#if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) +#define HEATER_0_MAXTEMP 410 +#else #define HEATER_0_MAXTEMP 305 +#endif #define HEATER_1_MAXTEMP 305 #define HEATER_2_MAXTEMP 305 #define BED_MAXTEMP 150 +#if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) +// Define PID constants for extruder with PT100 +#define DEFAULT_Kp 21.70 +#define DEFAULT_Ki 1.60 +#define DEFAULT_Kd 73.76 +#else // Define PID constants for extruder #define DEFAULT_Kp 40.925 #define DEFAULT_Ki 4.875 #define DEFAULT_Kd 86.085 +#endif // Extrude mintemp #define EXTRUDE_MINTEMP 130 @@ -305,12 +322,26 @@ THERMISTORS SETTINGS // 1047 is Pt1000 with 4k7 pullup // 1010 is Pt1000 with 1k pullup (non standard) // 147 is Pt100 with 4k7 pullup +// 148 is Pt100 with 4k7 pullup and no PT100 Amplifier (in case type 147 doesn't work) +// 247 is Pt100 with 4k7 pullup and PT100 Amplifier // 110 is Pt100 with 1k pullup (non standard) +#if defined(E3D_PT100_EXTRUDER_WITH_AMP) +#define TEMP_SENSOR_0 247 +#elif defined(E3D_PT100_EXTRUDER_NO_AMP) +#define TEMP_SENSOR_0 147 +#else #define TEMP_SENSOR_0 5 +#endif #define TEMP_SENSOR_1 0 #define TEMP_SENSOR_2 0 +#if defined(E3D_PT100_BED_WITH_AMP) +#define TEMP_SENSOR_BED 247 +#elif defined(E3D_PT100_BED_NO_AMP) +#define TEMP_SENSOR_BED 147 +#else #define TEMP_SENSOR_BED 1 +#endif #endif //__CONFIGURATION_PRUSA_H