Welcome! Log In Create A New Profile

Advanced

Heatbead warmup time with newer firmware

Posted by edog1973 
Heatbead warmup time with newer firmware
January 26, 2016 01:42PM
Hello all, fairly new to the RepRap world.

I recently built a Prusa i3 using the Folgertech 2020 kit. I started by installing the vendor supplied Marlin firmware version (1.0.0) and have been able to make some decent prints. Then I installed the newest Marlin firmware from github (1.1.0-RC3) and updated Configuration.h using the vendor firmware as a guide. Again I've been able to make some decent prints. However with the new firmware installed it takes about 30 minutes for the heatbed to warm up to 100 deg, the old firmware would take about 8 minutes. I've attached a couple of screenshots of the temperature graphs.

Is there a reason why the newer firmware takes so much longer to heat up using the same hardware? Can you suggest any changes to get the new firmware to heat as quickly?
Attachments:
open | download - Heatbed 1.0.0.png (51.8 KB)
open | download - Heatbed 1.1.0-rc3.png (49.7 KB)
Re: Heatbead warmup time with newer firmware
January 26, 2016 01:46PM
You need to run an AutoPID tune on the bed to get your new numbers if you dont know what was in the old firmware.
If you have access to the old firmware that makes it 100% easier. Just copy the PID numbers over and upload again.
Re: Heatbead warmup time with newer firmware
January 26, 2016 02:01PM
Floyd, thanks for the quick reply:

Here are the relevant (I think) sections from the Configuration.h files

Old 1.0.0 Configuration.h
// Bed Temperature Control
// Select PID or bang-bang with PIDTEMPBED.  If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis
//
// uncomment this to enable PID on the bed.   It uses the same ferquency PWM as the extruder. 
// If your PID_dT above is the default, and correct for your hardware/configuration, that means 7.689Hz,
// which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating.
// This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W heater. 
// If your configuration is significantly different than this and you don't understand the issues involved, you proabaly 
// shouldn't use bed PID until someone else verifies your hardware works.
// If this is enabled, find your own PID constants below.
//#define PIDTEMPBED
//
//#define BED_LIMIT_SWITCHING

// This sets the max power delived 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)
// setting this to anything other than 256 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did,
// so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
#define MAX_BED_POWER 256 // limits duty cycle to bed; 256=full current

#ifdef PIDTEMPBED
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, argressive factor of .15 (vs .1, 1, 10)
    #define  DEFAULT_bedKp 10.00
    #define  DEFAULT_bedKi .023
    #define  DEFAULT_bedKd 305.4

//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
//from pidautotune
//    #define  DEFAULT_bedKp 97.1
//    #define  DEFAULT_bedKi 1.41
//    #define  DEFAULT_bedKd 1675.16

// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
#endif // PIDTEMPBED


New 1.1.0-rc3 Configuration.h
//===========================================================================
//============================= PID > Bed Temperature Control ===============
//===========================================================================
// Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis
//
// Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder.
// If your PID_dT is the default, and correct for your hardware/configuration, that means 7.689Hz,
// which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating.
// This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W heater.
// If your configuration is significantly different than this and you don't understand the issues involved, you probably
// shouldn't use bed PID until someone else verifies your hardware works.
// If this is enabled, find your own PID constants below.
//#define PIDTEMPBED

//#define BED_LIMIT_SWITCHING

// 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)
// setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did,
// so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current

//#define PID_BED_DEBUG // Sends debug data to the serial port.

#if ENABLED(PIDTEMPBED)

  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term

  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
  //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
  #define  DEFAULT_bedKp 10.00
  #define  DEFAULT_bedKi .023
  #define  DEFAULT_bedKd 305.4

  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
  //from pidautotune
  //#define  DEFAULT_bedKp 97.1
  //#define  DEFAULT_bedKi 1.41
  //#define  DEFAULT_bedKd 1675.16

  // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
#endif // PIDTEMPBED

PIDTEMPBED was commented out in the old config, so I left it commented it out in the new. It looks to me like the only setting being used in the old config is MAX_BED_POWER. The comments in the new file show a max of 255 where the old file shows a max of 256.

Will the AutoPID tune (not familiar with it and need to look it up) provide settings I can use in the new config?
Re: Heatbead warmup time with newer firmware
January 26, 2016 03:40PM
You have the autotune code in the last post you made at the bottom.
M303 E-1 C8 S90
That runs the cycle 8 times at 90c then spits out the new kp, ki and kd values. Load those new values into the firmware and upload again and test.
Re: Heatbead warmup time with newer firmware
January 28, 2016 10:25AM
I was under the impression that PID autotune does not affect bang bang control which you are using since PIDTEMPBED is commented out. Under the control method it just turns on full power until it hits the set temperature then turns off. I've found this more useful with heatbeds than PID generally.

Its worth enabling PIDTEMPBED - flash frimware, running PID auto tune, entering your new values and flash again. It might work better and its worth a try.

Failing that are you using insulation under the bed? And on top during warm up? I find that foil backed bubble wrap just the job. Takes about 10 minutes.
Re: Heatbead warmup time with newer firmware
January 28, 2016 02:33PM
From looking at the comments in the code I though the same thing about PID not being used during warmup. However I tried it anyway and it did not seem to make much of a difference. Another interesting thing I've found, the 1.0.0 firmware shows a nice smooth curve int the temperature graph when warming up. However the 1.1.0-rc3 firmware has the same smooth curve up to 40 deg. Then it shoots up to 45 then continues on a shallower trajectory towards the target temp. (See the attached image). I have an led indicator on the heatbed which stays solid the whole time indicating the power to the bed is not changing. So perhaps this is more of a temp sensor issue?

If I had not seen it warm up so much faster on the older firmware I would not be concerned. I know the hardware is capable and and would like to figure out how to make the new firmware behave like the older version.
Attachments:
open | download - Screenshot from 2016-01-28 11:26:01.png (13 KB)
Sorry, only registered users may post in this forum.

Click here to login