Duet WiFi firmware new feature priorities
-
Not a very useful feature for most people, however I would love to see support for the Z-endstop being a safety for the Z-Probe homing. I've crashed the nozzle into the bed sooo many times while messing around with Z-Probes of different natures all while that mechanical Z endstop switch is triggered but doing nothing. I know, not many people would care. I guess I could wire that in to kill the machine if it's triggered somehow. So I guess my request would be for support for mechanical Z endstop while using a Z-probe for homing.
Jeff
-
@(In)Sanity:
Not a very useful feature for most people, however I would love to see support for the Z-endstop being a safety for the Z-Probe homing. I've crashed the nozzle into the bed sooo many times while messing around with Z-Probes of different natures all while that mechanical Z endstop switch is triggered but doing nothing. I know, not many people would care. I guess I could wire that in to kill the machine if it's triggered somehow. So I guess my request would be for support for mechanical Z endstop while using a Z-probe for homing.
Jeff
You can do that already (I have). Just wire the mechanical switch to a spare end stop (say E1) then use M581 - something like this M581 E1 S1 T0 C0.
-
I'm going to expand on my request to say, if any endstop is triggered stop trying to move in that direction. It's crazy you can get the printer in a state where it hits the endstops but just keeps on grinding away. It seams like some kind of Sanity check would be useful.
Thanks,
Jeff
-
@(In)Sanity:
Not a very useful feature for most people, however I would love to see support for the Z-endstop being a safety for the Z-Probe homing. I've crashed the nozzle into the bed sooo many times while messing around with Z-Probes of different natures all while that mechanical Z endstop switch is triggered but doing nothing. I know, not many people would care. I guess I could wire that in to kill the machine if it's triggered somehow. So I guess my request would be for support for mechanical Z endstop while using a Z-probe for homing.
Jeff
You can do that already (I have). Just wire the mechanical switch to a spare end stop (say E1) then use M581 - something like this M581 E1 S1 T0 C0.
Ok, I just moved my Z-Endstop over to E1 and did as you suggested just changing S1 to S0 due to makerbot style endstops. Works like a charm, if I dig the nozzle in even a little bit past normal calibration it just shuts down….love it!! So now I guess I need double trigger endstops to do this on the X and Y also. Easier in software.
Thanks,
Jeff
-
There's nothing to stop you having the shutdown trigger if the X and Y endstops are activated too. Just change the command to:
M581 X1 Y1 E1 S1 T0 C0
but you will have to disable this during homing, obviously!
-
There's nothing to stop you having the shutdown trigger if the X and Y endstops are activated too. Just change the command to:
M581 X1 Y1 E1 S1 T0 C0
but you will have to disable this during homing, obviously!
That is a fantastic idea. Thank you!
Jeff
-
Something else I did was to install switches on all the axes maxima, wired together in series and connected to yet another spare E stop. Then if I do something stupid like send an axis beyond it's maximum position before I've homed it, then it'll trigger an emergency stop before the frame gets mangled. I also have a physical emergency stop button wired the same way to yet another spare. It isn't a true emergency stop in that it doesn't cut all power - if I want to do that, I just press the button on the RCD I use to kill everything.
-
Something else I did was to install switches on all the axes maxima, wired together in series and connected to yet another spare E stop. Then if I do something stupid like send an axis beyond it's maximum position before I've homed it, then it'll trigger an emergency stop before the frame gets mangled. I also have a physical emergency stop button wired the same way to yet another spare. It isn't a true emergency stop in that it doesn't cut all power - if I want to do that, I just press the button on the RCD I use to kill everything.
That's a good idea. It would be kind of neat if the firmware had the option to Not travel in a direction opposite of the end stops if you've not already homed. That way it would prevent some stupidity on the users end (myself). I've implemented the X Y and Z endstops triggering trigger2.g which I then just put an M112 in the file. Why did I go with the file…IDK...seamed like a good idea. It shuts off during homing moves except for homing the Z axis which is for really bad situations.
Thinking about it the option to prevent Non Homing moves if not homed would be good. Pretty much if your not seeking a home during a move and your not already homed prevent the move. Just a thought.
Jeff
-
@(In)Sanity:
It would be kind of neat if the firmware had the option to Not travel in a direction opposite of the end stops if you've not already homed.
This is incredibly common in industrial motion controllers. I also think this is a fabulous idea.
-
@(In)Sanity:
It would be kind of neat if the firmware had the option to Not travel in a direction opposite of the end stops if you've not already homed.
This is incredibly common in industrial motion controllers. I also think this is a fabulous idea.
I can think of a couple of scenarios where that might not be such a good idea. For a example, if you finish a print and turn the machine off, then when you next turn on the machine, you need to move the Z axis out of the way in order to remove the print that's still stuck to the bed. If it's screw driven, it could be a pain to move it by hand and if your only option is to move Z towards home you'd be a bit stuck. It'd also be a pain during commissioning, when you are trying to sort out motor wiring and rotation directions.
-
@(In)Sanity:
It would be kind of neat if the firmware had the option to Not travel in a direction opposite of the end stops if you've not already homed.
This is incredibly common in industrial motion controllers. I also think this is a fabulous idea.
I can think of a couple of scenarios where that might not be such a good idea. For a example, if you finish a print and turn the machine off, then when you next turn on the machine, you need to move the Z axis out of the way in order to remove the print that's still stuck to the bed. If it's screw driven, it could be a pain to move it by hand and if your only option is to move Z towards home you'd be a bit stuck. It'd also be a pain during commissioning, when you are trying to sort out motor wiring and rotation directions.
It could be a flag that's normally checked so you just uncheck it to confirm that you know what you are doing if it's needed. Or it could pop a confirm box when you try to move a axis away from home so you had to click OK to allow the movement. I have done this mistake with my printer a couple of times and even if I know it will happen I do forget it sometimes.. A notification saying "don't do anything stupid" would help
-
Personally I just have g-code at the end of my prints that clears the bed so I don't have to worry about dealing with moving anything around. I've never had to go back in and move anything to get a print off the bed.
Edit: A check box on the web interface or panel that says "Override Safeties" might do the trick for failed print removal.
Also I think restrictive safeties should be a flag so we can turn them off if we feel like it. I've had to re-tension belts too many times now because of my own stupidity, so personally I would love to see the machine try to protect itself 99% of the time. I have to say the old Mightboard I was running before did a better job at not grinding motors and belts. Yep that was a bit of a dig..sorry.
Jeff
-
I can think of other little items that would make sense, such as the printer is just turned on, both the X and Y end stop switches are currently triggered, why would the printer not have a clue where X and Y currently are ? Another one is…hey you told me to move and I hit an end stop so I'm going to stop now because I know where I am. This is certainly not a new concept. That's not to say a homing process wouldn't still be best for more accuracy, the printer however should have a clue. Sailfish won't for example try to move Past it's end stops no matter how much you tell it to do so. Now if you have the end stops reconfigured that's on you, not the software.
So items I would love to see:
- Don't move in a direction opposite of the end stops if that axis has an unknown position.
- If an end stop is hit stop what your doing and record where you are.
Thanks,
Jeff
-
@(In)Sanity:
I can think of other little items that would make sense, such as the printer is just turned on, both the X and Y end stop switches are currently triggered, why would the printer not have a clue where X and Y currently are ?
An industrial motion system is different than our machines but I'd never program a system to automatically detect the switches on startup. Here's a few reasons why.
1. Accuracy of position (as already mentioned)
2. Homing is a very specific code path. By bypassing this, code that is harder to debug and maintain must be created.
3. Defective limit switches would be problematic.
4. At best it gains a few seconds of time on occasion.I see little harm in having the system require home before movement in all cases where that option is enabled. Obviously, it needs to be an option that can be disabled for maintenance/oddball mechanical configuration reasons.
-
RRF already doesn't allow movement before homing on delta printers, except for homing moves (G1 S1) and individual motor moves (G1 S2). I could extend this to Cartesian and CoreXY printers, if most users would prefer that.
-
RRF already doesn't allow movement before homing on delta printers, except for homing moves (G1 S1) and individual motor moves (G1 S2). I could extend this to Cartesian and CoreXY printers, if most users would prefer that.
Yes please
Thanks,
Jeff
-
An industrial motion system is different than our machines but I'd never program a system to automatically detect the switches on startup. Here's a few reasons why.
1. Accuracy of position (as already mentioned)
2. Homing is a very specific code path. By bypassing this, code that is harder to debug and maintain must be created.
3. Defective limit switches would be problematic.
4. At best it gains a few seconds of time on occasion.I see little harm in having the system require home before movement in all cases where that option is enabled. Obviously, it needs to be an option that can be disabled for maintenance/oddball mechanical configuration reasons.
Ok, so I can certainly live without that functionality. I'm still kind of thinking the option to just stop moving if the motor hits a limit switch wouldn't be all that bad. Perhaps allowing a new command to fire off via triggerxx.g when the endstop is hit to say kill the current to the stepper motors. I already tried doing this however it doesn't actually reduce the current until After the move is completed. So a M112 like command to actually stop the move would be nice.
Thanks,
Jeff
-
@(In)Sanity:
RRF already doesn't allow movement before homing on delta printers, except for homing moves (G1 S1) and individual motor moves (G1 S2). I could extend this to Cartesian and CoreXY printers, if most users would prefer that.
Yes please
Thanks,
Jeff
Sorry but no thank you.
-
Given my understanding of the upcoming firmware revision for multi-motor Z axis machines, the power up cycle would initiate Z homing for all motors in order to sync the Z motors to a common starting step position. I assume Z home would be at the top stop location. I'm new to this so please indulge my ignorance. Thanks…
-
Given my understanding of the upcoming firmware revision for multi-motor Z axis machines, the power up cycle would initiate Z homing for all motors in order to sync the Z motors to a common starting step position. I assume Z home would be at the top stop location. I'm new to this so please indulge my ignorance. Thanks…
Auto homing on power up wouldn't be a good idea IMO - thinking trapped fingers and so forth. Also when you start commissioning and want to check that motors are running on the right direction etc. Or if something goes horribly wrong with a print and you have to abort and turn off the machine to fix it. Then you find you have a horrible mess of what was molten plastic around the hot end but it's solidified. You want to heat the hot end to clean up the mess but can't because as soon as you turn the printer on it's going to auto home and crash into the bed.
Axis homing can be either min or max as long as the printer knows where to move to at the start of a print, you can configure it either way. It is normal to home Z such that the bed is closest to the nozzle though.