Jump to content
Ultimaker Community of 3D Printing Experts
Sign in to follow this  
jonnybischof

Marlin heatbed control sucks?

Recommended Posts

Hi community

I've just had this problem for the second time:

I start up my UM1, go to control settings and set 130°C for the heated bed. This takes 10-15 minutes which is why I don't just start the print, no need to heat the filament that long without actually extruding.

But then after about 110°C the temperature starts to drop again instead of rising. From that point, the darn thing just doesn't work anymore. The controller does tickle the MosFET sometimes, but by far not enough to actually heat up the bed.

I have printed 2 parts without issues at 130°C stable bed temperature, but now that it doesn't work "anymore", even shutting the machine down and restarting it doesn't help. I guess I have to cool it all the way down and retry. This takes about 2 darn hours for God's sake...

Anyone knows that issue?

I am working on a custom heatbed controller but it will take at least a month until I'm finished with it so I need Marlin to work for the time being...

I'm using a robotfuzz custom firmware, didn't change anything except selecting the UM1 with heatbed and correct thermistor.

/edit:

Some more info: I'm using an IRFB3004PbF MosFET instead of a relay (this is a very rugged and high efficiency part, not the cheap stuff). My Multimeter tells me the UM electronics put 19V (o.O why not go to 48V so no one can use it at all...) on the control signal. The FET has a maximum VGS rating of 20V. Not much air, but it's definetly not a MosFET issue because it works fine some times (up to 110°C no problem...)

Anyways, as long as the actual temperature is below the target temperature, the heater should be switched on 100% and not just some 10% PWM or whatever it is Marlin is trying to do here...

 

Share this post


Link to post
Share on other sites

I don't do anything myself, that's what Marlin does. The Multimeter (don't have time to take out the Scope right now) shows anything from 0V to 19V, looks like it switches the output on and off in about 1 or 0.5 Hz frequency.

My own controller will definetly not use PWM for the heat-up sequence, that would be utterly stupid to do...

When it comes to holding the target temperature, there will be some form of PWM, but very low frequency in the single Hertz or even below 1Hz range.

 

Share this post


Link to post
Share on other sites

Have you made sure that you're using bang-bang mode for the heated bed, and not PID? Check the configuration.h settings for the heated bed, and configure Marlin to use bang-bang controls for the bed, rather than a PID-based approach - and/or tune the PID settings for your bed configuration.

What material is it that you're going to be printing? 130 seems like a very high bed temp, even for ABS.

 

Share this post


Link to post
Share on other sites

I built my firmware with the robotfuzz Marlinbuilder. My configuration.h says:

 


//#define PIDTEMPBED

and

 


#define MAX_BED_POWER 255

So I guess PID is deactivated and duty cycle is 100%?

That's definetly not what it's doing...

My high bed temperature comes from the large temperature drop that I have between the thermistor and the bed surface (10mm thick Basalt stone in between). The drop is about 20K in the center of the bed and goes up to 35K in the corners. That's not pretty but it worked, if only for a short time...

/edit: That's for ABS (Orbi-Tech Premium ABS, black).

I haven't tuned it much because it doesn't work at the moment...

/edit:

If I'm using the standard firmware that comes with Cura, is there a possibility to trigger the heatbed output with a GCode command? I'm building a custom HBP controller, but I need some kind of feedback from the printer to tell me when it's done printing...

If that doesn't work, I'll just abuse some other signal but it would be a little more elegant to have a dedicated "flag" output.

 

Share this post


Link to post
Share on other sites

This is a strange problem. I'll throw out some possibilities:

1) Some materials have lower resistance at higher temps and some have higher resistance. If your HB has lower resistance, then maybe when it gets hot enough it is using too much power from your power supply. When the bed starts failing - check your voltage at the power supply. Or maybe the power supply simply heats up and gets overloaded. So again, check the output power at the power supply. I think this is the most likely problem - the power supply. It could even be turning on and off 5 times per second.

2) Bad solder joint - when it gets hot, it expands and causes an open. This could be on the UM PCB, or anywhere in between. I know you "checked the voltage" and said it oscillates a few times per second but where did you check? Maybe there is a bad cable? Check *at* the mosfet and if it's fine there but bad at the board do a search to find the intermittent open.

3) PWM mode - I know you said you PIDTEMPBED is commented out in configuration.h but what you describe sounds amazingly close to PWM mode. I would double check configuration.h to see if it is *not* comment out somewhere else. And then rebuild using ginge builder and re-upload. It sounds very suspicious to me. Maybe you accidentally uploaded default firmware with Cura recently?

 

Share this post


Link to post
Share on other sites

@Mischiminator

I didn't find any max-temp setting on the Ulticontroller, except for the extruder. Config.h says 150°C.

Fact is, it has worked before, so it shouldn't be a configuration problem?

@gr5

1.)

I'm using a Silicone heater, 12V, resistance somewhere around 1 Ohm (it says it draws up to 10 Amps). I'm using a dedicated PSU with 12V, 16.5A max. rating (200W).

But I'll still check it asap, so far I've only measured the MosFET gate level.

2.)

I'll check everything, but there shouldn't be any issues as it's all pretty massive stuff (I used 2mm2 wiring, and the only solder joints are on the UM electronics).

3.)

As long as Cura doesn't do automatic firmware upgrades in the background, then I definetly didn't upload a different firmware. Automatic upgrades would be pretty stupid regarding that there are many custom-firmware-users, so I guess that's not the case.

But it sure does sound like Marlin tries something with PWM and a baaaadly configured PID regulator.

Thanks for your help so far! I hope I can do the checks tonight and I'll probably redo the wiring and the MosFET. I don't like the fact that the MosFET gate signal is at 19V, maybe (even though 19V is less than the absolute maximum allowed voltage) the MosFET did get damaged after all. I'll put a Z-diode on the gate (I hope I have one laying around) to make sure that doesn't happen.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

Terms of Use Privacy Policy