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

    Fan0 issues, only responds to m106 when NOT printing

    Scheduled Pinned Locked Moved Solved
    General Discussion
    5
    11
    463
    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.
    • stavrosgmtlundefined
      stavrosgmtl
      last edited by stavrosgmtl

      So in the last week, my part cooling fan0 stopped working on my duet 2 wifi.

      I tested the fan always on, perfect. PWM control via m106, no problem. But when actually printing, m106 is ignored. I checked the gcode, it looked fine.

      In fact the part fan comes on after a print if you stick a m106 s1, in the post print, after z < 300. I mean at this point I am the holy water stage.

      I thought it might have been a profile issue in Simplify3D, kiss slicer had the same problem. If anyone has a Cura profile for a duet2 equipped delta, I'd try that.

      I've also swapped the board out of my cr10, no change. Tried versions 3.4 and 3.44.

      I am at my wits end. Any help would be greatly appreciated.

      m122 output;

      11/10/2022, 9:57:47 PM	m122
      === Diagnostics ===
      RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.4 (2022-10-20 16:17:41) running on Duet WiFi 1.02 or later
      Board ID: 0JD0M-9P61A-J8PSJ-6J1FJ-3S86S-9SRUS
      Used output buffers: 3 of 26 (20 max)
      === RTOS ===
      Static ram: 23860
      Dynamic ram: 74444 of which 68 recycled
      Never used RAM 13708, free system stack 180 words
      Tasks: NETWORK(notifyWait,13.2%,242) HEAT(notifyWait,0.0%,333) Move(notifyWait,0.0%,363) MAIN(running,85.9%,440) IDLE(ready,0.9%,30), total 100.0%
      Owned mutexes: WiFi(NETWORK)
      === Platform ===
      Last reset 00:01:45 ago, cause: software
      Last software reset at 2022-11-10 21:56, reason: User, GCodes spinning, available RAM 13564, slot 2
      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
      Error status: 0x00
      Aux0 errors 0,0,0
      Step timer max interval 0
      MCU temperature: min 40.2, current 40.9, max 41.3
      Supply voltage: min 24.3, current 24.5, max 24.6, under voltage events: 0, over voltage events: 0, power good: yes
      Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
      Events: 0 queued, 0 completed
      Driver 0: standstill, SG min n/a
      Driver 1: standstill, SG min n/a
      Driver 2: standstill, SG min n/a
      Driver 3: standstill, SG min n/a
      Driver 4: standstill, SG min n/a
      Driver 5: 
      Driver 6: 
      Driver 7: 
      Driver 8: 
      Driver 9: 
      Driver 10: 
      Driver 11: 
      Date/time: 2022-11-10 21:57:46
      Cache data hit count 3654293623
      Slowest loop: 9.78ms; fastest: 0.18ms
      I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
      === Storage ===
      Free file entries: 10
      SD card 0 detected, interface speed: 20.0MBytes/sec
      SD card longest read time 1.3ms, write time 0.0ms, max retries 0
      === Move ===
      DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000
      === MainDDARing ===
      Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], 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, chamber heaters -1 -1 -1 -1, ordering errs 0
      Heater 1 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
      Daemon is idle in state(s) 0
      Autopause is idle in state(s) 0
      Code queue is empty
      === Network ===
      Slowest loop: 12.73ms; fastest: 0.00ms
      Responder states: HTTP(2) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
      HTTP sessions: 1 of 8
      = WiFi =
      Network state is active
      WiFi module is connected to access point 
      Failed messages: pending 0, notready 0, noresp 0
      WiFi firmware version 1.27
      WiFi MAC address 48:3f:da:71:af:d2
      WiFi Vcc 3.40, reset reason Turned on by main processor
      WiFi flash size 4194304, free heap 20952
      WiFi IP address 10.0.0.223
      WiFi signal strength -36dBm, mode 802.11n, reconnections 0, sleep mode modem
      Clock register 00002002
      Socket states: 0 0 0 0 0 0 0 0
      

      my config.g

      ; Configuration file for UltiBots D300VS Delta 3D Printer
      ; Configuration file for D300vs+ Duet WiFi (firmware version 3.4)
      
      ;****** General preferences ******
      
      M575 P1 S1 B57600						; enable support for PanelDue
      G90                                     ; send absolute coordinates...
      G21                                 	; Work in millimeters 
      M83                                     ; ...but relative extruder moves
      M550 P"D300vs+"                         ; set printer name
      M111 S0 								; debug off
      ;M555 P2                           		; Set output to look like Marlin
      M575 P1 B57600 S1						; Communication parameters for the PanelDue
      
      ;****** Network ******
      M552 S1                                 ; enable network
      M586 P0 S1                              ; enable HTTP
      M586 P1 S0                              ; disable FTP
      M586 P2 S0                              ; disable Telnet
      
      
      ;****** Drives ******
      M569 P0 S0								; Drive 0 goes forwards (X tower)
      M569 P1 S0								; Drive 1 goes forwards (Y tower)
      M569 P2 S0								; Drive 2 goes forwards (Z tower)
      M569 P3 S0								; Drive 3 goes forwards (extruder 1)
      
      M584 X0 Y1 Z2 E3                ; set drive mapping
      
      M350 X64 Y64 Z64 I0 		; Set microstepping to 64 for X, Y and Z and without interpolation
      M350 E16 I1                          ; Set microstepping to 16 for extruder stepper with interpolation
      
      M92 X800 Y800 Z800		; Set axis X,Y,Z steps/mm
      
      M566 X1200 Y1200 Z1200 E300			; Maximum instant speed changes mm/minute
      M203 X20000 Y20000 Z20000 E3600		; Set Maximum speeds (mm/min)
      M906 X1000 Y1000 Z1000 E1400			; Set motor currents (mA)
      M84 S30                                                                 ; Set idle timeout
      
      ;****** End Stops ******
      ; 2.x ; M574 X2 Y2 Z2 S1				        ; Set endstop configuration (all endstops at high end, active high)
      M574 X2 S1 P"xstop"   					; X min active high endstop switch
      M574 Y2 S1 P"ystop"   					; Y min active high endstop switch
      M574 Z2 S1 P"zstop"   					; Z min active high endstop switch
      
      ;****** Fans ******
      ; 2.x ; M106 P1 T50 S255 H1				; Set hotend heatsink FAN1 thermostatic control at 50°C
      ; 2.x ; M106 P2 T70 S255 H0				; Set motherboard FAN2 thermostatic control at 60°C on the bed 
      
      M950 F0 C"fan0" Q500              ; create fan 0 on pin fan0 and set its frequency
      M106 P0 S0 H-1                          ; set fan 0 value. Thermostatic control is turned off
      M950 F1 C"fan1" Q500              ; create fan 1 on pin fan1 and set its frequency
      M106 P1 S255 H1 T50                ; set fan 1 value. Thermostatic control is turned on
      
      ;****** Thermistors ******
      ; 2.x ; M305 P0 T100000 B3950 R4700 L54 H-97				; Kapton bed heater thermistor
      ; 2.x ; M305 P1 R4700 T100000 B4725 C7.06e-8				; E3D V6 Semitec GT-104 thermistor cartridge
      M308 S0 P"bed_temp" Y"thermistor" T100000 B3950 			; define bed temperature sensor
      M308 S1 P"e0_temp" Y"thermistor" T100000 B4725 C7.06e-8 	; define E0 temperature sensor
      
      
      
      ;****** Heater configuration ******
      M950 H0 C"bed_heat" T0 ; heater 0 uses the bed_heat pin, sensor 0
      M140 H0
      M950 H1 C"e0_heat" T1 ; heater 1 uses the e0_heat pin and sensor 1
       
       
      ;****** Tool definitions ******
      M563 P0 D0 H1 F0 				; tool 0 uses extruder 0, heater 1 and fan 0
      G10 P0 S0 R0                                         ; Set tool 0 operating and standby temperatures
      
      M92 E850					    	 ; Set **extruder** steps/mm **PLA**
       
       ;****** Z probe and compensation definition ******
      ; MUST READ: http://www.sublimelayers.com/2017/05/fdffsd.html **STOCK**
      ; FSRs with JohnSL board Z probe behaves as a switch and is not used for homing any axes
      ; Change "H25" to "H3" AFTER commissioning your printer
      M558 P5 C"!e0stop" H3 F600 T1800		    ; *from FB group
      G31 X0 Y0 Z-0.35 P500				     ; More (-) Z is less smooshed, more (+) Z is more smooshed
      
      M557 R100 s20                    ; probe within a radius of 100mm from the center with a mesh spacing of 20mm
      
      ;****** Other Settings ******
      T0				               ; Select tool 0, the hot end
      M501		 		        ; run config-override.g
      

      and finally my config-override.g

      ; config-override.g file generated in response to M500 at 2022-11-10 19:53
      ; This is a system-generated file - do not edit
      ; Delta parameters
      M665 L376.000:376.000:376.000 R211.121 H460.672 B140.0 X-0.152 Y-0.161 Z0.000
      M666 X1.187 Y-2.268 Z1.081 A-0.59 B0.84
      ; Heater model parameters
      M307 H0 R0.622 K0.287:0.000 D3.92 E1.35 S1.00 B0
      M307 H1 R2.029 K0.573:0.000 D6.77 E1.35 S1.00 B0 V24.4
      ; Workplace coordinates
      G10 L2 P1 X0.00 Y0.00 Z0.00
      G10 L2 P2 X0.00 Y0.00 Z0.00
      G10 L2 P3 X0.00 Y0.00 Z0.00
      G10 L2 P4 X0.00 Y0.00 Z0.00
      G10 L2 P5 X0.00 Y0.00 Z0.00
      G10 L2 P6 X0.00 Y0.00 Z0.00
      G10 L2 P7 X0.00 Y0.00 Z0.00
      G10 L2 P8 X0.00 Y0.00 Z0.00
      G10 L2 P9 X0.00 Y0.00 Z0.00
      

      Here is a starting gcode sample;

      G90
      M82
      M106 S0
      M140 S70
      M104 S215 T0
      M109 S215 T0
      M106 S1
      G32 ; auto level
      M106 S0
      ; process Process1
      ; layer 1, Z = 0.200
      T0
      G92 E0.0000
      G1 E-1.5000 F1800
      ; feature skirt
      ; tool H0.200 W0.400
      

      and the 2nd layer;

      ; layer 2, Z = 0.400
      M106 S1
      G4 P500
      ; feature inner perimeter
      

      and finally, the end;

      ; layer end
      G91 ; relative positioning
      G1 E-1 F300 ; retract the filament a bit before lifting the nozzle to release some of the pressure
      G1 Z+1 E-10 F1500 ; move Z up a bit retract filament even more
      G28 ; move X to min endstop so the head is out of the way
      M106 s0; fan off
      M104 S0 ; extruder off
      M140 S0 ; bed off
      ;G4 S300
      ;M84 ; disable motors
      
      deckingmanundefined 1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        Can you share a sample gcode?

        Z-Bot CoreXY Build | Thingiverse Profile

        stavrosgmtlundefined 1 Reply Last reply Reply Quote 0
        • deckingmanundefined
          deckingman @stavrosgmtl
          last edited by

          @stavrosgmtl You say the fan stopped working. Can you confirm that it used to work and that it stopped working without you making any changes to the configuration? If that is the case, then we need to concentrate on the actual gcode that you are printing or something other than a configuration issue. One other possibility is that you have an intermittent bad connection such as a poor crimp which makes or breaks as the print head moves around. So sometimes it responds to an M106 and at other times it does not.

          Ian
          https://somei3deas.wordpress.com/
          https://www.youtube.com/@deckingman

          1 Reply Last reply Reply Quote 0
          • stavrosgmtlundefined
            stavrosgmtl @Phaedrux
            last edited by

            @Phaedrux m106 works perfectly, except when printing. So before starting a print, m106 works, after a print ends, it works. The identical m106 commands in the gcode are ignored.

            So i tested the fan on one of the always on ports, it worked perfectly. I swapped fans, no change.
            I tried different duet boards as well. no change.

            I did some calibration tweaks to my config recently as I switched to rails, and upgraded to 3.44. I checked the profile gcode vs code that worked in the past. I didn't see anything there.

            I downgraded to 3.4, and no change.

            So to your point, I think I've narrowed it down to to config or firmware.

            I 'll create some small sample gcode now for a 2 layer cube, and get back to everyone.

            Karimundefined Phaedruxundefined 2 Replies Last reply Reply Quote 0
            • Karimundefined
              Karim @stavrosgmtl
              last edited by Karim

              @stavrosgmtl This works for me, I am using prusa slicer 2.5.

              
              ; Fans
              M950 F0 C"fan0" Q500                               ; create fan 0 on pin fan0 and set its frequency
              M106 P0 S0 H-1                                     ; set fan 0 value. Thermostatic control is turned off
              M950 F1 C"fan1" Q500                               ; create fan 1 on pin fan1 and set its frequency
              M106 P1 S1 H1 T45                                  ; set fan 1 value. Thermostatic control is turned on
                        
              
              1 Reply Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator @stavrosgmtl
                last edited by

                @stavrosgmtl said in Fan0 issues, only responds to m106 when NOT printing:

                So to your point, I think I've narrowed it down to to config or firmware.

                It's possible there is an intermittent break in the wiring that only comes into effect when the print head is moving during a print?

                Z-Bot CoreXY Build | Thingiverse Profile

                stavrosgmtlundefined 1 Reply Last reply Reply Quote 0
                • stavrosgmtlundefined
                  stavrosgmtl @Phaedrux
                  last edited by

                  @Phaedrux not a bad idea to inspect wiring. Ill do that next.

                  stavrosgmtlundefined 1 Reply Last reply Reply Quote 0
                  • stavrosgmtlundefined
                    stavrosgmtl @stavrosgmtl
                    last edited by

                    fans tested wiring is perfect, replaced anyway, same thing.

                    dc42undefined 1 Reply Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator
                      last edited by

                      You can send M950 F0 and M106 P0 by themselves during a print to see what the firmware reports back as their current values.

                      Then try sending the M106 P0 S1 fan command manually during a print.

                      Z-Bot CoreXY Build | Thingiverse Profile

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

                        @stavrosgmtl perhaps something is wrong with the tool fan mapping. Please send T-1 and then test whether you can control the fan using M106 S0 and M106 S1. Then send T0 and test the fan again.

                        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

                        stavrosgmtlundefined 1 Reply Last reply Reply Quote 0
                        • stavrosgmtlundefined
                          stavrosgmtl @dc42
                          last edited by

                          @dc42 @Phaedrux I appreciate the help, I rewired the whip and voila it worked. Thank you everyone for your time. I should have rewired it from the start, the config is NOT that hard!

                          Cheers

                          1 Reply Last reply Reply Quote 0
                          • Phaedruxundefined Phaedrux marked this topic as a question
                          • Phaedruxundefined Phaedrux has marked this topic as solved
                          • First post
                            Last post
                          Unless otherwise noted, all forum content is licensed under CC-BY-SA