Filament sensor problems after firmware upgrade to 3.5.0-beta.4
-
The reason why I upgraded is so I could use the closed-loop 1HCL with Duet's encoders.
This is my setup code for the filament runout sensor:
M591 D0 P1 C"io6.in" S1 ; simple sensor (high signal when filament present) connected to IO_6 for drive 0, enabledM591 D0 returns the correct state for the sensor: It knows when filament is in the sensor or not. However it isn't pausing my prints anymore after the update. How can I fix this?
-
@tylersuard please share the contents of your filament-error.g file.
-
@dc42 I do not have a filament-error.g file. When that file does not exist, it should just default to pause, is that correct?
-
@dc42 I created a new filament-error.g file, and this is its contents:
M25
M79 P200 Filament runout!Is that ok?
-
@dc42 I created a filament-error.g file and added
M25
M79 P200 Filament runout!The board still does nothing when I insert or remove filament in the sensor.
-
-
-
Can you post your full config.g?
Where is the extruder connected? -
@Phaedrux thank you for replying. I am using io6, on the mini 5+. full config:
; General preferences
G4 S1 ;wait for expansion boards to start
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"V-Core 3" ; set printer name
M669 K1 ; CoreXY
G21 ; Set Units to Millimeters; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet;Closed-loop steppers setup
M584 X50.0
M569.1 P50.0 T3 S200 ; Configure the Duet 3 Expansion 1HCL board at CAN address 50 with a Duet 3 magnetic encoder, warn if 1 fullstep threshold exceeded, error if 2 full steps threshold exceeded.
M906 X2500; set motor current
M569 P50.0 D2; set open loop mode
M17 X
M203 X10800.0
G4 P300
M569 P50.0 D4
G4 P300
M569.6 P50.0 V2M584 Y51.0
M569.1 P51.0 T3 S200
M906 Y2500
M569 P51.0 D2
M17 Y
M203 Y10800.00
M201 Y3000.00
G4 P300
M569 P51.0 D4
G4 P300
M569.6 P51.0 V2M917 X0 Y0 ; Set the closed loop axes to have a holding current of zero
M350 X32 Y32 ; set steps/mm to 32 to make full use of the encoder resolution
M92 X160 Y160 ; steps/mm for a 20 tooth gt2 pulley; Drives
M569 P0.0 S1 D3 ; physical drive 0.0 goes forwards
M569 P0.1 S1 D3 ; physical drive 0.1 goes forwards
M569 P0.2 S1 D3 ; physical drive 0.2 goes forwards
;M569 P0.3 S1 D3 ; physical drive 0.3 goes forwards
;M569 P0.4 S1 D3 ; physical drive 0.4 goes forwards
M569 P0.5 S1 D3 ; physical drive 0.5 goes forwards
M569 P0.6 S1 D3
M584 X50.0 Y51.0 Z0.0:0.1:0.2 E0.5:0.6 ; set drive mapping
M350 Z16 E16:16 I1 ; configure microstepping with interpolation;M92 X80.00 Y80.00 Z800.00 ; set steps per mm
M92 Z800.0
M906 Z800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeoutM566 X400.00 Y400.00 Z6.00 E300.00:300.00 P1 ; set maximum instantaneous speed changes (mm/min)
M203 X10800.00 Y10800.00 Z1000.00 E7200.00:7200.00 ; set maximum speeds (mm/min)
M201 X3000.00 Y3000.00 Z100.00 E10000.00:10000.00 ; set accelerations (mm/s^2); Axis Limits
M208 X0 Y0 Z-10 S1 ; set axis minima
M208 X500 Y500 Z500 S0 ; set axis maxima; Endstops
M574 X1 S1 P"io0.in" ; configure active high endstops
M574 Y2 S1 P"io1.in" ; configure active high endstops; Filament Runout Sensor
M591 D0 P1 C"io6.in" S1 ; simple sensor (high signal when filament present) connected to IO_6 for drive 0, enabled
;M591 D0 ; display filament sensor parameters for extruder drive 0M671 X-4.5:250:505 Y-4.52:505:-4.52 S10 ; define positions of Z leadscrews or bed levelling screws
M557 X50:450 Y50:450 P5 ; define 5x5 mesh grid; Heaters
M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed" ; configure sensor 0 as thermistor on pin temp0
M950 H0 C"out0" T0 ; create bed heater output on out5 and map it to sensor 0
M307 H0 B0 S.50 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S85 ; set temperature limit for heater 0 to 110C;; Run Bed PID Tune!! Below is an example for a 300x300 bed
;M307 H0 A303.1 C356.7 D1.4 S1.00 V24.0 B0
M307 H0 R0.467 K0.281:0.000 D7.29 E1.35 S1.00 B0; Fans
M950 F0 C"out4" Q450 ; create fan 0 on pin out4 and set its frequency
M106 P0 C"Flexion Fan" S255 H-1 ; set fan 0 name and value. Thermostatic control is turned off
M950 F1 C"out3" Q500 ; create fan 1 on pin out3 and set its frequency
M106 P1 C"Revo Micro Fan" S255 H-1 ; set fan 1 name and value. Thermostatic control turned on for Hotend; Tools
M563 P0 S"Flexion Extruder" D0 H1 ; define tool 0
G10 P0 X10 Y-26 Z0 ; set tool 0 axis offsets
G10 P0 R215 S0 ; set initial tool 0 active and standby temperatures to 0CM563 P1 S"Revo Micro Extruder" D1 H2 ;define tool 1
G10 P1 X-18.5 Y-56.5 Z0
;last: G10 P1 X-17 Y-56.5 Z0
G10 P1 R220 S0M950 H1 C"out1" T1 ; create nozzle heater output on out2 and map it to sensor 1
M307 H1 B0 S.60 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S230 ; set the maximum temperature in C for heaterM950 H2 C"out2" T2
M307 H2 B0 S.80
M143 H2 S290; EVA 2 / BMG / E3D V6
;M92 E690 ; set extruder steps per mm, 0.9 angle/step (LDO Pancake)
;M92 E304
M92 E244.17671:680
M906 E1361:800 ; set extruder motor current (mA) and idle factor in per cent
;Max: E1512
;Original: E800M308 S1 P"temp1" Y"thermistor" T100000 B3950 A"Flexion Heater"
;For mosquito:
M308 S2 P"temp2" Y"thermistor" T100000 B4725 C7.060000e-8 A"Revo Micro Heater"
;; Run Heater PID Tune!!
;; M307 H1 A751.5 C196.6 D4.7 S1.00 V23.9 B0
;Mosquito
;M307 H1 R3.108 K0.765:0.123 D6.44 E1.35 S1.00 B0
;M307 H1 R4.707 K1.275:0.000 D8.01 E1.35 S0.50 B0 V23.9
;Normal, extruder fan duct but no bed fan:
;M307 H1 R4.521 K0.457:0.000 D8.91 E1.35 S0.50 B0
;With bed fan:
;M307 H1 R3.793 K0.978:0.000 D9.61 E1.35 S0.60 B0
;Flexion PID params
;M307 H1 R3.308 K0.457:0.000 D11.78 E1.35 S0.50 B0
;Flexion PID params, FAN ON
M307 H1 R3.625 K0.519:0.000 D11.25 E1.35 S0.60 B0
;Revo Micro PID params
;M307 H2 R4.988 K1.051:0.000 D1.53 E1.35 S0.80 B0 V24.1
;M307 H2 R5.029 K0.514:0.000 D1.84 E1.35 S0.80 B0
;Revo Micro PID Params, FAN ON
M307 H2 R5.056 K0.775:0.000 D1.73 E1.35 S0.80 B0;Z-Probe
;; Inductive Probe
; M558 P5 C"!io3.in" H5 F400 T5000 ; set Z probe type to unmodulated and the dive height + speeds
; G31 P500 X-30 Y-15 Z0.20 ; set Z probe trigger value, offset and trigger height, more Z means closer to the bed
; BLTouch
M950 S0 C"io2.out" ; Create a servo pin on io2
M558 P9 C"io2.in" H5 F240 T10800 A5 ; set Z probe type to unmodulated and the dive height + speeds
;M558 C"zprobe.in" P8 R0.4 F1200 H10 T6000
G31 P25 X10.00 Y-30.00 Z1.2 ; set Z probe trigger value, offset and trigger height, more Z means closer to the bed; Select default tool
T0; Pressure Advance
; M572 D0 S0.10 -
@tylersuard said in Filament sensor problems after firmware upgrade to 3.5.0-beta.4:
M25
M79 P200 Filament runout!The board still does nothing when I insert or remove filament in the sensor.
M25 will only do something (pause movement) if there's a print in progress. It will run pause.g
Note that if a pause is commanded while a macro is being executed, the pause will be deferred until the macro has completed.M79 does not appear to be a supported command in RRF. Not sure what you're trying to do here.
I presume it worked before the upgrade, but can you confirm the switch is wired as noted here?
Try putting something like this in your filament-error.g
G4 P10 ; delay 10ms to debounce switch if sensors.filamentMonitors[0].status="ok" echo "switch bounce detected - error cancelled" M99 ; break out if sensor value is zero again (bouncing) echo "Filament runout detected" if state.status="processing" ; check if a print is running echo "Pausing print" M25 ; pause print
-
Can you send M98 P"config.g" and share any errors?