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

    Filament sensor problems after firmware upgrade to 3.5.0-beta.4

    Scheduled Pinned Locked Moved Unsolved
    Beta Firmware
    4
    9
    380
    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.
    • tylersuardundefined
      tylersuard
      last edited by tylersuard

      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, enabled

      M591 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?

      dc42undefined 1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators @tylersuard
        last edited by

        @tylersuard please share the contents of your filament-error.g file.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        tylersuardundefined 3 Replies Last reply Reply Quote 0
        • tylersuardundefined
          tylersuard @dc42
          last edited by

          @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?

          1 Reply Last reply Reply Quote 0
          • tylersuardundefined
            tylersuard @dc42
            last edited by

            @dc42 I created a new filament-error.g file, and this is its contents:

            M25
            M79 P200 Filament runout!

            Is that ok?

            1 Reply Last reply Reply Quote 0
            • tylersuardundefined
              tylersuard @dc42
              last edited by

              @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.

              OwenDundefined 1 Reply Last reply Reply Quote 0
              • Phaedruxundefined Phaedrux marked this topic as a question
              • Phaedruxundefined Phaedrux moved this topic from Firmware installation
              • Phaedruxundefined
                Phaedrux Moderator
                last edited by

                Can you post your full config.g?
                Where is the extruder connected?

                Z-Bot CoreXY Build | Thingiverse Profile

                tylersuardundefined 1 Reply Last reply Reply Quote 0
                • tylersuardundefined
                  tylersuard @Phaedrux
                  last edited by

                  @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 V2

                  M584 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 V2

                  M917 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 timeout

                  M566 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 0

                  M671 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 0C

                  M563 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 S0

                  M950 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 heater

                  M950 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: E800

                  M308 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

                  1 Reply Last reply Reply Quote 0
                  • OwenDundefined
                    OwenD @tylersuard
                    last edited by

                    @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
                    
                    1 Reply Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator
                      last edited by

                      Can you send M98 P"config.g" and share any errors?

                      Z-Bot CoreXY Build | Thingiverse Profile

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