Just to confirm, I have a bag of jumpers but none of them are connected to the RAMPS board.
Swap Drivers and make sure that your Ramps shield is properly connected to arduino. I believe this might be a bad connection somewhere that only affects your E0 output.
I wonder how your gantry is even moving with such a blocking X2.
It seems that once the X1 pulls the gantry into a certain directly, X2 comes out of its limbo. But even when it tags along, it has already caused the gantry to become un-equalized.
I’ve powered down and firmly pressed the RAMPS shield onto the Arduino underneath. Powered back up, nothing changed.
Then, before taking out the drivers and swapping them, I figured I’d try to swap the power cables once more (X1 motor on E0, and X2 motor on X).
I think I can now confirm that it’s the driver, because now X1 is jittering and X2 is trying to pull the gantry on its own.
So, if we narrowed it down to the stepper driver, but I already confirmed that the VDC in both X and E0 drivers is 600 milliVolts, what else can I do to troubleshoot this stepper? What else can I configure to stop it jittering my motors?
Or is it just fried?
Take the driver to another axis (like Y). Then check if the motor also struggles on this axis.
In almost a year with 2 Farmbots ive never damaged any drivers (A4988 and drv8825) so far. But if there was production failure in this we cant do much
I also had this issue a few times when Farmbot was settled into garden. Most time the unplug/plug of Ramps and Drivers did it. Thats why I assumed a bad connection between those parts.
It’s getting late. I will swap E0 with Y driver tomorrow or Wednesday, and then we’ll take it from there. Thanks for all the support so far, guys.
IMO 600mV is insufficient for the stepper motor, should be more like 1V. The actual value depends on the motor load, which of course will vary between individual machine builds, and could easily be different between X1 and X2. Try rotating the Vref clockwise to increase the voltage a bit.
A bad connection is also possible, the connectors are fine for prototyping, but totally inadequate in a vibration environment. I plan to re-do my electronics soon, replacing the connectors with more suitable types.
And this value is based on what?
Itrip = Vref / (8xRs)
Rs is 0.1R, so with Vref at 0.6V, Itrip is 0.75A. This is reduced to 0.525A by the A4988 chip for full step operation. The motors are rated at 1.7A, which equates to a Vref of 1.36V (actually 1.9V when you allow for the full step current compensation by the A4988). So you have plenty of room to increase the Vref. The tradeoff with increasing Vref is the extra current means the A4988 will get hotter, not really a problem until you get up to say 1.5A. So my recommendation is to set the Vref to 1V and see how that works (I’ve set mine to 1V, a bit more on the X axes).
The only one you want to be careful of is the Z axis which is always on, so you’d want to increase that one slowly until it works satisfactorily. Unfortunately there is no way with the RAMPS board to wind back the holding current, which would be the preferred way of controlling the steppers when idle.
I know absolutely nothing about electronics, but I do like to reason critically until it makes sense to me.
In the video linked by @Tim [quote=“Tim, post:4, topic:1815”]
The exact procedure from the manufacturer:
Pololu - Video: Setting the Current Limit on Pololu Stepper Motor Driver…
I think she mentions that there are two coils in the stepper motor.
So doesn’t that mean it has 0.525A per coil? So just above 1 Ampère for the motor? Sorry, don’t want to turn this thread into “let’s teach Marc basic electronics”, just want to avoid tuning things I take for granted because “it’s on the Internet”.
Yes there are two coils in the stepper motor, the A4988 has two ‘coil’ drivers, and Vref is applied by the A4988 to each coil, so we’re only ever talking about a coil. The motor is specified at 1.68A per coil (not per motor).
thanks for making this clear. It’s great having someone here that knows how to adjust the drivers.
This could become tricky, I think those drivers are usually shipped with 0,6V. Means that some more users will need to adjust those, so we should think about writing a guide or add it to the docs @Gabriel @roryaronson ?
I’ve swapped the E0 driver with the Y driver. X1 and X2 now perform flawlessly. Y-Axis now does not move at all (not even jittering).
So I increased Vref
I’ve set the Y driver to 1026 mV. It still won’t move a single step.
I think it’s fried…
On farmos 3.1.5, I have all the motors moving except for x2. I can hear and feel that it is trying to move, but it just does not. If I ‘help’ it a little, it makes jumpy movements, but barely turns.
In addition, I can feel the heat sink of the stepper driver (E0) of that motor getting significantly warmer (hot!) than the other motors.
I’m quite sure that I’ve assembled the arduino in general and the controllers in particular correctly.
As suggested in this thread, I’ve swapped the E0 driver with that of another motor (Z). When I do that, both x motors are spinning like the earth around the sun, but Z is not moving.
I have not yet tried to play around with the voltage of the driver…
@creimers you describe the exact same problem I had, indeed. Coincidence?
@mdingena Have you tried replacing the fried unit?
I only have the four drivers included in the farmbot kit. I’ve tried to contact the team about their return / replace policy but haven’t heard from them yet.
I did swap them between Y and E0, and the problem moved with the driver, so it really is isolated to the driver.
It sounds like there may be issues with the drivers. @mdingena and @creimers I will contact you both privately regarding replacements.
I replaced the faulty driver, now all motors are working! X1 and X2 both drive the gantry and it doesn’t twist anymore
Thanks for troubleshooting with me.