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

    Filament Runout Detection on Reprapf Firmware 3 (RRF3)

    Scheduled Pinned Locked Moved Solved
    Tuning and tweaking
    3
    6
    395
    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.
    • MacNiteundefined
      MacNite
      last edited by

      Hey guys,

      I have a problem with setting up Filament Runout Detection on RRF3. I use this code:

      M591 P3 C"e1_stop" S1
      Or M591 D1 P3 C"e1_stop" S1
      Or M591 D0 P3 C"e1_stop" S1

      The Filament Runout Sensor is a simple mechanical switch connected to the E1 Endstop. But using that it does not work. Meaning the endstop only says triggerd-no under the machine specific tab.
      The switchis not defectiv. The light while triggerd and not triggerd works. If I connect my filament-switch to (i.e.) the z-axis-Endstop input it works.

      Here you can see my complete config (at the moment filament ronout is commented out):

      ; Configuration file for Duet WiFi (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v2.1.4 on Thu Jan 02 2020 13:27:54 GMT+0100 (Mitteleuropäische Normalzeit)
      
      ; General preferences
      G90                                                    ; send absolute coordinates...
      M83                                                    ; ...but relative extruder moves
      M550 P"CR-3D C1"                                       ; set printer name
      
      M667 S1                                                ; select CoreXY mode
      
      ; Network
      M552 S1                                                ; enable network
      M586 P0 S1                                             ; enable HTTP
      M586 P1 S0                                             ; disable FTP
      M586 P2 S0                                             ; disable Telnet
      
      ; Drives
      M569 P0 S0                                             ; physical drive 0 for x goes forwards
      M569 P1 S0                                             ; physical drive 1 for y goes forwards
      M569 P2 S0                                             ; physical drive 2 for z goes forwards
      M569 P3 S0                                             ; physical drive 3 for coupler on E0 goes forwards
      M569 P4 S0                                             ; physical drive 4 for E1 goes forwards
      M569 P5 S0                                             ; physical drive 5 for E2 goes forwards
      M584 X0 Y1 Z2 C3 E4:5                                  ; set drive mapping
      M350 X16 Y16 Z16 C16 E16:16 I1                         ; configure microstepping with interpolation
      M92 X80 Y80 Z1600 E409:415                             ; set steps per mm
      M566 X300 Y300 Z12 E600                                ; set maximum instantaneous speed changes (mm/min)
      M203 X12000 Y12000 Z900 E1500                          ; set maximum speeds (mm/min)
      M201 X1200 Y1200 Z600 C600 E500:500                    ; set accelerations (mm/s^2)
      M906 X1500 Y1500 Z1400 C800 E800:800 I30              ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                                                ; set idle timeout
      
      ; Axis Limits
      M208 X0:300 Y-40:256 Z-10.8:310 C0:400             ; set axis limits
      
      ; Endstops
      M574 X2 S1 P"xstop"                                    ; configure active-high endstop for high end on X via pin xstop
      M574 Y2 S1 P"!ystop"                                   ; configure active-low endstop for high end on Y via pin ystop
      M574 C1 S1 P"e0stop"                                   ; configure active-high endstop for low end on C via pin E0stop
      
      ; Z-Probe
      M558 P5 C"zstop" H5 F120 T12000                        ; set Z probe type to switch and the dive height + speeds
      G31 P500 X0 Y35 Z2.5                                   ; set Z probe trigger value, offset and trigger height
      M557 X45:275 Y5:235 S45                                ; define mesh grid
      
      ; Temperature Sensor & Heaters
      	
      M308 S0 P"bedtemp" Y"thermistor" T100000 B4092         ; configure sensor 0 as thermistor on pin bedtemp                                   
      M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp
      ;M308 S2 P"e1temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 2 as thermistor on pin e1temp
      ;M308 S3 P"e2temp" Y"thermistor" T100000 B4092 S"Chamber"; configure sensor 3 as thermistor on pin e2temp (DUEX)
      
      ; Heaters
      M950 H0 C"bedheat" T0                                  ; create bed heater output on bedheat and map it to sensor 0
      M143 H0 S120                                           ; set temperature limit for heater 0 to 120C
      M307 H0 B0 S1.00  				       ; disable bang-bang mode for the nozzle heater and set PWM limit
      M950 H1 C"e0heat" T1                                   ; create nozzle heater output on e0heat and map it to sensor 1
      M143 H1 S280                                           ; set temperature limit for heater 1 to 280C
      M307 H1 B0 S1.00                                       ; disable bang-bang mode for the nozzle heater and set PWM limit
      ;M950 H2 C"e1heat" T2                                   ; create nozzle heater output on e0heat and map it to sensor 2
      ;M143 H2 S255                                           ; set temperature limit for heater 1 to 280C
      ;M307 H2 B0 S1.00                                       ; disable bang-bang mode for the nozzle heater and set PWM limit
      
      ; Fans
      M950 F0 C"fan0" Q500                                   ; part cooling T0 - create fan 0 on pin fan0 and set its frequency
      M106 P0 S0 H-1                                         ; part cooling T0 - set fan 0 value. Thermostatic control is turned off
      M950 F1 C"fan1" Q500                                   ; LED - create fan 1 on pin fan1 and set its frequency
      M106 P1 S0 H-1                                         ; LED - set fan 1 value. Thermostatic control is turned on
      M950 F2 C"fan2" Q500                                   ; coldend T0 - create fan 2 on pin fan2 and set its frequency
      M106 P2 S1 H1 T45                                      ; coldend T0 - set fan 2 value. Thermostatic control is turned on
      ;M950 F3 C"duex.fan3" Q500                              ; coldend T1 - create fan 3 on pin fan3 and set its frequency
      ;M106 P3 S1 H2 T45                                      ; coldend T1 - set fan 3 value. Thermostatic control is turned on
      M950 F4 C"duex.fan4" Q500                              ; part cooling T1 - create fan 4 on pin fan4 and set its frequency
      M106 P4 S0 H-1                                         ; part cooling T1 - set fan 4 value. Thermostatic control is turned on
      M950 F5 C"duex.fan5" Q500                              ; chamber - create fan 5 on pin fan45 and set its frequency
      M106 P5 S1 H2 T45                                      ; chamber - set fan 5 value. Thermostatic control is turned on
      
      ; Tool 0
      M563 P0 S"Hemera" D0 H1 F4                             ; define tool 0
      G10 P0 X0 Y0 Z0                                        ; set tool 0 axis offsets
      G10 P0 R0 S0                                           ; set initial tool 0 active and standby temperatures to 0C
      
      ; Tool 1
      ;M563 P1 S"BigBooster" D1 H2 F04                        ; define tool 1
      ;G10 P1 X0 Y0 Z0                                        ; set tool 1 axis offsets
      ;G10 P1 R0 S0                                           ; set initial tool 1 in-active and standby temperatures to 0C
      
      
      ; Filament Runout
      ;M591 P3 C"e1_stop" S1 
      ;M591 D0 P1 C"e1_stop" S1
      ;M591 D1 P1 C4 S1
      ;M591 D2 P2 C5 S1
      
      ; Custom settings are not defined
      
      ; Miscellaneous
      M501                                                   ; load saved parameters from non-volatile memory
      T0
      

      On another point:on the machine specific tab alway 5 endstops (0 to 4) are listed. Although 4 is not configured at the moment. Additionally I have a duex 5 connected. Why is it not showing up?

      Thanks for your help,
      Max

      CorEssentials on GitHub | Instructables Profile | Thingiverse Profile

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

        Are you aware that filament sensors are only active while printing from SD card?

        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

        1 Reply Last reply Reply Quote 0
        • MacNiteundefined
          MacNite
          last edited by

          Thanks for your Help.

          I an aware of that. But does that mean I can Not Test it while the Machine is Not printing?
          I thought that means that only the Pause is triggered during printing. Is that assumption wrong?

          Greets
          Max

          CorEssentials on GitHub | Instructables Profile | Thingiverse Profile

          dc42undefined 1 Reply Last reply Reply Quote 0
          • Leblondundefined
            Leblond
            last edited by

            Se mi posso permettere dato che l'ho appena risolto il problema che anche tu hai, ho un sensore meccanico tipo quello in foto e per me la configurazione ha funzionato, l'ho messo nel finecorsa di E1.
            M591 D0 P2 C"e0_stop" S1 , lo metti fondo al config, una volta salvato in console fai M591 D0 e ti dice se funziona o meno.runout.jpg

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

              @MacNite said in Filament Runout Detection on Reprapf Firmware 3 (RRF3):

              Thanks for your Help.

              I an aware of that. But does that mean I can Not Test it while the Machine is Not printing?
              I thought that means that only the Pause is triggered during printing. Is that assumption wrong?

              To test it, send M591 D# where # is the extruder drive number. It will report the status. In RRF 3.01 you can also retrieve the status via the object model.

              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

              1 Reply Last reply Reply Quote 0
              • MacNiteundefined
                MacNite
                last edited by

                Thanks David and Leblond.

                I feel so stupid I did not see this...works perfectly fine now!

                Greets ,
                have a nice weekend and stay safe.
                Max

                CorEssentials on GitHub | Instructables Profile | 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