On 8/16/2013 11:28 AM, Charles Steinkuehler wrote:
> It sounds like this would work pretty well as a start, but unless I'm 
> missing something it would still allow rapid moves on the extruder 
> axis when the extruder wasn't at temperature. Ideally all extruder 
> movement should be gated by the extruder-at-temperature signal.
Excuse me while I play heretic... Perhaps it may be worth considering a 
change of mental model here...?

Postulate: the 3d printer world's use of "E:" as an axis for extrruders 
is a bad hack that should be consigned to one of Daunte's circles.

Maybe one can twist LCNC into using an axis to do what you want an 
extruder to do.... but I suspect it would be cleaner to think of an 
extruder as an extruder object - and then think about what an extruder 
inherently needs to do...
Off the top of my head (not owning an extruder) I'd think that it needs 
to start extruding, extrude material at a specified rate and stop 
extruding.
It may also have some init conditions (like it has to get to temp before 
you let it start extruding)..

Uh, maybe it is just me, but it seems that none of the obvious extruder 
functions have anything to do with axis movement.
I find myself thinking that this conversation is twisted by the 
assumption that an extruder as an axis - I don't think it is.

To me, one of the basic functions of a CNC machine is to control 
movement and positioning of a "controlled point".  We commonly think of 
that point as being the tip of a tool. We move axes around to get the 
controlled point where we want it. We move the axes in coordinated 
motion to get feed rates etc.

People buy an extruder, then they realize from looking inside the 
"extruder black box", that the extrusion action is controlled by a motor...
Hey, we think... motors can controlled by this software - all I have to 
do it hook up the extruder to the CNC software.
The CNC software likes to think of motors as moving axes (I'm ignoring 
joint / axis differences).
... so suddenly the extruder magically becomes an "axis".... and one is 
left thinking that's needed to hook up the extruder motor... TILT.

But an extruder is NOT an axis motor...
It's function has nothing to do with positioning of the machine's 
controlled point. Making that (bad) association (between extruder and 
axis) leads one to start talking about "extruder rapids".

I can't help but think that talk of "rapid" and "feed" moves for an 
extruder is just a symptom for a bad system model.
Does an extruder have a motor? yes.
Does and extruder have an axis motor? no.

Perhaps by separating the concepts, one will not need to talk or think 
about how to control "extruder rapid movements".

The topic at hand is: How can one use LCNC to control a stepper motor; 
when the motor is NOT an axis motor?
Sounds like a Hal level question to me - an extruder needs a pulse 
generator that you can control (that gets the motor movement), some IO 
(to turn the heater on/off and to get temp feedback).
I'm thinking there must be ways to do that which don't require the 
involvement of the layers above hal that plan axis movements etc. (and 
hence use higher level concepts like an "axis").

If after you have this hooked up, you need to have an interface from the 
gcode level, think Mcodes and not Gcodes.

Dave



------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to