Z Motors Problem

Hi all. My lowrider 2 did a pen trace of the crown correctly when I tried it after completing the build. The only thing I hadn’t done at that stage was complete routing of the wiring and adding the control box, cable chain etc.

Now I have done that, my Z motors will only go down. In fact, the one at the side with the control box falls when the stepper should be holding it up. The screw thread is well lubricated and nothing seems lose.

I have run a M122 code and the result is below.

13:10:29.813 : X Y Y2 Z Z2
13:10:29.813 : Address 0 0 0 0 0
13:10:29.853 : Enabled false false false false false
13:10:29.853 : Set current 800 800 800 800 800
13:10:29.901 : RMS current 795 795 795 795 795
13:10:29.948 : MAX current 1121 1121 1121 1121 1121
13:10:29.948 : Run current 25/31 25/31 25/31 25/31 25/31
13:10:29.948 : Hold current 12/31 12/31 12/31 12/31 12/31
13:10:29.992 : CS actual 12/31 12/31 12/31 12/31 12/31
13:10:30.033 : PWM scale 14 14 14 14 14
13:10:30.081 : vsense 1=.18 1=.18 1=.18 1=.18 1=.18
13:10:30.126 : stealthChop true true true true true
13:10:30.166 : msteps 16 16 16 16 16
13:10:30.215 : tstep max max max max max
13:10:30.215 : PWM thresh. 79 79 79 658 658
13:10:30.256 : [mm/s] 100 100 100 3 3
13:10:30.304 : OT prewarn false false false false false
13:10:30.304 : triggered
13:10:30.304 : OTP false false false false false
13:10:30.348 : off time 3 3 3 3 3
13:10:30.388 : blank time 24 24 24 24 24
13:10:30.388 : hysteresis
13:10:30.438 : -end -1 -1 -1 -1 -1
13:10:30.482 : -start 1 1 1 1 1
13:10:30.482 : Stallguard thrs 0 0 0 0 0
13:10:30.482 : DRVSTATUS X Y Y2 Z Z2
13:10:30.526 : sg_result 0 0 0 0 0
13:10:30.566 : stst
13:10:30.616 : olb
13:10:30.655 : ola
13:10:30.703 : s2gb
13:10:30.745 : s2ga
13:10:30.788 : otpw
13:10:30.836 : ot
13:10:30.878 : 157C
13:10:30.921 : 150C
13:10:30.968 : 143C
13:10:31.008 : 120C
13:10:31.008 : s2vsa
13:10:31.008 : s2vsb
13:10:31.008 : Driver registers:
13:10:31.024 : X 0xC0:0C:00:00
13:10:31.032 : Y 0xC0:0C:00:00
13:10:31.040 : Y2 0xC0:0C:00:00
13:10:31.048 : Z 0xC0:0C:00:00
13:10:31.056 : Z2 0xC0:0C:00:00
13:10:31.064 : Testing X connection… OK
13:10:31.072 : Testing Y connection… OK
13:10:31.080 : Testing Y2 connection… OK
13:10:31.088 : Testing Z connection… OK
13:10:31.097 : Testing Z2 connection… OK

If anyone understands the result of the M122 code, I would be much obliged for any help.

Merry Christmas.

Where did you get your steppers from? What board are you using to control it? How are you running the gcode? How are you creating the gcode? Have you sent a manual command to move the Z?

One cause of a stepper motor only driving one way is loss of the ‘DIR’ signal from the uP to the stepper driver.

Not enough info supplied…individual drivers for the two Z motors or serial (or parallel) wired?
If individual drivers and one side Z motor is not engaged while the other is then you have one driver not working and the carriage could be skewed and jamming when commanded in the up direction. It could be the ever-present loose grub screw syndrome too.

Thanks Eric and Mike for your contributions. I rewired the z steppers and now they are working correctly. Just out of interest I have 5 TMC 2209 drivers with 5 stepper motors, each running of its own driver. I have a skr 1.4 turbo board with a TFT35 E3 3.0 screen. I didn’t like the dupont connectors as they do not seem to hold on the board very well, so I have replaced them with JST connectors, but I think my crimping may be adding to the problems. I have found that if I press down on the wiring I can hear one of the motors reacting, so my next move will be to order some cables with the JST connectors already connected and solder them onto new cables. My next job will be to completely renew all the wiring. I have managed to trace the crown again using a felt tip pen, but wasn’t happy with the result, but when I then tried to move back 6 inches to try another trace, the Y motors were having problems, so I think total rewiring is first and then see what happens after that. To answer Eric’s questions, I was sending commands to move from the TFT screen, and I sent the M122 code from Repetier. Thanks again for trying to help.

1 Like

You’ve already got it sorted, but I was going to say if it worked before changing the wiring then double-check the wiring.

I finished the rewiring and almost everything is working fine now. My X axis homes correctly as does the Z axis, with the bed levelling at the same time. However, I changed the Y axis homing to:
#define Y_HOME_DIR 1 from #define Y_HOME_DIR -1
But the Y axis steppers do not stop when the end stops are triggered. I checked they were all working with M119 code, while pressing each end stop in turn.
Do I need to change something else in the firmware if I have changed the direction of Y homing?

On another point, I wanted to add a Z probe, by using a crocodile clip on the endmill and another on a feeler gauge. The skr 1.4 Turbo has a probe socket next to the Z min socket, do I connect the ground to one crocodile clip and the signal to the other crocodile clip? And do I need to change the firmware if adding the Z probe?

Any help would be much appreciated.

Is Y the dual axis on your machine? Maybe you have the endstops swapped. Y2 motor with Y1 endstop.

The Z is tricky. On the dualLR firmware, we made it home up, and enabled G38 and zmin probe. There were some tricky settings to get it to work. But G28 Z homes up and auto squares. G38.2 Z0 proves down and just sets the Z=0 position.

Here are all the setting changes we make for dualLR yz:

Then we cna use s and (-) on the zmin for the probe. Usually ground on the bit and the signal on a plate or spatula.

Thanks Jeff. My Y axis does have 2 steppers. I will check I have not swapped Y2 motor with Y1 end stop. My Z homes down and levels when the two end stops touch the Z roll assembly. I am using both the Z end stop connections on the board. Z end stop and E0. That is why I wanted to use the probe socket for the Z Probe. I am not using software end stops, I am using physical switches. Or have I misunderstood again?

I think this will work:

Set Z_MIN_PROBE_PIN to whatever that pin is called.