diff --git a/bed.g b/bed.g index 411ac2e..a5ed91e 100644 --- a/bed.g +++ b/bed.g @@ -1,11 +1,12 @@ -; this script compensates for what the Z offset is + ; this script compensates for what the Z offset is ; so if G31 P500 X-30 Y-15 Z1.7 then first probe will be at ; X30 Y20 (when G30 P0 X0 Y5) M561 ; clear any bed transform -G30 P0 X5 Y5 Z-99999 ; probe near a leadscrew -G30 P1 X150 Y285 Z-99999 ; probe near a leadscrew -G30 P2 X270 Y5 Z-99999 S3 ; probe near a leadscrew and calibrate 3 motors +G30 P0 X50 Y450 Z-99999 ; probe near a leadscrew +G30 P1 X250 Y50 Z-99999 ; probe near a leadscrew +G30 P2 X450 Y450 Z-99999 S3 ; probe near a leadscrew and calibrate 3 motors G29 ; probe the bed and enable compensation + diff --git a/config.g b/config.g index be2ac5a..e5c5583 100644 --- a/config.g +++ b/config.g @@ -1,15 +1,13 @@ -; General preferences -G90 ; send absolute coordinates... -M83 ; ...but relative extruder moves -M550 P"duet3" ; set printer name -M669 K1 ; CoreXY -G29 S1 ; Set Units to Millimeters +; Configuration file for Duet 3 (firmware version 3) +; executed by the firmware on start-up +; +; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed May 26 2021 19:44:39 GMT+0000 (Coordinated Universal Time) -; Network -;;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 +; General preferences +G90 ; send absolute coordinates... +M83 ; ...but relative extruder moves +M550 P"Duet3" ; set printer name +M669 K1 ; select CoreXY mode ; Drives M569 P0.0 S1 D3 ; physical drive 0.0 goes forwards @@ -21,71 +19,55 @@ M569 P0.5 S1 D3 ; physical drive 0.5 goes forwards M584 X0.4 Y0.3 Z0.0:0.1:0.2 E0.5 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation -M92 X160.00 Y160.00 Z1600.00 ; set steps per mm -M906 X1000 Y1000 Z800 I30 ; set motor currents (mA) and motor idle factor in per cent -M84 S30 ; Set idle timeout - -M566 X400.00 Y400.00 Z6.00 E120.00 P1 ; set maximum instantaneous speed changes (mm/min) -M203 X10800.00 Y10800.00 Z1000.00 E3600.00 ; set maximum speeds (mm/min) -M201 X3000.00 Y3000.00 Z100.00 E3600.00 ; set accelerations (mm/s^2) +M92 X160.00 Y160.00 Z1600.00 E873.08 ; set steps per mm +M566 X400.00 Y400.00 Z6.00 E120.00 ; set maximum instantaneous speed changes (mm/min) +M203 X10800.00 Y10800.00 Z1000.00 E1600.00 ; set maximum speeds (mm/min) +M201 X3000.00 Y3000.00 Z100.00 E3600.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 X0 Y0 Z0 S1 ; set axis minima -M208 X510 Y500 Z500 S0 ; set axis maxima +M208 X15 Y15 Z0 S1 ; set axis minima +M208 X500 Y500 Z500 S0 ; set axis maxima ; Endstops -M574 X1 S1 P"io2.in" ; configure active high endstops -M574 Y2 S1 P"io1.in" ; configure active high endstops -M574 Z1 S2 ; configure Z-probe endstop for low end on Z - -M671 X-4.5:250:504.5 Y-4.52:505:-4.52 S5 ; define positions of Z leadscrews or bed levelling screws -M557 X30:500 Y15:500 P5 ; define 5x5 mesh grid - -; Heaters -M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed" ; configure sensor 0 as thermistor on pin temp0 -M950 H0 C"out1" T0 ; create bed heater output on out5 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 S110 ; set temperature limit for heater 0 to 110C - -;; Run Bed PID Tune!! Bellow is an example for a 300x300 bed -;; M307 H0 A303.1 C356.7 D1.4 S1.00 V24.0 B0 - -; Fans -M950 F0 C"out7" Q500 ; create fan 0 on pin out3 and set its frequency -M106 P0 C"Hotend Fan" S0 H1 T45 L255 ; set fan 0 name and value. Thermostatic control turned on for Hotend -M950 F1 C"out4" Q500 ; create fan 1 on pin out4 and set its frequency -M106 P1 C"Layer Fan" S0 H-1 L255 ; set fan 1 name and value. Thermostatic control is turned off - -; Tools -M563 P0 D0 H1 F1 ; 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 - -M950 H1 C"out2" T1 ; create nozzle heater output on out2 and map it to sensor 1 -M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit -M143 H1 S250 ; set the maximum temperature in C for heater - -; EVA 2 / BMG / E3D V6 - -M92 E830 ; set extruder steps per mm, 0.9 angle/step (LDO Pancake) -M906 E800 ; set extruder motor current (mA) and idle factor in per cent - -M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.060000e-8 A"Hotend" -;; Run Heater PID Tune!! -;; M307 H1 A751.5 C196.6 D4.7 S1.00 V23.9 B0 +M574 X1 S1 P"io2.in" ; configure active-high endstop +M574 Y1 S1 P"io1.in" ; configure active-high endstop + ; Z-Probe -;; Inductive Probe -; M558 P5 C"!io3.in" H5 F400 T5000 ; set Z probe type to unmodulated and the dive height + speeds -; G31 P500 X-30 Y-15 Z0.20 ; set Z probe trigger value, offset and trigger height, more Z means closer to the bed -;; BLTouch -M950 S0 C"io7.out" ; Create a servo pin on io2 -M558 P9 C"io7.in" H5 F500 T10800 A5 ; set Z probe type to unmodulated and the dive height + speeds -G31 P25 X-28.00 Y-13.00 Z0.90 ; set Z probe trigger value, offset and trigger height, more Z means closer to the bed +M950 S0 C"io7.out" ; create servo pin 0 for BLTouch +M558 P9 C"^io7.in" H5 F54 T6000 ; set Z probe type to bltouch and the dive height + speeds +G31 P500 X-28 Y-13 Z0.9 ; set Z probe trigger value, offset and trigger height +M557 X50:500 Y50:500 S50 ; define mesh grid -M404 N1.75 D0.4 ; Filament width and nozzle diameter -T0 +; Heaters +M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed" ; configure sensor 0 as thermistor on pin temp0 +M950 H0 C"out1" T0 ; create bed heater output on out1 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 A"Hotend" ; configure sensor 1 as thermistor on pin temp1 +M950 H1 C"out2" T1 ; create nozzle heater output on out2 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"out7" Q500 ; create fan 0 on pin out7 and set its frequency +M106 P0 C"Hotend fan" S1 H1 T45 ; set fan 0 value. Thermostatic control is turned on +M950 F1 C"out4" ; create fan 1 on pin out4 +M106 P1 C"Layer fan" S1 ;;H-1 ; set fan 1 value. Thermostatic control is turned off + +; Tools +M563 P0 D0 H1 F0:1 ; 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 +M404 N1.75 D0.4 ; Filament width and nozzle diameter -; Pressure Advance -; M572 D0 S0.10 diff --git a/config.json b/config.json new file mode 100644 index 0000000..479afc8 --- /dev/null +++ b/config.json @@ -0,0 +1 @@ +{"board":"duet3","expansion_boards":[],"firmware":3,"standalone":false,"nvram":true,"auto_save":{"enabled":true,"save_threshold":10,"resume_threshold":11,"gcodes_to_run":"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"},"display":{"type":0,"encoder_steps":4,"spi_frequency":2000000,"menus":[{"name":"main","value":""}],"images":[]},"panelDue":true,"geometry":{"type":"corexy","mins":[15,15,0],"maxes":[500,500,500],"delta_radius":105.6,"homed_height":250,"low_dive_height":false,"max_carriage_travel":260,"print_radius":85,"rod_length":215,"z_min":0},"drives":[{"direction":1,"microstepping":16,"microstepping_interpolation":true,"steps_per_mm":160,"instant_dv":15,"max_speed":100,"acceleration":500,"current":800,"driver":0,"driver_v3":"0.4","endstop_pin":"io1.in","endstop_type":1,"endstop_location":2},{"direction":1,"microstepping":16,"microstepping_interpolation":true,"steps_per_mm":160,"instant_dv":15,"max_speed":100,"acceleration":500,"current":800,"driver":1,"driver_v3":"0.3","endstop_pin":"io2.in","endstop_type":1,"endstop_location":2},{"direction":0,"microstepping":16,"microstepping_interpolation":true,"steps_per_mm":1600,"instant_dv":1,"max_speed":3,"acceleration":20,"current":800,"driver":2,"driver_v3":"0.0","endstop_pin":null,"endstop":null,"endstop_type":0,"endstop_location":1},{"direction":1,"microstepping":16,"microstepping_interpolation":true,"steps_per_mm":873.08,"instant_dv":2,"max_speed":20,"acceleration":250,"current":800,"driver":3,"driver_v3":"0.5"}],"idle":{"used":true,"factor":30,"timeout":30},"homing_speed_fast":30,"homing_speed_slow":6,"travel_speed":100,"z_dive_height":5,"slow_homing":false,"probe":{"type":"bltouch","recovery_time":0.4,"trigger_height":2.5,"trigger_value":500,"x_offset":-28,"y_offset":-13,"speed":0.9,"deploy":true,"points":[],"pwm_channel":3,"pwm_inverted":true,"pwm_pin":"io7.out","input_pin":"io7.in","modulation_pin":null},"bed_is_nozzle":false,"bed":{"present":true,"use_pid":true,"heater":0},"chamber":{"present":false,"use_pid":false,"heater":2},"heaters":[{"temp_limit":120,"scale_factor":100,"series":2200,"thermistor":100000,"beta":4138,"a":0.0005717725,"b":0.0002416626,"c":0,"channel":0,"sensor":0,"output_pin":"out1","sensor_type":"thermistor","sensor_pin":"temp0"},{"temp_limit":280,"scale_factor":100,"series":2200,"thermistor":100000,"beta":4138,"a":0.0005717725,"b":0.0002416626,"c":0,"channel":1,"sensor":1,"output_pin":"out2","sensor_type":"thermistor","sensor_pin":"temp1"}],"num_nozzles":1,"toolchange_wait_for_temperatures":true,"generate_t_code":false,"tools":[{"mix_ratio":[],"number":0,"name":"","extruders":[0],"heaters":[1],"fans":[0,1],"x_offset":0,"y_offset":0,"z_offset":0}],"compensation_x_offset":15,"compensation_y_offset":15,"peripheral_points":3,"halfway_points":3,"calibration_factors":6,"probe_radius":85,"mesh":{"x_min":50,"x_max":500,"y_min":50,"y_max":500,"radius":85,"spacing":50},"home_first":false,"orthogonal":{"compensation":false,"height":50,"deviations":[0,0,0]},"network":{"enabled":true,"mac_address":"","name":"My Printer","password":"","ssid":"","ssid_password":"","dhcp":true,"ip":"192.168.1.20","netmask":"255.255.255.0","gateway":"192.168.1.254","protocols":{"http":true,"ftp":false,"telnet":false}},"fans":[{"name":"","value":100,"inverted":false,"frequency":500,"thermostatic":true,"heaters":[1],"trigger_temperature":45,"output_pin":"out7"},{"name":"","value":100,"inverted":false,"frequency":500,"thermostatic":false,"heaters":[1],"trigger_temperature":45,"output_pin":"out4"}],"custom_settings":""} \ No newline at end of file diff --git a/connections.txt b/connections.txt index a0b86de..fad602b 100644 --- a/connections.txt +++ b/connections.txt @@ -3,11 +3,11 @@ io_1 - y endstop io_2 - x endstop io_7 - bltouch -z left - driver0 -z rear - driver1 +z left - driver0 (seeing from the back) +z rear - driver1 z right - driver2 -right motor - driver3 -left motor - driver4 +right motor - driver3 - Y +left motor - driver4 - X extruder motor - driver5 out1 - SSR diff --git a/deployprobe.g b/deployprobe.g index 488ed1d..7d3fdc5 100644 --- a/deployprobe.g +++ b/deployprobe.g @@ -1,4 +1,6 @@ ; deployprobe.g -; Called to deploy a physical Z probe +; called to deploy a physical Z probe ; -M280 P0 S10 ; Deploy the BLTouch pin + +M280 P0 S10 ; deploy BLTouch + diff --git a/homeall.g b/homeall.g index 2202a23..260f963 100644 --- a/homeall.g +++ b/homeall.g @@ -1,23 +1,24 @@ -; BLTouch -M280 P0 S160 ; Precautionary alarm release -M280 P0 S90 ; Ensure the pin is raised +; homeall.g +; called to home all axes +; + G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-625 Y605 F3600 ; move quickly to X and U axis endstops and stop there (first pass) G1 H1 X-625 F1800 ; move quickly to X and U axis endstops and stop there (first pass) -G1 H1 Y605 F1800 ; move quickly to X and U axis endstops and stop there (first pass) +G1 H1 Y-605 F1800 ; move quickly to X and U axis endstops and stop there (first pass) G1 H2 X5 Y-5 F6000 ; go back a few mm G1 H1 X-625 Y605 F360 ; move slowly to X and U axis endstops once more (second pass) G1 H1 X-625 F360 ; move slowly to X and U axis endstops once more (second pass) -G1 H1 Y605 F360 ; move slowly to X and U axis endstops once more (second pass) +G1 H1 Y-605 F360 ; move slowly to X and U axis endstops once more (second pass) G90 ; absolute positioning -G1 X150 Y150 F10000 ; go to first probe point +G1 X250 Y250 F10000 ; go to first probe point G30 ; home Z by probing the bed G91 ; relative positioning G1 Z5 F100 ; lift Z relative to current position G90 ; absolute positioning -G1 X0 Y0 F10000 +G1 X15 Y15 F10000 diff --git a/homex.g b/homex.g index b4eae2c..d887771 100644 --- a/homex.g +++ b/homex.g @@ -1,9 +1,13 @@ +; homex.g +; called to home the X axis +; + G91 ; relative positioning -;G1 H2 Z5 F6000 ; lift Z relative to current position +G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-625 F1800 ; move quickly to X axis endstop and stop there (first pass) G1 H2 X5 F6000 ; go back a few mm G1 H1 X-625 F360 ; move slowly to X axis endstop once more (second pass) -;G1 H2 Z-5 F6000 ; lower Z again +G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning G1 X0 F6000 diff --git a/homey.g b/homey.g index b3f8453..c06ff6a 100644 --- a/homey.g +++ b/homey.g @@ -1,9 +1,13 @@ +; homey.g +; called to home the Y axis +; + G91 ; relative positioning -;G1 H2 Z5 F6000 ; lift Z relative to current position -G1 H1 Y605 F1800 ; move quickly to Y axis endstop and stop there (first pass) +G1 H2 Z5 F6000 ; lift Z relative to current position +G1 H1 Y-605 F1800 ; move quickly to Y axis endstop and stop there (first pass) G1 Y-5 F6000 ; go back a few mm -G1 H1 Y605 F360 ; move slowly to Y axis endstop once more (second pass) -;G1 H2 Z-5 F6000 ; lower Z again +G1 H1 Y-605 F360 ; move slowly to Y axis endstop once more (second pass) +G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning G1 Y0 F6000 diff --git a/homez.g b/homez.g index ac18e59..5f2b1af 100644 --- a/homez.g +++ b/homez.g @@ -1,15 +1,15 @@ -; BLTouch -M280 P0 S160 ; Precautionary alarm release -M280 P0 S90 ; Ensure the pin is raised +; homez.g +; called to home the Z axis +; -G91 ; relative positioning -G1 H2 Z5 F6000 ; lift Z relative to current position -G90 ; absolute positioning -G1 X150 Y150 F10000 ; go to first probe point -G30 ; home Z by probing the bed +G91 ; relative positioning +G1 H2 Z5 F6000 ; lift Z relative to current position +G90 ; absolute positioning +G1 X250 Y250 F10000 ; go to first probe point +G30 ; home Z by probing the bed ; Uncomment the following lines to lift Z after probing -;G91 ; relative positioning -;G1 Z5 F100 ; lift Z relative to current position -;G90 ; absolute positioning +;G91 ; relative positioning +;G1 Z5 F100 ; lift Z relative to current position +;G90 ; absolute positioning diff --git a/pause.g b/pause.g new file mode 100644 index 0000000..87ce6a7 --- /dev/null +++ b/pause.g @@ -0,0 +1,11 @@ +; pause.g +; called when a print from SD card is paused +; + +M83 ; relative extruder moves +G1 E-10 F3600 ; retract 10mm of filament +G91 ; relative positioning +G1 Z5 F360 ; lift Z by 5mm +G90 ; absolute positioning +G1 X0 Y0 F6000 ; go to X=0 Y=0 + diff --git a/resume.g b/resume.g new file mode 100644 index 0000000..ef53508 --- /dev/null +++ b/resume.g @@ -0,0 +1,9 @@ +; resume.g +; called before a print from SD card is resumed +; + +G1 R1 X0 Y0 Z5 F6000 ; go to 5mm above position of the last print move +G1 R1 X0 Y0 ; go back to the last print move +M83 ; relative extruder moves +G1 E10 F3600 ; extrude 10mm of filament + diff --git a/retractprobe.g b/retractprobe.g index 902f6ee..aa9ac1b 100644 --- a/retractprobe.g +++ b/retractprobe.g @@ -1,4 +1,6 @@ ; retractprobe.g -; Called to retract a physical Z probe +; called to retract a physical Z probe ; -M280 P0 S90 ; Retract the BLTouch pin +; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed May 26 2021 19:44:39 GMT+0000 (Coordinated Universal Time) +M280 P0 S90 ; retract BLTouch + diff --git a/sleep.g b/sleep.g new file mode 100644 index 0000000..5ebbf97 --- /dev/null +++ b/sleep.g @@ -0,0 +1,5 @@ +; sleep.g +; called when M1 (Sleep) is being processed +; +; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed May 26 2021 19:44:39 GMT+0000 (Coordinated Universal Time) + diff --git a/stop.g b/stop.g new file mode 100644 index 0000000..4912732 --- /dev/null +++ b/stop.g @@ -0,0 +1,5 @@ +; stop.g +; called when M0 (Stop) is run (e.g. when a print from SD card is cancelled) +; +; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed May 26 2021 19:44:39 GMT+0000 (Coordinated Universal Time) + diff --git a/tfree0.g b/tfree0.g new file mode 100644 index 0000000..369f25f --- /dev/null +++ b/tfree0.g @@ -0,0 +1,5 @@ +; tfree0.g +; called when tool 0 is freed +; +; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed May 26 2021 19:44:39 GMT+0000 (Coordinated Universal Time) + diff --git a/tpost0.g b/tpost0.g new file mode 100644 index 0000000..a3cb95a --- /dev/null +++ b/tpost0.g @@ -0,0 +1,7 @@ +; tpost0.g +; called after tool 0 has been selected +; +; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed May 26 2021 19:44:39 GMT+0000 (Coordinated Universal Time) +; Wait for set temperatures to be reached +M116 P0 + diff --git a/tpre0.g b/tpre0.g new file mode 100644 index 0000000..361647d --- /dev/null +++ b/tpre0.g @@ -0,0 +1,5 @@ +; tpre0.g +; called before tool 0 is selected +; +; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed May 26 2021 19:44:39 GMT+0000 (Coordinated Universal Time) +