• Tags
  • Documentation
  • Order
  • Register
  • Login
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
241
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.
  • undefined
    dieguito
    last edited by 16 Mar 2021, 05:43

    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
    • undefined
      fcwilt
      last edited by 16 Mar 2021, 06:00

      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 small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

      undefined 2 Replies Last reply 16 Mar 2021, 08:07 Reply Quote 0
      • undefined
        dieguito @fcwilt
        last edited by 16 Mar 2021, 08:07

        @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
        • undefined
          dieguito @fcwilt
          last edited by 17 Mar 2021, 04:45

          @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
          undefined 1 Reply Last reply 17 Mar 2021, 06:18 Reply Quote 0
          • undefined
            Phaedrux Moderator
            last edited by 17 Mar 2021, 05:18

            @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
            • undefined
              droftarts administrators @dieguito
              last edited by 17 Mar 2021, 06:18

              @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
              2 out of 6
              • First post
                2/6
                Last post
              Unless otherwise noted, all forum content is licensed under CC-BY-SA