I think the extruder needs to be an "axis" in that it is something that
performs coordinated moves along with X, Y, and Z, but I also think
there is room for it to be a "non-traditional" axis.  By which I mean
the gcode value (which represents the amount of plastic to squirt)
doesn't need to directly go to drive a motor.  There is definitely some
room for modeling the very non-linear aspects of the extrusion process
and using that model to improve the resulting print quality and perhaps
even simplify the gcode.

When you get this written, let me know and I'll be happy to test it out!
 :)  I _think_ you can do a reasonable job of modeling with an accurate
temperature and pressure reading from the melt zone.  The temp is pretty
easy to get, but pressure is another issue...

In the mean-time, I'm working on getting my new printer made, and I'll
be happy to just get a working servo loop around the extruder motor and
the Bowden tube (current plan is to use a laser-mouse optical sensor for
feedback on how much plastic got pushed into the hot-end).

Question answers inline...

On 8/16/2013 8:56 PM, David Bagby wrote:
> 
> I suspect there is not a simple function - there must be more factors at 
> play here.
> So many questions come to mind...
> 1) Are the noodles always round or do any extruders do asymmetric or 
> more complex cross section shapes?

They are almost never round.  Almost always they are squished ovals.

> 2) Is noodle volume rate always a constant? Is it constant per time or 
> per unit of line integral along the XYZ path or something else?
> Is the slicer figuring this out to some reasonable approximation and 
> taking this out of the equation by the time gcode is generated?
> If so, does one configure slicer software to be aware of physical 
> characteristics of different extruder heads?

Not constant.  Different speeds and flow rates are used for different
parts of the model being printed (external perimeters, internal
perimeters, infill, bridges, etc).  This is handled by the slicer (CAM)
program.

> 3) Do some machines mix thin and thick noodles? Can they vary the volume 
> (thickness) dynamically? What about varying (non-round) cross sections?

Yes to all.  One example is printing 0.2mm thick perimeter layers for
good looking parts, and 0.4mm thick infill every other layer for speed.

> 4) I'd bet that start and stop of noodles vs XYZ motion is a function of 
> the extruder head design and material in use - and probably does not 
> look like the trapezoidal acceleration graphs used for XYZ.

The gcode generated expects a coordinated move between all axis,
including the extruder.  The acceleration profile is not specified in
the gcode.

> 5) I've heard that when stopping motion, the noodle has to be sucked 
> back up a bit to stop dribbling (kids with spaghetti come to mind).
> What commands that? Does the slicer figure this stuff out and emit some 
> "it's impolite to dribble children" gcode after the 3D movement ends?
> Would this better better handled in a hal model that knows the 
> characteristics of the extruder head rather than having that knowledge 
> in the slicer?
>
> If forced to use gcode, I could see that happening following the stop of 
> XYZ motion, but I don't see how one would initiate that "suck back" as 
> XYZ motion comes to a stop. Maybe "noodle suck" is a function of 
> deceleration and material elasticity as function of temperature) ?

This is called retraction, and it is simply commanded by gcode that
moves the extruder axis "backwards".  It might be possible to handle
this in HAL, but it's not straight-forward.  If you simply retract after
every move, you're wasting machine time.  On the other hand, if you're
sitting for more than a brief amount of time, retracting won't
completely stop the ooze (it's called ooze, not dribble, in the 3D
printer circles) and you'll need to prime the extruder again.

Note that retraction is often combined with a move backwards along the
recent X Y path in a process typically known as a 'wipe'.  This also
helps produce clean prints free of ooze and blobs.

-- 
Charles Steinkuehler
char...@steinkuehler.net

Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to