Segments/s on Duet3 mini with polar kinematics
-
Hi All,
I'm just chasing some niggling setup issues after my rebuild. I'm on It RRF 3.2.2.I've been getting some glitches where the extruder stutters and the printer looses bed rotation steps whilst printing at a radius just over 50mm from the centre of the bed.
Printing further out is fine, and I've set the maximum bed rotation speed based on prior print results. Print speed is throttled as expected as you get closer to the bed center. This issue is different as I appear to be loosing extrusion and bed motion with stutters, rather than just lost bed position.
I'm just looking to understand a rule of thumb for segments per second on a duet 3 mini running polar. If there is such a thing.
I assume limiting segments per second and setting a minimum segment length is about keeping the motion processing within the boards capacity?
Any insights / constructive thoughts would be much appreciated.
All the best
Barry M -
@cncmodeller, if the printer is losing bed rotation steps at small radii, that suggests that you have set the acceleration or XY jerk higher than your turntable motor can manage. Increasing motor current, reducing turntable moment of inertia, or using a more powerful motor may help. Also check that you do not have microstepping set too high for that motor.
Please share your config.g file. What speeds are you trying to command movement at, that provokes the stuttering?
-
@dc42 said in Segments/s on Duet3 mini with polar kinematics:
@cncmodeller, if the printer is losing bed rotation steps at small radii, that suggests that you have set the acceleration or XY jerk higher than your turntable motor can manage. Increasing motor current, reducing turntable moment of inertia, or using a more powerful motor may help. Also check that you do not have microstepping set too high for that motor.
Please share your config.g file. What speeds are you trying to command movement at, that provokes the stuttering?
Thanks for getting back to me @dc42, please see the following information. To be clear I have no real idea what are good settings for acceleration or jerk. The motor current for the bed is maxed out at 1.49A, I'm running a nema 23 motor like this (Amazon) albeit I didn't get it from amazon. I will soon be swapping to a closed loop driver (UStepperS) on this axis at 48v, and will be interested in your closed loop motor driver addon when you're ready to sell them.
Config file: config.g
Test Print below, note that the ringing is partly due to bed stiffness which I'm working on and partly due to the flexibility of the print its self. Using a vibration app on my phone I have two significant modes, one at 9hz (the print) and one at 140hz. I have set DAA to hit the lower frequency which might have helped a little, but I'm not that sure.
The first area of twist was used to establish the maximum bed rotation speed (30deg/s)
The second band of twist and stuttering at the top of the print started at about 960mm in z. I cant upload the gcode file as its too big, this is an excerpt, note that the maximum bed rotation limit is definitely throttling back the print speed.:-
Layer change:-
; layer 2403, Z = 961.200 M591 D0 G1 Z960.800 F1200 G1 X53.764 Y-1.415 Z960.800 E0.0009 F3470
Movements:
G1 X-53.691 Y2.355 Z960.999 E0.0735 G1 X-53.722 Y1.415 Z961.000 E0.1125 G1 X-53.723 Y-1.383 Z961.002 E0.3350 G1 X-53.663 Y-2.875 Z961.003 E0.1788 G1 X-53.468 Y-5.431 Z961.005 E0.3069 G1 X-53.270 Y-7.050 Z961.006 E0.1954 G1 X-52.354 Y-6.948 Z961.007 E0.1103 G1 X-51.168 Y-6.798 Z961.007 E0.1432 G1 X-50.723 Y-6.738 Z961.008 E0.0538 G1 X-50.125 Y-6.649 Z961.008 E0.0724 G1 X-49.593 Y-6.567 Z961.008 E0.0644 G1 X-48.307 Y-6.339 Z961.009 E0.1564 G1 X-48.193 Y-7.076 Z961.010 E0.0893 G1 X-49.186 Y-7.237 Z961.011 E0.1204 G1 X-50.019 Y-7.361 Z961.011 E0.1009 G1 X-50.477 Y-7.431 Z961.011 E0.0555 G1 X-50.622 Y-7.451 Z961.012 E0.0175 G1 X-50.782 Y-7.474 Z961.012 E0.0194 G1 X-51.075 Y-7.512 Z961.012 E0.0354 G1 X-51.858 Y-7.617 Z961.012 E0.0946 G1 X-52.269 Y-7.663 Z961.013 E0.0496 G1 X-53.171 Y-7.777 Z961.013 E0.1089 G1 X-52.977 Y-9.044 Z961.014 E0.1535 G1 X-52.748 Y-10.282 Z961.015 E0.1507 G1 X-52.444 Y-11.653 Z961.016 E0.1682 G1 X-51.913 Y-13.909 Z961.018 E0.2775 G1 X-50.786 Y-17.575 Z961.020 E0.4592
Any thoughts would be much appreciated!
Many Thanks
Barry M -
@cncmodeller the rated current of that motor is 4.0A according to the Amazon listing, so 1.49A is very low. If you have good fan cooling of the Duet then you can try increasing the motor current, up to the maximum supported 2.0A. But in truth the Duet 3 Mini is a bit under-powered for driving Nema 23 motors.
-
@dc42 said in Segments/s on Duet3 mini with polar kinematics:
@cncmodeller the rated current of that motor is 4.0A according to the Amazon listing, so 1.49A is very low. If you have good fan cooling of the Duet then you can try increasing the motor current, up to the maximum supported 2.0A. But in truth the Duet 3 Mini it a bit under-powered for driving Nema 23 motors.
@dc42 thanks for pointing that out, to be honest this was a stepping stone to introducing the UStepperS to go closed loop on the bed, albeit the UStepperS only has a rated current of 2.5A, but then my Ethernet is 2.4A anyway. I'll probably just go that way rather than using my D2 Ethernet board as that earmarked for my Wanhao D4S conversion so I can add a couple of extra extruders for ditto printing small part production runs.
Will the rumoured new Duet closed loop motor control expansion board support higher currents? I think last time I heard anything you mentioned you needed to change out the processor.
As an aside, do my acceleration ad jerk settings look reasonable, I have no idea what good ballpark figures would look like.
Many thanks for your help.
Barry M
-
M566 X450.00 Y450.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z360.00 E2400.00 ; set maximum speeds (mm/min) M201 X250.00 Y250.00 Z20.00 E500.00 ; set accelerations (mm/s^2) M906 X800 Y1499 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
They seem conservative to me, but I don't have any experience with Polar printers. Nothing stopping you from going even lower.
Maybe this macro set will help make it easier to experiment.
-
@phaedrux said in Segments/s on Duet3 mini with polar kinematics:
M566 X450.00 Y450.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z360.00 E2400.00 ; set maximum speeds (mm/min) M201 X250.00 Y250.00 Z20.00 E500.00 ; set accelerations (mm/s^2) M906 X800 Y1499 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
They seem conservative to me, but I don't have any experience with Polar printers. Nothing stopping you from going even lower.
Maybe this macro set will help make it easier to experiment.
Thanks for the links to the macros @Phaedrux , I'll have a look when I get a decent chunk of free time at the weekend.
-
@cncmodeller said in Segments/s on Duet3 mini with polar kinematics:
Will the rumoured new Duet closed loop motor control expansion board support higher currents? I think last time I heard anything you mentioned you needed to change out the processor.
Yes, it should support up to 6.3A peak when moving, 4.5A in standstill (same as Duet 3 MB6HC).
-
@dc42 said in Segments/s on Duet3 mini with polar kinematics:
Yes, it should support up to 6.3A peak when moving, 4.5A in standstill (same as Duet 3 MB6HC).
@dc42 that's great, sounds like I'm definitely heading in that direction when they become available
Is there any information available about the general specifications of the closed loop add-on board? I assume it'll communicate over CAN interface and include relevant axis specific IO like end stops?
Many thanks again.
Barry M -
@cncmodeller the new design has CAN interface, 2 medium current outputs switchable together between VIN and an independent power input, two I/O ports, one thermistor input, one quadrature encoder input, and one SPI connector for other types of encoder. So you will be able to use the IO ports to connect endstops. Maximum nominal input voltage will be 48V. The independent power input is to allow for using 24V or 12V brakes, fans etc. when VIN is 48V.
-
@dc42 Thanks for the information. Sounds like a really useful piece of kit. I'll keep an ear to the ground for further development progress.
-
@dc42 said in Segments/s on Duet3 mini with polar kinematics:
@cncmodeller the new design has CAN interface, 2 medium current outputs switchable together between VIN and an independent power input, two I/O ports, one thermistor input, one quadrature encoder input, and one SPI connector for other types of encoder. So you will be able to use the IO ports to connect endstops. Maximum nominal input voltage will be 48V. The independent power input is to allow for using 24V or 12V brakes, fans etc. when VIN is 48V.
@dc42 Just thinking ahead, which SPI encoders are you planning to support?
I might get a couple in to help with designing encoder mounts etc.
Many thanks
Barry M -
@cncmodeller said in Segments/s on Duet3 mini with polar kinematics:
@dc42 Thanks for the information. Sounds like a really useful piece of kit. I'll keep an ear to the ground for further development progress.
What would a closed loop bed-motor do for you?
It might be able to cope from skipped steps and a clever motion planner would be able to tell other motors to wait, but you'd see oozing filament in the meantime.
It would be OK for a CNC router, but a FDM printhead will have issues. -
@o_lampe said in Segments/s on Duet3 mini with polar kinematics:
@cncmodeller said in Segments/s on Duet3 mini with polar kinematics:
@dc42 Thanks for the information. Sounds like a really useful piece of kit. I'll keep an ear to the ground for further development progress.
What would a closed loop bed-motor do for you?
It might be able to cope from skipped steps and a clever motion planner would be able to tell other motors to wait, but you'd see oozing filament in the meantime.
It would be OK for a CNC router, but a FDM printhead will have issues.Hi I @o_lampe,
Even when fully tuned and running at Max capacity I'm expecting my prints to take days possibly over a week to complete. Minor glitches in the print I can cope with but major layer shifts when I'm using up well over 2kg of filament is just too much of a planning and financial risk. The plan is to sell prints so failures will effect my income. I'm prototyping in PLA but the final prints will be carbon fibre reinforced filament = £££...The bed is fairly heavy due to the required mechanical rigidity to print tall, so are the prints, and I want to print at the limit and closed loop is a safety net. To be honest it's as much as about piece of mind as anything else too.
I also have a CNC lathe, mill, & laser cutter that I'm going to convert to modern electronics over the next few years and should that be Duet this project is serving as a de-risking activity for that too.
In terms of dropped steps behaviour I'm sure if the planning could react then it could also do a retract to help with oozing. I'm guessing there will be a onlayershift.g file to customise behaviour if that were the case.
Anyway that's a download of where my head is at.
Cheers
Barry M -
@cncmodeller said in Segments/s on Duet3 mini with polar kinematics:
@dc42 Just thinking ahead, which SPI encoders are you planning to support?
We have prototype encoders already using a magnetic encoder chip, designed to fit on the back of a motor.
-
@dc42 cool. Sounds great
-
@CNCModeller
Just remembered the "minimum print speed" setting in Prusaslicer. If you'd have set that too high in your slicer, you see skipped steps long before it's unavoidable. -
@o_lampe I'm using S3D, I will however double check that all of the settings are consistent with the config.g settings.
-
@cncmodeller
My gutt feeling tells me, that a polar bed printer can't print close to the center of rotation. Because the bed motor would approach 'infinite' speed requests?
Am I right? -
@o_lampe yeah there is a singularity at the bed centre. However the kinematics have a maximum bed rotation speed setting that reduces print speed accordingly. All of my prints are open ended "tubes" by design so I only really need to get small enough that my other printers can do the "end caps".