I'm configuring a CoreXY 3D printer with an accessory that runs additional axes. (First time configuring a Duet build). Running RRF 3.5.0 RC1 as I will need some of the features there.
Using Duet 3 Mini 5+ with the 2 stepper expansion board, 3HC expansion, and toolboard. So far the heated beds work (4 zones), the extruder works (toolboard), X and Y axes work and are homing (endstop switches).
I could use some help fixing the following issues:
1. I can't get the sensorless homing to work on the Z axis (bed moves on Z via belts and small geared motors). It reaches the end and keeps going trying to move past. I have 3 independent motors connected to ports 0,1,2. I want to home at the bottom. See end of config below.
M569 P0.0 S0
M569 P0.1 S0
M569 P0.2 S1
M584 X1.0 Y1.1 Z0.0:0.1:0.2 E121.0 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X160.00 Y160.00 Z800.00 E710.00 ; set steps per mm
M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X36000.00 Y36000.00 Z3600.00 E1800.00 ; set maximum speeds (mm/min)
M201 X2000.00 Y2000.00 Z300.00 E2000.00 ; set accelerations (mm/s^2)
M906 X2000 Y2000 Z600 E600 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
; stall detection
M915 P0.0 S0 R1 H400
M915 P0.1 S0 R1 H400
M915 P0.2 S0 R1 H400
; axis limits
M208 X-3 Y0 Z0 S1 ; set axis minima
M208 X370 Y400 Z382 S0 ; set axis maxima
For homing I call G1 H1 Z100 F3600.
I tried M915 P0.x S0 alone, even tried S-50 which is super sensitive and it still fails to trigger. I understand that R1 should log the event, but am not sure where it would get logged. Also tried setting a low motor current to 200mA. Running out of ideas to try.
2. I cannot home a custom axis. I have an axis called W on an accessory. I can move the axis with G1 Wxx command. There is an endstop switch. I'd like to home that axis using the switch and I can't figure out how. I have the config below and am not sure the last line is allowed:
M569 P0.6 S0
M584 U0.5 V0.3:0.4 W0.6 ; set drive mapping
M350 U16 V16 W16 I1 ; configure microstepping with interpolation
M92 U160 V160 W36 ; set steps per mm
M566 U600 V600 W600 ; set maximum instantaneous speed changes (mm/min)
M203 U24000 V12000 W12000 ; set maximum speeds (mm/min)
M201 U2000 V2000 W300 ; set accelerations (mm/s^2)
M906 U1000 V1000 W1000 ; set motor currents (mA) and motor idle factor in per cent
M208 U0 V0 W-90 S1 ; set axis minima
M208 U550 V550 W90 S0 ; set axis maxima
M574 W2 S1 P"^1.io2.in" ; configure switch-type (e.g. microswitch) endstop
Last line is exactly the same format as the ones for the X and Y endstop switches (M574 X1 S1 P"^1.io0.in").
I tried homing with something like G1 H2 W200 F360 but it reaches the endstop and keeps trying to move past. I did check the endstop wiring.
Looking at the documentation, the last line in the code above might not be allowed. M572 specifies parameters X, Y, Z, P, S, K. There's no mention of custom axes such as W. What is the best way to home a custom axis?
Additionally, I have other custom axes (U and V) which will require sensorless homing, but am hoping to fix the sensorless homing on the Z first.
3. Ideal mesh leveling probe configuration. I have a custom probe, similar in concept to the Klicky probe. Basically a microswitch that attaches via magnets to the underside of the extruder. I can load/unload(park) it. The probe triggers about 14.5mm below the nozzle Z height. I got it working by calling code below after loading the probe:
G0 Z16
M557 X10:360 Y0:350 S70
G29 S0
(I manually "homed" the Z axis so it sort of knows where it is roughly).
However, I read in the documentation that I should first establish a Z=0 datum first. So I ran the code:
G0 Z16 ; lower bed
G0 X182 Y182 F36000
M98 P"/macros/probe-load.g"
G0 X182 Y182 F36000
G30 ; Establish a Z=0 datum
G31 P500 X0 Y22.5 Z2
M557 X10:360 Y0:350 S70
G29 S0
If I do that, the mesh probing starts at a very high position (~15-20mm above the bed) and slowly moves the bed until it touches. It does this for every probing point. It takes forever! I with it used the Z2 probing distance as instructed.
I'm not sure how to improve this. I could skip the Z=0 datum, but I feel like there should be a better way.
I'm also starting toying with G30 S3 (as I run independent motors and kinematic coupled bed) but wanted to finish fixing the homing first.
Cheers!