Close



Results 1 to 10 of 12

Hybrid View

  1. #1
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    Quote Originally Posted by Mjolinor View Post
    If all you need are higher temperatures but can put up with the display being wrong then a resistive potential divider direct on the thermocouple will allow that to happen. The disadvantage would be that it would read 300 at 400 and 400 at 500 etc but it would still be accurate enough if you allowed for the constant temperature error
    That's an interesting idea... You probably would need to adjust the PID control numbers too because that algorithm would be getting incorrect error numbers. But that would not be too tough to do.

    Also... You want to avoid doing it, but you can turn off the Thermal Protection code if you need to. It is controlled by the

    #define THERMAL_PROTECTION_HOTENDS in the Configuration.h file.

    Also, another thing you can try is this. It may be you are having a hard time getting hotter and hotter. It may take more and more time to get a little bit hotter.
    You can change these numbers in Configuration_adv.h:

    #if ENABLED(THERMAL_PROTECTION_HOTENDS)
    #define THERMAL_PROTECTION_PERIOD 60 // Seconds
    #define THERMAL_PROTECTION_HYSTERESIS 1 // Degrees Celsius
    #endif

    And I just got reprimanded over in this thread: https://github.com/MarlinFirmware/Marlin/issues/2857 There is also a

    #define WATCH_TEMP_PERIOD 16 // Seconds
    #define WATCH_TEMP_INCREASE 4 // Degrees Celsius

    On the heating up side, probably WATCH is more important.
    Last edited by Roxy; 12-16-2015 at 08:52 AM.

  2. #2
    Hi Roxy,

    Thanks for the quick response, really appreciate the help.

    I tried with your modified code in temperature.c but I get an error pointing array extruders1 when compiling. I did remove the reference to Heater 3 as my original only had heaters 0,1,2 and ended up with the code below

    I can't attached the INO file as it's an invalid file for the forum, and I'll try to avoid copy/pasta the whole text file.

    static int minttemp_raw[EXTRUDERS] = ARRAY_BY_EXTRUDERS( HEATER_0_RAW_LO_TEMP , HEATER_1_RAW_LO_TEMP , HEATER_2_RAW_LO_TEMP );
    static int maxttemp_raw[EXTRUDERS] = ARRAY_BY_EXTRUDERS( 32000 , 32000 , 32000 );
    static int minttemp[EXTRUDERS] = ARRAY_BY_EXTRUDERS( 0 , 0 , 0 );
    static int maxttemp[EXTRUDERS] = ARRAY_BY_EXTRUDERS( 32000, 32000, 32000 );

    I just tried the code above, but again at 400°C it triggered max temp error. I didn't get chance to try with the thermal protection disabled, and heating up to ~395° is pretty quick


    Mjolinor, interesting idea. I'll have to investigate.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •