thermal runaway protection

Does repetier support killing power via ps_on in the event of a thermal runaway?
For example mosfet failure.

Comments

  • We do not use ps_on for this since not enough have that option, but we disable all heaters when we detect thermal runaway. You need to have it enabled and configured in configuration.h, but default is to have it on. You will see a thermistor decoupled message if that happens, e.g. thermistor does not get hot while heating which is our criteria for thermal runaway.
  • I know thisis an old(er) thread, but how do you make sure thermal runaway protection is enabled and configured in configuration.h?  I have watchdog enabled, are there other settings?  Any documentation you can point me to.  thanks
  • Watchdog is an independent thing that is used to detect firmware hangs causing firmware to reset.

    If your board also works with usb power only just enable a heater and protection should trigger after timeout because main power is not there to heat. Timeout is also what disables the feature (value 0).
  •  I think the decoupling settings and min/max defect temperature are checking for a thermal problem. Along with Kill_if_sensor_defect being enabled.
  • o meu extrusor não passa de 115 graus, o que fazer?

  • Hi, i'm looking for information about kill power (via ps_on) when temperature goes too high (I think it's thermal runaway, sorry i'm not english). A friend had a bad mofset and bed is always on. 
    I dare not even imagine if it was the hotend. Anyway to shutdown atx power or activate a relay on heaters cables? Sorry if it's already implement but I can't find this information.
    Thanks
  • No it is not installed but would in deed be a good addition. Only thing is I can not test it due to not having a ps on controlled power. I think it would be ok to put it into the GCode::fatalError function which gets called on all serious errors where print should stopp any way. Function then looks like this:

    void GCode::fatalError(FSTRINGPARAM(message)) {
        fatalErrorMsg = message;
        Printer::stopPrint();
        if (Printer::currentPosition[Z_AXIS] < Printer::zMin + Printer::zLength - 15)
            PrintLine::moveRelativeDistanceInSteps(
                0, 0, 10 * Printer::axisStepsPerMM[Z_AXIS], 0,
                Printer::homingFeedrate[Z_AXIS], true, true);
        EVENT_FATAL_ERROR_OCCURED
        Commands::waitUntilEndOfAllMoves();
        Printer::kill(false);
    #if defined(PS_ON_PIN) && PS_ON_PIN > -1
        WRITE(PS_ON_PIN, (POWER_INVERTING ? LOW : HIGH));
        Printer::setPowerOn(false);
        reportFatalError();
    }

    would be great if you could verify this. E.g. if you unplug heater cable and run a test it should trigger and disable power then. Have already added it for next update of dev version, but knowing it works is always better.
  • Thanks a lot, I would try this in next weeks, I'm not at home for the moment.
    I will do some tests (I will put power on bed and pass through board to heat it and see if my atx shutdown, to emulate the same problem as my friend encounter) I'll report them on this topic.
Sign In or Register to comment.