Cold Extruding After M302 P0
-
Hi there! I have a Voron with a MB6HC Main Board and a 1LC Toolboard. I seem to be able to extrude and retract via ...
G1 E1 F1500
... after starting the printer. It will also extrude and retract after posting ...
M302 P0
If I post ...
M302
... I get ...
M302 Cold extrusion is forbidden (use M302 P1 to allow it), min. extrusion temperature 160.0C, min. retraction temperature 90.0C
but it will still extrude even though current extruder temp is 22 deg C.
-
Attached is my config.g file:
G90 ; Set all axes (not extruders) to absolute positioning. M83 ; Set all extruders (not axes) to relative positioning. M550 P"Voron" ; Set machine name. M669 K1 ; Set kinematics type and parameters. G4 S2 ; Dwell. Pause the machine for a period of time. ; Drives M569 P0.0 S1 ; Set motor driver direction. M569 P0.1 S1 ; Set motor driver direction. M569 P0.2 S0 ; Set motor driver direction. M569 P0.3 S1 ; Set motor driver direction. M569 P0.4 S0 ; Set motor driver direction. M569 P0.5 S1 ; Set motor driver direction. M569 P121.0 S1 ; Set motor driver direction. M584 X0.0 Y0.1 Z0.2:0.3:0.4:0.5 E121.0 R0 S0 ; Set drive mapping. M671 X410:410:-60:-60 Y422:-8:-8:422 S20 F1.0 ; Set positions of Z belts (60mm X, 72mm Y offsets in back. 60mm X, 8mm Y offsets in front.) 0 (410,422), 1 (410, -8), M350 X16 Y16 Z16 E16 I1 ; Set microstepping and interpolation. M92 X80 Y80 Z400 E567 ; Set axis steps per unit. M566 X1800 Y1800 Z180 E600 P1 ; Set maximum instantaneous speed change (jerk). M203 S1 X350 Y350 Z40 E60 ; Set maximum feedrate (speed). M201 X3500 Y3500 Z350 E5000 ; Set maximum print move accelerations. M906 X1021.8 Y1021.8 Z1021.8 E600 I30 ; Set maximum motor currents (Duet 3 MB6HC is in steps of 26.2mA. Duet 3 1LC toolboard is in steps of 50mA, rounded down). ; X (X drive maximum motor current [mA]): 1,021.8 (~50% of max rated motor current of 2,000 mA. 1.493.4 mA, ~75% of max rated motor ; current, was too loud). ; Y (Y drive maximum motor current [mA]): 1,021.8 (~50% of max rated motor current of 2,000 mA. 1.493.4 mA, ~75% of max rated motor ; current, was too loud). ; Z (Z drive maximum motor current [mA]): 1,021.8 (~50% of max rated motor current of 2,000 mA. 1388.6 mA was a little too loud). ; E (Extruder maximum motor current [mA]): 600 (LDO 36STH20-1004AHG/Bondtech LGX Lite. 60% of max rated motor current of 1,000 mA. ; Bondtech site recommends 450-600mA. Motor tag recommends </= 650mA). ; I (Motor current idle factor [%]): 30. M84 S30 ; Stop idle hold. ; S (Idle time out[sec]): 30. ; Axis Limits M208 X0:350 Y0:350 Z0:310 ; Set axis maximum travel. ; S (Set axis): - (Excluded for alternative format). ; X (X axis limit [mm]): 0 (Minimum) : ... (Maximum). ; Y (Y axis limit [mm]): 0 (Minimum) : ... (Maximum). ; Z (Z axis limit [mm]): 0 (Minimum) : ... (Maximum). ; Endstops M574 X2 P"0.io0.in" S1 ; Set endstop configuration. ; X (Position of X endstop): 2 (High end). ; P (Pin name): 0. (Mainboard) io0.in. ; S (Endstop type): 1 (Switch type). M574 Y2 P"0.io1.in" S1 ; Set endstop configuration. ; Y (Position of Y endstop): 2 (High end). ; P (Pin name): 0. (Mainboard) io1.in. ; S (Endstop type): 1 (Switch type). M574 Z0 ; Set endstop configuration. ; Z (Position of Z endstop): 0 (None). ; Z Probe M950 S0 C"121.io0.out" ; Create GPIO/servo pin. ; S (Output/servo pin number): 0. ; C (Pin name): 121. (Toolboard) io0.out. M558 P8 C"121.io0.in" H3 F600:120 T6000 K0 R0 A1 B1 ; Set Z probe type. ; P (Z Probe type): 8 (Omron TL-Q5MC2 NPN Normally Clolsed NC Inductive Proximity Sensor). ; C (Endstop input): - (Not Inverted due to NC) 121. (Toolboard) io4.in. ; H (Dive height [mm]): 3. ; F (Feed rate. Probing speed [mm/min]): 60:120. ; T (Travel speed [mm/min]): 6,000. ; K (Z probe number): 0 (1). ; R (Recovery time [sec]): 0. ; A (Max number of times to probe each point): 1. ; B (Heaters): 1 (Turn off all heaters while probing). G31 P100 X0 Y24.0 Z0.654 K0 ; Set Z probe. ; P (Trigger value): 100. ; X (Probe X offset [mm]): 0. ; Y (Probe Y offset [mm]): 24.0. ; Z (Trigger Z height [mm]): 1.878 (This is modified for Z probe calibration. A higher offset number moves the nozzle ; closer to the bed.). ; K (Z probe number): 0. M557 X25:325 Y25:313.5 P3 ; Define Z probe mesh grid (This is the probe point grid, not the nozzle grid). ; X (Min:Max X coordinates to probe [mm]): 35 (Min) : 325 (Max). ; Y (Min:Max Y coordinates to probe [mm]): 25 (Min) : 313.5 (Max). ; P (Points to probe in each direction): 3. ; Heater, Bed M308 S0 P"0.temp0" Y"thermistor" A"Bed" T100000 B3950 C0 R2200 L0 H-6 ; Set (Bed) temperature sensor parameters. ; S (Sensor number): 0. ; P (Pin name): 0. (Mainboard) temp0. ; Y (Sensor type): thermistor. ; A (Sensor name): Bed Temp. ; T (Thermistor resistance at 25 deg C [ohms]): 100,000. ; B (Beta value): 3,950 (From Keenovo website). ; C (C Coefficient): 0. ; R (Series resistor value [ohms]): 2,200 (Default for Duet3). ; L (ADC low offset correction): 0 (Default is 0. Semi-auto calibration gets 0. Manual calibration ; gets 0.). ; H (ADC high offset correction): -6 (Default is 0. Semi-auto calibration gets -6. Manual ; calibration gets -6.). M950 H0 C"0.out0" Q10 T0 ; Create heater (Bed). ; H (Heater number): 0. ; C (Pin name): 0. (Mainboard) out0. ; Q (PWM frequency [Hz]): 10 (Due to solid state relay). ; T (Temperature sensor number): 0 (bed). M307 H0 R0.660 C320.2 D1.62 I0 B0 S1.0 V0 ; Set heating process parameters. ; H (Heater number): 0 (Bed). ; R (Heating rate [deg C/sec]): 0.660. ; C (Dominant time constant of heating process [seconds]): 320.2. ; D (Dead time [seconds]): 1.62. ; I (PWM signal inversion): 0 (Not inverted). ; B (Bang bang control): 0 (Disabled). ; S (Maximum PWM frequency to use): 1.0. ; V (Vin calibration supply voltage): 0 (Disabled due to mains power supply. Also, not applied to bed heaters). M140 P0 H0 ; Configure bed heater. ; P (Bed heater index); 0 (Default.) ; H (Heater number): 0 (Map heated bed to heater 0.). M143 H0 S125 A0 C0 ; Set maximum heater temperature. ; H (Heater number to monitor): 0 (Bed). ; S (Maximum permitted temperature [deg C]): 125 (Due to Keenovo bed heater adhesive). ; A (Action to trigger): 0 (Default. Generate heater fault). ; C (Condition for temperature event): 0 (Default. Temperature too high). ; Heater, Extruder 1 M308 S1 P"121.temp0" Y"pt1000" A"Extr. 1" R2200 L2 H-24 ; Set (Extruder 1) temperature sensor parameters. ; S (Sensor number): 1 (Extruder 1). ; P (Pin name): 0. (Mainboard) temp1. ; Y (sensor type): pt1000 (E3D PT1000). ; A (Sensor name): Extr 1. Temp. ; R (Series resistor value [ohms]): 2,200. ; L (ADC low offset correction): ... (Default is 0. Semi-auto calibration gets -11. Manual calibration gets ; 2.) ; H (ADC high offset correction): ... (Default is 0. Semi-auto calibration gets -9. Manual calibration gets ; -24.) M950 H1 C"121.out0" Q500 T1 ; Create heater (Extruder 1). ; H (Heater number): 1. ; C (Pin name): 0. (Mainboard) out1. ; Q (PWM frequency [Hz]): 500 (Default). ; T (Temperature sensor number): 1. M307 H1 R3.680 D3.48 E1.35 K0.425:0.258 B0 I0 S1.00 V23.5 ; Set heating process parameters (auto tune performed at 240 deg C). ; H (Heater number): 1 (Extruder 1). ; R (Heating rate [deg C/sec]): 3.680 (decrease this by 30% if a heater temperature error shows up). ; D (Dead time [sec]): 3.48. ; E (Exponent of cooling rate curve): 1.35 (default). ; K (Cooling rate at 100C above ambient): 0.425:0.258. ; B (Bang bang control): 0 (Disabled). ; I (PWM signal inversion): 0 (Not inverted). ; S (Max PWM frequency to use): 1.00. ; V (Vin calibration supply voltage): 23.5. M143 H1 S280 A0 C0 ; Set maximum heater temperature. ; H (Heater number to monitor): 1 (Extruder 1). ; S (Maximum permitted temperature [deg C]): ... (Max hot end temp: 550. Max heater temp: 550. Max PT1000 sensor temp: 500. Max silicone sock temp: ; 280. Max nozzle temp: 300.) ; A (Action to trigger): 0 (Default. Generate heater fault). ; C (Condition for temperature event): 0 (Default. Temperature too high). M302 P0 S160 R90 ; Allow cold extrudes. ; P (Cold extrude allow state): 0 (Forbid cold extrudes). ; S (Minimum extrusion temperature [deg C]): 160 (Default). ; R (Minimum retraction temperature [deg C]): 90 (Default). M570 H1 P5 R3 ; Configure heater fault detection. ; H (Heater number): 1 (Extruder 1). ; P (Time for which a temperature anomaly must persist before raising a heater fault [sec]): 5 (Default). ; T (Permitted temperature excursion from the setpoin [deg C]): 15 (Default). ; R (Maximum number of consecutive temperature reading failures before a heater fault is raised): 3 (Default). ; Fan, Print Cooling M950 F0 C"121.out1" Q15000 ; Create fan. ; F (Fan number): 0. ; C (Pin name): 121. (Toolboard) out1. ; Q (PWM frequency [Hz]): 15,000. M106 P0 S0.00 L0.02 X1.00 B0.3 H-1 R1 C"Print Fan" ; Set fan. ; P (Fan number): 0 (Print/part cooling). ; S (Fan speed): 0.00. ; L (Minimum fan speed): 0.02. ; X (Maximum fan speed): 1.00. ; B (Blip time [seconds]): 0.3. ; H (Thermostatic control): -1 (Disabled). ; R (Restore fan speed): 1 (To the value it has when the print was paused). ; C (Name): Print Fan. ; Fan, Heat Break M950 F1 C"121.out2" Q25000 ; Create fan. ; F (Fan number): 1. ; C (Pin name): 121. (Toolboard) out2. ; Q (PWM frequency [Hz]): 25,000. M106 P1 S1.0 L0.5 X1.0 B0.3 H1 T45 C"Heat Break Fan" ; Set fan. ; P (Fan number): 1 (Heat break). ; S (Fan speed): 1.0. ; L (Minimum fan speed): 0.5. ; X (Maximum fan speed): 1.0. ; B (Blip time [seconds]): 0.3. ; H (Thermostatic control): 1 (Extruder 1). ; T (Thermostatic mode trigger temperature [deg C]): 45. ; C (Name): Heat Break Fan. ; Fans, Case M308 S2 Y"drivers" A"Driver Temp" ; Set (stepper drivers) temperature sensor. ; S (Sensor number): 2. ; Y (Sensor type): drivers (Mainboard stepper drivers). ; A (Sensor name): Driver Temp. M308 S3 Y"mcu_temp" A"MCU Temp" ; Set (CPU/MCU) temperature sensor. ; S (Sensor number): 3. ; Y (Sensor type): mcu_temp (CPU/MCU). ; A (Sensor name): MCU Temp. M950 F2 C"0.out6" Q25000 ; Create fan. ; F (Fan number): 2 (Case fan). ; C (Pin name): 0. (Mainboard) out6. ; Q (PWM frequency [Hz]): 25,000. M106 P2 L0.8 X1.0 B0.1 H2:3 T51:65 C"Case Fans" ; Set fan. ; P (Fan number): 2 (Electronics). ; L (Minimum fan speed): 0.8. ; X (Maximum fan speed): 1.0. ; B (Blip time [seconds]): 0.1. ; H (Thermostatic control): 2 (stepper drivers) : 3 (CPU/MCU). ; T (Thermostatic trigger temperature [C]): 51-65 (Proportional range). ; C (Name); Case Fans. ; Fan, Exhaust M950 F3 C"0.out4" Q15000 ; Create fan. ; F (Fan number): 3. ; C (Pin name): 0. (Mainboard) out4. ; Q (PWM frequency [Hz]): 15,000. M106 P3 L0.8 X1.0 B0.1 H1 T45 C"Exhaust Fan" ; Set fan. ; P (Fan number): 1 (Heat break). ; S (Fan speed): 1.0. ; L (Minimum fan speed): 0.5. ; X (Maximum fan speed): 1.0. ; B (Blip time [seconds]): 0.3. ; H (Thermostatic control): 1 (Extruder 1). ; T (Thermostatic mode trigger temperature [deg C]): 45. ; C (Name): Exhaust Fan. ; Tools M563 P0 S"Extr. 1" D0 H1 F0 ; Define tool. ; P (Tool number): 0 (Extruder 1). ; S (Tool name): Extr. 1 Tool. ; D (Extruder drive): 0 (defined in M584 as E1.0). ; H (Heater): 1 (Extruder 1, defined in M950 H1). ; F (Fan mapped): 0 (Print/part cooling fan). M568 P0 R0 S0 A0 ; Set tool settings (Set temperature). ; P (Tool number): 0 (Tool 1. Extruder 1). ; R (Standby temperature [deg C]): 0. ; S (Active temperature [deg C]): 0. ; F (Spindle speed [RPM]): - (No spindle used). ; A (Required heater state): 0 (Off). G10 L1 P0 X0 Y0 Z0 ; Set tool offset and temperature. ; L (Mode): 1 (Default. Sets the tool offset, as if the L parameter was not present). ; P (Tool number): 0 (Tool 1. Extruder 1). ; X (X offset): 0. ; Y (Y offset): 0. ; Z (Z offset): 0. ; Display M575 P1 S1 B57600 S1 ; Set serial communications parameters. ; P (Serial channel number): 1 (Auxiliary serial port). ; B (Baud rate): 57,600 (PanelDue default). ; S (Mode): 1 (PanelDue, checksum required). ; Automatic Power Saving M911 S21.0 R22.0 P"M913 X0 Y0 G91 M83 G1 Z3 E-2 F1000" ; Set auto save on power loss. ; S (Auto save threshold [V]): 21.0. ; R (Resume threshold [V]): 22.0. ; P (Commands on power loss): ... ; CPU Temperature Compensation M912 P0 S00.0 ; Set electronics temperature monitor adjustment. ; P (Temperature monitor channel): 0 (Default). ; S (Value to be added to temperature reading [C]): 00.0 (Lower number decreases displayed cpu temperature. =(temperature_actual)-(temperature_indicated)). ; Pressure Advance M572 D0 S0.05 ; Set extruder pressure advance (Linear advance). ; D (Extruder number): 0 (Extruder 1). ; S (Pressure advance amount [seconds]): ... ; Accelerometer Configuration M955 P121.0 I05 ; Configure accelerometer ; P (Accelerometer to use): 121.0 (Duet Toolboard) ; I (Accelerometer orientation): 0 (+Z accelerometer faces +X on printer), 5 (+X accelerometer faces -Y on printer). ; Select Tool T0 ; Select first tool.
-
Firmware version?
-
@Phaedrux Firmware is 3.4.6 on the main board as well as the toolboard.
-
Im not sure if this has anything to do with this issue, but Im also able to move, for instance ...
G1 X345 Y345 F6000 H1
... even before I have homed any axes. It moves to the far right corner, as requested, and stops when it gets to the first of the two X, Y, endstops. Calling M564 shows ...
M564 Movement outside the bed is not permitted, movement before homing is permitted.
I honestly forget if this was how it has worked in the past, and I apologize if this is normal behavior.
-
A move with the H1 parameter is used for homing one or more axes - so naturally it has to ignore the homed state of the axes.
As to M564, it takes an H and/or an S parameter. The H determines if moves on un-homed axes are allowed. The S determines if moves outside of the min/max limits are allowed.
With no parameters it simple reports the current state.
Frederick
-
@fcwilt Okay, that makes sense regarding the H1 parameter. And I apologize if I wasn’t clear regarding the M564. I was just calling that to show that I wasn’t allowing moves outside of the build volume.
I’m still confused regarding cold extruding though. In my printer running a Duet 3 mini with no toolboard, the same cold extrude command gives me a warning/error, which is what I would expect.
-
@Charlie see here https://docs.duet3d.com/en/User_manual/RepRapFirmware/CAN_limitations
Cold extrusion prevention is not enforced on extruders driven from CAN-connected expansion boards. We expect to remove this restriction in firmware 3.5.
-
Got ya.
In general I keep the restrictions on moving un-homed axes and moving outside the min/max limits in place and only change the settings in certain limited cases and restore the "normal" settings as soon as possible.
Frederick
-
@jay_s_uk Thank you so much for your help! I must've missed this.
-
-