Motor Whine/Loud Movement



  • Hey, I'm a little sad to find that after powering up and configuring my Delta for the first time, the motors are quite loud, both when moving and when idle.

    Specs: Duet 2 Wifi
    Latest firmware
    Steppers : Nema 17 Bipolar 0.9deg 65.1 oz/in 2A 2.8V 3.0mH 1.4ohm from steppers online
    24V meanwell PSU

    I've tried settings all the way from 800mA to 1800mA with little change in the sound. I'm using 1/16 interpolated Āµstepping.

    Current config:
    ; Drives
    M569 P0 S0 ; Drive 0 goes forwards
    M569 P1 S0 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes forwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X160 Y160 Z160 E663 ; Set steps per mm
    M566 X1200 Y1200 Z1200 E1200 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z18000 E1200 ; Set maximum speeds (mm/min)
    M201 X1000 Y1000 Z1000 E1000 ; Set accelerations (mm/s^2)
    M906 X1400 Y1400 Z1400 E800 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    Any help would be appreciated. I'd like to know how to mess with the 2660's spreadcycle parameters to see if that helps. Also, potentially the minimum step time is wrong? Idk.

    edit: Also, the whine frequency changes each time it's moved in x/y. Reminds me a lot of when I tried to set up TMC2130s on my old printer with a 12v PSU, it did the exact same thing.



  • @pungoboy said in Motor Whine/Loud Movement:

    Any help would be appreciated. I'd like to know how to mess with the 2660's spreadcycle parameters to see if that helps. Also, potentially the minimum step time is wrong? Idk.

    In this thread: https://forum.duet3d.com/topic/5392/does-m906-set-rms-or-peak-current/18
    You can find some information on how to mess around with the chopper configuration of the drivers and some values I found to be better and some to be always worse.
    If you need it, I could upload my small tool to parametrically create the required integer bitmask.

    I recomment to first try to change TOFF and afterwards have a look at HSTRT/HEND.

    edit: Also, the whine frequency changes each time it's moved in x/y.

    According to the document linked in the other thread by dc42 it is normal to have different noise levels at different motor positions.



  • @wilriker said in Motor Whine/Loud Movement:

    https://forum.duet3d.com/topic/5392/does-m906-set-rms-or-peak-current/18

    I could definitely use some help generating the proper values to input, I only vaguely know the word bitmask and I'd like to not damage my nice new Duet messing about with it.



  • @pungoboy Are you able to compile an executable with the programming language Go? I could then upload the source code somewhere. Otherwise tell me what OS and CPU you are using and I could compile a matching version for you.

    EDIT: I just uploaded the source code as well as three precompiled binaries for Windows/Linux/Mac AMD64 to https://github.com/wilriker/chopconf-generator (binaries can be found at https://github.com/wilriker/chopconf-generator/releases).

    There is also some very short usage description.



  • Thanks for the quick response, I'll let you know if I run into any trouble.


  • administrators

    @wilriker said in Motor Whine/Loud Movement:

    In this thread: https://forum.duet3d.com/topic/5392/does-m906-set-rms-or-peak-current/18
    You can find some information on how to mess around with the chopper configuration of the drivers and some values I found to be better and some to be always worse.
    If you need it, I could upload my small tool to parametrically create the required integer bitmask.

    I recomment to first try to change TOFF and afterwards have a look at HSTRT/HEND.

    Could you provide chopper configuration values for various TOFF values, so that users who only need to change TOFF can try them?

    BTW you should be able to use hex values for the CCR in the M569 command if you prefix them with 0x. That makes computing bitmaps easier.



  • @dc42 said in Motor Whine/Loud Movement:

    Could you provide chopper configuration values for various TOFF values, so that users who only need to change TOFF can try them?

    Of course:

    • TOFF=0 -> M569 C65968 (this means motors are off!)
    • TOFF=1 -> M569 C65969
    • TOFF=2 -> M569 C65970
    • TOFF=3 -> M569 C65971
    • TOFF=4 -> M569 C65972
    • TOFF=5 -> M569 C65973
    • TOFF=6 -> M569 C65974
    • TOFF=7 -> M569 C65975
    • TOFF=8 -> M569 C65976
    • TOFF=9 -> M569 C65977
    • TOFF=10 -> M569 C65978
    • TOFF=11 -> M569 C65979
    • TOFF=12 -> M569 C65980
    • TOFF=13 -> M569 C65981
    • TOFF=14 -> M569 C65982
    • TOFF=15 -> M569 C65983

    You'll have to add at least the Pnnn parameter to specify the motor.

    BTW you should be able to use hex values for the CCR in the M569 command if you prefix them with 0x. That makes computing bitmaps easier.

    I will have a look at my tool tomorrow to output hex values optionally



  • Do not use these - see below


    So here is the same list as above just with hexdecimal notation:

    • TOFF=0 -> M569 C0x101b0
    • TOFF=1 -> M569 C0x101b1
    • TOFF=2 -> M569 C0x101b2
    • TOFF=3 -> M569 C0x101b3
    • TOFF=4 -> M569 C0x101b4
    • TOFF=5 -> M569 C0x101b5
    • TOFF=6 -> M569 C0x101b6
    • TOFF=7 -> M569 C0x101b7
    • TOFF=8 -> M569 C0x101b8
    • TOFF=9 -> M569 C0x101b9
    • TOFF=10 -> M569 C0x101ba
    • TOFF=11 -> M569 C0x101bb
    • TOFF=12 -> M569 C0x101bc
    • TOFF=13 -> M569 C0x101bd
    • TOFF=14 -> M569 C0x101be
    • TOFF=15 -> M569 C0x101bf


  • @dc42 said in Motor Whine/Loud Movement:

    BTW you should be able to use hex values for the CCR in the M569 command if you prefix them with 0x. That makes computing bitmaps easier.

    I only now tried to use hex value but any hex value is treated like 0, e.g. M569 P2 S0 C0x101b4 (firmware defaults just explicitly provided as hex) will turn the motor off due the fact that when treated as 0x0 it will set TOFF=0 which means motors off.

    Running M569 P2 will though output the value as hex (when provided in decimal notation the correct corresponding hex value is output otherwise 0x00000).


  • administrators

    Fair enough, looks like hex input no longer works. So use the decimal values that @wilriker provided.


Log in to reply