Duet 3 - Cooling fan configurations
-
Because the Duet is built around the concept of flexible tools. Some of those decisions and functions only become usefully apparent when multiple tools are apparent.
I would agree that it would be clearer for new users with only a single tool to show only a single slider, but it's really not such a big deal is it? You can hide it if you wish. There is a button right above it that says change visibility.
Here's another use case that might make more sense even if you have only a single tool, you may have 2 part cooling fans. left and right for instance. The tool fan will control the fans configured in the tool definition, so both fans at once. But you would also have an independant slider for each fan in case you wanted to adjust only one or the other.
-
Thanks for the example! So basically "all" tool fans i guess.
EDIT: I moved this side-talk to https://forum.duet3d.com/topic/21300/tool-fans-representation-within-dwcBut I deraild now what the OP had as problem! He actually sat down and tried different values and there seems to be some intertwining with the fans anyway (let´s keep DWC out from now on):
"
If the temperature on the tool fan is below the set point (35c) then only Fan 0 (part cooling fan) turns on. If the temp on the hotend is above 35c then moving the slider in the DWC ui changes the speed in both fans
"
Sorry @kj3d -
@kj3d Can you post your config.g as copy and paste text?
Can you also send M122 and post the results, along with M98 P"config.g"?
your config appears to be correct. Usually if the heat sink fan is changing speed along with the part cooling fan that would indicate either the tool definition is incorrectly mapping both fans, or there is a wiring problem.
-
If you happen to have a permanent marker or a sticker I like to put that on the fan, that helps to be able to vaguely judge the running speed beside wetting a finger and putting it in front of it
-
config.g:
; Configuration file for Duet 3 (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.2.2 on Wed Jan 27 2021 12:22:57 GMT+0000 (Greenwich Mean Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"KJ3D Delta" ; set printer name
M665 R227 L440 B185 H405 ; Set delta radius, diagonal rod length, printable radius and homed height
M666 X0 Y0 Z0 ; put your endstop adjustments here, or let auto calibration find them; Network
M551 P"freddy5363" ; set password
M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0.0 S1 ; physical drive 0.0 goes forwards
M569 P0.1 S1 ; physical drive 0.1 goes forwards
M569 P0.2 S1 ; physical drive 0.2 goes forwards
M569 P0.3 S1 ; physical drive 0.3 goes forwards
M584 X0.0 Y0.1 Z0.2 E0.3 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z80.00 E335.00 ; set steps per mm
M566 X1200.00 Y1200.00 Z1200.00 E1200.00 ; set maximum instantaneous speed changes (mm/min)
M203 X18000.00 Y18000.00 Z18000.00 E1200.00 ; set maximum speeds (mm/min)
M201 X1000.00 Y1000.00 Z1000.00 E1000.00 ; set accelerations (mm/s^2)
M906 X1000 Y1000 Z1000 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 Z0 S1 ; set minimum Z; Endstops
M574 X2 S1 P"io1.in" ; configure active-high endstop for high end on X via pin io1.in
M574 Y2 S1 P"io2.in" ; configure active-high endstop for high end on Y via pin io2.in
M574 Z2 S1 P"io3.in" ; configure active-high endstop for high end on Z via pin io3.in; Z-Probe
M558 P5 R0.4 C"io4.in+io4.out" H5 F1200 T6000 ; set Z probe type to effector and the dive height + speeds
;M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved
G31 P500 X0 Y0 Z-0.232 ; set Z probe trigger value, offset and trigger height
M557 R185 S20 ; define mesh grid; Heaters
M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp1
M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S280 ; set temperature limit for heater 1 to 280C; Fans
M950 F0 C"out4" Q500 ; create fan 0 on pin out4 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"out5" Q500 ; create fan 1 on pin out5 and set its frequency
M106 P1 S1 H1 T35 ; set fan 1 value. Thermostatic control is turned on; Tools
M563 P0 D0 H1 F0 ; 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; Custom settings are not defined
; Miscellaneous
M575 P1 S1 B57600 ; enable support for PanelDue
M501 ; load saved parameters from non-volatile memory
M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss -
M112 produced an interesting result (sent via consel)
-
M122 was much better!!
KJ3D Delta
Send code...
Status
Idle
Mode: FFF
Tool Position
X
0.0
Y
0.0
Z
399.04
Extruder Drives
Drive 0
0.0
Speeds
Requested Speed
0 mm/s
Top Speed
0 mm/s
Sensors
Vin
23.9 V
V12
12.1 V
MCU Temperature
29.5 C
Z-Probe
0
Tools
Extra
Control All
Tool Heater Current Active Standby
Tool 0
T0 - Sunlu - White Heater 1
off 13.1 C
0
0
Bed Heater 0
off 15.4 C
0
0
Temperature Chart
M122
29/01/2021, 18:43:40 M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.01-RC9 running on Duet 3 MB6HC v1.01 or later
Board ID: 08DJM-956BA-NA3TJ-6JKD4-3S46M-KB8USUsed output buffers: 1 of 40 (12 max)
=== RTOS ===
Static ram: 154572
Dynamic ram: 161276 of which 44 recycled
Exception stack ram used: 440
Never used ram: 76884
Tasks: NETWORK(ready,236) ETHERNET(blocked,444) HEAT(blocked,1184) CanReceiv(suspended,3824) CanSender(suspended,1436) CanClock(blocked,1428) TMC(blocked,80) MAIN(running,4532) IDLE(ready,80)
Owned mutexes:
=== Platform ===
Last reset 00:00:54 ago, cause: software
Last software reset at 2021-01-29 18:42, reason: User, spinning module GCodes, available RAM 77060 bytes (slot 2)
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task 0x4e49414d
Error status: 0
Free file entries: 10
SD card 0 detected, interface speed: 25.0MBytes/sec
SD card longest block write time: 0.0ms, max retries 0
MCU temperature: min 28.2, current 29.4, max 29.5
Supply voltage: min 23.8, current 23.9, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 12.0, current 12.1, max 12.2, under voltage events: 0
Driver 0: standstill, reads 5931, writes 19 timeouts 0, SG min/max 0/166
Driver 1: standstill, reads 5932, writes 19 timeouts 0, SG min/max 0/160
Driver 2: standstill, reads 5932, writes 19 timeouts 0, SG min/max 0/158
Driver 3: standstill, reads 5938, writes 14 timeouts 0, SG min/max 0/0
Driver 4: standstill, reads 5942, writes 11 timeouts 0, SG min/max 0/0
Driver 5: standstill, reads 5942, writes 11 timeouts 0, SG min/max 0/0
Date/time: 2021-01-29 18:43:40
Slowest loop: 8.89ms; fastest: 0.14ms
=== Move ===
Hiccups: 0(0), FreeDm: 375, MinFreeDm: 369, MaxWait: 13123ms
Bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves: 5, completed moves: 5, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
=== AuxDDARing ===
Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
=== Heat ===
Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
=== 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
Autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 10.27ms; fastest: 0.03ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
HTTP sessions: 1 of 8- Ethernet -
State: active
Error counts: 0 0 0 0 0
Socket states: 5 2 2 2 2 0 0 0
=== CAN ===
Messages sent 219, longest wait 0ms for type 0
=== Linux interface ===
State: 0, failed transfers: 0
Last transfer: 54411ms ago
RX/TX seq numbers: 0/1
SPI underruns 0, overruns 0
Number of disconnects: 0
Buffer RX/TX: 0/0-0
29/01/2021, 18:42:49 Connection established
29/01/2021, 18:42:49 Connection interrupted, attempting to reconnect...
29/01/2021, 18:40:57 Emergency stop, attemping to reconnect...
- Ethernet -
-
@kj3d said in Duet 3 - Cooling fan configurations:
RepRapFirmware for Duet 3 MB6HC version 3.01-RC9 running on Duet 3 MB6HC v1.01 or later
Let's update your firmware.
If you still have access to DWC. Upload these zip files, one at a time. Don't extract them. Reboot after each. Use M115 to verify the firmware has been applied.
https://github.com/Duet3D/RepRapFirmware/releases/download/3.0/Duet2and3Firmware-3.0.zip
https://github.com/Duet3D/RepRapFirmware/releases/download/3.2/Duet2and3Firmware-3.2.zip
That will get your firmware and DWC up to date. -
@Phaedrux said in Duet 3 - Cooling fan configurations:
M98 P"config.g"?
-
Please confirm how the files are uploaded (DWC is connected)
-
Go to the system tab and use the upload file button.
-
Thanks
-
Updates done (very impressed at how easy that was!!)
-
Will test the revised Firmware in the morning and let you know how it is
Thanks for everyone's help today.
-
An Update
I am pleased with the results this morning. The firmware update has sorted out the issues (except in DWC with the two fan option for display) The part cooling fan and the hotend fan now behave exactly as they should when a print is running.
I only have one remaining question and that is with regards the RRF tool that I initially used. That did not seem to compile the firmware correctly, perhaps that was down to me extracting the contents of the zip file it created onto the SD card. I am certain that I had ticked the box to run the latest firmware option, yet it clearly did not. The update method suggested by @Phaedrux was much better.
Running M112 (instead of M122) blew the heatbed fuse, so I shall be more attentive in future!!
I am so pleased with the print results from the board that I have just ordered another one to update our corexy printer.
Thanks to everyone who offered advice on the forum - it helped a great deal.
-
@kj3d said in Duet 3 - Cooling fan configurations:
Running M112 (instead of M122) blew the heatbed fuse, so I shall be more attentive in future!!
why would a stop blow the fuse?
-
I don't understand that either. Using the old firmware created an alarm situation shortly before the fuse blew saying that voltages had been exceeded. The power supply is fine so hard to understand.
-
@kj3d said in Duet 3 - Cooling fan configurations:
I only have one remaining question and that is with regards the RRF tool that I initially used. That did not seem to compile the firmware correctly, perhaps that was down to me extracting the contents of the zip file it created onto the SD card. I am certain that I had ticked the box to run the latest firmware option, yet it clearly did not. The update method suggested by @Phaedrux was much better.
It includes the firmware bin file, and that's all. If you upload the complete zip file it produces to the system tab it will extract it for you and then prompt to update. However at the moment it only includes the firmware bin file, but not any of the required IAP files, so if those are missing the update would fail.
If you extracted the zip file from the config tool and manually copied it onto the SD card it won't do anything until you tell it to update the firmware with M997.
-
Thanks for that explanation - that makes a lot of sense.
Regards - KJ3d