Motors running hot, but half the power & speed
-
@deckingman The steps per mm are correct, otherwise the printer won't move the correct distance...
With 16x stepping, I will have to set the steps per mm at 160
Also note that I am using 0.9 degree steppers -
@dc42
Looking at the EMF calculator, I don't understand how I got those speeds with the SmoothieboardWhat do I have to change to get more speed?
I am thinking to connect the expansion board at 24V.
Is it possible to connect the main Duet 2 Wifi board at 12V, and the expansion board Duex5 at 24V? -
@cvmichael said in Motors running hot, but half the power & speed:
@deckingman The steps per mm are correct, otherwise the printer won't move the correct distance...
With 16x stepping, I will have to set the steps per mm at 160
Also note that I am using 0.9 degree steppersFair enough - I missed that you were using 0.9 degree motors. BTW, the machine will likely run a lot quieter if you use 16X with interpolation and 160 steps per mm.
-
This post is deleted! -
@deckingman The reason why I have 8X is because I read online somewhere that higher microstepping results in lower torque, that's why I also disabled interpolation, therefore I lowered the microstepping as much as possible, I even tried at 4X but the motors was way too loud
-
Looks like I get much better results at 24V, and 1 motor per single driver. Once I get my Duex5 (I will get it today in a few hours), I will try this out
-
@cvmichael said in Motors running hot, but half the power & speed:
@phaedrux The motors I am using are 42byghm809, and the power supply is 12V
The reason why I am running some of them at 2.2 amps is because those are 2 motors in series. I started with 1.5 amps, and it was stalling at low speeds, so I kept increasing the amperage until I got somewhat OK results
You have another problem in your system for sure. Steppers are current controlled, so putting them in series does not require to touch the current. The voltage required for that current increases, but that's controller's job.
Not your case, but I am running a small CoreXY with 80 steps/mm and 1.8 deg motors at 12V and it can easily reach 500mm/sec in XY plane. The current is set at 900mA. The motor is 17HD40005-22B, which is advertised as 1.3A motor.
As @deckingman said without more details and/or pictures, we cannot know what is wrong. Maybe the friction is too much to be handled by the motors.
24V will clearly increase your top speed.
Are you sure that Smoothie really got to 50000mm/min in the same exact setup? Because in theory TMC drivers in Duet are better than DRV8825.
-
@sigxcpu said in Motors running hot, but half the power & speed:
Steppers are current controlled, so putting them in series does not require to touch the current. The voltage required for that current increases, but that's controller's job.
I did not know that! I was trying to increase torque by increasing amperage. I will get the Duex5, and connect it to my 24V power supply, I will let you know the results
Thanks for everyone's replies by the way
-
- Did you see this bit of my earlier reply:
When you were using Smoothieboard, did you also have the motors connected in series? Or perhaps you connected them in parallel instead? That would explain why you have the currents set so high.
-
If you connect the motors in parallel, you will have to accept less torque at low speeds (because the current you set will be shared between the motors, so the maximum will be 1.2A each), but you will get more torque at high speeds.
-
It's common to run 1.7A motors at currents as low as 1A (so 2A for two in parallel), or even 0.8A.
-
If you were getting missed steps at lower currents, are you sure that you don't have the accelerations in the M203 command in config.g set too high? Did you use the same values on the Smoothieboard?
-
Did you make any other changes to the printer at the same time as changing the Smoothieboard for a Duet?
-
24V power is definitely recommended when using 0.9deg motors, because they have twice as much inductive back EMF as similar 1.8deg motors
-
The firmware assumes that the Duet and DueX boards use the same VIN power, because it uses the VIN voltage monitor on the Duet to determine when all the TMC2660 drivers need to be initialised, including the ones on the DueX.
HTH David
-
@cvmichael I am 100% positive you were never getting 50,000mm/min with Smoothieware and that hardware setup. Some firmware limit was keeping you way below that speed. Might have been a cap on step pulse frequency, or a queue depth limit (since Smoothie never exceeds a speed it can decelerate to 0 from during an E-stop), or some other setting.
0.9 degree steppers wired in series on 12v absolutely cannot run fast. Each motor is only getting effectively 6v when you do that. There is not enough voltage being applied to each coil to overcome inductance and back-emf at high speeds.
On the microstepping note, you never LOSE torque by using finer microstepping. Microstepping can only help until you go so fast you hit a firmware step pulse generation frequency limit. This is a commonly misunderstood issue. It's true that each individual microstep provides less torque with finer microstepping, but at the same time you take proportionately more microsteps, and the torque is additive, so finer microstepping ends up being the same running performance for the motor.
A quick rule of thumb:
- Full-stepping:: never do this, you will get mechanical resonance and lose lots of torque due to torque ripple
- Half-stepping: barely acceptable if you're using a very high gear ratio and you can't generate enough step pulses any other way... still somewhat prone to resonance
- Quarter-stepping: Basically the minimum you should try to use; this is where mechanical resonance instability largely drops off. Fine for geared extruders
- 1/8-stepping: Noticeably better than 1/4 stepping in every way: quieter, smoother, finer motion resolution
- 1/16-stepping: A little better than 1/8 stepping in every way. This is the point where motor angle errors are likely around the same magnitude as your microstep size, and so is a pretty reasonable stopping point
- 1/32-stepping: Quieter than 1/16th but diminishing returns kick in for smoothness and resolution. This is typically the finest microstep size where the human eye will see an improvement in print quality in a very well-tuned Delta.
- 1/64, 1/128, 1/256: Continuing reduction in audible noise, no other meaningful impact.
The one big caveat here is that if you run high speeds with a high steps/mm level, most 3D printer firmwares will start firing multiple step pulses at a time to keep up with the step pulse generation frequency requirements. This effectively coarsens your microstep size dynamically at higher speeds. For example, 8-bit Marlin on RAMPS can only fire the stepper interrupt at 10 kHz, so if you need to fire 10,002 step pulses at 1/16th microstepping per second, it will actually fire 5,001 double-pulses which effectively outputs 1/8th microsteps. Likewise if you hit 20,004 steps per second it will fire 5,001 quad-pulses.
RepRapFirmware will go up to octostepping at very high speeds, meaning if you're trying to do 1/8th steps, you could actually get full-steps. That's generally fine because inductance and back-emf at high speeds screw up the current waveform so much that microstepping doesn't really work anyway. It's all basically full-stepping once you get going fast enough, but that typically happens beyond the resonant frequencies for the motor so it doesn't matter much.
-
@rcarlyle said in Motors running hot, but half the power & speed:
RepRapFirmware will go up to octostepping at very high speeds, meaning if you're trying to do 1/8th steps, you could actually get full-steps. That's generally fine because inductance and back-emf at high speeds screw up the current waveform so much that microstepping doesn't really work anyway. It's all basically full-stepping once you get going fast enough, but that typically happens beyond the resonant frequencies for the motor so it doesn't matter much.
That's all correct, except that in the last few firmware revisions, although the firmware may still switch to calculating the step pulse interval very 2, 4 or 8 steps, it continues to send the step pulses at uniform intervals. I made this change because step-servo drives don't like double and higher stepping, it upsets their motion calculations.
-
Thank you all for the help!
I bought the Duex5, connected it to a 24V power supply, and now everything is working at normal speeds.This is my new config:
; Drives
M584 X7 Y5:6 Z8:9 E0:1:2:3:4
M569 P0 S1 ; Drive 0 goes forwards
M569 P1 S1 ; Drive 1 goes forwards
M569 P2 S1 ; Drive 2 goes forwards
M569 P3 S1 ; Drive 3 goes forwards
M569 P4 S1 ; Drive 4 goes forwards
M569 P5 S0 ; Drive 5 goes forwards
M569 P6 S0 ; Drive 6 goes forwards
M569 P7 S0 ; Drive 7 goes forwards
M569 P8 S1 ; Drive 8 goes forwards
M569 P9 S1 ; Drive 9 goes forwards
M350 X16 Y16:16 Z16:16 E16:16:16:16:16 I1 ; Configure microstepping with interpolation
M92 X160 Y160:160 Z800:800 E203:203:203:203:203 ; Set steps per mm
M566 X900 Y900:900 Z30:30 E120:120:120:120:120 ; Set maximum instantaneous speed changes (mm/min)
M203 X40000 Y40000:40000 Z3000:3000 E2400:2400:2400:2400:2400 ; Set maximum speeds (mm/min)
M201 X1000 Y1000:1000 Z100:100 E10000:10000:10000:10000:10000 ; Set accelerations (mm/s^2)
M906 X1500 Y1500:1500 Z1000:1000 E1500:1500:1500:1500:1500 I50 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeoutAt first it was not going beyond 15000 mm/min, I googled a little bit, and removed T15 from M569, and now it's going at full speed!
Now it's moving at 40000 mm/min, yeey
Question: The extruders are now all on the Duet Wifi, setup as E0:1:2:3:4 - Do I have to specify everywhere 5 times the same values? Like "M906 E1500:1500:1500:1500:1500" or does it apply to all 5 if I put it only once? "M906 E1500"
-
@cvmichael said in Motors running hot, but half the power & speed:
Question: The extruders are now all on the Duet Wifi, setup as E0:1:2:3:4 - Do I have to specify everywhere 5 times the same values? Like "M906 E1500:1500:1500:1500:1500" or does it apply to all 5 if I put it only once? "M906 E1500"
You can do either. If you provide just one value, it will be applied to all extruder drives. If all your extruders are the same then it's probably only the M92 value that you need to customise individually.
-
@dc42 oh, that’s awesome, thanks for the note