Y and Z work one direction, error the other

I’m trying to debug a self-inflicted issue. The background is I’m using 1.3/1.4 encoder cables for a 1.2/RAMPS board.

That said, my X axis is running superbly with the TCM2208 silent drivers. No issues with X at all.

I started with a couple of non-farmbot steppers/encoders and couldn’t get repeatable results - tried many different settings. I am moving towards “OEM” equipment, so I ordered the FarmBot nema17 steppers and encoders.

Received and noticed the encoder cable connectors were different than the aftermarket units (so were the motor cable connectors - motor end, but I moved them around).

Now, the Y and Z axis work perfectly one-direction (away for Y, and up for Z), but error out the other direction. The errors are:

CS Failed: [move_absolute] - :firmware_error"
Movement to (10000.0, 836.4, 3229.72) failed.
Got error while executing move_absolute(10000.0, 836.4, 3229.72, 600, 5000, 5000).

If I turn off using encoders, the Y and Z motors work fine.

I suspect the pinout for the encoders are at play, but don’t know encoders well enough to troubleshoot - any thoughts?


Just noticed a few things in your quote:

  • Your X-Axis would be 10 meters away from home and your Z-Axis is 3 meters in the sky. There are no software limits right?
  • Also your speeds for Y and Z seem to be really high compared to X.
  • Check if the proper firmware is selected in the Device tab.
  • Double check your encoder cables if all wires are connected like the picture shows.
  • Check your position values when moving your axes by hand. Are the encoders working in both directions this way?
  • Are the motor and encoder settings right? Check this by moving each axis at least 100mm forward and measure the travelled distance.

Thanks a ton - will head out to the farm later today and try some things. For the diagram, it shows: Y Encoder A, B, AQ, and BQ. The farmbot documentation on the NEMA 17 encoders calls out: A+, A-, B+, and B-.

Are these equivalent?:
A = A+
B = B+
AQ = A-
BQ = B-

Also, are all the endstop pins “powered”, or do each of the +/- signal in some way?

Thanks for all the support - looking forward to getting this fb alive!

Can’t answer that directly since I don’t use official FarmBot encoders but I’m pretty sure that this is right. AQ and BQ are not beeing used by the arduino software at this time, so having A and B in the right position is more important.

The pins + and - are always powered. Just make sure that you don’t connect the thicker black wire to the - pin. But if this would be your issue, then you would experience the same errors in both directions …

Thanks for the support @Ascend - today, X/Y/Z are functioning perfectly! Here’s the pinout is used (had the A’s and B’s crossed):

Pin Signal Connector RAMPS
1 Vcc Red +5v
2 Gnd Black Ground
3 A+ White 23 - Y Encoder A
4 A- Yellow 35 - Y Encoder AQ
5 B+ Green 25 - Y Encoder B
6 B- Blue 37 - Y Encoder BQ
7 Z+ x
8 Z- x
9 Shield Not connected
1 Like