Strategy for Loading/Reloading on a Clay Printer
I am working with a clay printer I've designed and I presently have to manually retract a plunger which pushes clay through a cylinder in order to reload. I have been able to implement a simple limit switch to pause the printer when the plunger "bottoms out" at the end of the tube. However, I'd love to also be able to send one command that would back the plunger all the way out for reloading.
Having looked around on the forums it seems like I could create a new Axis "U" and when U is homed the plunger would back up until it hit an endstop. However, I wouldn't want this U axis to be homed whenever I hit "home all" because I can go several prints with one load of clay and don't need to always reload with each print.
Does this seem like the best way to accomplish this? or would another method be better? I've attached an image of my printer design.
U would not be homed when you click home all if you do not add the U axis to the homeall.g system file. You can create a U axis and then a homeu.g system file to do what you want.
A similar question is in this thread:
Cool looking printer btw!
If this plunger is controlled threw a stepper, then I assume that you set the tube's internal diameter as the fillament diameter in the slicer, and configured the duet steps/mm accordingly.
Therefore (when you hit the empty endstop) you know your position, so, you can send a relative (negative) extrusion of the tube length to return it to the initial position.
Yes another way: use motor stall detection instead of a limit switch. Recent firmware versions implement stall-detection endstops for extruder drives. Use S1 as usual in the G1 Exxx command.
You may also be able to use stall detection with reduced motor current to re-pressurise the nozzle after loading clay.
@dc42 Many thanks for your insights. On my Z axis and extruder I am using very powerful Nema 23 motors with a 5:1 gearbox and a 15:1 gearbox respectively. The Z has to lift several pounds of clay and metal, the extruder has to push very stiff clay through a tiny nozzle. It would take a huge amount of resistance to cause this motor to stall. Is stall detection an option for this type of setup? (As you can see, I don't understand the principles of stall detection very well)
@tom_lauerman are you powering your motors from the Duet directly or using external drivers? ig internally then you can turn down the power to the point that they stall when the end of the tube is reached ( but not before). If external then this would only work if you had an external driver with a stall indication connection that could be used in the same way as an endstop.
@t3p3tony Thanks for the quick reply. I am powering the motors directly from the Duet - at full power or close to it. However, the load they are under varies a lot based on the type of clay being printed, some are easier to push than others - so I'd want to take advantage of as much of the available power as possible. Despite the power of the extruder motor, I can stall it if i put very stiff material into the tube. It sounds like I might be better off with an approach other than stall detection. However, its a fascinating idea and maybe I'll implement it on the X and Y axis which use "traditional" NEMA 17 motors.
@tom_lauerman Hi Tom. For X and Y if you already have endstops then that is easier than stall detection. For the clay I think the use of the temporary U axis to home as described in the linked thread is probably the way to go.
You can reduce the motor current during homing and clay loading, so that the motors stall at a lower torque.
@dc42 Ah, I see. Well, that changes everything. Many thanks again.