Heated Bed shuts off during preheat?

General discussion of 3D printers

Heated Bed shuts off during preheat?

Postby Panopticon » Sun Feb 23, 2014 10:52 pm

Having a strange issue where my heated bed will turn off during preheat.

I get no return errors in RepHost, it also turns off if I manually drive the machine using a smart controller.

I'm currently using a PCB Heatbed MK2B Dual Power, the bed will reach anywhere between 45-56C before shutting off - if I try to turn off the bed and immediately back on it doesn't power up at all, however If I cut the power to the printer, wait a little bit, and turn it back on I can turn the bed back on again but it still shuts down around 45-56c. Everything is connected correctly. :?:
Panopticon
 
Posts: 42
Joined: Tue May 07, 2013 1:40 am

Re: Heated Bed shuts off during preheat?

Postby blah_59 » Mon Feb 24, 2014 1:08 pm

Normally for random disconnects I would jump to short/broken wire but sine you specifically said everything is hooked up right it sounds like you've already checked the physical chain. So, the next clue is it looks like it's disconnecting at either a certain temperature or power draw. So, if you have a free mosfet, you can try plugging the bed in to the free mosfet, make the change in pins.h and try it out....?
blah_59
 
Posts: 158
Joined: Wed Aug 29, 2012 10:08 am

Re: Heated Bed shuts off during preheat?

Postby Panopticon » Mon Feb 24, 2014 4:58 pm

Hmmmm. This only started happening when I was adjusting the voltages to my stepper motors. I have a 12V power supply right now and it's running at 12.9-13.(ish) volts I don't think that's too low is it?

If it is an issue with the current to the heatedbed how can I adjust that? I'm not too sure about the Mosfet, as I'm not familiar with the term or how to work with one.
Panopticon
 
Posts: 42
Joined: Tue May 07, 2013 1:40 am

Re: Heated Bed shuts off during preheat?

Postby blah_59 » Mon Feb 24, 2014 10:03 pm

I'm away from my firmware right now so I can't give you the exact variable name but in Configuration.h, in PID bed heater settings section, there is a variable like #define MAX_BED_POWER (or similar) that is a software controlled current limit for the mosfet (power connector) for the heated bed. There should be comments in the Configuration.h file in that are that points you to the right line. Maybe somebody else can look in there firmware for you before I get a chance and let us know the variable name...?

Anyway, when you find that line, make sure it's un-commented and then set it to a lower value (the values range from 0 - 255 with 255 being full current and should be the default). So you could lower it to 75 or 80 percent of 255 (190-200), compile the firmware, upload to your electronics board and test.

To test the mosfet hardware, move your heated bed power cables from the connection they are in now to an unused one (most boards have 3 main ones: D8, D9 and D10). Then in pins.h you need to find the section for your electronics board (most people use board type 33 or 34) and then change the line that assigns heatbed power to (I think the default is D8?) to the unused one (probably D10 unless you have a second extruder or a fan plugged in there). Those pins might be off because, again, I'm away from my firmware right now. Then you compile, upload, and test. Good luck :)
blah_59
 
Posts: 158
Joined: Wed Aug 29, 2012 10:08 am

Re: Heated Bed shuts off during preheat?

Postby Panopticon » Thu Feb 27, 2014 12:18 am

Hi Blah,

Here's what my code's looking like now:

Code: Select all
// ############# Heated bed configuration ########################

/** \brief Set true if you have a heated bed conected to your board, false if not */
#define HAVE_HEATED_BED true

#define HEATED_BED_MAX_TEMP 115
/** Skip M190 wait, if heated bed is already within x degrees. Fixed numbers only, 0 = off. */
#define SKIP_M190_IF_WITHIN 3

// Select type of your heated bed. It's the same as for EXT0_TEMPSENSOR_TYPE
// set to 0 if you don't have a heated bed
#define HEATED_BED_SENSOR_TYPE 1
/** Analog pin of analog sensor to read temperature of heated bed.  */
#define HEATED_BED_SENSOR_PIN TEMP_1_PIN
/** \brief Pin to enable heater for bed. */
#define HEATED_BED_HEATER_PIN HEATER_1_PIN
// How often the temperature of the heated bed is set (msec)
#define HEATED_BED_SET_INTERVAL 5000

/**
Heat manager for heated bed:
0 = Bang Bang, fast update
1 = PID controlled
2 = Bang Bang, limited check every HEATED_BED_SET_INTERVAL. Use this with relais driven beds to save life
*/
#define HEATED_BED_HEAT_MANAGER 1
/** \brief The maximum value, I-gain can contribute to the output.
The precise values may differ for different nozzle/resistor combination.
Overridden if EEPROM activated.
*/
#define HEATED_BED_PID_INTEGRAL_DRIVE_MAX 255
/** \brief lower value for integral part

The I state should converge to the exact heater output needed for the target temperature.
To prevent a long deviation from the target zone, this value limits the lower value.
A good start is 30 lower then the optimal value. You need to leave room for cooling.
Overridden if EEPROM activated.
*/
#define HEATED_BED_PID_INTEGRAL_DRIVE_MIN 80
/** P-gain.  Overridden if EEPROM activated. */
#define HEATED_BED_PID_PGAIN   196
/** I-gain  Overridden if EEPROM activated.*/
#define HEATED_BED_PID_IGAIN   33.02
/** Dgain.  Overridden if EEPROM activated.*/
#define HEATED_BED_PID_DGAIN 290
// maximum time the heater is can be switched on. Max = 255.  Overridden if EEPROM activated.
#define HEATED_BED_PID_MAX 255

/** Include PID control for all heaters. */
#define TEMP_PID true

//// Experimental watchdog and minimal temp
// The watchdog waits for the watchperiod in milliseconds whenever an M104 or M109 increases the target temperature
// If the temperature has not increased at the end of that period, the target temperature is set to zero. It can be reset with another M104/M109
//#define WATCHPERIOD 5000 //5 seconds

//// The minimal temperature defines the temperature below which the heater will not be enabled
#define MINTEMP 5

//// Experimental max temp
// 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!
// You should use MINTEMP for thermistor short/failure protection.
#define MAXTEMP 260

/** Extreme values to detect defect thermistors. */
#define MIN_DEFECT_TEMPERATURE -10
#define MAX_DEFECT_TEMPERATURE 300

/** \brief Used reference, normally ANALOG_REF_AVCC or ANALOG_REF_AREF for experts ANALOG_REF_INT_2_56 = 2.56V and ANALOG_REF_INT_1_1=1.1V inernaly generated */
#define ANALOG_REF ANALOG_REF_AVCC


Here is PINS.H (I don't see where I can get my D9 terminal to be used for the heated bed.) I just see the lines:

#define HEATER_0_PIN 10
#define HEATER_1_PIN 8
#define HEATER_2_PIN 9

I tried plugging in the Heated Bed Wires in D9 but it would not turn on. Hmmmm.

Code: Select all
/****************************************************************************************
* Arduino Mega pin assignment
*
****************************************************************************************/
#if MOTHERBOARD == 33
  #define MOTHERBOARD 3
  #define RAMPS_V_1_3
#elif MOTHERBOARD == 34
  #define MOTHERBOARD 3
  #define RAMPS_V_1_3
  #define AZTEEG_X3
#endif
#if MOTHERBOARD == 3
  #define KNOWN_BOARD 1

//////////////////FIX THIS//////////////
  #ifndef __AVR_ATmega1280__
    #ifndef __AVR_ATmega2560__
     #error Oops!  Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
    #endif
  #endif

// uncomment one of the following lines for RAMPS v1.3 or v1.0, comment both for v1.2 or 1.1
// #define RAMPS_V_1_3
// #define RAMPS_V_1_0

#ifdef RAMPS_V_1_3

#define X_STEP_PIN         54
#define X_DIR_PIN          55
#define X_ENABLE_PIN       38
#define X_MIN_PIN          3
#define X_MAX_PIN          2

#define Y_STEP_PIN         60
#define Y_DIR_PIN          61
#define Y_ENABLE_PIN       56
#define Y_MIN_PIN          14
#define Y_MAX_PIN          15

#define Z_STEP_PIN         46
#define Z_DIR_PIN          48
#define Z_ENABLE_PIN       62
#define Z_MIN_PIN          18
#define Z_MAX_PIN          19

#define E0_STEP_PIN         26
#define E0_DIR_PIN          28
#define E0_ENABLE_PIN       24

#define E1_STEP_PIN         36
#define E1_DIR_PIN          34
#define E1_ENABLE_PIN       30

#define SDPOWER            -1
#define SDSS               53
#define SDCARDDETECT        49

#define LED_PIN            13
#define FAN_PIN            9
#define PS_ON_PIN          12
#define KILL_PIN           -1

#define HEATER_0_PIN       10
#define HEATER_1_PIN       8
#define HEATER_2_PIN       9
#define TEMP_0_PIN         13   // ANALOG NUMBERING
#define TEMP_1_PIN         14   // ANALOG NUMBERING
#define TEMP_2_PIN         15
#define E0_PINS E0_STEP_PIN,E0_DIR_PIN,E0_ENABLE_PIN,
#define E1_PINS E1_STEP_PIN,E1_DIR_PIN,E1_ENABLE_PIN,


#else // RAMPS_V_1_1 or RAMPS_V_1_2 as default

#define X_STEP_PIN         26
#define X_DIR_PIN          28
#define X_ENABLE_PIN       24
#define X_MIN_PIN           3
#define X_MAX_PIN          -1    //2

#define Y_STEP_PIN         38
#define Y_DIR_PIN          40
#define Y_ENABLE_PIN       36
#define Y_MIN_PIN          16
#define Y_MAX_PIN          -1    //17

#define Z_STEP_PIN         44
#define Z_DIR_PIN          46
#define Z_ENABLE_PIN       42
#define Z_MIN_PIN          18
#define Z_MAX_PIN          -1    //19

#define E0_STEP_PIN         32
#define E0_DIR_PIN          34
#define E0_ENABLE_PIN       30

#define SDPOWER            48
#define SDSS               53
#define LED_PIN            13
#define PS_ON_PIN          -1
#define KILL_PIN           -1
//#define SCL                21
//#define SDA                20

#define E0_PINS E0_STEP_PIN,E0_DIR_PIN,E0_ENABLE_PIN,
#define E1_PINS


#ifdef RAMPS_V_1_0 // RAMPS_V_1_0
  #define HEATER_0_PIN     12    // RAMPS 1.0
  #define HEATER_1_PIN     -1    // RAMPS 1.0
  #define FAN_PIN          11    // RAMPS 1.0

#else // RAMPS_V_1_1 or RAMPS_V_1_2
  #define HEATER_0_PIN     10    // RAMPS 1.1
  #define HEATER_1_PIN      8    // RAMPS 1.1
  #define FAN_PIN           9    // RAMPS 1.1
#endif

#define TEMP_0_PIN          2    // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
#define TEMP_1_PIN          1    // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
#endif

// SPI for Max6675 Thermocouple

// these pins are defined in the SD library if building with SD support 
#define SCK_PIN          52
#define MISO_PIN         50
#define MOSI_PIN         51
#define MAX6675_SS       53

#ifdef AZTEEG_X3
#define SDSUPPORT true
#define SDCARDDETECTINVERTED false
#define SDCARDDETECT -1
#define FAN_PIN           4
#define FAN2_PIN          5
#define LIGHT_PIN         6
#define BEEPER_PIN        33  // Activate beeper on extension shield
#define BEEPER_TYPE        1
#endif

#endif



Right now my heated bed is hooked up to D8 on the MOSFET terminal.
Panopticon
 
Posts: 42
Joined: Tue May 07, 2013 1:40 am

Re: Heated Bed shuts off during preheat?

Postby asb79 » Thu Feb 27, 2014 11:05 am

I had a similar issue with my heatbed. Worked fine for about two months then it would stut itself down when it reached 80C.

I believe it has to do with the Polyfuse on the board overheating. I placed a fan over the fuses and it's been working fine since but I am still planning to replace it with a conventional fuse.

If you are using a Ramps board try this out. Also, check that the two Polyfuses aren't touching each other, I think this helps stop them overheating prematurely.
asb79
 
Posts: 8
Joined: Wed Apr 06, 2011 12:00 pm

Re: Heated Bed shuts off during preheat?

Postby blah_59 » Thu Feb 27, 2014 2:33 pm

Panopticon,

It looks like asb79 has had similar issues and foundthat it is heat related (narrowing down the problem). So if that's the issue in your case as well, you might be able to solve it mechanically or in software. Mechanically, you can try a fan to cool the board. Asb79 has shown success there. Software wise, it's the same issue of trying to draw less current or decrease the duty cycle to keep the board from getting hot in the first place. The trade-off is that by limiting the current or duty cycle, it will take longer to heat the bed initially.

In your firmware snippets (it looks different than mine, is that what repetier looks like?) it looks like you can change the duty cycle in Configuration.h using

#define HEATED_BED_PID_MAX 255

Same instructions as before, play with percentages of 255 to find a sweet spot where you're achieving decent performance without overheating and causing a shutdown. So I would drop it to 190-200 to start with. If it works you can bump it up a little at a time, if not lower it a little at a time. You can run your hand around the board during the heat up period to gauge the temperature (don't touch the board, just hover your hand "near" the board).

If you do want to change the wires to D9 it looks like in your firmware you don't need to change anything in pins.h, it looks like you can do it also in Configuration.h using

#define HEATED_BED_HEATER_PIN HEATER_1_PIN

In pins.h HEATER_1_PIN is mapped to D8, so to change the bed pin to 9, in Configuration.h you can change HEATER_1_PIN to read HEATER_2_PIN (because in pins.h HEATER_2_PIN is mapped to D9).

If it were me, I'd leaev the wires where they are right now and try to play with the duty cycles using HEATED_BED_PID_MAX. If that didn't give me results I could live with, then I would try moving the wires to D9. Last, I would add a fan to cool the board. Not that a fan is a bad idea, it's actually a good idea, it's just that I try not to add extra hardware unless I really need it.
blah_59
 
Posts: 158
Joined: Wed Aug 29, 2012 10:08 am

Re: Heated Bed shuts off during preheat?

Postby Panopticon » Thu Feb 27, 2014 8:04 pm

First of all thank you for the great observations. I believe I've found something of a solution.

Last night I was doing some tinkering around with the heater bed, one thing I noticed was this; if I pre-heated the bed with both extruder and the heatbed warming up the heatbed would turn off around 45-60c. On the other hand, if I just heated up the bed it would make it up to around 70-80c before cutting off. So my next immediate thought was maybe there is not enough current running to the machine. So I bumped up the voltage on my PSU to around 13.8 - 13.9 volts, it seems to be heating up without a problem now.

Also I noticed that those Polyfuse thingies were getting really hot too! And just as Asb79 had done, I too moved them away from each other, they were touching slightly, so I believe that helped mitigate some of the issue! I do have a fan rigged up on my board but it's cooling my stepper drivers. I'll probably try getting another fan and run it off D9 (I will post here if I cannot figure out how to run a fan on it) and have it cooling off the yellow Polyfuse thingies. Also, I will bump down my #define HEATED_BED_PID_MAX setting to around 190.

Soon I'll run a print on it and see how it works.
Panopticon
 
Posts: 42
Joined: Tue May 07, 2013 1:40 am

Re: Heated Bed shuts off during preheat?

Postby asb79 » Fri Feb 28, 2014 12:58 am

My cooling solution is very crude, I used a 120mm PC case fan to cover the entire Ramps board. Secured it to my printer with cable ties, so far it works well.
asb79
 
Posts: 8
Joined: Wed Apr 06, 2011 12:00 pm

Re: Heated Bed shuts off during preheat?

Postby Panopticon » Fri Feb 28, 2014 2:05 am

asb79 wrote:My cooling solution is very crude, I used a 120mm PC case fan to cover the entire Ramps board. Secured it to my printer with cable ties, so far it works well.


No shame on you here, sometimes it's not about aesthetics than just getting the job done. I too am thinking about getting a big ol' fan to put back there.
Last edited by Panopticon on Fri Feb 28, 2014 2:24 am, edited 1 time in total.
Panopticon
 
Posts: 42
Joined: Tue May 07, 2013 1:40 am

Next

Return to 3D Printer General Discussion

Who is online

Users browsing this forum: No registered users and 12 guests

cron