Duet 3, trouble running fans on thermostatic mode
-
I'm having trouble running six fans for six E3D-V6 extruders on thermo mode. Attached is my config.g.
When running this config, heatbreak fans 2 & 3 do not run. When I mess around with the H# that they're attached to, they will run. When I set all of the heat break fans to run on thermo-mode while looking at the same heater (e.g. H1), some run and some do not.
I've confirmed that each fan runs individually, and I can read the temperature and heat each extruder just fine. Any advice?
I am running a Duet 3 MB6HC with 3 expansion boards, DSF Version 3.3.0, RRF 3.3
Thanks!
; Jubilee CoreXY ToolChanging Printer - Config File ; This file intended for Duet 3 hardware, main board plus onr expansion boards ; Name and network ; This is configured from the connected Raspberry Pi or here if in stand alone ; mode ;------------------------------------------------------------------------------- ; Networking ;M550 P"Jubilee" ; Name used in ui and for mDNS http://Jubilee.local ;M552 P192.168.1.2 S1 ; Use Ethernet with a static IP, 0.0.0.0 for dhcp ;M553 P255.255.255.0 ; Netmask ;M554 192.168.1.1 ; Gateway ; General setup ;------------------------------------------------------------------------------- M111 S0 ; Debug off M929 P"eventlog.txt" S1 ; Start logging to file eventlog.txt ; General Preferences M555 P2 ; Set Marlin-style output G21 ; Set dimensions to millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Stepper mapping ;------------------------------------------------------------------------------- ; Connected to the MB6HC as the table below. ; Note: first row is numbered left to right and second row right to left ; _________________________________ ; | X(Right) | Y(Left) | U(lock) | ; | Z(Back) | Z(Right) | Z(Left) | M584 X0 Y1 ; X and Y for CoreXY M584 U2 ; U for toolchanger lock M584 Z3:4:5 ; Z has three drivers for kinematic bed suspension. M569 P0 S0 ; Drive 0 | X stepper M569 P1 S0 ; Drive 1 | Y Stepper M906 X{0.9*sqrt(2)*2000} ; LDO XY 2000mA RMS the TMC5160 driver on duet3 M906 Y{0.9*sqrt(2)*2000} ; generates a sinusoidal coil current so we can ; multply by sqrt(2) to get peak used for M906 ; Do not exceed 90% without heatsinking the XY ; steppers. M569 P2 S0 ; Drive 2 | U Tool Changer Lock 670mA M906 U{0.7*sqrt(2)*670} I60 ; 70% of 670mA RMS idle 60% ; Note that the idle will be shared for all drivers M569 P3 S0 ; Drive 3 | Front Left Z M569 P4 S0 ; Drive 4 | Front Right Z M569 P5 S0 ; Drive 5 | Back Z M906 Z{0.7*sqrt(2)*1680} ; 70% of 1680mA RMS ; Expansion 1 ; Tool steppers on expansion board (adapt this to your own set up) M584 V1.0:1.1 ; V for toolchanger axis M569 P1.0 S1 ; Drive 6 | Left V M569 P1.1 S1 ; Drive 7 | Right V ;M584 E1.0:1.1 ; Extruders for two tools on expansion board address 1 ;M569 P1.0 S0 D2 ; Drive 6 | Extruder T0 1400mA Spreadcycle Mode ;M569 P1.1 S0 D2 ; Drive 7 | Extruder T1 1400mA Spreadcycle Mode M906 V{0.7*sqrt(2)*1680} ; 70% of 1680mA RMS ; E don't support expressions in 3.2.0-beta4 M584 E1.2:3.0:3.1:2.0:2.1:2.2 ; Extruder for 4 tools on expansion board address 1,2 M569 P1.2 S1 D2 ; Drive 8 | Extruder T0 1400 mA Spreadcycle Mode M569 P3.0 S1 D2 ; Drive 9 | Extruder T1 1400 mA Spreadcycle Mode M569 P3.1 S1 D2 ; Drive 10| Extruder T2 1400 mA Spreadcycle Mode M569 P2.0 S1 D2 ; Drive 11| Extruder T3 1400 mA Spreadcycle Mode M569 P2.1 S1 D2 ; Drive 12| Extruder T4 1400 mA Spreadcycle Mode M569 P2.2 S1 D2 ; Drive 13| Extruder T5 1400 mA Spreadcycle Mode M906 E1400 ; 0.7*sqrt(2)* ; E don't support expressions in 3.2.0-beta4 ;M569 P3 S0 D2 ; Drive 3 direction | Extruder 0 in Spreadcycle Mode ;M569 P4 S0 D2 ; Drive 4 direction | Extruder 1 in Spreadcycle Mode ; Kinematics ;------------------------------------------------------------------------------- M669 K1 ; CoreXY mode ; Kinematic bed ball locations. ; Locations are extracted from CAD model assuming lower left build plate corner ; is (0, 0) on a 305x305mm plate. M671 X297.5:2.5:150 Y313.5:313.5:-16.5 S10 ; Front Left: (297.5, 313.5) ; Front Right: (2.5, 313.5) ; Back: (150, -16.5) ; Up to 10mm correction ; Axis and motor configuration ;------------------------------------------------------------------------------- M350 X1 Y1 Z1 U1 V1 E1:1:1:1:1:1 ; Disable microstepping to simplify calculations M92 X{1/(0.9*16/180)} ; step angle * tooth count / 180 M92 Y{1/(0.9*16/180)} ; The 2mm tooth spacing cancel out with diam to radius M92 Z{360/0.9/2} ; 0.9 deg stepper / lead (2mm) of screw M92 U{13.76/1.8} ; gear ration / step angle for tool lock geared motor. M92 V{360/0.9/2} ; 0.9 deg stepper / lead (2mm) of screw M92 E51.875 ; Extruder - BMG 0.9 deg/step ; Enable microstepping all step per unit will be multiplied by the new step def M350 X16 Y16 I1 ; 16x microstepping for CoreXY axes. Use interpolation. M350 U4 I1 ; 4x for toolchanger lock. Use interpolation. M350 Z16 I1 ; 16x microstepping for Z axes. Use interpolation. M350 V16 I1 ; 16x microstepping for V axes. Use interpolation. M350 E16:16:16:16:16:16 I1 ; 16x microstepping for Extruder axes. Use interpolation. ; Speed and acceleration ;------------------------------------------------------------------------------- M201 X1100 Y1100 ; Accelerations (mm/s^2) M201 Z100 ; LDO ZZZ Acceleration M201 U800 ; LDO U Accelerations (mm/s^2) M201 V100 ; LDO V Acceleratin (mm/s^2) M201 E1300 ; Extruder M203 X18000 Y18000 Z800 E8000 U9000 V800 ; Maximum axis speeds (mm/min) M566 X500 Y500 Z500 E3000 U50 V500 ; Maximum jerk speeds (mm/min) ; Endstops and probes ;------------------------------------------------------------------------------- ; Connected to the MB6HC as the table below. ; | U | Z | ; | X | V | ; | Y | M574 U1 S1 P"^io0.in" ; homing position U1 = low-end, type S1 = switch M574 X1 S1 P"^io1.in" ; homing position X1 = low-end, type S1 = switch M574 Y1 S1 P"^io2.in" ; homing position Y1 = low-end, type S1 = switch M574 V1 S1 P"^io4.in" ; homing position V1 = low-end, type S1 = switch M574 Z0 ; we will use the switch as a Z probe not endstop M558 P8 C"io3.in" H3 F360 T6000 ; H = dive height F probe speed T travel speed G31 K0 X0 Y0 Z-2 ; Set the limit switch position as the "Control Point." ; Note: the switch free (unclicked) position is 7.2mm, ; but the operating position (clicked) is 6.4 +/- 0.2mm. ; A 1mm offset (i.e: 7.2-6.2 = 1mm) would be the ; Z to worst-case free position, but we add an extra 1mm ; such that XY travel moves across the bed when z=0 ; do *not* scrape or shear the limit switch. ; Set axis software limits and min/max switch-triggering positions. ; Adjusted such that (0,0) lies at the lower left corner of a 300x300mm square ; in the 305mmx305mm build plate. M208 X-13.75:313.75 Y-44:391 Z0:295 V0:385 M208 U0:200 ; Set Elastic Lock (U axis) max rotation angle ; Heaters and temperature sensors ;------------------------------------------------------------------------------- ; Bed M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed" ; Keenovo thermistor M950 H0 C"out0" T0 ; H = Heater 0 ; C is output for heater itself ; T = Temperature sensor M143 H0 S130 ; Set maximum temperature for bed to 130C M140 H0 ; Assign H0 to the bed ; Tools M308 S1 P"1.temp2" Y"thermistor" A"Heater0" ; PT100 on main board M950 H1 C"1.out2" T1 ; Heater for extruder out tool 0 M143 H1 S300 ; Maximum temp for hotend to 300C M308 S2 P"3.temp0" Y"thermistor" A"Heater1" ; PT100 on main board M950 H2 C"3.out0" T2 ; Heater for extruder out tool 0 M143 H2 S300 ; Maximum temp for hotend to 300C M308 S3 P"3.temp1" Y"thermistor" A"Heater2" ; PT100 on main board M950 H3 C"3.out1" T3 ; Heater for extruder out tool 0 M143 H3 S300 ; Maximum temp for hotend to 300C M308 S4 P"2.temp0" Y"thermistor" A"Heater3" ; PT100 on main board M950 H4 C"2.out0" T4 ; Heater for extruder out tool 3 M143 H4 S300 ; Max temp for hotend to 300C M308 S5 P"2.temp1" Y"thermistor" A"Heater4" ; PT100 on main board M950 H5 C"2.out1" T5 ; Heater for extruder out tool 4 M143 H5 S300 ; Max temp for hotend to 300C M308 S6 P"1.temp0" Y"thermistor" A"Heater5" ; PT100 on main board M950 H6 C"1.out0" T6 ; Heater for extruder out tool 5 M143 H6 S300 ; Max temp for hotend to 300C ; Fans ;------------------------------------------------------------------------------- M950 F1 C"1.out5" M106 P1 S255 H1 T20 C"HeatBreakCool0" ; S = Speed of fan Px ; Hxx = heater for thermo mode ; T = temps for thermo mode. M950 F10 C"1.out8" M106 P10 C"PrintCool0" M950 F2 C"2.out5" M106 P2 S255 H2 T20 C"HeatBreakCool1" M950 F11 C"3.out6" M106 P11 C"PrintCool1" M950 F3 C"out4" M106 P3 S255 H3 T20 C"HeatBreakCool2" M950 F12 C"3.out7" M106 P12 C"PrintCool2" M950 F4 C"2.out3" M106 P4 S255 H4 T20 C"HeatBreakCool3" M950 F13 C"2.out6" M106 P13 C"PrintCool3" M950 F5 C"2.out4" M106 P5 S255 H5 T20 C"HeatBreakCool4" M950 F14 C"2.out7" M106 P14 C"PrintCool4" M950 F6 C"1.out3" M106 P6 S255 H6 T20 C"HeatBreakCool5" M950 F15 C"1.out6" M106 P15 C"PrintCool5" ; Tool definitions ;------------------------------------------------------------------------------- M563 P0 S"Tool 0" D0 H1 F10 ; Px = Tool number ; Dx = Drive Number ; H1 = Heater Number ; Fx = Fan number print cooling fan G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures ; (-273 = "off") M572 D0 S0.085 ; Set pressure advance M563 P1 S"Tool 1" D1 H2 F11 G10 P1 S0 R0 M572 D1 S0.085 M563 P2 S"Tool 2" D2 H3 F12 G10 P2 S0 R0 M572 D2 S0.085 M563 P3 S"Tool 3" D3 H4 F13 G10 P3 S0 R0 M572 D3 S0.085 M563 P4 S"Tool 4" D4 H5 F14 G10 P4 S0 R0 M572 D4 S0.085 M563 P5 S"Tool 5" D5 H6 F15 G10 P5 S0 R0 M572 D5 S0.085 M98 P"/sys/Toffsets.g" ; Set tool offsets from the bed M501 ; Load saved parameters from non-volatile memory
-
Can you send M98 P"config.g" and report any errors?
Can you send M122 and M122 B1 and M122 B2 and M122 B3 and report the results?
Can you add a G4 S4 to the start of config.g to add a small delay to allow the expansions to startup?
Also, I think you may be running into this limitation
A heater on an expansion or tool board can only be controlled by a temperature sensor on the same expansion board. This is a safety precaution.
A thermostatically-controlled fan on an expansion board can only be controlled by a temperature sensor on the same expansion board.https://duet3d.dozuki.com/Wiki/Duet_3_firmware_configuration_limitations
-
I ran the code you suggested and those came back without any errors. The full results are attached.
console (1).txt9/9/2021, 1:04:55 PM: M98 P"config.g": Warning: M307: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 254C Warning: M307: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 488C Warning: M307: Heater 2 appears to be over-powered. If left on at full power, its temperature is predicted to reach 641C Warning: M307: Heater 3 appears to be over-powered. If left on at full power, its temperature is predicted to reach 563C Warning: M307: Heater 4 appears to be over-powered. If left on at full power, its temperature is predicted to reach 538C Warning: M307: Heater 5 appears to be over-powered. If left on at full power, its temperature is predicted to reach 520C Warning: M307: Heater 6 appears to be over-powered. If left on at full power, its temperature is predicted to reach 492C ok 9/9/2021, 1:05:04 PM: M122: === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.3 (2021-06-15 21:45:47) running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-9P63L-DJMSS-6JTD6-3SD6K-KUDM9 Used output buffers: 1 of 40 (28 max) === RTOS === Static ram: 150904 Dynamic ram: 65380 of which 0 recycled Never used RAM 137908, free system stack 200 words Tasks: SBC(resourceWait:,5.2%,298) HEAT(delaying,0.0%,325) Move(notifyWait,0.0%,352) CanReceiv(notifyWait,0.0%,774) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,339) TMC(notifyWait,7.5%,93) MAIN(running,87.2%,922) IDLE(ready,0.0%,29), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:05:44 ago, cause: software Last software reset at 2021-09-09 12:59, reason: User, none spinning, available RAM 138056, slot 0 Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Step timer max interval 192 MCU temperature: min 36.3, current 37.7, max 37.8 Supply voltage: min 24.1, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.2, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Driver 0: position 0, standstill, reads 13889, writes 19 timeouts 0, SG min/max 0/0 Driver 1: position 0, standstill, reads 13889, writes 19 timeouts 0, SG min/max 0/0 Driver 2: position 0, standstill, reads 13889, writes 19 timeouts 0, SG min/max 0/0 Driver 3: position 0, standstill, reads 13889, writes 19 timeouts 0, SG min/max 0/0 Driver 4: position 0, standstill, reads 13889, writes 19 timeouts 0, SG min/max 0/0 Driver 5: position 0, standstill, reads 13890, writes 19 timeouts 0, SG min/max 0/0 Date/time: 2021-09-09 13:05:03 Slowest loop: 75.31ms; fastest: 0.04ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed moves 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, chamberHeaters = -1 -1 -1 -1 === GCodes === Segments left: 0 Movement lock held by null HTTP* is doing "M122" 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. === CAN === Messages queued 3247, received 12527, lost 0, longest wait 1ms for reply type 6018, peak Tx sync delay 319, free buffers 49 (min 48), ts 1725/1724/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === State: 4, failed transfers: 0, checksum errors: 0 Last transfer: 1ms ago RX/TX seq numbers: 12280/12280 SPI underruns 0, overruns 0 Disconnects: 0, timeouts: 0, IAP RAM available 0x2c83c Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v3.3.0 Code buffer space: 4096 Configured SPI speed: 8000000Hz Full transfers per second: 35.83, max wait times: 14.2ms/0.0ms Codes per second: 0.92 Maximum length of RX/TX data transfers: 5092/1100 9/9/2021, 1:05:13 PM: M122 B1: Diagnostics for board 1: Duet EXP3HC firmware version 3.3 (2021-06-15 16:12:41) Bootloader ID: not available Never used RAM 158288, free system stack 4400 words Tasks: Move(notifyWait<null>,0.0%,160) HEAT(delaying<null>,0.0%,104) CanAsync(notifyWait<null>,0.0%,69) CanRecv(notifyWait<null>,0.0%,82) CanClock(notifyWait<null>,0.0%,71) TMC(notifyWait<null>,7.3%,63) MAIN(running<null>,91.3%,304) IDLE(ready<null>,0.0%,39) AIN(delaying<null>,1.3%,263), total 100.0% Last reset 00:07:22 ago, cause: software Last software reset data not available Driver 0: position 0, 3200.0 steps/mm, standstill, reads 4625, writes 29 timeouts 0, SG min/max 0/0, steps req 0 done 0 Driver 1: position 0, 3200.0 steps/mm, standstill, reads 4625, writes 29 timeouts 0, SG min/max 0/0, steps req 0 done 0 Driver 2: position 0, 830.0 steps/mm, standstill, reads 4623, writes 32 timeouts 0, SG min/max 0/0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter -2/9, peak Rx sync delay 182, resyncs 0/1, no step interrupt scheduled VIN: 24.2V, V12: 12.1V MCU temperature: min 26.1C, current 29.7C, max 29.7C Ticks since heat task active 162, ADC conversions started 443089, completed 443089, timed out 0, errs 0 Last sensors broadcast 0x00000042 found 2 166 ticks ago, loop time 0 CAN messages queued 5268, send timeouts 0, received 7099, lost 0, free buffers 37, min 37, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 9/9/2021, 1:05:16 PM: M122 B2: Diagnostics for board 2: Duet EXP3HC firmware version 3.3 (2021-06-15 16:12:41) Bootloader ID: not available Never used RAM 158288, free system stack 4400 words Tasks: Move(notifyWait<null>,0.0%,160) HEAT(delaying<null>,0.0%,104) CanAsync(notifyWait<null>,0.0%,69) CanRecv(notifyWait<null>,0.0%,82) CanClock(notifyWait<null>,0.0%,71) TMC(notifyWait<null>,7.3%,63) MAIN(running<null>,91.3%,304) IDLE(ready<null>,0.0%,39) AIN(delaying<null>,1.3%,263), total 100.0% Last reset 00:07:25 ago, cause: power up Last software reset data not available Driver 0: position 0, 830.0 steps/mm, standstill, reads 14320, writes 32 timeouts 0, SG min/max 0/0, steps req 0 done 0 Driver 1: position 0, 830.0 steps/mm, standstill, reads 14321, writes 32 timeouts 0, SG min/max 0/0, steps req 0 done 0 Driver 2: position 0, 830.0 steps/mm, standstill, reads 14321, writes 32 timeouts 0, SG min/max 0/0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter -3/10, peak Rx sync delay 180, resyncs 0/1, no step interrupt scheduled VIN: 24.0V, V12: 12.3V MCU temperature: min 27.1C, current 31.2C, max 31.4C Ticks since heat task active 187, ADC conversions started 445474, completed 445472, timed out 0, errs 0 Last sensors broadcast 0x00000030 found 2 191 ticks ago, loop time 0 CAN messages queued 5274, send timeouts 0, received 7153, lost 0, free buffers 37, min 37, error reg 50000 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 9/9/2021, 1:05:19 PM: M122 B3: Diagnostics for board 3: Duet EXP3HC firmware version 3.3 (2021-06-15 16:12:41) Bootloader ID: not available Never used RAM 158696, free system stack 4400 words Tasks: Move(notifyWait<null>,0.0%,160) HEAT(delaying<null>,0.0%,104) CanAsync(notifyWait<null>,0.0%,69) CanRecv(notifyWait<null>,0.0%,82) CanClock(notifyWait<null>,0.0%,71) TMC(notifyWait<null>,7.3%,63) MAIN(running<null>,91.3%,304) IDLE(ready<null>,0.0%,39) AIN(delaying<null>,1.3%,263), total 100.0% Last reset 00:07:12 ago, cause: software Last software reset data not available Driver 0: position 0, 830.0 steps/mm, standstill, reads 30876, writes 25 timeouts 0, SG min/max 0/0, steps req 0 done 0 Driver 1: position 0, 830.0 steps/mm, standstill, reads 30876, writes 25 timeouts 0, SG min/max 0/0, steps req 0 done 0 Driver 2: position 0, 80.0 steps/mm, standstill, reads 30891, writes 11 timeouts 0, SG min/max 0/0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter -3/15, peak Rx sync delay 182, resyncs 0/1, no step interrupt scheduled VIN: 24.2V, V12: 12.3V MCU temperature: min 29.4C, current 32.6C, max 33.0C Ticks since heat task active 41, ADC conversions started 433010, completed 433010, timed out 0, errs 0 Last sensors broadcast 0x00000004 found 1 46 ticks ago, loop time 0 CAN messages queued 4610, send timeouts 0, received 7383, lost 0, free buffers 37, min 37, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0
I also added a G4 S4 to my code and rewired the fans so that they were on the same boards. The updated config.g that reflects these changes is also attached.
config.gHowever, I'm still having trouble with getting my fans for tool 1 & 2 to operate.
-
; Jubilee CoreXY ToolChanging Printer - Config File ; This file intended for Duet 3 hardware, main board plus onr expansion boards ; Name and network ; This is configured from the connected Raspberry Pi or here if in stand alone ; mode ;------------------------------------------------------------------------------- ; Networking ;M550 P"Jubilee" ; Name used in ui and for mDNS http://Jubilee.local ;M552 P192.168.1.2 S1 ; Use Ethernet with a static IP, 0.0.0.0 for dhcp ;M553 P255.255.255.0 ; Netmask ;M554 192.168.1.1 ; Gateway ; General setup ;------------------------------------------------------------------------------- G4 S4 ; Delay on startup to allow expansion boards to startup M111 S0 ; Debug off M929 P"eventlog.txt" S1 ; Start logging to file eventlog.txt ; General Preferences M555 P2 ; Set Marlin-style output G21 ; Set dimensions to millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Stepper mapping ;------------------------------------------------------------------------------- ; Connected to the MB6HC as the table below. ; Note: first row is numbered left to right and second row right to left ; _________________________________ ; | X(Right) | Y(Left) | U(lock) | ; | Z(Back) | Z(Right) | Z(Left) | M584 X0 Y1 ; X and Y for CoreXY M584 U2 ; U for toolchanger lock M584 Z3:4:5 ; Z has three drivers for kinematic bed suspension. M569 P0 S0 ; Drive 0 | X stepper M569 P1 S0 ; Drive 1 | Y Stepper M906 X{0.9*sqrt(2)*2000} ; LDO XY 2000mA RMS the TMC5160 driver on duet3 M906 Y{0.9*sqrt(2)*2000} ; generates a sinusoidal coil current so we can ; multply by sqrt(2) to get peak used for M906 ; Do not exceed 90% without heatsinking the XY ; steppers. M569 P2 S0 ; Drive 2 | U Tool Changer Lock 670mA M906 U{0.7*sqrt(2)*670} I60 ; 70% of 670mA RMS idle 60% ; Note that the idle will be shared for all drivers M569 P3 S0 ; Drive 3 | Front Left Z M569 P4 S0 ; Drive 4 | Front Right Z M569 P5 S0 ; Drive 5 | Back Z M906 Z{0.7*sqrt(2)*1680} ; 70% of 1680mA RMS ; Expansion 1 ; Tool steppers on expansion board (adapt this to your own set up) M584 V1.0:1.1 ; V for toolchanger axis M569 P1.0 S1 ; Drive 6 | Left V M569 P1.1 S1 ; Drive 7 | Right V ;M584 E1.0:1.1 ; Extruders for two tools on expansion board address 1 ;M569 P1.0 S0 D2 ; Drive 6 | Extruder T0 1400mA Spreadcycle Mode ;M569 P1.1 S0 D2 ; Drive 7 | Extruder T1 1400mA Spreadcycle Mode M906 V{0.7*sqrt(2)*1680} ; 70% of 1680mA RMS ; E don't support expressions in 3.2.0-beta4 M584 E1.2:3.0:3.1:2.0:2.1:2.2 ; Extruder for 4 tools on expansion board address 1,2 M569 P1.2 S1 D2 ; Drive 8 | Extruder T0 1400 mA Spreadcycle Mode M569 P3.0 S1 D2 ; Drive 9 | Extruder T0 1400 mA Spreadcycle Mode M569 P3.1 S1 D2 ; Drive 10| Extruder T0 1400 mA Spreadcycle Mode M569 P2.0 S1 D2 ; Drive 11| Extruder T0 1400 mA Spreadcycle Mode M569 P2.1 S1 D2 ; Drive 12| Extruder T0 1400 mA Spreadcycle Mode M569 P2.2 S1 D2 ; Drive 13| Extruder T0 1400 mA Spreadcycle Mode M906 E1400 ; 0.7*sqrt(2)* ; E don't support expressions in 3.2.0-beta4 ;M569 P3 S0 D2 ; Drive 3 direction | Extruder 0 in Spreadcycle Mode ;M569 P4 S0 D2 ; Drive 4 direction | Extruder 1 in Spreadcycle Mode ; Kinematics ;------------------------------------------------------------------------------- M669 K1 ; CoreXY mode ; Kinematic bed ball locations. ; Locations are extracted from CAD model assuming lower left build plate corner ; is (0, 0) on a 305x305mm plate. M671 X297.5:2.5:150 Y313.5:313.5:-16.5 S10 ; Front Left: (297.5, 313.5) ; Front Right: (2.5, 313.5) ; Back: (150, -16.5) ; Up to 10mm correction ; Axis and motor configuration ;------------------------------------------------------------------------------- M350 X1 Y1 Z1 U1 V1 E1:1:1:1:1:1 ; Disable microstepping to simplify calculations M92 X{1/(0.9*16/180)} ; step angle * tooth count / 180 M92 Y{1/(0.9*16/180)} ; The 2mm tooth spacing cancel out with diam to radius M92 Z{360/0.9/2} ; 0.9 deg stepper / lead (2mm) of screw M92 U{13.76/1.8} ; gear ration / step angle for tool lock geared motor. M92 V{360/0.9/2} ; 0.9 deg stepper / lead (2mm) of screw M92 E51.875 ; Extruder - BMG 0.9 deg/step ; Enable microstepping all step per unit will be multiplied by the new step def M350 X16 Y16 I1 ; 16x microstepping for CoreXY axes. Use interpolation. M350 U4 I1 ; 4x for toolchanger lock. Use interpolation. M350 Z16 I1 ; 16x microstepping for Z axes. Use interpolation. M350 V16 I1 ; 16x microstepping for V axes. Use interpolation. M350 E16:16:16:16:16:16 I1 ; 16x microstepping for Extruder axes. Use interpolation. ; Speed and acceleration ;------------------------------------------------------------------------------- M201 X1100 Y1100 ; Accelerations (mm/s^2) M201 Z100 ; LDO ZZZ Acceleration M201 U800 ; LDO U Accelerations (mm/s^2) M201 V100 ; LDO V Acceleratin (mm/s^2) M201 E1300 ; Extruder M203 X18000 Y18000 Z800 E8000 U9000 V800 ; Maximum axis speeds (mm/min) M566 X500 Y500 Z500 E3000 U50 V500 ; Maximum jerk speeds (mm/min) ; Endstops and probes ;------------------------------------------------------------------------------- ; Connected to the MB6HC as the table below. ; | U | Z | ; | X | V | ; | Y | M574 U1 S1 P"^io0.in" ; homing position U1 = low-end, type S1 = switch M574 X1 S1 P"^io1.in" ; homing position X1 = low-end, type S1 = switch M574 Y1 S1 P"^io2.in" ; homing position Y1 = low-end, type S1 = switch M574 V1 S1 P"^io4.in" ; homing position V1 = low-end, type S1 = switch M574 Z0 ; we will use the switch as a Z probe not endstop M558 P8 C"io3.in" H3 F360 T6000 ; H = dive height F probe speed T travel speed G31 K0 X0 Y0 Z-2 ; Set the limit switch position as the "Control Point." ; Note: the switch free (unclicked) position is 7.2mm, ; but the operating position (clicked) is 6.4 +/- 0.2mm. ; A 1mm offset (i.e: 7.2-6.2 = 1mm) would be the ; Z to worst-case free position, but we add an extra 1mm ; such that XY travel moves across the bed when z=0 ; do *not* scrape or shear the limit switch. ; Set axis software limits and min/max switch-triggering positions. ; Adjusted such that (0,0) lies at the lower left corner of a 300x300mm square ; in the 305mmx305mm build plate. M208 X-13.75:313.75 Y-44:391 Z0:295 V0:385 M208 U0:200 ; Set Elastic Lock (U axis) max rotation angle ; Heaters and temperature sensors ;------------------------------------------------------------------------------- ; Bed M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed" ; Keenovo thermistor M950 H0 C"out0" T0 ; H = Heater 0 ; C is output for heater itself ; T = Temperature sensor M143 H0 S130 ; Set maximum temperature for bed to 130C ;M307 H0 A589.8 C589.8 D2.2 V24.1 B0 ; Keenovo 750w 230v built in thermistor ; mandala rose bed M140 H0 ; Assign H0 to the bed ; Tools M308 S1 P"1.temp2" Y"thermistor" A"Heater0" ; PT100 on main board M950 H1 C"1.out2" T1 ; Heater for extruder out tool 0 M143 H1 S300 ; Maximum temp for hotend to 300C M308 S2 P"3.temp0" Y"thermistor" A"Heater1" ; PT100 on main board M950 H2 C"3.out0" T2 ; Heater for extruder out tool 0 M143 H2 S300 ; Maximum temp for hotend to 300C M308 S3 P"temp1" Y"thermistor" A"Heater2" ; PT100 on main board M950 H3 C"out1" T3 ; Heater for extruder out tool 0 M143 H3 S300 ; Maximum temp for hotend to 300C M308 S4 P"2.temp0" Y"thermistor" A"Heater3" ; PT100 on main board M950 H4 C"2.out0" T4 ; Heater for extruder out tool 3 M143 H4 S300 ; Max temp for hotend to 300C M308 S5 P"2.temp1" Y"thermistor" A"Heater4" ; PT100 on main board M950 H5 C"2.out1" T5 ; Heater for extruder out tool 4 M143 H5 S300 ; Max temp for hotend to 300C M308 S6 P"1.temp0" Y"thermistor" A"Heater5" ; PT100 on main board M950 H6 C"1.out0" T6 ; Heater for extruder out tool 5 M143 H6 S300 ; Max temp for hotend to 300C ; Fans ;------------------------------------------------------------------------------- M950 F1 C"1.out5" M106 P1 S255 H1 T20 C"HeatBreakCool0" ; S = Speed of fan Px ; Hxx = heater for thermo mode ; T = temps for thermo mode. M950 F10 C"1.out8" M106 P10 C"PrintCool0" M950 F2 C"3.out3" M106 P2 S255 H2 T20 C"HeatBreakCool1" M950 F11 C"3.out6" M106 P11 C"PrintCool1" M950 F3 C"out4" M106 P3 S255 H3 T20 C"HeatBreakCool2" M950 F12 C"out7" M106 P12 C"PrintCool2" M950 F4 C"2.out3" M106 P4 S255 H4 T20 C"HeatBreakCool3" M950 F13 C"2.out6" M106 P13 C"PrintCool3" M950 F5 C"2.out4" M106 P5 S255 H5 T20 C"HeatBreakCool4" M950 F14 C"2.out7" M106 P14 C"PrintCool4" M950 F6 C"1.out3" M106 P6 S255 H6 T20 C"HeatBreakCool5" M950 F15 C"1.out6" M106 P15 C"PrintCool5" ; Tool definitions ;------------------------------------------------------------------------------- M563 P0 S"Tool 0" D0 H1 F10 ; Px = Tool number ; Dx = Drive Number ; H1 = Heater Number ; Fx = Fan number print cooling fan G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures ; (-273 = "off") M572 D0 S0.085 ; Set pressure advance M563 P1 S"Tool 1" D1 H2 F11 G10 P1 S0 R0 M572 D1 S0.085 M563 P2 S"Tool 2" D2 H3 F12 G10 P2 S0 R0 M572 D2 S0.085 M563 P3 S"Tool 3" D3 H4 F13 G10 P3 S0 R0 M572 D3 S0.085 M563 P4 S"Tool 4" D4 H5 F14 G10 P4 S0 R0 M572 D4 S0.085 M563 P5 S"Tool 5" D5 H6 F15 G10 P5 S0 R0 M572 D5 S0.085 M98 P"/sys/Toffsets.g" ; Set tool offsets from the bed M501 ; Load saved parameters from non-volatile memory
-
@vqn said in Duet 3, trouble running fans on thermostatic mode:
However, I'm still having trouble with getting my fans for tool 1 & 2 to operate.
Is that a change from before?
@vqn said in Duet 3, trouble running fans on thermostatic mode:
heatbreak fans 2 & 3 do not run.
What exactly happens now?
-
This is the same as before. My config is set so that tool 1 & 2 use fans that I've defined as 2 & 3. With the config from my previous post, all the heatbreak fans run except for those two even though all the temperature readings are above the temperature point.
-
Can you send M106 P# for each fan number and see if the results match expectations?