Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Duet WiFi with RRF 3.1.1 Ignoring Speed and Displacement Limits

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    4
    6
    242
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dieguitoundefined
      dieguito
      last edited by

      Hello,

      I am using a Duet WiFi with RRF 3.1.1 installed. I set up the maximum speed for the Z axis to be 10000mm/min; however, the motor does not go past 1500mm/min (I did a manual sweep of the speeds and increased the instant speed changes, accelerations, etc). Also, both minimum and maximum limits for my Y and Z axes are ignored by the Duet.

      Any ideas about how to solve/troubleshoot both problems? They seem related in that the Duet is ignoring both commands. I also swapped motors, and it still behaved the same.

      Might it be the DWC?

      Thanks in advance!

      ; Configuration file for Duet WiFi (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Feb 02 2020 20:27:48 GMT-0800 (Pacific Standard Time)
      
      ; General preferences
      G90                                            ; send absolute coordinates...
      M83                                            ; ...but relative extruder moves
      M564 H0:1				                       ; move without homing
      M555 P2					                       ; marlin compatibility
      M570 H0 P20 T20 			                   ; set heater 0 fault to persist time of 10s, deviation of 10C, fault time to 120s
      M570 H1 P1 T25    			                   ; set heater 1 fault to persist time of 10s, deviation of 10C, fault time to 120s
      
      ; Network
      M552 S1                                        ; enable network
      M586 P0 S1                                     ; enable HTTP
      M586 P1 S0                                     ; disable FTP
      M586 P2 S0                                     ; disable Telnet
      M570 H0 P10 T10 S120			               ; set heater 0 fault detection to 10s persist, 10C excursion, 120s fault
      ;M570 H1 P10 T10 S120			               ; set heater 1 fault detection to 10s persist, 10C excursion, 120s fault
      
      ; Drives
      M584 Y5 Z6			                   			; Map drives x,y,z,U                                 
      M569 P5 S1 R1 T50:50:100:0  		         	; Drive 5 goes upwards
      M569 P6 S0 R1 T50:50:100:0  		         	; Drive 6 goes upwards
      
      M350 Y16 Z16                           ; configure microstepping with interpolation
      M92 Y200 Z400                     ; set steps per mm
      M566 Y10 Z400                         ; set maximum instantaneous speed changes (mm/min)
      M203 Y1000 Z10000                    ; set maximum speeds (mm/min)
      M201 Y1000 Z800 	  	      			   ; set max acceleration (mm/min^2)
      M906 Y2500 Z2500                      ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                                        ; Set idle timeout
      
      ; Axis Limits
      M208 Y0 Z0 S1                               ; set axis minima
      M208 Y210 Z50 S0                         ; set axis maxima
      
      ; Endstops
      M574 X1 S1 P"!Xstop"                            ; configure active-high endstop for low end on X via pin xstop
      M574 U1 S1 P"!E0stop"                           ; configure active-high endstop for low end on U via pin Ustop
      M574 Z1 S1 P"Zstop"                           ; configure active-high endstop for low end on Z via pin zstop
      M574 Y1 S1 P"!Ystop"                            ; configure active-high endstop for low end on Z via pin zstop
      
      ; Heaters
      
      M308 S1 P"e0temp" Y"thermistor" T100000 B3950  	; configure sensor 0 as thermistor on pin e0temp
      M950 H1 C"e0heat" T1                           	; create nozzle heater output on e0heat and map it to sensor 0
      M143 H1 S150                                   	; set temperature limit for heater 0 to 150C
      M307 H1 A82.1 C220.7 D1.5 S0.40 V24.3 B0
      
      M308 S2 P"e1temp" Y"thermistor" T100000 B3950  	; configure sensor 1 as thermistor on pin e1temp
      M950 H2 C"e1heat" T2                           	; create nozzle heater output on e1heat and map it to sensor 1
      M143 H2 S80                                   	; set temperature limit for heater 1 to 150C
      M307 H2 A97.0 C246.4 D2.0 S0.90 V24.3 B0        ; enable bang-bang mode for heater  and set PWM limit
      
      M308 S3 P"e2temp" Y"thermistor" T100000 B3950   ; configure sensor 3 as thermistor on pin "bed_temp"...OLD...PRE-Thermocouple install
      M950 H3 C"!exp.heater7" T3
      exp.heater4" T3                                 ; create nozzle heater output on e2heat and map it to sensor 1
      M143 H3 S80                                   	; set temperature limit for heater 1 to 150C
      M307 H3 A97.0 C246.4 D2.0 S0.90 V24.3 B0        ; enable bang-bang mode for heater  and set PWM limit
      
      M308 S4 P"e3temp" Y"thermistor" T100000 B3950   ; configure sensor 3 as thermistor on pin "bed_temp"...OLD...PRE-Thermocouple install
      M950 H4 C"!exp.heater6" T4                      ; create nozzle heater output on e2heat and map it to sensor 1
      M143 H4 S80                                   	; set temperature limit for heater 1 to 150C
      M307 H4 A97.0 C246.4 D2.0 S0.90 V24.3 B0        ; enable bang-bang mode for heater  and set PWM limit
      
      M308 S6 P"e4temp" Y"thermistor" T200000 B3000   ; configure sensor 3 as thermistor on pin "bed_temp"...OLD...PRE-Thermocouple install
      M950 H6 C"!exp.heater3" T6
      
      M308 S0 P"spi.cs1" Y"thermocouple-max31856"     ; Configure sensor 0 spi breakout
      M305 P0 X150 T"K"                               ; Configure sensor 0 as a type K thermocouple
      M950 H0 C"bed_heat" T0                          ; create heater output on bed_heat pin and map it to sensor 0 above
      M307 H0 A44.1 C313.0 D39.7 S1.00 V24.2 B0       ; set PID values for Heater 0
      M140 H0                                         ; Enable this bed heater
      M143 H0 S85 P85 A0                              ; Set safety for this heater max permitted temp 85, trigger at 85, alarm as "Heater Fault"
      
      M308 S5 P"spi.cs2" Y"thermocouple-max31856"
      M305 P0 X150 T"K" 						        ; Configure sensor 1 spi breakout
      M950 H5 C"!exp.heater5" T5                      ; create nozzle heater output on e2heat and map it to sensor 1
      M143 H5 S80                                   	; set temperature limit for heater 1 to 150C
      M307 H5 A97.0 C246.4 D2.0 S0.90 V24.3 B0        ; enable bang-bang mode for heater  and set PWM limit
      
      ; 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 S0 H-1                                 ; set fan 1 value. Thermostatic control is turned off
      M950 F2 C"fan2" Q500                           ; create fan 2 on pin fan2 and set its frequency
      M106 P2 S0 H-1                                 ; set fan 0 value. Thermostatic control is turned off
      
      ; Tools
      M563 P1 S"Transfer Line" D0 H1 F0
      M563 P2 S"Syringe Pump" D0 H2 F1
      M563 P0 S"Juice Jar" D0 H0 F0  
      M563 P3 S"Manifold" D0 H3 F0 
      M563 P4 S"Heater Fan" D0 H4 F0  
      M563 P5 S"Juice Temp" D0 H5 F0  
      M563 P6 S"PhotoHome" D0 H6 F0   
      
      ;M501                                            ;Load Config override values heater gains from most recent saved tuning
      
      ; Custom settings are not defined
      
      ; Miscellaneous
      M501					       ; read stored parameters in config-overide.g
      M564 S0 H0
      
      1 Reply Last reply Reply Quote 0
      • fcwiltundefined
        fcwilt
        last edited by

        Hi,

        Well the last line of the config file you posted contains:

        M564 S0 H0

        That command tells the firmware to ignore min/max settings and to allow moving un-homed axes.

        You also have another of the same command:

        M564 H0:1

        with an unusual parameter which I don't think is valid.


        You have two sets of M570 commands.


        Your M350 command is missing the I parameter.


        You have M569 commands with a T parameter which is usually used with external stepper drivers. Are you using external stepper drivers?


        You have endstops configured for X and U axes that you have not configured.


        Try running M98 P"config.g" from the DWC console and see if there are errors or warnings reported.

        Frederick

        Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

        dieguitoundefined 2 Replies Last reply Reply Quote 0
        • dieguitoundefined
          dieguito @fcwilt
          last edited by

          @fcwilt said in Duet WiFi with RRF 3.1.1 Ignoring Speed and Displacement Limits:

          You have M569 commands with a T parameter which is usually used with external stepper drivers. Are you using external stepper drivers?

          Yes. Thank you for the quick reply! I'll try the recommendations.

          1 Reply Last reply Reply Quote 0
          • dieguitoundefined
            dieguito @fcwilt
            last edited by

            @fcwilt I suppressed the commands you recommended. M350 doesn't need the I parameter. Either with it or without it, the Z axis motor does not go past 1500mm/min. Any other ideas?

            ; Configuration file for Duet WiFi (firmware version 3)
            ; executed by the firmware on start-up
            ;
            ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Feb 02 2020 20:27:48 GMT-0800 (Pacific Standard Time)
            
            ; General preferences
            G90                                            ; send absolute coordinates...
            M83                                            ; ...but relative extruder moves
            ;M564 H0:1				                       ; move without homing
            M555 P2					                       ; marlin compatibility
            ;M570 H0 P20 T20 			                   ; set heater 0 fault to persist time of 10s, deviation of 10C, fault time to 120s
            ;M570 H1 P1 T25    			                   ; set heater 1 fault to persist time of 10s, deviation of 10C, fault time to 120s
            
            ; Network
            M552 S1                                        ; enable network
            M586 P0 S1                                     ; enable HTTP
            M586 P1 S0                                     ; disable FTP
            M586 P2 S0                                     ; disable Telnet
            ;M570 H0 P10 T10 S120			               ; set heater 0 fault detection to 10s persist, 10C excursion, 120s fault
            ;M570 H1 P10 T10 S120			               ; set heater 1 fault detection to 10s persist, 10C excursion, 120s fault
            
            ; Drives
            M584 X0 Y5 Z6			                   			; Map drives x,y,z 
            M569 P0 S1                                     ; physical drive 0 goes backwards
            M569 P5 S1 R1 T50:50:100:0  		         	; Drive 5 goes upwards
            M569 P6 S0 R1 T50:50:100:0  		         	; Drive 6 goes upwards
            
            M350 X16 Y16 Z16                          ; configure microstepping with interpolation
            M92  X3200 Y200 Z400                     ; set steps per mm
            M566 X100 Y10 Z100                         ; set maximum instantaneous speed changes (mm/min)
            M203 X500 Y1000 Z5000                    ; set maximum speeds (mm/min)
            M201 X50 Y1000 Z200 	  	      			   ; set max acceleration (mm/min^2)
            M906 X600 Y2500 Z2500                      ; 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 X100 Y210 Z50 S0                         ; set axis maxima
            
            ; Endstops
            M574 X1 S1 P"!Xstop"                            ; configure active-high endstop for low end on X via pin xstop
            M574 U1 S1 P"!E0stop"                           ; configure active-high endstop for low end on U via pin Ustop
            M574 Z1 S1 P"Zstop"                           ; configure active-high endstop for low end on Z via pin zstop
            M574 Y1 S1 P"!Ystop"                            ; configure active-high endstop for low end on Z via pin zstop
            
            ; Heaters
            
            M308 S1 P"e0temp" Y"thermistor" T100000 B3950  	; configure sensor 0 as thermistor on pin e0temp
            M950 H1 C"e0heat" T1                           	; create nozzle heater output on e0heat and map it to sensor 0
            M143 H1 S150                                   	; set temperature limit for heater 0 to 150C
            M307 H1 A82.1 C220.7 D1.5 S0.40 V24.3 B0
            
            M308 S2 P"e1temp" Y"thermistor" T100000 B3950  	; configure sensor 1 as thermistor on pin e1temp
            M950 H2 C"e1heat" T2                           	; create nozzle heater output on e1heat and map it to sensor 1
            M143 H2 S80                                   	; set temperature limit for heater 1 to 150C
            M307 H2 A97.0 C246.4 D2.0 S0.90 V24.3 B0        ; enable bang-bang mode for heater  and set PWM limit
            
            M308 S3 P"e2temp" Y"thermistor" T100000 B3950   ; configure sensor 3 as thermistor on pin "bed_temp"...OLD...PRE-Thermocouple install
            M950 H3 C"!exp.heater7" T3
            exp.heater4" T3                                 ; create nozzle heater output on e2heat and map it to sensor 1
            M143 H3 S80                                   	; set temperature limit for heater 1 to 150C
            M307 H3 A97.0 C246.4 D2.0 S0.90 V24.3 B0        ; enable bang-bang mode for heater  and set PWM limit
            
            M308 S4 P"e3temp" Y"thermistor" T100000 B3950   ; configure sensor 3 as thermistor on pin "bed_temp"...OLD...PRE-Thermocouple install
            M950 H4 C"!exp.heater6" T4                      ; create nozzle heater output on e2heat and map it to sensor 1
            M143 H4 S80                                   	; set temperature limit for heater 1 to 150C
            M307 H4 A97.0 C246.4 D2.0 S0.90 V24.3 B0        ; enable bang-bang mode for heater  and set PWM limit
            
            M308 S6 P"e4temp" Y"thermistor" T200000 B3000   ; configure sensor 3 as thermistor on pin "bed_temp"...OLD...PRE-Thermocouple install
            M950 H6 C"!exp.heater3" T6
            
            M308 S0 P"spi.cs1" Y"thermocouple-max31856"     ; Configure sensor 0 spi breakout
            M305 P0 X150 T"K"                               ; Configure sensor 0 as a type K thermocouple
            M950 H0 C"bed_heat" T0                          ; create heater output on bed_heat pin and map it to sensor 0 above
            M307 H0 A44.1 C313.0 D39.7 S1.00 V24.2 B0       ; set PID values for Heater 0
            M140 H0                                         ; Enable this bed heater
            M143 H0 S85 P85 A0                              ; Set safety for this heater max permitted temp 85, trigger at 85, alarm as "Heater Fault"
            
            M308 S5 P"spi.cs2" Y"thermocouple-max31856"
            M305 P0 X150 T"K" 						        ; Configure sensor 1 spi breakout
            M950 H5 C"!exp.heater5" T5                      ; create nozzle heater output on e2heat and map it to sensor 1
            M143 H5 S80                                   	; set temperature limit for heater 1 to 150C
            M307 H5 A97.0 C246.4 D2.0 S0.90 V24.3 B0        ; enable bang-bang mode for heater  and set PWM limit
            
            ; 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 S0 H-1                                 ; set fan 1 value. Thermostatic control is turned off
            M950 F2 C"fan2" Q500                           ; create fan 2 on pin fan2 and set its frequency
            M106 P2 S0 H-1                                 ; set fan 0 value. Thermostatic control is turned off
            
            ; Tools
            M563 P1 S"Transfer Line" D0 H1 F0
            M563 P2 S"Syringe Pump" D0 H2 F1
            M563 P0 S"Juice Jar" D0 H0 F0  
            M563 P3 S"Manifold" D0 H3 F0 
            M563 P4 S"Heater Fan" D0 H4 F0  
            M563 P5 S"Juice Temp" D0 H5 F0  
            M563 P6 S"PhotoHome" D0 H6 F0   
            
            ;M501                                            ;Load Config override values heater gains from most recent saved tuning
            
            ; Custom settings are not defined
            
            ; Miscellaneous
            M501					       ; read stored parameters in config-overide.g
            ;M564 S0 H0
            
            droftartsundefined 1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator
              last edited by

              @fcwilt I don't think we're in Kansas anymore Toto.

              @dieguito said in Duet WiFi with RRF 3.1.1 Ignoring Speed and Displacement Limits:

              ; Tools M563 P1 S"Transfer Line" D0 H1 F0 M563 P2 S"Syringe Pump" D0 H2 F1 M563 P0 S"Juice Jar" D0 H0 F0 M563 P3 S"Manifold" D0 H3 F0 M563 P4 S"Heater Fan" D0 H4 F0 M563 P5 S"Juice Temp" D0 H5 F0 M563 P6 S"PhotoHome" D0 H6 F0

              @dieguito What kind of machine is this? What kind of Z axis do you have that is expected to move so fast?

              Z-Bot CoreXY Build | Thingiverse Profile

              1 Reply Last reply Reply Quote 1
              • droftartsundefined
                droftarts administrators @dieguito
                last edited by

                @dieguito said in Duet WiFi with RRF 3.1.1 Ignoring Speed and Displacement Limits:

                M569 P6 S0 R1 T50:50:100:0
                M92 X3200 Y200 Z400

                It’s the step pulse width and step pulse interval (the first two parameters of T) in the M569 line that is limiting your Z speed. Each step takes 50+50 microseconds, and there’s 400 steps per mm (assuming your external driver steps per revolution is set correctly; the microstepping set in config.g is not used on external drivers), so maximum number of steps per second is 1,000,000 / 100 = 10,000 then divide by 400 = 25mm/s, x60 = 1500mm/min.

                What external stepper drivers are you using? The timing is very long. Most drivers work with 5 microsecond signals something like T5:5:10:10.

                Ian

                Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                1 Reply Last reply Reply Quote 1
                • First post
                  Last post
                Unless otherwise noted, all forum content is licensed under CC-BY-SA