Multiple z motors homing with firmware 3.3
-
Hi, I just upgraded the firmware from 2.05 -> 3.0 -> 3.3
I have a configuration with a double independent extruders and 3 independent motors for z axis. The three Z axis have endstops.here the problem
I tied to changed the configuration based on the online guide, but I have a strange behavior:
- Z1 -> if I trigger manually the endstop of Z1 it stop. This stop. This is the only axis working as expected
- Z2 -> if I trigger manually the endstop of Z2 it doesn't stop
- Z3 -> it doesn't move in the direction of homing (but the motor works. I tested this moving up & down after running G92)
I tried M119 when all Z are still not homed, and here the result, where it looks like doesn't see endstops for Z2 and Z3 (axis W and A)
Endstops - X: at min stop, Y: at min stop, Z: not stopped, U: at min stop, V: at min stop, W: no endstop, A: no endstop, Z probe: not stoppedFor simplicity I extract here only the Z axis part of config.sys and the the extract of Z in the homeall.g
OLD configuration, which worked well:
Config.g
M569 P2 S1 ; physical drive 2 goes forwards (Z1) (Z)
M569 P7 S1 ; physical drive 7 goes forwards (Z2) (W)
M569 P8 S1 ; physical drive 8 goes forwards (Z3) (A)
M584 X0 Y1:6 Z2:7:8 U5 V6 W7 A8 E3:4 P4 ; set drive mapping
...
M574 X1 Y1 Z1 U1 V1 W1 A1 S1 ; set active high endstopsHomeall.g
M584 Z2 W7 A8 P7 ; split Z motor control to Z1, Z2, Z3
G1 H1 Z-310 W-310 A-310 F350 ; move Z down until the endstop is triggered
M584 Z2:7:8 P4 ; back to combined axesNEW configuration on firmware 3.3
Config.g
M569 P2 S1 ; physical drive 2 goes forwards (Z1) (Z)
M569 P7 S1 ; physical drive 7 goes forwards (Z2) (W)
M569 P8 S1 ; physical drive 8 goes forwards (Z3) (A)
M584 X0 Y1:6 Z2:7:8 U5 V6 W7 A8 E3:4 P4 ; set drive mapping
...
M574 X1 S1 P"xstop"
M574 Y1 S1 P"ystop"
M574 U1 S1 P"e0stop"
M574 V1 S1 P"e1stop"
M574 Z1 S1 P"zstop+exp.4+exp.9" ; set endstops for Z (zstop), W (exp.4), A (exp.9)Homeall.g
G1 H1 Z-310 F350 ; move quickly to X axis endstop and stop there (first pass) -
@marco_76 for RRF3.3 you do not need to create extra axes for the additional Z motors. So remove all references to the U and A axes from config.g.
Test the Z endstops individually by using the Object Model Browser in DWC to monitor sensors.endstops while you trigger them.
-
@dc42 thanks. After some tentative I think I understood the logic. It's working fine for my double motors for the Y axis (see at the end of the post the new config.g), but I still have problems for the Z axis.
other tests I did:
- with M119 I tried with only Z1 sensor activated, only Z2, only Z3, all together. I get Z: at min stop only when Z1 is activated, and when all sensors are activated (but of course in this case also Z1 is activated)
- leds in the duex board are working fine, if I activate a sensor I see the led changing status
- the only difference between Z1 sensor is that this is connected to the duet board, while Z2 and Z3 sensors are connected to E2 endstop and E3 endstop of duex
- I'm using optic sensors for all axes
I tried to launch the Object Model Browser in DWC but it is returning all empty. See here:
M409
{
"key": "",
"flags": "",
"result": {
"boards": [
{}
],
"directories": {},
"fans": [
{},
{},
{},
{}
],
"global": {},
"heat": {},
"inputs": [
{},
{},
{},
{},
{},
{},
{},
{},
null,
{},
null,
{}
],
"job": {},
"limits": {},
"move": {},
"network": {},
"scanner": {},
"sensors": {},
"seqs": {},
"spindles": [
{},
{},
{},
{}
],
"state": {},
"tools": [
{},
{}
],
"volumes": [
{},
{}
]
}
}Here the new config.g
; Drives
M569 P0 S0 ; physical drive 0 goes backwards(X1) (X)
M569 P1 S0 ; physical drive 1 goes backwards(Y1) (Y)
M569 P2 S1 ; physical drive 2 goes forwards (Z1) (Z)
M569 P3 S0 ; physical drive 3 goes backwards(E1)
M569 P4 S0 ; physical drive 4 goes backwards(E2)
M569 P5 S1 ; physical drive 5 goes forwards (X2) (U)
M569 P6 S1 ; physical drive 6 goes forwards (Y2) (V)
M569 P7 S1 ; physical drive 7 goes forwards (Z2) (W)
M569 P8 S1 ; physical drive 8 goes forwards (Z3) (A)M584 X0 Y1:6 Z2:7:8 U5 E3:4 P4 ; set drive mapping (number of visible drivers P)
M350 X16 Y16:16 Z16:16:16 U16 V16 I1 ; configure microstepping with interpolation for axis
M350 E8:8 IO ; configure microstepping with no interpolation with extruders
M92 X200.00 Y200.00 Z4260.00 U200.00 E1900.00:1900.00 ; set steps per mm
M566 X1000.00 Y1000.00 Z10.00 U1000.00 E6.00:6.00 ; set maximum instantaneous speed changes (mm/min)
M203 X12000.00 Y12000.00 Z500.00 U12000.00 E2400.00:2400.00 ; set maximum speeds (mm/min)
M201 X1500.00 Y1500.00 Z20.00 U1500.00 E120.00:120.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 U800 E400:400 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 U-23 S1 ; set axis minima
M208 X321 Y308 Z275 U298 S0 ; set axis maxima; Endstops
M574 X1 S1 P"xstop"
M574 Y1 S1 P"ystop+e1stop"
M574 U1 S1 P"e0stop"
M574 Z1 S1 P"zstop+exp.4+exp.9" ; set endstops for Z (zstop), W (exp.4), A (exp.9) -
@marco_76 said in Multiple z motors homing with firmware 3.3:
]
Solved!
I changed the names of the pins: exp.e2stop --> duex.e2stop
So now the sensors for Z are the following and it is working fineM574 Z1 S1 P"zstop+duex.e2stop+duex.e3stop"
thanks,
Marco