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

    [3.4.0rc1] cold extrusion not prevented

    Scheduled Pinned Locked Moved
    Beta Firmware
    2
    3
    274
    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.
    • marvineerundefined
      marvineer
      last edited by marvineer

      Hello folks,

      I think I have found a bug in the current 2.4 release candidate: cold extrusion is not prevented.
      M302 gives the following result:

      Cold extrusion is forbidden (use M302 P1 to allow it), min. extrusion temperature 160.0C, min. retraction temperature 90.0C
      

      The extrude- and retract-buttons in DWC are grey as they should.
      However, when i send "G1 E10" or use PanelDue the extruder turns perfectly fine - but it shouldnt with the hotend at 27°C!

      Here is my Config:

      ; Configuration file for Duet 3 (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun Apr 04 2021 16:43:44 GMT+0200 (Mitteleuropäische Sommerzeit)
      
      ; General preferences
      G90                                                       ; send absolute coordinates...
      M83                                                       ; ...but relative extruder moves
      M550 P"MultiPrint"                                        ; set printer name
      M551 P"abc123"
      M669 K1                                                   ; select CoreXY mode
      M80 C"!pson"                                              ; invert the PS_ON output for Meanwell power supply
      
      ; Network
      M552 P0.0.0.0 S1                                          ; enable network and set IP address
      M553 P255.255.255.0                                       ; set netmask
      M554 P192.168.1.254                                       ; set gateway
      M586 P0 S1                                                ; enable HTTP
      M586 P1 S0                                                ; disable FTP
      M586 P2 S0                                                ; disable Telnet
      
      ; Drives
      M569 P0.2 S0                                              ; physical drive 0.2 goes backwards   (X  - Axis)
      M569 P0.1 S0                                              ; physical drive 0.1 goes backwards   (Y  - Axis)
      M569 P0.0 S1                                              ; physical drive 0.0 goes forwards    (Z  - Axis)
      M569 P0.3 S0                                              ; physical drive 0.3 goes backwards   (C  - COUPLER)
      M569 P0.4 S1                                              ; physical drive 0.4 goes forwards    (B  - BRUSH)
      M569 P1.1 S0                                              ; physical drive 1.0 goes backwards   (A  - CAMERA)
      M569 P0.5 S1                                              ; physical drive 0.5 goes forwards    (E0 - V6)
      M569 P1.0 S1                                              ; physical drive 1.0 goes forwards    (E1 - Volcano)
      M569 P121.0 S0                                            ; physical drive 121.0 goes forwards  (E2 - HighTemp Direct)
      
      M584 X0.2 Y0.1 Z0.0 C0.3 B0.4 A1.1 E0.5:1.0:121.0         ; set drive mapping
      M350 X16 Y16 Z16 B16 A32 E16:16:16 I1                     ; configure microstepping with interpolation
      M350 C16 I0											      ; configure microstepping without interpolation
      M92 X100 Y100 Z1600 C91.022 B128 A17.7777 E393:393:409    ; set steps per mm
      M98 P"/Macros/Speeds/speeds_no-tool"                      ; set speeds, jerk and accel. for the beginning (no tool active)
      M566 Z8 C2 B8 A8 E500:500:500                             ; set maximum instantaneous speed changes (mm/min)
      M203 Z1400 C8000 B1000 A2000 E3600:3600:3600              ; set maximum speeds (mm/min)
      M201 Z400 C500 B500 A500 E3000:3000:3000                  ; set accelerations (mm/s^2)
      M906 X1800 Y1800 Z1130 B500 A1100 I30                     ; set motor currents (mA) and motor idle factor in per cent (X Y Z B)
      M906 C500 E1000:1000:1000 I10     						  ; set motor currents (mA) and motor idle extruder motors to 10%
      M84 S15                                                   ; Set idle timeout
      
      ; Axis Limits
      M98 P"/Macros/Boundaries/ToolHead.g"
      M208 Z0:270 C-45:360 B0:23 A-5:90                         ; set axis limits (min:max)
      
      ; Endstops
      M574 X1 S1 P"^io1.in"                                     ; configure active-high endstop for low end on X via pin ^io1.in
      M574 Y1 S1 P"^io2.in"                                     ; configure active-high endstop for low end on Y via pin ^io2.in
      M574 C0 Z0  						                      ; No C and Z endstop
      M574 B1 S1 P"^io5.in"                                     ; configure active-high endstop for low end on B via pin ^io5.in
      M574 A1 S1 P"^1.io1.in"                                   ; configure active-high endstop for low end on A via pin ^1.io1.in
      
      ; Z-Probe
      M558 P5 C"^io3.in" H2 F300 I0 T30000                      ; set Z probe type to switch and the dive height + speeds
      G31 P200 X0 Y0 Z0                                         ; set Z probe trigger value, offset and trigger height
      M557 X10:290 Y20:180 S40 			                      ; Define mesh grid
      
      ;Stall Detection
      M915 X Y S3 F0 H200 R4700				                  ; X / Y Axes
      
      ; Heaters
      M308 S0 P"temp0" Y"thermistor" A"Bed" T100000 B4138       ; configure sensor 0 as thermistor on pin temp0
      M950 H0 C"out0" T0 Q5                                     ; create bed heater output on out0 and map it to sensor 0 with a PWM freq of 5 Hz
      M307 H0 B0 R1.240 C413.8 D3.17 S1                         ; disable bang-bang mode for the bed heater and set PWM limit
      M140 H0                                                   ; map heated bed to heater 0
      M143 H0 S200                                              ; set temperature limit for bed heater 0 to 200C
      
      M308 S1 P"temp3" Y"thermistor" A"T0" T100000 B4138        ; configure sensor 1 as thermistor on pin temp3
      M950 H1 C"out3" T1                                        ; create nozzle heater output on out3 and map it to sensor 1   
      M307 H1 B0 R2.346 C199.8:175.3 D5.73 S1.00 V24.0          ; disable bang-bang mode for heater and set PWM limit
      M143 H1 S285                                              ; set temperature limit for heater 3 to 280C
      
      M308 S2 P"1.temp0" Y"thermistor" A"T1" T100000 B4138      ; configure sensor 2 as thermistor on pin temp3
      M950 H2 C"1.out0" T2                                      ; create nozzle heater output on 1.out1 and map it to sensor 2   
      M307 H2 R2.009 K0.341:0.045 D5.63 E1.35 S1.00 B0 V24.5    ; disable bang-bang mode for heater and set PWM limit
      M143 H2 S285                                              ; set temperature limit for heater 2 to 280C
      
      M308 S3 P"121.temp0" Y"thermistor" A"T2" T100000 B4138    ;B4725 C7.06e-8 configure sensor 3 as thermistor on pin 121.temp0
      M950 H3 C"121.out0" T3                                    ; create nozzle heater output on 121.out0 and map it to sensor 3
      M307 H3 B0 S1.00                                          ; disable bang-bang mode for heater  and set PWM limit
      M143 H3 S250                                              ; set temperature limit for heater 3 to 400C
      
      ; Fans
      M950 F0 C"out9" Q500                                      ; create fan 4 on pin out9 and set its frequency
      M106 P0 S0 H-1                                            ; set fan 4 value. Thermostatic control is turned off
      M950 F1 C"out8" Q500                                      ; create fan 5 on pin out8 and set its frequency
      M106 P1 S1 H1 T60                                         ; set fan 5 value. Thermostatic control is turned on
      
      M950 F2 C"1.out6" Q500                                    ; create fan 4 on pin out9 and set its frequency
      M106 P2 S0 H-1                                            ; set fan 4 value. Thermostatic control is turned off
      M950 F3 C"1.out7" Q500                                    ; create fan 5 on pin out8 and set its frequency
      M106 P3 S1 H2 T60                                         ; set fan 5 value. Thermostatic control is turned on
      
      M950 F4 C"121.out1" Q500                                  ; create fan 4 on pin 121.out1 and set its frequency
      M106 P4 S0 H-1                                            ; set fan 4 value. Thermostatic control is turned off
      M950 F5 C"121.out2" Q500                                  ; create fan 5 on pin 121.out2 and set its frequency
      M106 P5 S1 H3 T55                                         ; set fan 5 value. Thermostatic control is turned on
      
      M593 F42.2						                          ; cancel ringing at 42.2Hz (https://forum.e3d-online.com/threads/accelerometer-and-resonance-measurements-of-the-motion-system.3445/)
      
      ; Tools
      M563 P0 S"V6 Bowden" D0 H1 F0                             ; define tool 0
      G10 P0 X-9 Y39 Z-4.7                                      ; set tool 0 axis offsets
      G10 P0 R0 S0                                              ; set initial tool 0 active and standby temperatures to 0C
      
      M563 P1 S"Volcano Bowden" D1 H2 F2                        ; define tool 1
      G10 P1 X-9 Y39 Z-13.1                                     ; set tool 1 axis offsets
      G10 P1 R0 S0                                              ; set initial tool 1 active and standby temperatures to 0C
      
      M563 P2 S"Hemera Direct" D2 H3 F4                         ; define tool 2
      G10 P2 X20 Y43.5 Z-5.7                                    ; set tool 2 axis offsets
      G10 P2 R0 S0                                              ; set initial tool 2 active and standby temperatures to 0C
      M591 D2 P3 C"121.io1.in"                                  ; Configure filament sensing for tool 2
      
      
      ; Bowden tubes are ~700mm long so PA on the Bowden tools almost certainly needs to be increased
      M572 D0 S0.3 							; pressure advance T0
      M572 D1 S0.3 							; pressure advance T1
      M572 D2 S0.05 							; pressure advance T2
      
      ; Miscellaneous
      M575 P1 S1 B57600                                         ; enable support for PanelDue
      M911 S23.6 R23.8 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"    ; set voltage thresholds and actions to run on power loss
      
      ; Tool Detect Switches
      M950 J5 C"^io4.in"                                        ; input 5 - ActiveToolDetect
      
      ; Lights
      M950 P0 C"out1" Q500
      M98 P"/Macros/Light-Control/MainLight_toggle"
      
      M950 P1 C"out2" Q500
      ;M98 P"/Macros/Light-Control/HeadLight_toggle"
      
      M150 X1
      M150 R255 U255 B255 P10 S18
      
      ;MCU Temp Calibration
      M912 P0 S{21-12}                                            ;room temp: 21°C
                                                                  ;reportet MCU temp right after startup: 12°C
      M308 S7 Y"mcu-temp" A"6HC MCU"                             ;show MCU-temp in DWC (Tools -> Extra) Graph
      M308 S8 Y"mcu-temp" P"1.dummy" A"3HC MCU"
      M308 S9 Y"mcu-temp" P"121.dummy" A"1LC MCU"
      
      ; Variable declarations
      if !exists(global.IdlePos_X)
      	global IdlePos_X = -170
      if !exists(global.IdlePos_Y) 
      	global IdlePos_Y = +100
      
      

      ... and M122 throwes the following:

      === Diagnostics ===
      RepRapFirmware for Duet 3 MB6HC version 3.4.0rc1 (2022-02-09 10:28:13) running on Duet 3 MB6HC v0.6 or 1.0 (standalone mode)
      Board ID: 08DJM-956L2-G43S4-6JTD4-3SS6J-TA7GH
      Used output buffers: 7 of 40 (40 max)
      === RTOS ===
      Static ram: 150984
      Dynamic ram: 97248 of which 0 recycled
      Never used RAM 99584, free system stack 194 words
      Tasks: NETWORK(ready,27.5%,219) ETHERNET(notifyWait,0.1%,168) HEAT(notifyWait,0.0%,327) Move(notifyWait,0.0%,259) CanReceiv(notifyWait,0.0%,797) CanSender(notifyWait,0.0%,356) CanClock(delaying,0.0%,339) TMC(notifyWait,8.0%,92) MAIN(running,64.3%,925) IDLE(ready,0.1%,30), total 100.0%
      Owned mutexes:
      === Platform ===
      Last reset 00:03:15 ago, cause: software
      Last software reset at 2022-02-14 17:05, reason: User, GCodes spinning, available RAM 99336, slot 2
      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a
      Error status: 0x04
      Aux0 errors 0,0,0
      Step timer max interval 144
      MCU temperature: min 36.2, current 45.3, max 45.6
      Supply voltage: min 24.0, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
      12V rail voltage: min 12.0, current 12.0, max 12.1, under voltage events: 0
      Heap OK, handles allocated/used 99/2, heap memory allocated/used/recyclable 2048/24/0, gc cycles 0
      Events: 0 queued, 0 completed
      Driver 0: pos 0, standstill, SG min 0, mspos 8, reads 43229, writes 14 timeouts 0
      Driver 1: pos 0, standstill, SG min 0, mspos 8, reads 43228, writes 16 timeouts 0
      Driver 2: pos 0, standstill, SG min 0, mspos 8, reads 43228, writes 16 timeouts 0
      Driver 3: pos 0, standstill, SG min 0, mspos 8, reads 43230, writes 14 timeouts 0
      Driver 4: pos 0, standstill, SG min 0, mspos 8, reads 43230, writes 14 timeouts 0
      Driver 5: pos 0, standstill, SG min 0, mspos 8, reads 43230, writes 14 timeouts 0
      Date/time: 2022-02-14 17:08:32
      Slowest loop: 6.67ms; fastest: 0.05ms
      === Storage ===
      Free file entries: 10
      SD card 0 detected, interface speed: 25.0MBytes/sec
      SD card longest read time 1.1ms, write time 0.0ms, max retries 0
      === Move ===
      DMs created 125, segments created 0, maxWait 131895ms, bed compensation in use: none, comp offset 0.000
      === MainDDARing ===
      Scheduled moves 1, completed 1, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], CDDA state -1
      === AuxDDARing ===
      Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === Heat ===
      Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
      Heater 2 is on, I-accum = 0.0
      === GCodes ===
      Segments left: 0
      Movement lock held by null
      HTTP is idle in state(s) 0
      Telnet is idle in state(s) 0
      File is idle in state(s) 0
      USB is idle in state(s) 0
      Aux is idle in state(s) 0
      Trigger is idle in state(s) 0
      Queue is idle in state(s) 0
      LCD is idle in state(s) 0
      SBC is idle in state(s) 0
      Daemon is idle in state(s) 0
      Aux2 is idle in state(s) 0
      Autopause is idle in state(s) 0
      Code queue is empty
      === Filament sensors ===
      Extruder 2: no data received
      === CAN ===
      Messages queued 1802, received 7958, lost 0, boc 0
      Longest wait 3ms for reply type 6053, peak Tx sync delay 204, free buffers 50 (min 48), ts 979/978/0
      Tx timeouts 0,0,0,0,0,0
      === Network ===
      Slowest loop: 4.28ms; fastest: 0.02ms
      Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions
      HTTP sessions: 1 of 8
      - Ethernet -
      State: active
      Error counts: 0 0 1 0 0
      Socket states: 5 2 2 2 2 0 0 0
      

      So, am I doing something wrong or is this a bug in RRF? The printer is an E3D ToolChanger with 3 tools, this problem occurs when any of them is active.

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

        @marvineer cold extrusion prevention doesn't currently work on extruders drive from CAN-connected expansion boards. https://docs.duet3d.com/en/User_manual/RepRapFirmware/CAN_limitations

        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 1
        • marvineerundefined
          marvineer
          last edited by

          Thanks, seems I have missed that! I guess I will take that as "i have done something wrong" - until version 3.5 🙂

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