Different Y Motor Speed/Motion

Let me start by saying this is my first Arduino Arduino project and my first CNC and I’ve just jumped right in. That being said, I was about to test a simple GCode I generated in Fusion today when I noticed that my two Y motors were moving different distances when I put in 1 mm step commands from my LCD. The difference in rotations seems to be 2-4 times as much from one side to the other.

Build Info:
Ramps 1.4
5 stepper drivers, each driving one motor
1X, 2Y, 2Z motors and limit switches (not yet fully implemented)
Marlin taken from the autoquaring/dual endstop github with only a few minor necessary tweaks

I am took off the belts and tried to check for any rubbing or over tightened bolts but have found none. I have checked speeds in Marlin and I only see 4 values for speeds/accelerations/feedrates, each in its own array. I can only figure two things. I can assume that each motor is taking the Y speed value from this array, and if that is the case then I don’t understand why there would be a difference in motion from the two motors. The other is that for some reason with the pin shuffling trick done with the extruder (which I don’t fully understand, but I don’t have to :slight_smile: ), somehow these speeds are ordered wrong or messed up. I checked that each motor has the same mirco-step and current setting and all motor drivers have all jumpers in place on the ramps board. Vref matches on each motor driver. I am looking for a solution to this so I can start some test cuts and calibration. Any help or suggestions are greatly appreciated.

I have included a picture because 1.) the forum guidance says to, 2.) maybe it will somehow help the troubleshooting process, 3.) I’m happy to show off my work in progress.

With new Marlin, you can set EXTRUDERS=0 and not have to do the pin dance anymore. I pushed a branch to allted/V1CNC_Ramps_Dual that isn’t well tested, but is based on the rambo one, which is, but switched to ramps.

First question, are you sure they are stepping differently? Engage the motors (just send them 1mm) and then try to wiggle them by giving them a small push. If one is moving, it might be because of a wiring issue, a loose pulley, or the wrong software.

Since you are using a Ramps board, the microstepping is determined by the jumpers underneath the drivers. Since Y1 and Y2 are separate drivers, they can be configured differently. So you can pull them off and make sure all three jumpers are in place.

If that’s not it, thenaybe you have a bad driver. Try swapping them.

Make sure you have the current set on each driver. My typical Ramps PSA.

Also, most of us mount the controller to the gantry, and just use longer power cords, instead of really long motor cables.

Thanks for the response. I am pretty sure they are stepping differently. When doing exactly what you said with 1mm pulses sent from my TFT my right Y motor moves way more than the left, but the left does move. I will try swapping the motor drivers and see if that resolves anything. Since I just joined the forum I can’t post everything I’d like but this google drive folder has my config files: https://drive.google.com/drive/folders/1QLLGakirZMCncErE_ZBy1ohcKk5QRv-Y?usp=sharing
The Marlin firmware I pulled for Dual Endstops does have extruders set to 0 as you said. When you say to make sure the current is set on each driver, I am assuming you are talking about Vref? If so, I have done that. Last but not least, I know that most people mount the board on the gantry, but I wanted to be different and mount mine to the table.

Yes.

They are attached. There have been times when we went back and forth a few times and it turned out the slow side wasn’t moving on its own power, it was being pulled by the other end.

Then you don’t need to edit the pins file, it shouldn’t have an E2 and E0 should be the normal pins.

Did you check the jumpers under the drivers?

I highly doubt it is a software. It should simply enable them both at the same time, ser the dir pins to the same and step them at the same time. It would need more software to step them at different speeds. But the driver may be interpreting the steps differently if the jumpers are set differently.

1 Like

I shuffled all of the drivers around and it seems to have fixed that issues. Now on to other problem solving! Thanks for the input.

1 Like