Multi thermistor bed

  • I have a middle sensor on a silicone pad and a sensor on the edge of the bed a lot like this post:

    So the idea is I set one of the sensors as a virtual heater. The part I am unclear on is what I do with the virtual heater once its created.

    For the sake of argument lets say the center heats to 60 in 1 min and the edge heats to 60 in 5 min.
    What I would like is to heat the bed based on the edge value to ensure the bed is fully at temp but I don't want the center to get hotter then say 5 degrees or so past 60 to prevent a massive overshoot and protect the thermal fuse

    In summery, If I heat using the edge sensor, but make a virtual heater in the center, how do I set the virtual heater to be a cop to prevent overtemp? Is this possible?

    I am using:
    Board: Duet 3 MB6HC (MB6HC)
    DSF Version:
    Firmware: RepRapFirmware for Duet 3 MB6HC v0.6 or 1.0 3.0 (2020-01-03b3)

  • Moderator

    @Miasmictruth said in Multi thermistor bed:

    the edge heats to 60 in 5 min.

    Why not just add a G4 S300 (which is 5 minutes) dwell command to your heatup to allow the temp to soak to the edges.
    This may not be the most technical answer, but it does work.

  • @Phaedrux That is definitely a work around, if I don't want to use the edge sensor. Just wanted to have something a little more complete if possible. Especially if I am running back to back prints and don't a 5 min delay every time I go to print. Yes of course I could turn the delay on and off... until I forget then its a pain.

    But for the time being I do something similar to what your suggesting.

  • I run two thermistors on my bed. One is the original sensor built into the heating pad and it is intermittent, the other is one just taped to the underside.I display both on the temperature graph but use the second (new) one to actually control the heating.
    When I turn the bed on, the original one goes about 40C higher than the control thermistor but after a few minutes they both converge to the temperature of the control thermistor. From this I gather that the control thermistor, being taped to the surface of the heat bed, is much more accurate then the thermistor that is buried in the silicone heat pad.
    At a future time, there is the possibility of adding a third sensor on the edge like you are proposing. The intention at that time is to use conditional logic in RRF3.0.1 to set actions based on the temperatures of the two sensors taped to the surface.
    I am not sure if this is actually needed yet but this was more an option if I found issues.
    If I were in your shoes, I would use the edge thermistor to do the controlling. This would make sure that temperature comes up faster (because the edge is cooler). Once the edge is up to temperature, the whole build plate should start to equalize.
    I would use the center sensor as an 'information only' sensor like I am currently doing to give you an idea what the center of the bed is doing.
    Once that is set up, you can play around with conditional logic based on the difference in temperature between the two sensors.
    I am not at that stage yet so I can't offer direct help with that.

  • @jens55 The only thing I am afraid of is say I want to run abs at 110, I have magnets that will die at 150 so I have thermal cutoff fuses to prevent that. I am unsure how hot the center could get before the edge warms up. I know 30-40c quite a ways off but I just wanted some sort of protection from getting too hot in the center.

    There is substantial lag at the edge, when it goes to 60 I think at one point I think have around 15-20C of separation. I haven't spent the time to really gauge it yet so I am not 100% sure what the max separation is.

  • Setting up to display both sensors on the temperature graph is the perfect way for you to get a sense of what is going on. I would obviously monitor this closely and in person in the beginning.
    Once you have satisfied yourself that there is no overheating in the center and you only need to watch out for aberrations (in other words I would not use exclusive RRF3 logic to watch for this), I would then use logic. Something as simple as - if absolute(thermistor a - thermistor b) > 30C then turn off heater, else continue using thermistor b as control thermistor...
    This is obviously off the top of my head and I have no idea if this method works but in theory, if the two thermistors differ by more than the safe value, the heater would shut down until the two temperatures get back in sync. In effect it would slow the heating down to give the edge time to soak up some heat.
    It would also give some interesting redundancy and security against a failing thermistor as failure of one thermistor would shut down heating.

  • Moderator

    There was another thread recently that had a more elegant monitored solution but I can't seem to find it right now. It was in the last month or two.

  • @jens55 That type of thing sounds great, but where and how do you run a loop of code like that?

  • Moderator

    There was this one, but still not the one I was thinking of:

  • @Miasmictruth said in Multi thermistor bed:

    @jens55 That type of thing sounds great, but where and how do you run a loop of code like that?

    As I said, I haven't implemented this myself but I would think that the daemon.g file would be a suitable place to put the code. Depending on what else is going on, the code would execute 3 or 4 times a second (I think)

    .... and yes, the link that Phaedrux gave is an example of another interesting method to avoid over heating in the center of the heat bed.

  • As an alternative, how about using a second, "virtual" bed?

    If you have a spare heater output, define a second heated bed that uses the real second sensor, but leave nothing connected to the heater output. Use the original sensor with the real heated bed and set both to heat, but use M116 to wait until both beds are at your target temperature. That way, the bed shouldn't go over temperature in any area, but it will require both sensors to be at your target temperature before the print begins. Personally, I see this as the simplest solution to your problem.

  • @ChrisP That does get me closer to what I am going for, I will try it out later, thanks.

  • Reduce the PWM of the heater. This way the heater will heat up slower along the heat to soak into the build platform at a more constant over all temperature. I believe that you can set the PWM on the heater tuning.