Hello Guest it is May 23, 2019, 01:23:40 AM

Author Topic: RepRap printer and G92 pauses  (Read 3887 times)

0 Members and 1 Guest are viewing this topic.

RepRap printer and G92 pauses
« on: July 21, 2011, 11:32:36 PM »
Hey all,
  I built a reprap earlier this year and trying to get decent prints using the opensource hardware was becoming a real head ache.  After a couple of months dealing with random G-code bugs, ie premature move finish causing the rest of the print to be out of index, I decided to give my copy of Mach3 a try.  I put it off thinking it was going to be a pain to cross over.  I could not have been more wrong.  The hardware interface was a breeze and the configuration was a no brainer.  Should have done this a long long time ago.

The only issue I am running into, albeit small but annoying, is that when it goes to offset the extruder DRO back to 0 (G92 A0) there is about a .5 to 1 second pause.  Just before the extruder makes a move with no extrusion it retracts the filament a few mm to prevent oozing.  Once it is in position to start a printing move it executes G92 A0 and then primes the A axis the same distance as the initial retraction.  The problem is the hot extruder deforms the area underneath it a little bit and sometimes it will begin to ooze a little bit due to the delay as well.

I removed all the M codes from the program so it isn't those. Watching the g code window, it always pauses on the G92. Why is there such a delay and what can I do to mitigate it?  I mean, it is coordinating three vectors worth of movement at a time with out issue, the zeroing of an axis should take no time at all. 

Here's a video clip of it happening.  ideally the printer head should never stop or pause while printing.
http://www.ustream.tv/recorded/16161532

The Mach3 host machine is a Dell Dimension, Celeron 2.66 Ghz with 512Mb RAM using the on board lpt port.

Thanks for the help!

Offline BR549

*
  •  6,865 6,865
    • View Profile
Re: RepRap printer and G92 pauses
« Reply #1 on: July 22, 2011, 01:32:04 PM »
Can you post a piece of the Gcode that shows the problem ??

(;-) TP
Re: RepRap printer and G92 pauses
« Reply #2 on: July 22, 2011, 01:46:00 PM »
Sure! dont know why I didn't earlier.


G1 X68.41 Y97.57 A3.35583
G1 F1200.0
G1 A1.85583   retract A
G1 F2700.0  dunno why skeinforge put this here
G1 X79.77 Y88.97 Z0.18 F3600.0 move the head w/o extruding
G1 F1200.0
G1 A3.35583  prime the extruder
G1 F3600.0
G92 A0  rezero A, delays for half second or so.
G1 X79.81 Y89.31 Z0.18 F2700.0 A0.00882

Offline BR549

*
  •  6,865 6,865
    • View Profile
Re: RepRap printer and G92 pauses
« Reply #3 on: July 22, 2011, 05:54:47 PM »
How large is the file that you run ? If it is huge you may want to try turning off the toolpath display while it runs. That will free up tons of CPU power and speed.

And you do have to remember that Mach3 is NOT a dedicated motion control controller it is a CNC machine controller (;-) When a G92 is issued on a CNC machine the tool is NOT cutting so a short delay to ensure the process happens  is not a biggie. (;-)

Here it flashes by with little to no delay BUT the machine is not loaded down CPU wise with a ton of code.

Just  a thought(;-) TP
Re: RepRap printer and G92 pauses
« Reply #4 on: July 22, 2011, 06:04:15 PM »
That makes a lot of sense.

And please, don't take this as me bagging on Mach3.  I am really really really happy with it.  This is the one thing that is preventing it from being a perfect solution for me :)

Thank you for your thoughts and I will definitely try your suggestion tonight.  I think the files are fairly big, but I dont have much experience with other cnc devices to gauge it from.   It takes several minutes for the file to load while it is generating tool paths if that is any indication.  I will report back with my findings.

Thanks again
Re: RepRap printer and G92 pauses
« Reply #5 on: July 22, 2011, 09:15:10 PM »
Well, that did not help the issue at all.  But I did find a work around.

I am very green to Mach3 and I am afraid I've been a bit tainted to reprap's 'G code'  as it was my first real exposure.

It does not seem that you can set a single axis to work using incremental distances, which skeinforge supports on the extruder axis.  After executing G91 A it wanted to treat all axis as incremental.

So digging into skeinforges dimension.py I found where it zero'ed the extruder axis.

Code: [Select]
elif firstWord == 'M101':
self.addLinearMoveExtrusionDistanceLine( self.restartDistance )
if not self.repository.relativeExtrusionDistance.value:
self.distanceFeedRate.addLine('G92 E0')
self.totalExtrusionDistance = 0.0
self.isExtruderActive = True

and changed it to this

Code: [Select]
elif firstWord == 'M101':
self.addLinearMoveExtrusionDistanceLine( self.restartDistance )
#if not self.repository.relativeExtrusionDistance.value:
# self.distanceFeedRate.addLine('G92 E0')
# self.totalExtrusionDistance = 0.0
self.isExtruderActive = True

Now the extruder axis never resets but keeps accumulating through the print.  Couple of test prints later and the results made me a happy boy.

So thats the work around for now in case some one else needs it.