Duet WiFi with RRF 3.1.1 Ignoring Speed and Displacement Limits
-
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
-
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
-
@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.
-
@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
-
@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?
-
@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 Z400It’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