Jump to content
Ultimaker Community of 3D Printing Experts

solve the problem of reprint OBJECTS due to a power outage


Recommended Posts

Posted · solve the problem of reprint OBJECTS due to a power outage

Hello,

I don't know if you had this type of problem, but I hate to repeat to print an object only because I had a electric blackout. To solve this problem you can save in the Rom the number of line of model Gcode and decrement it in the printing phase. In order to tell to the system that the object is not printed yet, for blackout or for power cord accidental removing, I think you can implement a one bit variable, a flag, checked by the system in the startup operations. If the flag is one the system read the actual Gcode line number and continue to print from it else, if the flag is zero, the system display the main menu as usual.

 

  • Like 1
Link to post
Share on other sites
Posted · solve the problem of reprint OBJECTS due to a power outage

Except that the problem would be much more complex then that. As you would lose the whole machine state. After rebooting the machine you no longer know where the head is, what temperature you need to be, and you lost the 16 moves in the movement planner, as well as the exact position in the current movement.

And you would wear out the EEPROM pretty quickly.

 

  • Link to post
    Share on other sites
    • 1 year later...
    Posted · solve the problem of reprint OBJECTS due to a power outage

    Bump

    I am disappointed to have just found that in fact EEPROM does have a limited life.

    http://www.arduino.cc/en/Reference/EEPROMWrite

    Do you have any ideas what that maximum number of prints is before things start to fail - also the maximum number of layers?  If the EEPROM can just outlast some other weakest link then it should be less of a concern.

    It seems that all you would need to store is the file and the Z height to minimize writing too much to EEPROM while being able to resume the print satisfactorily.  The algorithm would be similar to that of OP.  One could optionally only setup resume on prints with print times over X or start recording resume details after some Z height.  By reducing to a Z level granularity, you would significantly reduce the EEPROM stress and at most be off by LAYER_HEIGHT for part of a layer.

    Completion Flag (or this could be encoded into the Z value if space is tight).

    Z Value for layer height.

    File name

    Pseudocode Upon machine on:

    shouldResume() {

       showResumeMenu();

       if (!AUTORESUME) {

           printer.Beep(10);

           while(nothingPressed) {}

           return RESUME; // RESUME is true or false based on the menu selection

       }

       return True;

    }

    resumePrint() {

         lowerTray();

         zeroPrintHead();

         heatBedAndExtruder();

         clearHead();

         fastForwardThroughGCodeUntilZ(ResumeValues.getLastZ());

         startPrinting();

    }

    if (!lastPrintCompleted()  && printer.getBedTemp() > SALVAGABLE_RESUME_BED_TEMP) {

     if (shouldResume()) {

         resumePrint();

     } else {

        clearResumeValues();

     }

    }

    User Options

    It should be something that in the menus can be optionally turned on/off (print tracking that is).

    It should be optionally to automatically resume as default.

    Where to contribute?

    https://github.com/Ultimaker/Ultimaker2Marlin - is this the main firmware repo and if not where is it?  I wouldn't mind taking a crack on a fork/branch.

  • 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
    • Our picks

      • Talking additive | The 3D printing podcast
        Why should we be the only ones asking questions? Join us and ask Jabil all your questions on September 22nd 5pm CET
          • Like
        • 3 replies
      • Ultimaker masterclass: Optimizing your Ultimaker Cura workflow
        Save your seat for either broadcast on September 23.
        What will you learn?
        · Best practices for iterative print preparation and every lesson you should learn from each print
        · The right way to use per-object settings and when they are most useful
        · Easy-to-use resources for anyone who wants to develop their own printer definitions, plugins, or print profiles
        · How to optimize print profile settings and whether to “keep” or “discard” changes
        · When is the right time to export your drawing from CAD? (Based on Ultimaker Cura’s surprising power as 3D control software)
        · And a whole lot more tips and tricks!
         
        How can I join?
        This free masterclass will take place twice:
        1. 11am CEST (5pm SGT, 5am EDT)
        2. 5pm CEST (11am EDT, 8am PDT, 11pm SGT)
          • Like
        • 0 replies
      • Do you use 3D printing at work? Let us know
        It doesn't matter if you are using 1 Ultimaker or 10, there is inspiration in everything. We're looking for ...
        • 1 reply
    ×
    ×
    • Create New...