Different steps/mm for one of the Z axis

  • Hi Guys. I have a stupid question with the Duet config. At the moment I am working on a belt driven Z axis because I am fed up with the Z banding. I have an idea but at first I wanted to try it on only one of the axis. (I have a 3 Z setup). To do so I have changed the steps/mm setting of the changed Z setup but it does not seems to have an effect... (this is what I changed for the 20 tooth idler as an experiment: M92 X160 Y160 Z800:80:800 U80 V800 E830). Now the one with the belt is extremely fast. Basically it seems to be that only changing the first Z value has an affect. Do I have to change something differently? Thank you in advance.

  • administrators

    RepRapFirmware requires that all motors driving an axis have the same steps/mm.

  • Moderator

    @kiki0000 The firmware won't allow you to set different microstepping for different motors on a single axis; it uses the first value (E is treated differently). However, I think you could map the belt axis to a different axis, say U, with it's own motor settings and microstepping, then change the kinematics so U follows Z, using M669. See the section here: https://duet3d.dozuki.com/Wiki/Gcode#Section_Parameters_for_Cartesian_CoreXY_CoreXZ_CoreXYU_CoreXYUV_MarkForged_kinematics_RRF_2_03_and_later_only

    The disadvantage is that 3-point levelling won't work any more, I think. (Actually it might, if you set the first probed point by the U axis leadscrew, as the bed plane is referenced from the first probed point, which doesn't move.)

    You don't say how your machine is set up (Cartesian, CoreXY etc), but it should be something like:
    M669 K0 ZZ0:0:1:1 U0:0:1:1 ; Cartesian
    M669 K1 Z0:0:1:1 U0:0:1:1 ; CoreXY

    This just means each time Z moves +1, U moves +1, and vice versa.

    Edit: ...and you'll need to change your Z homing script so it homes Z and U at the same time!


  • @dc42 Thank you for your reply. Than there is no way to test only one I have to build all 3 the same time 😞

  • @droftarts Thanks a lot. Good news. I will give it a try, I hope I can figure it out, if not I will come back to you. It is a Core XY printer with 3 Z "axis".

  • @droftarts I have tried it today but I could not get it to work. That Z axis does not move at all. I have tried a few version in the frimware. This is How it is at the moment. I wanted to use V for this special axis. U is for the other Z. Could you please help me out?
    Thank you.

    ;M667 S1 ; Select CoreXY mode
    M669 K1 Z0:0:1:1 V0:0:1:1
    ; Drives
    M569 P0 S0 ; Physical drive 0 goes forwards
    M569 P1 S0 ; Physical drive 1 goes forwards
    M569 P2 S1 ; Physical drive 2 goes forwards
    M569 P3 S1 ; Physical drive 3 goes forwards
    M569 P4 S1
    M569 P6 S1

    M584 X0 Y1 Z2:6 U6 V4 E3 P3 ; Three Z motors connected to driver outputs Z and E1
    M671 X-60:400:400 Y190:340:26 S10 ; leadscrews at left and right of X axis
    M208 X-3:290 Y10:315 ; X carriage moves from -5 to 380, Y bed goes from 0 to 200
    M350 X16 Y16 Z16:16 U16 V16 E16 I1 ; Configure microstepping with interpolation
    ;M350 E128 I0
    M92 X160 Y160 Z800:800 U800 V80 E830 ; Set steps per mm
    M592 D0 A-0.00971 B0.003424 ;non-linear extrusion
    M566 X500.00 Y500.00 Z30.00:30.00 U30.00 V30.00 E300.00 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000.00 Y18000.00 Z600.00:600.00 U600.00 V600 E500.00 ; Set maximum speeds (mm/min)
    M201 X1000.00 Y1000.00 Z100.00:100.00 U100 V100 E1600.00 ; Set accelerations (mm/s^2)
    M906 X1000.00 Y1000.00 Z900.00:900.00 U900.00 V900 E800.00 I30 ; Set motor currents (mA) and motor idle factor in per cent

  • Moderator

    @kiki0000 Might be best if you say what Duet you have, what firmware you have running (send M115, post reply), post your full config.g. You should be using either 2.05.1 or the latest 3.01 RC12. Then we'll have a better chance of getting this right.

    How are you homing the 3 Z axes? Is it Z,U and V? You only need to split out Z and U if you're running RRF2, and are using endstops on each motor of Z for homing. If you're using a probe for homing, or using RRF3, you don't. Post your homez.g too.

    Remove ALL Znnn:nnn entries in the motor settings, and just use Znnn; it doesn't work. At best, the second setting is ignored, at worst, the firmware (depending on version) will be trying to map this to another axis.

    Send M669 and post what it reports. As you've used V rather than U to track Z, the M669 command may need to change.

    Finally, axis visibility (the P3 parameter in M584). I'm not sure, but the extra axis may need to be visible, at least to home it.


Log in to reply