Axis max speed cannot exceed 6000mm/min
-
Hi
I seem to have hit some form of soft limit on my axis speed on duet 3 mb6hc , I can set m203 to 20000 and when I do a G0 move the Requested and Top Speed show as 6000mm/min, even if F10000 is specified. If I set m203 lower than 6000 it will report that requested and top speed in the interface. my Steps per mm is set at 53.33 and 1/16 microstepping which i have worked out to be 5.33khz step rate at 6000mm/min (if thats correct) which should definitely have headroom for a faster step rate.
I tried reducing the microstepping to 1/8 and as the steps per mm are defined before the microstepping according to the documentation they shouldnt need changing but the axis moves twice the distance and speed when done like this but still hits its 6000mm/min requested and top speed in the interface which is why i feel it is hitting some sort of soft limit i cant seem to find in any of the config filesCheers
Rich -
@rich1351 is the combination of move length and permitted acceleration high enough to reach 6000mm/min in the middle?
-
@dc42 yes its at full speed for pretty much the entire move of 1500mm the acceleration is set at 300mm/s/s which if i calculated it correctly it should be at full speed after 0.333 seconds and 13mm of travel
-
@rich1351 said in Axis max speed cannot exceed 6000mm/min:
its at full speed for pretty much the entire move of 1500mm
WOW! That's a huge printer.
Do you have any photos?
-
@alankilian i havent got any that are internet worthy at the minute, workshop is in a right state, its a cnc router not a printer though. 1600mm x 3600 table with 1550 x 3350 usable area. Bit of a mish mash of an ooznest workbee and custom made bits to make it work at that size. Although i would love a 1500x1500x1500 3d printer, maybe a future project.
-
@rich1351 I'm very confused by your post because in a number of places you say 6000mm/sec but in other places, including the title, you say 6000 mm/minute. Given that 6000 mm/minute is only 100 mm/sec, that's a huge difference. Can you edit your post and use consistent units please? I'm using my phone right now and am the other side of the world to my printer, but IIRC, the web interface shows the speed in mm/sec so you'd need to multiply that by 60 to get mm/minute. I guess it might be a good idea if you posted your entire config.g too.
-
@deckingman i was typing it out while testing and doing calculations in various units to try and troubleshoot it they should all be 6000mm/min ive edited it now to show that, my web interface shows as mm/min if it was doing 6000mm/s it would be jumping around the workshop.
; Configure Connection - ENABLE ONLY ONE OF THE BELOW THREE ;M552 S1 ; Enable Wifi Network ;M552 S2 ; Enable Access Point Mode M552 S1 P192.168.1.137 ; Enable Ethernet - Change IP Address to suit ; Network settings M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; Network machine name M550 P"WorkBee" ; Set machine name M569 P0 S0 ; Drive 0 goes backwards 0=backwards 1= forwards M569 P1 S1 ; Drive 1 goes forwards M569 P2 S1 ; Drive 2 goes forwards M569 P3 S0 ; Drive 3 goes backwards M569 P4 S1 M584 X1:3 Y4 Z2 ;U:3 ; Apply drive mapping to axes M584 P3 ; number of visible axes M906 X3000 Y3000 Z3000 I100 ; Set motor currents (mA) M350 X16 Y16 Z16 I1 ; Configure microstepping M203 X20000 Y20000 Z20000 ; Set maximum speeds (mm/min) M201 X300 Y300 Z150 ; Set accelerations (mm/s^2) M566 X300 Y300 Z300 ; Set maximum instantaneous speed changes (mm/min) M669 K0 X1:0:0:0 Y0:1:0:1 Z0:0:1:0 M208 X0 Y0 Z0 S1 ; Set axis minima M208 X3365 Y1555 Z94 ; Set axis maxima M92 X53.33 Y53.33 Z400 ;U53.33 ; Set steps per mm M574 X1 P"io1.in" S1 ; Set active low X endstop M574 Y1 P"io3.in" S1 ; Set active low Y endstop M574 Z1 P"io4.in" S1 ; Set active low Z endstop M558 K0 P5 C"^!io5.in" H5 F500 T500 M950 R0 C"nil+out9+nil" L12000 ; Spindle 0 uses exp.heater3 as RPM pin and has a max RPM of 12000;define Spindle 0 M563 P0 R0 ;Define Tool 0 assign to Spindle 0 ; Other Settings M453 ; Put the machine into CNC Modes G90 ; Set absolute coordinates M140 H-1 ; Disable heated bed M564 S1 H1 ; Disable jog commands when not homed M911 S21.0 R23 P"G91 G1 Z3 F1000" ; Configure power loss resume M558 K1 P8 C"io6.in" H5 F500 T500
the config is in seperate files but i have put the all in one place for ease of reading each file is each "paragraph" and in the order in which they are in the file, since doing this i have found out why i couldnt change the steps per mm and microstepping correctly and have corrected this already in the file. i have just tested it at 1/8 step and the correct steps per mm for that mode and max its still 6000mm/min regardless
-
I have been testing further and it appears i can get the full 20000mm/min set on the x axis but not on the y axis, i was mainly testing with the y axis as its a single motor axis whereas x axis is dual motor, i just happened to try moving it with a g0 move instead of the ui jog buttons
i swapped y axis to one of the x axis drives and y is persistently 6000mm/min max and x axis can reach the max 20000mm/min
if i sen m203 in the console it returnsm203 Max speeds (mm/min): X: 20000.0, Y: 20000.0, Z: 20000.0, E:, min. speed 30.00
it appears nothing is setting the limit to 6000mm/min its just being applied somewhere to the y axis
any ideas
cheers
Rich -
@rich1351 It's difficult for me because I am 10,000 miles away from home and only have my phone to hand. Anyway, I believe that the web interface has its own feedrate values so you should be testing using a G1 or G0 command with an appropriate F parameter. I note that your kinematics uses matrix values to map motors but if you are using simple Kienamtics such as Cartesian, then all you need is to use K0 without any XYZ parameters. You could try that just to see. Is there any chance that a single motor on Y isn't up to the job and that you are getting skipped steps? Send M122 after doing a rapid move and look for hiccups.
-
@rich1351 ive been using g0 commands to test as g0 should defualt to full speed which it does with x axis but y is maxing out at 6000mm/min.
As for motors all axes are fitted with identical motors so should have plenty torque to achieve what im asking of them. as proof i can swap axes assignments with m584 (make x be y and vice versa) the axis assigned to x will move at 20000mm/min (previously y and limited to 6000mm/min) and the axis assigned y will only do 6000mm/min (previously as x it would do 20000mm/min no problem)
This is why i feel its something in software limiting jus the y axis for some reason or another, ill try a different firmware version tomorrow to see if it makes any difference.
Cheers
Rich -
Can you send M122 and M98 P"config.g" and post the response here?
Can you post your homing files? Is there anything in there that makes changes to the axis?
G0 will only do a rapid move when in CNC mode. Are you sure it's changing over?
Have you tested with a G1 F?
-
@phaedrux im not with the machine today but i can send that in the morning.
Ive checked all the homing files for anything that messes with the axes and nothing, ill post those tomorrow aswell. (I wanted to get this issue ironed out before i attempted splitting the x axis to auto square it in the homing routines)
Im sure it is in cnc mode as the G0 will work fine on x axis and i suppose does work to a point on the y axis albeit at a limited rapid of 6000mm/min. A G1 move with f defined yields the same results
I can send m203 in the console and it will return all axes have 20000 mm/min max speeds so nothing seems to be changing the defined max but even if the next command sent is G0 Y1500 the requested and top speed is reported are 6000 mm/min, but the same move in X shows both as 19999 mm/min