Hey group, I've been using the Duet Wifi to drive a dual x-axis lead screw 3d printer with a fixed bed and moving gantry. It's been working out great. Most people don't like the idea of a lead screw 3d printer because of backlash and speed issues. But I've been using high helix multi-start screw with anti backlash nuts and the machine performs. Attached is a copy of my firmware files. Also I published everything opensource on Thingiverse if anyone wants to try to build one themselves. I do suggest using the expansion board on this build to help with mesh leveling. We usually run an auto-level routine before mesh leveling to get the dual z-axis gantry parallel followed by a mesh leveling routine.
Here's the Config:
; Configuration file for Duet WiFi (firmware version 1.20 or newer)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool on Thu Nov 16 2017 18:16:14 GMT-0600 (Central Standard Time)
M111 S0 ; Debugging off
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
M555 P1 ; Set firmware compatibility to look like RepRapFirmare
; Motor remapping for dual X
;M584 X0:3 Y1 Z2 U3 E4 P3 ; Driver X0:3, 1 for Y, Z=2 U=3, Extruder 4; General preferences
;Motor remapping with U axis visible
M584 X0:3 Y1 Z2:9 U3 E4 ; Driver X0:3, 1 for Y, Z2:9 , , U=3, Extruder 4; General preferences
; LEADSCREW POSTIONS
M671 X-115:650 Y150:150 S5.0;
;oldfirmwareM911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"'
M911 S22 R25.0 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"
M208 X0 Y0 Z0 U0 V0 S1 ; Set axis minima
M208 X600 Y300 Z235 U600 V210 S0 ; Set axis maxima
; Endstops
M574 X1 Y2 Z2 U1 S1 ; Set active high endstops
M558 P3 I1 H10 F600 T6000 ; Set Z probe type to switch and the dive height + speeds
G31 P500 X15 Y15 Z0.6 ; Set Z probe trigger value, offset and trigger height
M557 X20:480 Y20:300 S40 ; Define mesh grid
; Drives
M569 P0 S1 ; Drive 0 goes X1 forwards
M569 P1 S0 ; Drive 1 goes Y forwards
M569 P2 S0 ; Drive 2 goes Z forwards
M569 P3 S1 ; Drive 3 goes X2 forwards
M569 P4 S0 ; Drive 4 goes E fowards
M569 P5 S1 ;
M569 P6 S0 ;
M569 P7 S1 ;
M569 P8 S1 ;
M569 P9 S0 ; Drive 9 goes Z2 forward
; Configure Drives
M350 X16 Y16 Z16 U16 V16 E16 I1 ; Configure microstepping with interpolation
M92 X64 Y64 Z1259.843 U64 V1259.843 E418.5 ; Set steps per mm
M566 X1200 Y1200 Z12 U1200 V12 E120 ; Set maximum instantaneous speed changes (mm/min)
M203 X7200 Y7200 Z180 U7200 V180 E1200 ; Set maximum speeds (mm/min)
M201 X500 Y500 Z250 U500 V250 E250 ; Set accelerations (mm/s^2)
M906 X2300 Y2300 Z1400 E1200 U2300 V1400 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
; Heaters
M140 H-1 ; Disable heated bed
M305 P1 T100000 B4725 C7.060000e-8 R4700 ; Set thermistor + ADC parameters for heater 1
M143 H1 S280 ; Set temperature limit for heater 1 to 280C
; Tools
M563 P0 D0 H1 ; Define tool 0
G10 P0 X0 Y0 U0 V0 Z0 ; Set tool 0 axis offsets
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
; Network
M550 PWorkhorse ; Set machine name
M552 S1 ; Enable network S1 router s2 hotspot
; Access point is configured manually via M587 by the user
M586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable Telnet
; SetNetwork macro to set up access to dummy test Wifi network
;M552 S0;
;G4 S5;
;M589 "network name" P"password" I192.168.1.117;
;G4 S5;
;M552 S2;
; Fans?
M106 P0 S1 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S1 I0 F500 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P2 S1 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
; Custom settings are not configured
; Miscellaneous
M501 ; Load saved parameters from non-volatile memory
T0 ; Select first tool
Here's the HomeX:
; homex.g
; called to home the X axis
;
; generated by RepRapFirmware Configuration Tool on Thu Nov 16 2017 18:16:14 GMT-0600 (Central Standard Time)
; Lift Z relative to current position
G91
G1 S2 Z5 F2000
G90
; Move quickly to X axis endstop and stop there (first pass)
M584 X0 U3 ; Split X into 2 (X+U)
G1 S1 X-605 U-605 F1500
; Go back a few mm
G91
G1 S2 X5 U5
G90
; Move slowly to X axis endstop once more (second pass)
G1 S1 X-605 U-605 F360
M584 X0:3 ; Join U to X again
; Go back a few mm
G91
G1 S2 X5 U5
G90
; Lower Z again
G91
G1 S2 Z-5 F2000
G90
;;;;
https://www.thingiverse.com/thing:2764064
https://www.3ddistributed.com/
https://www.youtube.com/watch?v=afbCD0LzNQE&t=100s
link text
0_1539724921203_config.g 0_1539724934829_homeall.g 0_1539724938661_homex.g 0_1539724952377_homey.g 0_1539724957522_homez.g