Welcome! Log In Create A New Profile

Advanced

How I tuned my retraction with flex3drive in case it helps anyone else.

Posted by DjDemonD 
How I tuned my retraction with flex3drive in case it helps anyone else.
April 24, 2016 04:04AM
So I'd been having a lot of problems with bad retraction using flex3drive on my corexy. No problems with extrusion it was printing really well, but stringing was bad.

Having been through the flex3drive thread [forums.reprap.org] the recommended speed for retraction was just 10mm/s. This seemed crazily low but I tried it and still got no improvement.

When I watched the motor it didn't seem to be retracting at all. Despite the fact that on other printers I've used really high speeds such as 100 mm/s and got good retraction. I appreciate the extruder motor can't really move that fast but using this high setting seems to generate the fastest retraction possible.

So a bit of testing. I used pronterface to command extrusion of 1.8mm at a speed of 600 mm/min (10 mm/s), these are the recommended settings for this extruder. Nothing happened - motor stalled. So I reduced this speed value down by 100 mm/min and tried it again,and again. I tried both extrude and reverse each time. By doing this I could see what my motor with the mechanical load it has, can achieve. It was managing 300 mm/min reliably. I tried this setting which is just 5 mm/s in slic3r. But printing with this setting is slow, there's a noticeable time delay with each retract and the print quality seems to suffer with the long waits at each retraction.

So I went back and adjusted the motor current up, vref on A4988 driver was 1.0v. Now I could get 500 mm/min (8 mm/s) but with a very noisy motor (i am using 1/4 stepping to keep the extruder steps/mm given the 40:1 gearing to a sensible level - 760 on my setup). Not happy with this I switched to 1/8 stepping, 1520 steps/mm. Much quieter and was able to easily get to 600 mm/min (10 mm/s) for a short extrude/retract. Why I seemed to be able to get better performance on 1/8th stepping compared to 1/4 is something I am sure someone will elaborate on.

I am using this retraction test object [www.thingiverse.com]. Knowing I can reliably retract at 10mm/s, I reduced the amount down to 1mm retraction. And got a perfect retraction test object.

I appreciate this might be standard procedure or obvious to many reading this, or maybe not, but I hope this helps anyone trying to get this to work and not really understanding why it isn't working. Previously I had just set a high retraction speed and adjusted the amount of retraction to tune it and this worked on every extruder/motor combination I've tried so far, but here testing the motors capabilities and trying different micro stepping settings and motor currents was well worth the effort.

I should say I'm using ramps 1.4, marlin 1.1.0 rc3 and a 40mm 1.8 deg stepper.

Edited 1 time(s). Last edit at 04/24/2016 10:34AM by DjDemonD.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: How I tuned my retraction with flex3drive in case it helps anyone else.
April 24, 2016 11:25AM
Quote
DjDemonD
So I'd been having a lot of problems with bad retraction using flex3drive on my corexy. No problems with extrusion it was printing really well, but stringing was bad.

Having been through the flex3drive thread [forums.reprap.org] the recommended speed for retraction was just 10mm/s. This seemed crazily low but I tried it and still got no improvement.

When I watched the motor it didn't seem to be retracting at all. Despite the fact that on other printers I've used really high speeds such as 100 mm/s and got good retraction. I appreciate the extruder motor can't really move that fast but using this high setting seems to generate the fastest retraction possible.

So a bit of testing. I used pronterface to command extrusion of 1.8mm at a speed of 600 mm/min (10 mm/s), these are the recommended settings for this extruder. Nothing happened - motor stalled. So I reduced this speed value down by 100 mm/min and tried it again,and again. I tried both extrude and reverse each time. By doing this I could see what my motor with the mechanical load it has, can achieve. It was managing 300 mm/min reliably. I tried this setting which is just 5 mm/s in slic3r. But printing with this setting is slow, there's a noticeable time delay with each retract and the print quality seems to suffer with the long waits at each retraction.

So I went back and adjusted the motor current up, vref on A4988 driver was 1.0v. Now I could get 500 mm/min (8 mm/s) but with a very noisy motor (i am using 1/4 stepping to keep the extruder steps/mm given the 40:1 gearing to a sensible level - 760 on my setup). Not happy with this I switched to 1/8 stepping, 1520 steps/mm. Much quieter and was able to easily get to 600 mm/min (10 mm/s) for a short extrude/retract. Why I seemed to be able to get better performance on 1/8th stepping compared to 1/4 is something I am sure someone will elaborate on.

I am using this retraction test object [www.thingiverse.com]. Knowing I can reliably retract at 10mm/s, I reduced the amount down to 1mm retraction. And got a perfect retraction test object.

I appreciate this might be standard procedure or obvious to many reading this, or maybe not, but I hope this helps anyone trying to get this to work and not really understanding why it isn't working. Previously I had just set a high retraction speed and adjusted the amount of retraction to tune it and this worked on every extruder/motor combination I've tried so far, but here testing the motors capabilities and trying different micro stepping settings and motor currents was well worth the effort.

I should say I'm using ramps 1.4, marlin 1.1.0 rc3 and a 40mm 1.8 deg stepper.

Hello DjDemonD

Glad to hear the Flex3Drive is working well, now lets get this retract nailed! Apologies for not updating Flex3Drive tuning info, it is going up onto the new website, and these things always seem to take longer than one hopes.

OK so with retraction there has been some (mild understatement) work done to optimise further as I knew there was significant headroom to tune upwards, but I have determined for all intent and purpose issues with stepper driver circuitry and decay modes send one around the houses. I have however resolved these issues and I can let you know what I have done, and elaborate on some of my thoughts regarding this.

Crucially I am getting extremely fast 50mms (near instant) controlled silent retracts, and aside from settings, key to this is a low vref setting (0.2v - 0.3v on my 4988 drivers although others may find slightly different as supply voltage plays a factor, ie 12v compared to 13v compred to 15v etc).

I too am using 40mm motors and the low vref setting at first seems completely conter intuitive, but when considered in more depth it makes a lot of sense. In part this has to do with decay timings of excess current within the stepper circuit at a scale of nano seconds. that would otherwise cause stalling at high speeds.

Bear in mind we have extremely low loads on the Flex3Drive motor due to the high gearing, which provides for very smooth extrusion through by avoiding "stepper bounce" and also scales down any artifacting from the issues related to skipped or missed steps as is known to happen due to decay mode settings on 4988 and 8825 drviers.

So the settings and tuning steps below will be a guideline, from which to tune upwards since every machine configuration and user is different.

Set E axis jerk to 0.1mm (this will not be tuned and stays fixed at this value)
Set E axis accel to 50mms accel (M201 E50) << tune upwards later
Set E axis Retract Accel to 50mms (M204 T50) << tune upwards later - note in later Marlin the T suffix has been changed so use the correct suffix - E axis Retract and Accel values should be kept the same

In your slicer set a retract speed of 10mms and do a retract test. Then continue retract tests increasing this speed and accels until you hit your optimal value that doesnt stall the retract. I now use 50mms with accel at 500mms and retracts are pretty much instant and inaudible.

Find your optimal retract speed, then increase the accelerations, if you find it stalling again, either turn down vref a tad more, or turn down retract speed to then make upward changes to accel values. It is a case of "dialling in" Or consider it your optimal celing and just tune back down slightly. Your motor should be running cold, not even warm!

I should mention ESteps for the Flex3Drive are best set at 1900 on x8 microstepping with all slicer influences set to 1 or 100% (ie extrusion widths/flow etc).

One of my machines is at 3800 esteps x16 stepping and there are no adverse effects at prints speeds of 150mms with 3000mms axis accels - again this has a vref of 0.3v with a retract distance of 1.2mm. This perhaps goes against some of the numbers relating to clock speeds and pulse frequencies however it is working, and other axis are not slowing down (ie no software control limits being hit)

Another thing that should be mentioned is when reducing E axis accel from 10000 to something like 50, you will not notice any print slow down, unless you reduce E axis accel to around 15 or 10mms. Perhaps this indicates that when retracting with such high E axis acceleration values (ie 5k-10k), extruders tend to strip filament, akin to trying to move a rock with hammer, instead of tying a rope around it and pulling. IE much less impact force which will otherwise shear the filament being gripped by the hobbed wheel.

I will also post a link to a video of this retraction performance.

Hope the above helps - I may ask admin to move this to the Flex3Drive thread aswell.

Edited 2 time(s). Last edit at 04/24/2016 11:32AM by Mutley3D.
Re: How I tuned my retraction with flex3drive in case it helps anyone else.
April 24, 2016 06:57PM
This sounds like a very logical way to optimise the retraction.

However my first issue when I follow the protocol above (set vref to 0.3v, e jerk to 0.1, e-accel to 50) is that when I try a 2mm extrude or reverse at 600mm/min from pronterface the motor does not turn at all. I am testing it this way this to get a much faster read on whether the motor will turn at a given setting, instead of using a test print.

If I turn the vref back up to 1.0v I can get 10mm/s (600mm/min) to work but no higher it sounds rough at 11mm/s and stalls at 12. I can increase the e-acceleration to 250 but no higher.

When I printed out a test object it was good. A few very tiny fine strands in places but I'm not using a particularly powerful part cooling fan.

I'd ask admin to have a Mutley3D forum on here.

Edited 1 time(s). Last edit at 04/25/2016 05:18AM by DjDemonD.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: How I tuned my retraction with flex3drive in case it helps anyone else.
April 25, 2016 05:28AM
The other thing I was thinking when trying to explain this to my girlfriend (it helps her get to sleep) my different experience of your tuning procedure above is probably motor related. Why not supply a motor with the flex3drive kit? Most kit extruders come with a motor. One that has the optimum properties for this application, I am sure you've tried a few out and know the best one for this system. They are not expensive and it would enable you to cut down on, what must be a lot of support issues related to retraction and therefore motors. Then you could say "using the supplied motor, set vref to x and follow this process".

What motors do you use? I might try a few different ones and see if it makes much difference.

Bottom line - I am happy - I had zero retraction before and have good retraction now, slightly improved by following your guide here, i.e. altering the acceleration.

One other thread here DC42 mentioned that he got better performance out of smaller extruder motors as presumably there is less inertia when reversing direction.

Edited 1 time(s). Last edit at 04/25/2016 02:24PM by DjDemonD.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: How I tuned my retraction with flex3drive in case it helps anyone else.
November 27, 2016 04:15AM
So I have my F3D drive installed with a E3D V6 hotend and other than a few problems with installing (thanks Mutley3d for the great support) I am very happy. Printing a calibration cube works well. I am having a problem with under-extrusion. The size of the cube is very close to correct, 20.03 X 19.89 but there is noticeable lack of plastic on the top and bottom of the print, you can see through the layers. If I try to turn up the steps_pr_mm_e= my motor squeals loudly and is stalled. Any ideas?
My settings are;

[Steppers]
direction_e = -1
steps_pr_mm_e = 120
current_z = 1.0
current_e = 1.1

Thanks in advance.

The Flex3Drive is a great unit and I can increase my printer speed with ease. When I get the extrusion problem worked out it will be great.

Bob
Re: How I tuned my retraction with flex3drive in case it helps anyone else.
November 27, 2016 04:21AM
What microstepping are you using? 120 steps/mm for a 40:1 reduction drive seems very low.
I'm using 1/8 and run around 1650 steps/mm it should be around 1800 but I put a double fold of paper between the cam of the idler arm and the body of the f3d (for slightly tighter grip).

Given the gearing I'm surprised that the motor stalls, how fast are you asking it to turn in mm/sec (or mm/min)?

Edited 2 time(s). Last edit at 11/27/2016 11:30AM by DjDemonD.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: How I tuned my retraction with flex3drive in case it helps anyone else.
November 27, 2016 06:56AM
Well I am using a Replicape board and right now I i'm using 1/16th stepping. I haven't figured out how to do 1/8th stepping yet. And 120 steps/mm is quite low. That is te problem. I think the problem is in my Redeem configuration.
Re: How I tuned my retraction with flex3drive in case it helps anyone else.
November 27, 2016 11:29AM
I can't see how 120 steps/mm would work at all at 1/16th microstepping. Seems like Mutley3D has picked this up, see what he suggests.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: How I tuned my retraction with flex3drive in case it helps anyone else.
November 27, 2016 12:37PM
It's worth noting that on Redeem, that steps_per_mm setting is *without* microstepping. Redeem will internally do the multiplication to get the real steps per mm based on your microstepping settings. This is because the Replicape is wired such that the microstepping on the Trinamic drivers can be changed at runtime and per-motor, so there's a separate configuration option in Redeem to set it to whatever you want and even an M-code to change it without restarting.

Edited 1 time(s). Last edit at 11/27/2016 12:44PM by wiley.
Re: How I tuned my retraction with flex3drive in case it helps anyone else.
November 27, 2016 02:36PM
@Wiley thanks for that info - this would mean a standard esteps of 1900 @ x8 stepping would in effect become 237.5 @ full stepping.


Flex3Drive.com
Re: How I tuned my retraction with flex3drive in case it helps anyone else.
April 16, 2017 10:41AM
When you say full stepping, what do you mean?
Re: How I tuned my retraction with flex3drive in case it helps anyone else.
April 16, 2017 11:57AM
Full stepping, ie the value without microstepping.

237.5 x 8 == 1900 which is the required value when using x8 microstepping


Flex3Drive.com
Sorry, only registered users may post in this forum.

Click here to login