Motors running hot, but half the power & speed



  • I switched from Smoothieboard to Duet 2 Wifi, but now I am having half the speed I used to have and motors are running HOT!
    I have 4 motors on Z axis, 2 motors on Y axis, 1 on X, and 1 for extruder.
    This is my config:
    ; Drives
    M584 X0 Y3 Z2:4 E1
    M569 P0 S0 T15 ; Drive 0 goes forwards
    M569 P1 S1 T15 ; Drive 1 goes forwards
    M569 P2 S1 T15 ; Drive 2 goes forwards
    M569 P3 S1 T15 ; Drive 3 goes forwards
    M569 P4 S1 T15 ; Drive 4 goes forwards
    M350 X8 Y8 Z8:8 E16 I0 ; Configure microstepping, no interpolation
    M92 X80.00 Y80.00 Z400:400 E203.00 ; Set steps per mm
    M566 X800 Y800 Z12:12 E120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X12000 Y12000 Z1200:1200 E2400 ; Set maximum speeds (mm/min)
    M201 X2000 Y2000 Z50:50 E10000 ; Set accelerations (mm/s^2)
    M906 X1800 Y2200 Z1800:1800 E1600 I50 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    All the motors I use are 1.7 Amps, and 0.9 degree per step
    For Y axis both motors are in series on drive 3
    For Z axis 2 motors in series on drive 4, and the other 2 motors in series on drive 2
    I tried so many things, I removed interpolation, lowered microstepping, bumped up the mA
    Even with those settings I am loosing steps sometimes, and at high speeds motors stall

    With Smoothieboard, I had maximum speed of 50000 mm/min, and 3000 acceleration for X & Y axis, and for Z axis I had max speed of 3000 and acceleration of 200

    Before (with Smoothieboard) the motors were getting warm, now the motors are hot! can't hold my fingers on them, yet they don't have the strength to move at high speeds

    What is going on ?

    PS. I will purchase the Duex5 expansion board soon (1 or 2 days) from a local supplier, and I will change setup to have each motor for it's own motor driver. But I am afraid it will have the same problem; i.e. motors getting really hot, and have half the strength



  • Well you have 1.7a motors and you're running them at 1.8 and even 2.2a. No wonder they are hot.

    How do they run if you set current to be about 70-85% of the rated max of 1.7? So 1200 to 1400.

    What voltage is your power supply?

    What is the model of the motor? Do you have a spec sheet for them?



  • @cvmichael Increase your maximum instantaneous speed changes for X,Y and E. Also reduce your stepper current.



  • And are the steps per mm for X and Y correct?. 80 seems about right for 16x micro stepping but you have set micro stepping to 8x. Without knowing more about the motors and pulleys etc, I can't be sure but it looks odd.


  • administrators

    @cvmichael said in Motors running hot, but half the power & speed:

    Before (with Smoothieboard) the motors were getting warm, now the motors are hot! can't hold my fingers on them, yet they don't have the strength to move at high speeds

    That can only mean that you were running the motors at lower currents on Smoothieboard - which seems very likely because the drivers on Smoothieboard can't support the 2.2A current that you have set for Y in the M906 command. Also, if they are 1.7A motors, why are you running X at 1.8A, Y at 2.2A and Z at 1.8A? Running the motors a little over their rated current is OK, because the rated current is normally specified with both phases energised at that current, whereas microstepping drivers only apply the full peak current to one phase at a time. But running a 1.7A motor at 2.2A is definitely going too far IMO, and a 1.7A motor running at 1.8A is certain to get hot.

    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.

    Use the EMF calculator at https://reprapfirmware.org/ to work out the maximum speed you can get before torque starts to drop. Note, this is lower when using series-connected motors then when using single motors or parallel-connected motors.

    HTH David



  • @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



  • @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
    alt text
    Looking at the EMF calculator, I don't understand how I got those speeds with the Smoothieboard

    What 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 steppers

    Fair 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
    alt text



  • @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


  • administrators

    @CVMichael,

    • 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.


  • administrators

    @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 timeout

    At 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"


  • administrators

    @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


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.