Splitting Z-axis steppers
I've seen a couple of videos where people have 2 independent stepper drivers. I have a D-bot with two lead screws. I also have a BL touch. I would have thought that there must be a way of using these two components to facilitate a better way of levelling the build plate. I've tried a couple of times following posts that I've found but I've not managed to split the Z axis motors, let alone actually use them to level the bed.
Can someone either direct me at a good RRF3 reference or explain how I would go about achieving this? Or even just saying that it is not possible so that I can stop searching for a solution.
JoergS5 last edited by JoergS5
@StevePS3 this is a good start:
with a section about RRF3 at the end. RRF3 made the procedure easier.
That is the one that I followed. It seem to be written by someone who assumed that I knew what they were talking about. There appears to be a whole load of detail missing. I am pretty sure that firmware can't get around the problem that the two Z connectors are linked to each other. So I am sure that you do need to split the Z axis.
I tried just doing this to start with
M584 X0 Y1 Z2:4 E3; two Z motors connected to driver outputs Z and E1
M671 X-20:220 Y0:0 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
M208 X-5:205 Y0:200 ; X carriage moves from -5 to 205, Y bed goes from 0 to 200
But all I ended up with was only 1 stepper being powered.
hlwerschner last edited by
As far as I can find that D-Bot seems to be a cartesian printer, I am wondering why you want to have 2 "independent" Z axes?
I have built my machine as a "portal" style one (Y movement is done by moving the bed/table and the protal has 2 leadscrew drives (each with stepper motor) and the X-axes leadscrew moved up/down by these two synchroneously working steppers. With the DUET 2 this is quite simple as it directly supports this solution. With the two leadscrews + each stepper, I am quite sure to be able to move even drilling motors instead of a printing head.
As far as I did understand the different kinds of printer axes modes, you need independently working steppers for the non-cartesian modes?
engikeneer last edited by
@StevePS3 post your full config.g file so we can see what is going on. It could be one of the other settings isn't right (have you got the steps per mm set up right for both Z motors etc)
Also, have you checked your wiring? Simple test would be to swap the cables over at the Duet, just in case there is an issue there.
How are you trying to move your Z axis? Does the motor that is moving move as you would expect?
No, the D-bot is a CoreXY
At the moment my config.g is just a standard setup. I've not made any changes. Or at least I've not kept any changes. I rolled them back until I could find something that worked.
fcwilt last edited by
If at one point you had both Z steppers connected to the two Z connectors did you restore the jumpers when you disconnected the stepper that is now connected to E1?
Maybe this is the problem, I did not change any jumpers. I didn't think I needed to. I thought that I could just do the M584 X0 Y1 Z2:4 E3. I've not read anywhere that said I needed to change jumpers.
fcwilt last edited by fcwilt
Well IF you had both Z steppers connected to the two Z connectors you had to remove the two little black jumpers on the second Z connector.
IF you removed a cable to a Z stepper from the second Z connector you need to restore the jumpers.
See the upper right corner of this screen shot of the Duet WiFi board.
engikeneer last edited by
FYI, the two Z-motor headers on the Duet are wired in series, hence the need for the jumpers to complete the circuit. There's a note about this on the Duet wiring diagrams:
@Phaedrux (/someone with the power) - Might be worth putting a quick reminder about this on the Independent Z motor's page to make things clearer
Ahhhh. That makes sense. Thanks, let me try that.
OK, So I have put the jumpers back and I've updated the config.g
M569 P1 S1 ; physical drive 1 goes forwards
M569 P0 S1 ; physical drive 0 goes forwards
M569 P2 S0 ; physical drive 2 goes backwards
M569 P3 S0 ; physical drive 3 goes forwards
M584 X1 Y0 Z2:4 E3 ; set drive mapping
M671 X0:0 Y-20:220 S0.5 ; leadscrews at front (connected to Z) and back (connected to E1) of Y axis
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X100.00 Y100.00 Z400.00 E420.00 ; set steps per mm
M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X18000.00 Y18000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
M906 X900 Y900 Z1100 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
Other than that I've done nothing so far. I though that it was best to get the leadscrews working before I worries about endstops.
Now the stepper plugged into the E2 is working but the stepper plugged into Z is totally passive.
OK, I saw one of the comments and I swapped it to 4:2 and that works.
I now have the two endstop positions working but with each enstop probe, both motors are turning. Is that correct? If so then how is this levelling the bed?
OK, sorted. I had to change the M574 command to use an S2 probe rather than an S1. All working now, thanks everyone.
Glad you got it sorted. I'll add a note to the page about adding the jumpers back to the second Z driver port as it certainly may not be obvious to the uninitiated.
By the way, if you already have a probe you don't really need to use the dual z endstop method at all, but if it's working for you, rock on.
A Former User last edited by
This post is deleted!