Help whit stalling stepper motors
-
Hello
I am looking for some help with my home made 3-D printer. It is a Cartesian type printer with a build volume of 500x500x480mm.
It is driven by a Duet 2 Ethernet board. My x and y-axels are driven by ball screws with 4 and 5mm pitch.
The problem I have is that the motors to these axels stall when I try to print above 28mm/s. I think it is due to the back EMF reaching a to high level, but I am completely new to the world of electronic, so I am not sure.
The specs for the motors are as follows:
Specifications: Step Angle 0.9 Rated Voltage V 2.5 Current/Phase A 2.8 Resistance/Phase Ω 0.9 Inductance/Phase MH 2.5 Holding Torque Nm 1.26
What I am looking for is a motor that can handle 2000-3000 rpm without losing their position, and is easy to set up whit a Duet board. I don´t mind upgrading to the Duet 3 boards if that makes the wiring easier. Does anybody have some recommendation of motors and how to connect them?
I have been looking at the clear path motors, but I am not sure if they work with the duet or if they are hard to set up. -
You'll need to oversize your motors by a factor of probably 2X to 10X to get much torque at 3,000 RPM.
HERES'S a link to some information showing these motors have a torque of about 10% to 40% of peak torque at 3,000 RPM.
If you can post a link to a datasheet for your motors that would help also.
The Internet has quite a bit of information about torque vs. speed for stepper motors.
-
What voltage are you running the system on?
If it's 12V, changing to 24V should give a big improvement to start with.You also need to use reasonable acceleration settings, as steppers cannot follow sudden rapid changes in speed, the speed change needs to ramp up or down so the motor is not overloaded by the load inertia.
ps. Post you existing config.g file, that is always useful for diagnosing problems.
-
@alankilian Here is a link to the motors I am using
-
@rjenkinsgb
My system is running on 24V
Here is my config :
; Drives
M569 P0 S1 ; physical drive 0 goes forwards
M569 P1 S1 ; physical drive 1 goes forwards
M569 P2 S0 ; physical drive 2 goes backwards
M569 P3 S1 ; physical drive 3 goes forwards
M584 X0 Y1 Z2 E3 ; set drive mapping
M350 E16 I0 ; configure microstepping without interpolation
M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
M92 X1600.00 Y1280.00 Z1280.00 E1040.00 ; set steps per mm
M566 X600.00 Y600.00 Z240.00 E1200.00 ; set maximum instantaneous speed changes (mm/min)
M203 X1800.00 Y1800.00 Z360.00 E6000.00 ; set maximum speeds (mm/min)
M201 X30.00 Y30.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
M906 X1000 Y1000 Z1000 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X514 Y520 Z494 S0 ; set axis maxima; Endstops
M574 X1 S1 P"!xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin !xstop
M574 Y1 S1 P"!ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin !ystop
M574 Z1 S2 ; configure Z-probe endstop for low end on Z; Z-Probe
M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch
M558 P9 C"^zprobe.in" H6 F180 T1800 ; set Z probe type to bltouch and the dive height + speeds
G31 P500 X27.5 Y0 Z4.15 ; set Z probe trigger value, offset and trigger height
M557 X30:514 Y20:520 S60 ; define mesh grid; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4725 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S100 ; set temperature limit for heater 0 to 100C
M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S260 ; set temperature limit for heater 1 to 260C; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on; Tools
M563 P0 D0 H1 F0 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C; Custom settings are not defined
; Miscellaneous
T0 ; select first tool -
I'd suggest setting the motor currents up to 2A to start with; both the motors and board are rated to 2.8A maximum, so that should be a safe value and give you rather better performance.
Also take the M566 instantaneous speed change line down to 300 or less for all the axes; the extruder is OK as it is or possibly higher.
Then, increase the acceleration a lot!
I use accelerations of 2500 on X & Y on my CoreXY style machine, which is moving 32mm per rev, if I remember right.You should be able to get very good performance with the boards and motors, with the parameters appropriately tuned.
-
Unfortunately that data sheet doesn't show torque vs. speed derating.
I would try @rjenkinsgb suggestions and see if that gets you where you need to be.