Commissioning Fans
-
I am modifying another Lulzbot Workhorse. I've changed the toolhead to a Hemera XS with a BLTouch and a standard 5015 blower for a part cooling fan. All are connected to a Duet 3 Toolboard running from a Duet 3 Mini 5 with Paneldue. I started going through the commissioning steps and got hung pretty early. My fans do not seem to be functioning properly. My part cooling fan runs all the time which is contrary to the M106 P1 C"Part Cooling Fan" S0 B0.1 H1 T45" line in my config. Also I cant get my heat sink fan to run at all. I have confirmed that the location accurately coincides with the config. I considered skipping the fans step for now but I prefer to commission in sequence. I'd hoped that this may be an easy solve as something some of you may have seen before. Toolboards are new to me so I'm a bit out of my comfort zone with it. Below is my config as well as pictures of the toolhead. I can provide any further pics or info you may need. TYIA for your help.
; Configuration file for RepRapFirmware on Duet 3 Mini 5+ Ethernet ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.4+1 on Sun Apr 21 2024 09:30:28 GMT-0400 (Eastern Daylight Time) ; General G90 ; absolute coordinates M83 ; relative extruder moves M550 P"Lulzbot Workhorse" ; set hostname ; Accessories M575 P1 S0 B57600 ; configure PanelDue support ; Network M552 S1 ; enable network M586 P0 S1 ; configure HTTP M586 P1 S1 ; configure FTP M586 P2 S0 ; disable Telnet ; Expansion Board G4 S2 ; Wait a moment for the CAN expansion boards to become available ; Accelerometers M955 P121.0 I24 ; configure accelerometer on board #121 ; Smart Drivers M569 P0.1 S1 D2 ; driver 0.1 goes forwards (Y axis) M569 P0.2 S1 D2 ; driver 0.2 goes forwards (X axis) M569 P0.3 S1 D2 ; driver 0.3 goes forwards (LEFT Z axis) M569 P0.4 S0 D2 ; driver 0.4 goes backwards (RIGHT z axis) M569 P121.0 S1 D2 ; driver 121.0 goes forwards (extruder 0) ; Motor Idle Current Reduction M906 I30 ; set motor current idle factor M84 S30 ; set motor current idle timeout ; Axes M584 X0.2 Y0.1 Z0.3:0.4 ; set axis mapping M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation M906 X1200 Y1200 Z800 ; set axis driver currents M92 X80 Y80 Z80 ; configure steps per mm M208 X-42:309 Y-10:320 Z0:290 ; set minimum and maximum axis limits M566 X600 Y600 Z12 ; set maximum instantaneous speed changes (mm/min) M203 X9000 Y9000 Z180 ; set maximum speeds (mm/min) M201 X500 Y500 Z20 ; set accelerations (mm/s^2) ; Extruders M584 E121.0 ; set extruder mapping M350 E16 I1 ; configure microstepping with interpolation M906 E900 ; set extruder driver currents M92 E397 ; configure steps per mm M566 E120 ; set maximum instantaneous speed changes (mm/min) M203 E3600 ; set maximum speeds (mm/min) M201 E250 ; set accelerations (mm/s^2) ; Kinematics M669 K0 ; configure Cartesian kinematics ; Probes M558 K0 P9 C"121.io0.in" H5 F120 T6000 ; configure BLTouch probe via slot #0 G31 P500 X49.7 Y-19.3 Z0.7 ; set Z probe location, trigger value, offset and trigger height. If you have to move the nozzle closer to the bed, increase the G31 Z value by the amount of baby stepping used. If you have to move the nozzle farther away from the bed, decrease the G31 Z value by the amount of baby stepping used. M950 S0 C"121.io0.out" ; create servo #0 for BLtouch M376 H10 ; taper off bed compensation over 10mm ; Endstops M574 X1 P"io1.in" S1 ; configure X axis endstop M574 Y1 P"io2.in" S1 ; configure Y axis endstop M574 Z1 S2 ; configure Z axis endstop M574 'z2 P"io3.in" S1 ; configure z axis endstop ; Mesh Bed Compensation M557 X25:275 Y25:275 S62.5:62.5 ; define grid for mesh bed compensation ; Sensors M308 S0 P"temp0" Y"thermistor" A"Heated Bed" T100000 B4725 C7.06e-8 ; configure sensor #0 M308 S1 P"121.temp0" Y"thermistor" A"Nozzle" T100000 B4725 C7.06e-8 ; configure sensor #1 ; Heaters M950 H0 C"out1" T0 ; create heater #0 M143 H0 P0 T0 C0 S120 A0 ; configure heater monitor #0 for heater #0 M307 H0 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #0 M950 H1 C"121.out0" T1 ; create heater #1 M143 H1 P0 T1 C0 S300 A0 ; configure heater monitor #0 for heater #1 M307 H1 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #1 ; Heated beds M140 P0 H0 ; configure heated bed #0 ; Fans M950 F0 C"121.out2" ; create fan #0 M106 P0 C"Heatsink Fan" S0 B0.1 H1 T45 ; configure fan #0 M950 F1 C"121.out1" ; create fan #1 M106 P1 C"Part Cooling Fan" S0 B0.1 H1 T45 ; configure fan #1 ; Tools M563 P0 S"Tool 0" D0 H0 F0 ; create tool #0 M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C ; Miscellaneous
-
@SonnyD1 Send
M122
andM122 B121
in the DWC console, which will report the diagnostics for each board. My best guess is that the firmware versions for your mainboard and your toolboard don't match; they should, or various things don't work correctly.To update firmware, see https://docs.duet3d.com/User_manual/RepRapFirmware/Updating_firmware
Ian
-
@droftarts
Unless I'm missing something, it doesn't look like thats the issue. I updated both of them when I originally set them up. I will say that the symptoms are what you are describing. My DWC is acting weird as well. My heaters seem to be linked somehow (see attached photo). I don't know if the issues are related but I've never had this issue running without a toolboard. When I activate one heater, the other switches with it. Prevents me from moving forward in the commissioning process.All LED indicators are functioning IAW the instructions with two solid and one blinking in sync with the MB. Same with the MB.
Are the pins under the Fans section of the config being called out correctly?
M122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.1 (2024-04-19 14:41:25) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: K4V3J-AP6KL-K65J0-409NG-2012Z-7P0WG Used output buffers: 6 of 40 (25 max) === RTOS === Static ram: 103232 Dynamic ram: 121104 of which 12 recycled Never used RAM 17068, free system stack 190 words Tasks: NETWORK(2,nWait 7,13.3%,218) HEAT(3,nWait 6,0.0%,351) Move(4,nWait 6,0.0%,355) CanReceiv(6,nWait 1,0.0%,797) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,348) TMC(4,nWait 6,0.8%,102) MAIN(1,running,84.6%,651) IDLE(0,ready,0.4%,30) AIN(4,delaying,0.9%,260), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:01:43 ago, cause: power up Last software reset at 2024-04-21 11:24, reason: User, Gcodes spinning, available RAM 14636, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 MCU revision 3, ADC conversions started 103923, completed 103923, timed out 0, errs 0 MCU temperature: min 20.1, current 27.0, max 27.2 Supply voltage: min 23.7, current 23.8, max 23.9, 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 0, read errors 0, write errors 0, ifcnt 10, reads 5422, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 0, read errors 0, write errors 0, ifcnt 13, reads 5419, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 0, ifcnt 13, reads 5418, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 0, read errors 0, write errors 0, ifcnt 13, reads 5418, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 0, write errors 0, ifcnt 13, reads 5419, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 5: not present Driver 6: not present Date/time: 2024-05-18 13:50:06 Cache data hit count 198482355 Slowest loop: 17.53ms; fastest: 0.15ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 4.1ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === DDARing 0 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === DDARing 1 === 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 === GCodes === Movement locks held by null, 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 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x0000000 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 940, received 2059, lost 0, errs 0, boc 0 Longest wait 2ms for reply type 6053, peak Tx sync delay 6, free buffers 26 (min 25), ts 518/517/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 17.57ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.1.0 MAC address e8:68:e7:e1:50:dd Module reset reason: Power up, Vcc 3.39, flash size 2097152, free heap 36436 WiFi IP address 192.168.1.133 Signal strength -49dBm, channel 8, mode 802.11n, reconnections 0 Clock register 00002001 Socket states: 0 0 0 0 0 0 0 0
M122 B121 Diagnostics for board 121: Duet TOOL1LC rev 1.1 or later firmware version 3.5.1 (2024-04-19 14:42:41) Bootloader ID: SAMC21 bootloader version 2.4 (2021-12-10) All averaging filters OK Never used RAM 4040, free system stack 132 words Tasks: Move(3,nWait 7,0.0%,133) HEAT(2,nWait 6,0.2%,129) CanAsync(5,nWait 4,0.0%,55) CanRecv(3,nWait 1,0.0%,71) CanClock(5,nWait 1,0.0%,61) ACCEL(3,nWait 6,0.0%,53) TMC(2,delaying,3.4%,53) MAIN(1,running,91.7%,315) IDLE(0,ready,0.0%,27) AIN(2,delaying,4.6%,112), total 100.0% Owned mutexes: Last reset 00:02:00 ago, cause: power up Last software reset data not available Driver 0: pos 0, 397.0 steps/mm, standstill, SG min 0, read errors 0, write errors 0, ifcnt 13, reads 60455, writes 13, timeouts 0, DMA errors 0, CC errors 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, segs 0, step errors 0, maxLate 0 maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0, ebfmin 0.00 max 0.00 Peak sync jitter -2/8, peak Rx sync delay 207, resyncs 0/0, no timer interrupt scheduled VIN voltage: min 24.2, current 24.2, max 24.2 MCU temperature: min 17.7C, current 26.2C, max 26.2C Last sensors broadcast 0x00000002 found 1 209 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 2425, send timeouts 0, received 1103, lost 0, errs 0, boc 0, free buffers 18, min 18, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 Accelerometer: LIS3DH, status: 00 I2C bus errors 0, naks 3, contentions 0, other errors 0
-
@SonnyD1 said in Commissioning Fans:
M563 P0 S"Tool 0" D0 H0 F0
I think it's the tool assignments for heater and fan that are the problem. H0 is the bed! You want H1. F0 is the heatsink fan, you want the part cooling fan, F1. So it should be:
M563 P0 S"Tool 0" D0 H1 F1
You also have both fans set to thermostatic control, when the part cooling fan should be normally controlled:
; Fans
M950 F0 C"121.out2" ; create fan #0
M106 P0 C"Heatsink Fan" S0 B0.1 H1 T45 ; configure fan #0
M950 F1 C"121.out1" ; create fan #1
M106 P1 C"Part Cooling Fan" S0 B0.1 H1 T45 ; configure fan #1Change the last M106 to:
M106 P1 C"Part Cooling Fan" S0 B0.1 ; configure fan #1
5015 blower fans can be a little temperamental to get running with PWM. Check it runs at 100%. You may need to change the PWM frequency (M950 Q parameter) and/or add L and X parameters to M106.
Ian
-
@SonnyD1 said in Commissioning Fans:
My part cooling fan runs all the time
That's because you've wired it between ground and V_in (on a +VOUT pin). At least, that's what the photo looks like. The 'top' pin (nearest the edge with the power in) is permanently gnd and the next pin down is permanently +V (switchable what +V by the jumper). A two-wire fan should be connected between +VOUT and out1 on the OUT1 connector.
Your fan on OUT2 looks like it is wired correctly - between +V and out
-
@SonnyD1 Also I've just noticed your M140 is late. https://docs.duet3d.com/User_manual/Reference/Gcodes#order-dependency-4 says "In RRF3 a M140 command with H parameter (other than H-1) must come after the M950 command that creates that heater, and before any M143 command that sets a temperature limit for that heater." Yours is after teh relevant M143
-
@achrn Ok Thank you. I made those changes. The configuration tool made that error so I didn't even think to check the M140 location. The wiring issue was just my ignorance. Still following up on the other changes. I'll let ya know how it goes. Thank you for the help!
-
Like this?
; Fans M950 F0 C"121.out2" ; create fan #0 M106 P0 C"Heatsink Fan" S0 B0.1 H1 T45 ; configure fan #0 M950 F1 C"121.out1" Q250 ; create fan #1 M106 P1 C"Part Cooling Fan" S0 B0.1 L35 X250 ; configure fan #1
-
@droftarts @achrn Between the two of you, its working properly now. This is my first time using the new config tool. I don't remember the old one making these kinds of mistakes so I didn't think to check. There is an always on fan on my board that isn't functioning that I'm sure I can figure out on my own. I appreciate your help and patience during this process. Hopefully, I can get through the rest of the commissioning process on my own. TYVM!
-
This post is deleted!