Duet2 Maestro with Tronxy X5SA-400 Pro Initial Setup
-
I'm setting up a Duet 2 Maestro as a replacement for the craptacular Tronxy X5SA-400 Pro electronics.
I bought the Tronxy knowing full well that this kit would need to be fully upgraded, but the base motion system looked really good for the price.Anyway, I installed a Hemera direct extruder, BLTouch, and rewired everything for the Maestro.
So, I've got Extruder, X and Y endstops and XY homing working just fine, but I'm nervous about the Z axis, and want to make sure I have everything set up correctly before getting it moving.
I want to use the dual Z stepper control bed leveling, and tried to use the ReprapFirmware configurator to do the initial config.
Unfortunately, the configurator doesn't seem to have a dual Z bed leveling option, which is fine, but that means I'm left trying to figure out the correct stuff myself.
I was hoping someone could review my config file and answer a few questions before hook up to Z steppers.
Questions:
It looks like I need several offsets to make everything work.
The first offset would be the distance from the nozzle to the front left corner of the bed from the X0 Y0 endstop switch homing points.
Using a ruler, I get 40mm in X and 16mm in Y from the nozzle tip to the bed corner.
The bed itself is 400 by 400mm, so what is the best way to manage this offset?
From X0 Y0, the bed coordinates would be:
Front Left X40 Y16
Front Right X440 Y16
Rear Left X40 Y416
Rear Right X440 Y416
Center of Bed X240 Y216There are two other offsets, the BL Touch offset from the nozzle tip, and the Z axis drive shaft dual bed leveling offset.
The BL Touch offset is X+60, Y+2
The Z axis drive shaft true positions relative to X0 Y0 are:
Stepper Z2, Left Side X-50 Y216
Stepper Z1, Right Side X530 Y216I got very confused when I inserted the following in the config:
G31 P500 X60 Y2 Z2
I thought these offsets were for the distance from the BL touch to the nozzle, but I think it is the offset for Z homing.
When I tried homing Z, without the Z steppers hooked up, the X and Y moved to home, the BLTouch extended, and then nothing.
I was hoping it would move to either the calculated center of the bed, or to the G31 X and Y coordinates, but neither happened, it just sat at X0 Y0.Any help would be appreciated.
Thanks.; Configuration file for Duet Maestro (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.3 on Sat Oct 02 2021 21:42:49 GMT-0400 (Eastern Daylight Time) ; General preferences M575 P1 S1 B57600 ; enable support for PanelDue G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Tronxy x5a 400 pro" ; set printer name M669 K1 ; select CoreXY mode ; 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 ; Drives M569 P0 S1 ; physical drive 0 goes forwards M569 P1 S1 ; physical drive 1 goes forwards M569 P2 S1 ; physical drive 2 goes forwards M569 P3 S1 ; physical drive 3 goes forwards M569 P4 S1 ; physical drive 4 goes forwards M584 X0 Y1 Z2 E3:4 ; set drive mapping M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 E430.00:400.00 ; set steps per mm M566 X600.00 Y600.00 Z200.00 E8000.00:200.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z2000.00 E20000.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E100.00:250.00 ; set accelerations (mm/s^2) M204 P1000 T4000 ; Set printing and travel accelerations M906 X950 Y950 Z950 E950:950 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout M572 D0 S0.001 ; Presure Advanced M207 S0.75 R-0.000 F3200 T3200 Z0.0 ; Firmware Retraction ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X400 Y400 Z400 S0 ; set axis maxima ; Endstops M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop ; M574 Z1 S1 P"zstop" ; configure Z-probe endstop for low end on Z Not Needed for BLTouch? ; Dual Z Axis M671 X-90:490 Y200:200 S4 ; define 2 leadscrews location & max correction ; Z-Probe M950 S0 C"zprobe.mod" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X60 Y2 Z2 ; set Z probe trigger value, offset and trigger height M557 X15:385 Y15:385 S60 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S75 ; set temperature limit for heater 0 to 75C M308 S1 P"e0temp" Y"thermistor" T100000 B4388 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat 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"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H0 T45 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H1 T45 ; 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
-
@j-pickens here’s my TronXY X5S setup and config.g . https://forum.duet3d.com/post/230927
I think I posted my bed levelling macros somewhere, but can’t find them viewing forums on my phone!
Ian
-
@droftarts
Thanks for the link!
I thought you had to define the Z axis driveshaft positions for the dual Z bed leveling.
Is that not done in config.g with an M671?
Is your Extruder stepper plugged into E0 or E1 on the board?
And I assume the second Z stepper is plugged into the opposite, E1 or E0? -
@j-pickens said in Duet2 Maestro with Tronxy X5SA-400 Pro Initial Setup:
The link to my config and description was a bit wrong; it's here https://forum.duet3d.com/post/230927
I thought you had to define the Z axis driveshaft positions for the dual Z bed leveling. Is that not done in config.g with an M671?
Is your Extruder stepper plugged into E0 or E1 on the board? And I assume the second Z stepper is plugged into the opposite, E1 or E0?
M584 X0 Y1 Z2:3 E4
from my config means one Z motor is plugged into Z, and the other to E0; extruder is on E1. Note that the two Z steppers are NOT both connected to the Z driver, ie ZA and ZB.However, from your config.g, it looks like you have two extruders:
M584 X0 Y1 Z2 E3:4
So you won't have a spare stepper driver to run the two Z motors independently. Is that correct? Otherwise, see my next post...Regarding your original questions:
It looks like I need several offsets to make everything work.
The first offset would be the distance from the nozzle to the front left corner of the bed from the X0 Y0 endstop switch homing points.
Using a ruler, I get 40mm in X and 16mm in Y from the nozzle tip to the bed corner.
The bed itself is 400 by 400mm, so what is the best way to manage this offset?
From X0 Y0, the bed coordinates would be:
Front Left X40 Y16
Front Right X440 Y16
Rear Left X40 Y416
Rear Right X440 Y416
Center of Bed X240 Y216Use M208. This tells the firmware how far the endstop is from the edge of the bed. Something like
M208 X400 Y400 Z400 ; set axis maxima M208 X-40 Y-16 Z0 S1 ; set axis minima
There are two other offsets, the BL Touch offset from the nozzle tip, and the Z axis drive shaft dual bed leveling offset.
The BL Touch offset is X+60, Y+2This implies that the BLTouch is 60mm to the right of the nozzle, and 2mm behind. Most likely it's on the other side, and these two numbers should be negative. See https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe#Section_Measuring_Probe_X_Y_Offset
I got very confused when I inserted the following in the config:
G31 P500 X60 Y2 Z2
I thought these offsets were for the distance from the BL touch to the nozzle, but I think it is the offset for Z homing.
When I tried homing Z, without the Z steppers hooked up, the X and Y moved to home, the BLTouch extended, and then nothing.
I was hoping it would move to either the calculated center of the bed, or to the G31 X and Y coordinates, but neither happened, it just sat at X0 Y0.Hard to say what's happening without seeing your homez.g. But then it won't home Z if the motors aren't connected!
The Z axis drive shaft true positions relative to X0 Y0 are:
Stepper Z2, Left Side X-50 Y216
Stepper Z1, Right Side X530 Y216Sounds about right. Try
M671 X-50:530 Y216:216 S5
. Though if your Z motors are not connected to individual drivers, it won't do anything.Ian
-
@j-pickens Rather than make my last post ridiculously long, I've put the bit about my Z axis setup in a separate post.
I thought you had to define the Z axis driveshaft positions for the dual Z bed leveling. Is that not done in config.g with an M671?
Yes, but on my TronXY there are two methods of levelling; manual 3-point levelling (initially there were 6 adjuster screws, but that doesn't really help, to I removed 2 on one side and one on the other) which levels the bed in the X and Y direction, and automatic 2-point levelling in X (because there are only two Z motors). I have a macro for each, so I set the M671 in the macros for each levelling setup:
; Manual three point bed levelling M561 ; clear any bed transform G29 S2 ; disable compensation G28 ; home all axes M671 X160:-160:0 Y-160:-160:160 P0.5 ; adjusting screws at front right (160,-160) and front left (-160,-160), rear centre (0,160) thread pitch M3 0.5mm G30 P0 X135 Y-145 Z-99999 ; probe near an adjusting screw G30 P1 X-145 Y-145 Z-99999 ; probe near an adjusting screw G30 P2 X0 Y145 Z-99999 S3 ; probe near an adjusting screw and report adjustments needed G1 X0 Y0 F6000
For the above, see https://duet3d.dozuki.com/Wiki/Using_the_manual_bed_levelling_assistant
; Two point bed levelling, automatic leadscrew adjustment M561 ; clear any bed transform G29 S2 ; disable compensation G28 ; home all axes M671 X255:-255 Y0:0 S5 ; leadscrews at right (255,0) and left (-255,0) G30 P0 X135 Y-145 Z-99999 ; probe near right front adjusting screw G30 P1 X-145 Y-145 Z-99999 S2 ; probe near left front adjusting screw and report adjustments needed G1 X0 Y0 F6000
For the above, see https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors
Note that my bed has the origin (X0 Y0) in the centre of the bed.
Also note to get the bed actually level, the process at first setup is:
- Get the bed frame level, by measuring down from the frame to the bed on each side, by each leadscrew, and adjusting until they are the same. This gets the bed frame square to the frame, so the leadscrews won't bind.
- Do the 'three point manual levelling', to get the bed plane level with the nozzle plane.
- If the bed goes out of level along the X axis, you can do the automatic levelling.
Ian