Increase Extruder Motor Current Limit
-
I'm using Flex3D extruders in my machine. I paired them with some fairly large Wantai Nema 17s https://www.phidgets.com/productfiles/3311/3311_0/Documentation/3311_0_Datasheet.pdf because I had them laying around. They work but the downside is that they have a fairly high rotor inertia and coupled with the 40:1 drive ratio that means their speed has to change quite a bit in order to They are rated by the mfg for 2.6 amps, not that I want to go quite that high but it seems that the FW is limited to 1.6 amps?
This all stems from the fact that I would like to increase my extruder jerk from 55 and acceleration from 725 but cannot because I occasionally miss steps due to the high rotor inertia and current limit. These limitations coupled with the M572 extruder advance means that the extruders frequently limit the acceleration of my machine. I know most machines don't require nearly this much current for the extruder but is there a way around this?
My long term solution would be to use motors with smaller rotors but for now I would like to just test this out.
-
…........................... but it seems that the FW is limited to 1.6 amps?
Not sure where you got that figure from - take a look at the Wiki here https://duet3d.com/wiki/Choosing_stepper_motors. It used to be 2.0Amps for the Duet Wifi but looks like it's now 2.4.
-
A DC motor could be a better alternative.
Does anyone know a controller which could emulate a stepper motor, by using step/dir as input signals, and driving a DC motor+encoder?
-
…........................... but it seems that the FW is limited to 1.6 amps?
Not sure where you got that figure from - take a look at the Wiki here https://duet3d.com/wiki/Choosing_stepper_motors. It used to be 2.0Amps for the Duet Wifi but looks like it's now 2.4.
I'm foolish. I had M906 in a homing macro that was also changing the extruder current limit to 1600 after config.g would set it to 2400….
-
Send M906 with no parameters to check what the motor currents we set to. If it's not 2400mA then you probably have another M906 command later in config.g or in one of your homing files.
-
@fma:
A DC motor could be a better alternative.
Does anyone know a controller which could emulate a stepper motor, by using step/dir as input signals, and driving a DC motor+encoder?
Gecko drive makes a reasonably priced servo controller. I will be using them when I convert my Stratasys machine to Duet.
I was thinking that for my custom machine I might just go to a shorter stack Nema 17 since I don't want to deal with too much redesign etc. I've also thought about implementing a gear train so that the motor does not have to spin as fast at speeds.
-
…............................... I've also thought about implementing a gear train so that the motor does not have to spin as fast at speeds.
If you are already struggling with torque then such a gear train might make matters worse. If you had say 1:2 gearing then torque at the output would be approximately half of what the motor can deliver although at lower speed, the motor itself might deliver more torque - you'd need to look at the spec sheet. With gear trains, backlash can be problematic too (as well as losing some more torque through drive train losses).
-
…............................... I've also thought about implementing a gear train so that the motor does not have to spin as fast at speeds.
If you are already struggling with torque then such a gear train might make matters worse. If you had say 1:2 gearing then torque at the output would be approximately half of what the motor can deliver although at lower speed, the motor itself might deliver more torque - you'd need to look at the spec sheet. With gear trains, backlash can be problematic too (as well as losing some more torque through drive train losses).
It's not really torque that is the issue. Even at high extrusion rates (at least what I can achieve with a 0.4mm Volcano) the motors produce plenty of it . It's the transients coupled with the the 40:1 reduction that requires the motors to make very large and relatively rapid changes in angular momentum. With the current drive ratio, the motors produce more than enough torque even at speed. The high reduction is designed into the Flex3Drive to alleviate the torque on the flexible drive shaft and keep hysteresis within the flexible shaft to a minimum. Though, I would also argue that with how fast my motors do need to turn, the natural torque curve of the motor is probably diminishing quickly and if the motor ever does have to spin much faster (such as with a larger nozzle) then I might have a problem with torque to maintain a flow rate or just run into the motor's maximum speed with 24V. What I am trying to do in the long term is reduce the motor's rotor inertia or reduce the angular velocity requirements such that the changes in angular momentum will be reduced.
I'm not very concerned about backlash with extruders, that is handled fairly easily by the tool change/priming macro as well as adjusting the amount of extra (+/-) with retraction and unretraction. I'm using FW retraction which so far has been awesome.
At the end, going to a smaller motor stack is probably the most straightforward to change over though.
-
Both the flex3drive and nimble require to use low motor current, the motor can't make a fast direction change at high current as quickly. I use 500mA with nimble and a 34mm motor. A 20mm pancake motor or nema 14 would also work. Acceleration needs to be low 120 to facilitate the direction changes. Jerk at around 40. More motor current is a red herring.
-
Ah, OK. I understand now.
-
Both the flex3drive and nimble require to use low motor current, the motor can't make a fast direction change at high current as quickly. I use 500mA with nimble and a 34mm motor. A 20mm pancake motor or nema 14 would also work. Acceleration needs to be low 120 to facilitate the direction changes. Jerk at around 40. More motor current is a red herring.
Interesting. Looking back it was recommended to me to start with only about 450 or 500 ma. What I found was that I needed at least 800 ma to get my set up to reliably maintain a high flow rate without missing steps.
What is the reasoning behind lower current limits improving the motor's ability to change velocity? Reducing the amount of time it takes to bleed current off when trying to switch the direction in a winding?
I probably need to redo some testing as I've really only tweaked my initial settings up or down.
I'm currently using Jerk 45mm/min and 725mm/s^2 acceleration. Current is now set at 2.4 amps. I have not noticed or seen evidence of any lost steps since I increased the current limit from 1.6 amps.
-
What is the reasoning behind lower current limits improving the motor's ability to change velocity? Reducing the amount of time it takes to bleed current off when trying to switch the direction in a winding?
Yes that's it. At 2.4A doesn't your motor run red hot?
What sort of flow rates are you considering "high"?
-
What is the reasoning behind lower current limits improving the motor's ability to change velocity? Reducing the amount of time it takes to bleed current off when trying to switch the direction in a winding?
Yes that's it. At 2.4A doesn't your motor run red hot?
What sort of flow rates are you considering "high"?
So the main reason for reducing the current is temperature?
They are currently running 110F. They are rated for 2.6 amps.
When I had a 0.6 mm nozzle, I was aiming for 10mm/s filament feed which is about 24mm^3/s. With a 0.4mm nozzle I only expect about 9 to 11^3mm/s depending on the material being used.
-
What hot end are you using volcano? 24mm3/s is pushing its maximum melt rate which I would expect to be around 15mm3/s even with a larger nozzle than 0.4.
Temperature is okay at 40ish deg C. My motors are max rated 1.68A so for your 2.6A units I'd expect 800mA rather than 500 to be optimal.
I recently did a series of tests with genuine volcano using 0.4mm nozzle and maxed out at 9.14mm3/s before underextruding https://youtu.be/H8pe_xal2FQ but that was at a head speed of 180mm/s. That was with titan aero not flex3drive or nimble, I have both, but I wouldn't expect to be able to go that fast with remote drive.
-
What hot end are you using volcano? 24mm3/s is pushing its maximum melt rate which I would expect to be around 15mm3/s even with a larger nozzle than 0.4.
Temperature is okay at 40ish deg C. My motors are max rated 1.68A so for your 2.6A units I'd expect 800mA rather than 500 to be optimal.
I recently did a series of tests with genuine volcano using 0.4mm nozzle and maxed out at 9.14mm3/s before underextruding https://youtu.be/H8pe_xal2FQ but that was at a head speed of 180mm/s. That was with titan aero not flex3drive or nimble, I have both, but I wouldn't expect to be able to go that fast with remote drive.
For some ABS (Hatchbox Cool Grey and Coex3D Stone Grey) I've found that 7mm^3/s is the max, with an advance factor of 0.11. With Matterhacker's Regular Grey I can print 10mm^3/s with an advance factor of 0.09. I typically try to do my flow rate and advance calibration using both large and small islands to make sure I'm hitting the full speeds and such.
-
Both the flex3drive and nimble require to use low motor current, the motor can't make a fast direction change at high current as quickly. I use 500mA with nimble and a 34mm motor. A 20mm pancake motor or nema 14 would also work. Acceleration needs to be low 120 to facilitate the direction changes. Jerk at around 40. More motor current is a red herring.
In my experiments with a nimble and a pancake stepper I had to go to 600mA. 500mA and less the stepper stalled on high extrusion speeds. (~12-16mm^3 on a 0.6mm volcano nozzle).
-
What acceleration were you using? A stall is less likely with lower acceleration, (or higher current) but this apparently makes reversing direction slower.
-
-
Definitely the smaller one. You hardly need any torque at all, the gearing is 40:1, I suspect a nema 14 would handle it. You need the ability to turn fast (low inductance) and reverse direction quickly (low inertia).
24v better, but it'll work on 12v.
I wouldn't see much use for that larger motor in 3d printing except maybe for driving a really heavy bed moving in Z, where torque is everything and speed nothing, ability to reverse only needs to be quite modest.
-
Thanks. BTW, it is a NEMA 14
The large motor could be used as a direct drive extruder, as it has same torque as common Nema 17. It is longer, but has a smaller section.