; Configuration file for Jubilee CoreXY ToolChanging Printer ; for Duet 3 Mainboard 6HC & Expansion 6HC ; General setup ;------------------------------ M111 S0 ; Debug off M929 P"eventlog.txt" S1 ; Start logging to file eventlog.txt M555 P2 ; Set Marlin-style output G21 ; Set dimensions to millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M575 P1 S1 B57600 ; Enable PanelDue Display ; Network ;------------------------------ M550 P"Seybi" ; Name used in ui and for mDNS http://Seybi.local M552 S1 ; Enable networking ; Drive definitions of the frame ;------------------------------ ; Connected to the Mainboard 6HC as the table below ; _________________________________ ; | X(Right) | Y(Left) | U(lock) | ; | Z(Back) | Z(Right) | Z(Left) | G4 S2 ; Pause for 2 seconds to make sure expansion board is ready to accept CAN commands M584 X0 Y1 ; Set drive mapping X to driver0 and Y to driver1 for CoreXY M584 U2 ; Set drive mapping U to driver2 for toolchanger lock M584 Z3:4:5 ; Set drive mapping Z to driver3, 4 and 5 for kinematic bed suspension M569 P0 S0 D3 ; Drive 0 | X stepper goes backward in Stealthchopper mode M569 P1 S0 D3 ; Drive 1 | Y Stepper goes backward in Stealthchopper mode M906 X1800 ; Set max current to 1800mA, 90% of maximum ; Can be set to {0.9*sqrt(2)*2000} alternatively M906 Y1800 ; Set max curtrent to 1800mA, 90%^of maximum ; Can be set to {0.9*sqrt(2)*2000} alternatively M569 P2 S0 D3 ; Drive 2 | U Tool Changer Lock goes backward in Stealthchopper mode M906 U700 I60 ; Set max current to 700mA, 70% of maximum, idle at 60% shared for all drives ; Can be set to {0.7*sqrt(2)*1000} alternatively M569 P3 S0 D3 ; Drive 3 | Front Left Z goes backward in Stealthchopper mode M569 P4 S0 D3 ; Drive 4 | Front Right Z goes backward in Stealthchopper mode M569 P5 S0 D3 ; Drive 5 | Back Z goes backward in Stealthchopper mode M906 Z1800 ; Set max current to 1400mA, 70% of maximum ; Can be set to {0.7*sqrt(2)*2000} alternatively ; Expansion board 6HC ;------------------------------ ; Tool steppers on expansion board M584 E1.0:1.1:1.2:1.4 ; Extruders for four tools on expansion board 1 M569 P1.0 S1 D3 ; Drive 6 | Extruder T0 goes forward in Stealthchopper mode M569 P1.1 S1 D3 ; Drive 7 | Extruder T1 goes forward in Stealthchopper mode M569 P1.2 S1 D3 ; Drive 8 | Extruder T2 goes forward in Stealthchopper mode M569 P1.3 S1 D3 ; Drive 9 | Extruder T3 goes forward in Stealthchopper mode on mainboard M906 E900 ; Set maximum current to 900mA, 90% of maximum ; can be set to {0.7*sqrt(2)*1400} alternatively. ; Expressions might not be supported for extruders ; Kinematics ;------------------------------ M669 K1 ; Set kinematics mode to CoreXY ; 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 E1: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 E26.000:25.900:24.379:393.481 ; E0 and 1 - BMG 1.8deg/step, E2 - Hemera 1.8deg/step, E3 Revo Hemera XS 1.8deg/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 E16:16:16:16 I1 ; 16x microstepping for Extruders T0,T1,T2 and T3. Use interpolation. ; Speed and acceleration ;------------------------------ M201 X1100 Y1100 ; Maximum X and Y Accelerations (mm/s^2) M201 Z100 ; Maximum Z Acceleration (mm/s^2) M201 U800 ; Maximum U Acceleration (mm/s^2) M201 E1300 ; Maximum Extruder Acceleration (mm/s^2) M203 X18000 Y18000 Z800 E8000 U9000 ; Maximum axis speeds (mm/min) M566 X500 Y500 Z500 E3000 U50 ; Maximum jerk speeds (mm/min) ; Endstops and probes ;------------------------------ ; Connected to the Mainboard 6HC as the table below. ; | | Z | ; | X | U | ; | Y | M574 U1 S1 P"^io4.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 Z0 ; we will use the switch as a Z probe not endstop M558 P8 C"io3.in" H10 F360 T6000 ; H = dive height (was 3) 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:341 Z0:295 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 temp0 M143 H0 S130 ; Set maximum temperature for bed to 130C M307 H0 R1.008 K0.196:0.000 D1.88 E1.35 S1.00 B0 ; Set PWM/PID paramaters for bed heater ; for 600w 230v heater w/built in thermistor ; mandala rose bed M140 H0 ; Assign H0 to the bed ; Tool0 Afterburner M308 S1 P"1.temp0" Y"thermistor" A"Heater0" B4725 C7.06e-8 ; Create tempsensor1 on expansion board temp0 M950 H1 C"1.out1" T1 ; Create Heater1 for Extruder0 on exp.board out1 with tempsensor1 M307 H1 R1.810 K0.302:0.347 D6.60 E1.35 S1.00 B0 V24.4 ; Set PWM/PID values for heater1 M143 H1 S285 ; Set maximum temperature for heater1 to 285C ; Tool1 Afterburner M308 S2 P"1.temp1" Y"thermistor" A"Heater1" B4725 C7.06e-8 ; Create tempsensor2 on expansion board temp1 M950 H2 C"1.out2" T2 ; Create Heater2 for Extruder1 on ep.board out2 with tempsensor2 M307 H2 R1.692 K0.444:0.458 D6.18 E1.35 S1.00 B0 V24.4 ; Set PWM/PID values for heater2 M143 H2 S285 ; Set maximum temperature for heater2 to 285C ; Tool2 Hemera M308 S3 P"1.temp2" Y"thermistor" A"Heater2" B4725 C7.06e-8 ; Create tempsensor3 on expansion board temp2 M950 H3 C"1.out3" T3 ; Create Heater3 for Extruder2 on ep.board out3 with tempsensor3 M307 H3 R1.778 K0.296:0.233 D5.38 E1.35 S1.00 B0 V24.4 ; Set PWM/PID values for heater3 M143 H3 S285 ; Set maximum temperature fot heater3 to 285C ; Tool3 Revo Hemera XS M308 S4 P"temp1" Y"thermistor" A"Heater3" B4725 C7.06e-8 ; Create tempsensor4 on temp1 M950 H4 C"out1" T4 ; Create Heater4 for Extruder3 on out1 with tempsensor4 M307 H4 R3.393 K0.479:0.333 D2.22 E1.35 S1.00 B0 V24.2 ; Set PWM/PID values for heater4 M143 H4 S285 ; Set maximum temperature fot heater4 to 285C ; Fans ;------------------------------ M950 F1 C"!1.out4+out4.tach" ; Create fan1 on exp.board out4 M106 P1 S255 H1 T45 C"HeatBreakCool0" ; S = Speed of fan P1 ; H1 = heater for thermo mode ; T = temps for thermo mode ; C = to name the fan M950 F2 C"1.out7" ; Create fan2 on exp.board out7 M106 P2 C"PrintCool0" ; Set name of fan P2 as PrintCool0 M950 F3 C"!1.out5+out5.tach" ; Create fan3 on exp.board out5 M106 P3 S255 H2 T45 C"HeatBreakCool1" ; S = Speed of fan P3 ; H2 = heater for thermo mode ; T = temps for thermo mode ; C = to name the fan M950 F4 C"1.out8" ; Create fan4 on exp.board out8 M106 P4 C"PrintCool1" ; Set name of fan P2 as PrintCool1 M950 F5 C"!1.out6+out6.tach" ; Create fan5 on exp.board out6 M106 P5 S255 H3 T45 C"HeatBreakCool2" ; S = Speed of fan P5 ; H2 = heater for thermo mode ; T = temps for thermo mode ; C = to name the fan M950 F6 C"1.out9" ; Create fan6 on exp.board out9 M106 P6 C"PrintCool2" ; Set name of fan P6 as PrintCool2 M950 F7 C"!out4+out4.tach" ; Create fan7 on out4 M106 P7 S255 H4 T45 C"HeatBreakCool3" ; S = Speed of fan P1 ; H4 = heater for thermo mode ; T = temps for thermo mode ; C = to name the fan M950 F8 C"out7" ; Create fan8 on out7 M106 P8 C"PrintCool3" ; Set name of fan P8 as PrintCool3 ; Tool definitions ;------------------------------ M563 P0 S"Tool0" D0 H1 F2 ; P0 = Tool number ; D0 = Drive Number ; H1 = Heater Number ; F2 = Fan number print cooling fan G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures M572 D0 S0.085 ; Set pressure advance M563 P1 S"Tool1" D1 H2 F4 ; P1 = Tool number ; D1 = Drive Number ; H2 = Heater Number ; F4 = Fan number print cooling fan G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures M572 D1 S0.085 ; Set pressure advance M563 P2 S"Tool2" D2 H3 F6 ; P2 = Tool number ; D2 = Drive Number ; H3 = Heater Number ; F6 = Fan number print cooling fan G10 P2 S0 R0 ; Set tool 2 operating and standby temperatures M572 D2 S0.085 ; Set pressure advance M563 P3 S"Tool3" D3 H4 F8 ; P3 = Tool number ; D3 = Drive Number ; H4 = Heater Number ; F8 = Fan number print cooling fan G10 P3 S0 R0 ; Set tool 3 operating and standby temperatures M572 D3 S0.085 ; Set pressure advance ; All tools M98 P"/sys/Toffsets.g" ; Set tool offsets from the bed for all tools ; LED strips ;------------------------------ ;M950 E0 C"led" T2 U20 Q3000000 ; Create neopixel lights named "led" with 20 LED's ; Other sensors M308 S10 Y"mcu-temp" A"MCU" ; defines sensor10 as mainboard cpu temperature sensor ;M308 S11 Y"drivers" A"Stepper drivers" ; defines sensor11 as stepper driver temperature sensor ;End section ;------------------------------ ;M501 ; Load saved parameters from non-volatile memory