Duet 3 - Moves really slow?



  • Hello there! - Im trying to setup my Duet 3 mainboard with the RPI as SBC.
    Im trying to use some of my old settings from when I had a duet wifi on it (but its over a year ago now)
    My probles is, now im trying to setup sensorless homing, but when I run the homex.g, it moves really slow - like less than 5mm/s is my guess. On my old duet wifi, steps per mm (200) and x16 microstep gave me a good speed (idk maybe 40mm/s) when homing
    my config.g is:

    ; General preferences
    G90                                          ; send absolute coordinates...
    M83                                          ; ...but relative extruder moves
    M550 P"Duet 3"                               ; set printer name
    M669 K1                                      ; select CoreXY mode
    
    ; Drives
    M569 P0.1 S1                                 ; physical drive 0.1 goes forwards
    M569 P0.2 S1                                 ; physical drive 0.2 goes forwards
    M569 P0.3 S1                                 ; physical drive 0.3 goes forwards
    M569 P0.0 S1                                 ; physical drive 0.0 goes forwards
    M584 X0.1 Y0.2 Z0.3 E0.0                     ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                      ; configure microstepping with interpolation
    M92 X200 Y200 Z800.00 E415.00           ; set steps per mm
    M566 X1500.00 Y1500.00 Z12.00 E120.00          ; set maximum instantaneous speed changes (mm/min)
    M203 X8400.00 Y8400.00 Z180.00 E1200.00      ; set maximum speeds (mm/min)
    M201 X800.00 Y500.00 Z20.00 E250.00          ; set accelerations (mm/s^2)
    M906 X1200 Y1200 Z800 E800 I40                 ; 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 X320 Y290 Z480 S0                       ; set axis maxima
    
    ; Endstops
    
    M574 X1 S3                                                          ; Set endstops controlled by motor load detection
    M574 Y1 S3                                                          ; Set endstops controlled by motor load detection
    M574 Z0																; Set endstop Z to be probe
    M915 X Y H200 S0 R0 F0						 						; set X and Y to sensitivity , do nothing when stall, unfiltered
    
    ; Z-Probe
    M950 S0 C"io7.out"                           ; create servo pin 0 for BLTouch
    M558 P9 C"^io7.in" H5 F120 T6000             ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X0 Y0 Z2.5                          ; set Z probe trigger value, offset and trigger height
    M557 X15:215 Y15:195 S20                     ; define mesh grid
    
    ; Heaters
    M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
    M950 H0 C"out0" T0                           ; create bed heater output on out0 and map it to sensor 0
    M307 H0 B1 S1.00                             ; enable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                      ; map heated bed to heater 0
    M143 H0 S120                                 ; set temperature limit for heater 0 to 120C
    M308 S1 P"temp2" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp2
    M950 H1 C"out1" T1                           ; create nozzle heater output on out1 and map it to sensor 1
    M307 H1 B0 S1.00                             ; disable bang-bang mode for heater  and set PWM limit
    
    ; Fans
    M950 F0 C"out7" Q500                         ; create fan 0 on pin out7 and set its frequency
    M106 P0 S0 H-1                               ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"out5" Q500                         ; create fan 1 on pin out5 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
    
    

    and homex.g:

    G91               ; relative positioning
    M913 X30 Y30 	  ; Drop current to 30%
    G1 H2 Z3 F6000    ; lift Z relative to current position
    G1 H1 X-325 F4000 ; move quickly to X axis endstop and stop there (first pass)
    G1 X5 F6000       ; go back a few mm
    G1 H1 X-325 F500  ; move slowly to X axis endstop once more (second pass)
    G1 H2 Z-3 F200   ; lower Z again
    G90               ; absolute positioning
    M913 X100 Y100	  ; return current to 100%
    
    
    


  • Also - I use 0.9deg steppers fyi



  • i cant spot anything wrong.

    are you on firmware 3.1.1 (check with m115)


  • Moderator

    Is 30% current too low?

    Does it move correctly outside of the homex?

    Can you post the results of M122 and M98 P"config.g" ?



  • @Phaedrux said in Duet 3 - Moves really slow?:

    Is 30% current too low?

    Does it move correctly outside of the homex?

    Can you post the results of M122 and M98 P"config.g" ?

    my old setup worked fine on 40% - I have tried 30,40,70 and 100% current

    I cant tell if it moves corretly, since I cant move it before homing it first.

    	m122
    === Diagnostics ===
    RepRapFirmware for Duet 3 MB6HC version 3.1.1 running on Duet 3 MB6HC v0.6 or 1.0 (SBC mode)
    Board ID: 08DJM-956L2-G43S8-6J9D6-3SN6M-KU0UG
    Used output buffers: 1 of 40 (10 max)
    === RTOS ===
    Static ram: 154604
    Dynamic ram: 162712 of which 108 recycled
    Exception stack ram used: 224
    Never used ram: 75568
    Tasks: NETWORK(ready,1972) HEAT(blocked,1188) CanReceiv(suspended,3820) CanSender(suspended,1488) CanClock(blocked,1436) TMC(blocked,204) MAIN(running,4952) IDLE(ready,76)
    Owned mutexes:
    === Platform ===
    Last reset 03:21:20 ago, cause: software
    Last software reset at 2020-10-28 16:46, reason: User, spinning module LinuxInterface, available RAM 75568 bytes (slot 1)
    Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task MAIN
    Error status: 0
    MCU temperature: min 44.5, current 44.9, max 45.2
    Supply voltage: min 23.9, current 23.9, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes
    12V rail voltage: min 12.0, current 12.0, max 12.1, under voltage events: 0
    Driver 0: standstill, reads 21200, writes 14 timeouts 0, SG min/max 0/0
    Driver 1: standstill, reads 21199, writes 15 timeouts 0, SG min/max 0/0
    Driver 2: standstill, reads 21200, writes 15 timeouts 0, SG min/max 0/0
    Driver 3: standstill, reads 21201, writes 14 timeouts 0, SG min/max 0/0
    Driver 4: standstill, reads 21204, writes 11 timeouts 0, SG min/max 0/0
    Driver 5: standstill, reads 21205, writes 11 timeouts 0, SG min/max 0/0
    Date/time: 2020-10-28 20:07:36
    Slowest loop: 3.70ms; fastest: 0.14ms
    === Storage ===
    Free file entries: 10
    SD card 0 not detected, interface speed: 37.5MBytes/sec
    SD card longest read time 0.0ms, write time 0.0ms, max retries 0
    === Move ===
    Hiccups: 0(0), FreeDm: 375, MinFreeDm: 375, MaxWait: 0ms
    Bed compensation in use: none, comp offset 0.000
    === MainDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
    === AuxDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
    === Heat ===
    Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
    Heater 1 is on, I-accum = 0.0
    === GCodes ===
    Segments left: 0
    Movement lock held by null
    HTTP* is ready with "M122" in state(s) 0
    Telnet is idle in state(s) 0
    File is idle in state(s) 0
    USB is idle in state(s) 0
    Aux is idle in state(s) 0
    Trigger* is idle in state(s) 0
    Queue is idle in state(s) 0
    LCD is idle in state(s) 0
    SBC is idle in state(s) 0
    Daemon* is idle in state(s) 0
    Aux2 is idle in state(s) 0
    Autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 0.83ms; fastest: 0.01ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions
    HTTP sessions: 0 of 8
    - Ethernet -
    State: disabled
    Error counts: 0 0 0 0 0
    Socket states: 0 0 0 0 0 0 0 0
    === CAN ===
    Messages sent 48293, longest wait 0ms for type 0
    === Linux interface ===
    State: 0, failed transfers: 0
    Last transfer: 16ms ago
    RX/TX seq numbers: 63333/63335
    SPI underruns 0, overruns 0
    Number of disconnects: 0
    Buffer RX/TX: 0/0-0
    === Duet Control Server ===
    Duet Control Server v3.1.1
    Code buffer space: 4096
    Configured SPI speed: 8000000 Hz
    Full transfers per second: 32.38
    
    M98 P"config.g"
    Warning: M307: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C
    

  • Moderator

    @Martin1454 said in Duet 3 - Moves really slow?:

    I cant tell if it moves corretly, since I cant move it before homing it first.

    Send G92 X100 to set it's position to 100 and flag it as homed. You can then jog the X axis as normal.


  • administrators

    I didn't spot anything wrong either. Please send M92, M203 and M350, all without parameters, and check that the values reported are as set in config.g.



  • @dc42 said in Duet 3 - Moves really slow?:

    M350

    b1c0478f-fbc3-4107-8a85-15cc51bed902-image.png
    So this looks like there is something overwriting my settings on the m203 - gotta dig into that I guess.

    Edit: Non of my gcode scripts contains the numbers 140

    If i send G92 X100 and then jog it, it seems normal, but as soon as I press homex it vibrates the motors for like 1 second, stops and then moves slowly towoards home.

    @dc42 Do you have any idea why it shortly vibrates before doing the homing move?



  • send M999 and redo the steps


  • Moderator

    @Martin1454 M203 in config.g is set in mm/min, but reports in mm/sec. 140mm/s is the same as 8400mm/min.

    Ian



  • @droftarts said in Duet 3 - Moves really slow?:

    M203

    gets me every time

    are the movements also slow if you do manual movements via g code?
    i.e G0 X50
    to
    G0 X150


  • Moderator

    Are you sure X Y steps per mm is 200? If you command 100mm of movement does it actually move that much?



  • @Veti said in Duet 3 - Moves really slow?:

    @droftarts said in Duet 3 - Moves really slow?:

    M203

    gets me every time

    are the movements also slow if you do manual movements via g code?
    i.e G0 X50
    to
    G0 X150

    Moves a little bit slower than jogging, but still way faster than when homing

    @Phaedrux said in Duet 3 - Moves really slow?:

    Are you sure X Y steps per mm is 200? If you command 100mm of movement does it actually move that much?

    Yes, it moves excatly 50mm when I jog it 50mm



  • @Martin1454 said in Duet 3 - Moves really slow?:

    Moves a little bit slower than jogging, but still way faster than when homing

    and when you issue this command on its own.
    G1 H1 X-325 F4000 ; move quickly to X axis endstop and stop there (first pass)
    ?


  • Moderator

    Can you add M400 before your M913 commands to change the motor current?



  • @Veti said in Duet 3 - Moves really slow?:

    @Martin1454 said in Duet 3 - Moves really slow?:

    Moves a little bit slower than jogging, but still way faster than when homing

    and when you issue this command on its own.
    G1 H1 X-325 F4000 ; move quickly to X axis endstop and stop there (first pass)
    ?

    It steps 1 step towrds -x, but not 325mm

    @Phaedrux said in Duet 3 - Moves really slow?:

    Can you add M400 before your M913 commands to change the motor current?

    I did now - still no change


  • Moderator

    @Martin1454 said in Duet 3 - Moves really slow?:

    It steps 1 step towrds -x, but not 325mm

    I'm not sure what you mean by that.

    Can you post your current config.g and all your homing files? bed.g if used.

    Jogging moves will happen at the defined feed rate in config.g unless otherwise specified with an F parameter.

    The feed rate of the homing moves is defined in the homing file, so jogging and homing is going to look different unless they have the same feed rate specified.



  • @Phaedrux
    The stepper takes 1 step - like it moves to the left a tiny bit. (I think 1 full step, not microstep)

    The current config.g

    ; Configuration file for Duet 3 (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Oct 12 2020 17:14:31 GMT+0200 (Centraleuropæisk sommertid)
    
    ; General preferences
    G90                                          ; send absolute coordinates...
    M83                                          ; ...but relative extruder moves
    M550 P"Duet 3"                               ; set printer name
    M669 K1                                      ; select CoreXY mode
    
    ; Drives
    M569 P0.1 S1                                 ; physical drive 0.1 goes forwards
    M569 P0.2 S1                                 ; physical drive 0.2 goes forwards
    M569 P0.3 S1                                 ; physical drive 0.3 goes forwards
    M569 P0.0 S1                                 ; physical drive 0.0 goes forwards
    M584 X0.1 Y0.2 Z0.3 E0.0                     ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                      ; configure microstepping with interpolation
    M92 X200 Y200 Z800.00 E415.00           ; set steps per mm
    M566 X1500.00 Y1500.00 Z12.00 E120.00          ; set maximum instantaneous speed changes (mm/min)
    M203 X8400.00 Y8400.00 Z180.00 E1200.00      ; set maximum speeds (mm/min)
    M201 X800.00 Y500.00 Z20.00 E250.00          ; set accelerations (mm/s^2)
    M906 X1200 Y1200 Z800 E800 I40                 ; 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 X320 Y290 Z480 S0                       ; set axis maxima
    
    ; Endstops
    
    M574 X1 S3                                                          ; Set endstops controlled by motor load detection
    M574 Y1 S3                                                          ; Set endstops controlled by motor load detection
    M574 Z0																; Set endstop Z to be probe
    M915 X Y H200 S0 R0 F0						 						; set X and Y to sensitivity , do nothing when stall, unfiltered
    
    ; Z-Probe
    M950 S0 C"io7.out"                           ; create servo pin 0 for BLTouch
    M558 P9 C"^io7.in" H5 F120 T6000             ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X0 Y0 Z2.5                          ; set Z probe trigger value, offset and trigger height
    M557 X15:215 Y15:195 S20                     ; define mesh grid
    
    ; Heaters
    M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
    M950 H0 C"out0" T0                           ; create bed heater output on out0 and map it to sensor 0
    M307 H0 B1 S1.00                             ; enable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                      ; map heated bed to heater 0
    M143 H0 S120                                 ; set temperature limit for heater 0 to 120C
    M308 S1 P"temp2" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp2
    M950 H1 C"out1" T1                           ; create nozzle heater output on out1 and map it to sensor 1
    M307 H1 B0 S1.00                             ; disable bang-bang mode for heater  and set PWM limit
    
    ; Fans
    M950 F0 C"out7" Q500                         ; create fan 0 on pin out7 and set its frequency
    M106 P0 S0 H-1                               ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"out5" Q500                         ; create fan 1 on pin out5 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
    

    bed.g

    ; bed.g
    ; called to perform automatic bed compensation via G32
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Oct 12 2020 17:14:31 GMT+0200 (Centraleuropæisk sommertid)
    M561 ; clear any bed transform
    G29  ; probe the bed and enable compensation
    

    And homex.g

    ; homex.g
    ; called to home the X axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Oct 12 2020 17:14:31 GMT+0200 (Centraleuropæisk sommertid)
    G91               ; relative positioning
    M400 			  ;
    M913 X30 Y30 	  ; Drop current to 70%
    G1 H2 Z3 F6000    ; lift Z relative to current position
    G1 H1 X-325 F4000 ; move quickly to X axis endstop and stop there (first pass)
    G1 X5 F6000       ; go back a few mm
    G1 H1 X-325 F500  ; move slowly to X axis endstop once more (second pass)
    G1 H2 Z-3 F200   ; lower Z again
    G90               ; absolute positioning
    M913 X100 Y100	  ; return current to 100%
    
    
    

  • Moderator

    @Martin1454 said in Duet 3 - Moves really slow?:

    The stepper takes 1 step - like it moves to the left a tiny bit. (I think 1 full step, not microstep)

    That sounds like stall detection has triggered prematurely. Does it show the axis as homed after it stops?

    I guess I'm a bit confused, is it a case of movement being slower than requested or is it stalling before it should?

    Have you gone through any of the stall detection tuning?

    https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing


  • Moderator

    @Martin1454 Can you post your homeall as well if you're using it? Or are you only testing home x at the moment?

    Mostly just curious to see if there are any other gcode commands being executed to change the values between config.g being executed at startup and when executing homex.



  • @Phaedrux said in Duet 3 - Moves really slow?:

    @Martin1454 said in Duet 3 - Moves really slow?:

    The stepper takes 1 step - like it moves to the left a tiny bit. (I think 1 full step, not microstep)

    That sounds like stall detection has triggered prematurely. Does it show the axis as homed after it stops?

    I guess I'm a bit confused, is it a case of movement being slower than requested or is it stalling before it should?

    Have you gone through any of the stall detection tuning?

    https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing

    Thats what im trying to do - Im trying to setup the stall detection, but I never get it moving fast enough to try to tune it.

    But Maybe I should try to add in a comment it post when it triggers, and see if it triggers prematurely and that is why it vibrates/stalls in the begining.


  • Moderator

    Can you test movement with M915 commented out?
    Send G92 X100 to mark it as homed and try and jog it around.

    Have you calculated what your H value should be yet?

    Have you tried different sensitivity values yet?



  • @Phaedrux said in Duet 3 - Moves really slow?:

    Can you test movement with M915 commented out?
    Send G92 X100 to mark it as homed and try and jog it around.

    Have you calculated what your H value should be yet?

    Have you tried different sensitivity values yet?

    So I tested a bit around - I added an M117 and found out it moves slow due to stall detection was triggered as soon as it starts, and it tries to do the small "second" pass that is slow.

    After playing with motor current + sensitivity I found S2 and 40% power works - I still have no idea why the motor made the stall/vibration sound when I started the homing, but with those 2 excact values it works.

    Thanks for the support everyone!


  • Moderator

    Glad you figured it out. Stall detection tuning can be tricky.


Log in to reply