FarmBot tracks keeping sticking and movement fails

Whenever I try to move our FarmBot, the first 100-500 mm is usually in a start stop motion. Like it will go for maybe one second and then stop. I was wondering if anybody else (maybe @Intelbotfarmer) had any of these problems?

Ok, here would be my steps, knowing what I know now…
NUMBER #1 - Check for straight rails
Kneel down at each end of the X-Axis rails. Sight check for trueness. They should look absolutely straight - left & right AND up & down. If not, spend the time adjusting now - you will have to do it no matter, and it is a bigger effort later.

NUMBER #2 - Check for over-tight wheels
Check ALL V-Wheels. I opted for looser rather than tighter - I can tighten later. My method was to see if the wheel would spin by hand. If not, it was most likely too tight. A couple of the wheels actually had to be completly loosened, then re-tightened with a bit of downward or upward preassure on the assembly in order to have the bolt seat higher in the hole. (ask me for more detail if you dont "get " this)

NUMBER #3 - Check for easy gantry movement
With the power off AND the belts off (and maybe the motor cables disconnected from Farmduino to avoid back voltage when you move the motors)
First - Try moving the entire gantry (get a friend.) Go from one end to the other - slowly! Feel for resistance, tightness, bumps, snags, etc.
STOP at each instance and FIGURE OUT WHY. I had to adjust rails, sand joints, and clean stuff out of the groves and make sure the “V” part of the rail (the part that the wheels that actually contact the rail) was very clean.

Number #4 - Belts and endstops
I went through quite a bit of effort here. what I did at first was probably to have over-tight belts. Then I did over-loose. Now I am at a point where they are just snug, not to tight, not too loose.
I also would check the pulleys and the V-Wheels where the belts transition to the rails AS YOU MOVE THE GANTRY FROM ONE END TO THE OTHER. Watch for the belt riding up on the rim of the pulleys and/or getting caught between the V-Wheel and the rail. (This caused some permanent damage to mine, I fear. New belts for the XL = $140)

Number #5 - Do everything SLOW!
I was over-ambitious and had crazy X, Y & Z speeds and very low “Accelerate” distances.
Right now, my X & Y are at 20 and my Z is at 15
“Accelerate For” is set to 500

After you get through all this, post your results - I will stay tuned…
Luck!

I will paste in below a quick dump & screen cap of my settings (light decoding needed - ask if you cant figure it out)

{
“encoder_enabled”: {“x”: 1, “y”: 1, “z”: 1 },
“encoder_invert”: {“x”: 0, “y”: 0, “z”: 0 },
“encoder_missed_steps_decay”: {“x”: 5, “y”: 5, “z”: 5 },
“encoder_missed_steps_max”: {“x”: 5, “y”: 5, “z”: 5 },
“encoder_scaling”: {“x”: 5556, “y”: 5556, “z”: 5556 },
“encoder_type”: {“x”: 0, “y”: 0, “z”: 0 },
“encoder_use_for_pos”: {“x”: 1, “y”: 1, “z”: 1 },
“movement_axis_nr_steps”: {“x”: 28500, “y”: 14187, “z”: 13102 },
“movement_enable_endpoints”: {“x”: 0, “y”: 0, “z”: 0 },
“movement_home_at_boot”: {“x”: 1, “y”: 1, “z”: 1 },
“movement_home_spd”: {“x”: 50, “y”: 50, “z”: 50 },
“movement_home_up”: {“x”: 0, “y”: 0, “z”: 1 },
“movement_invert_endpoints”: {“x”: 0, “y”: 0, “z”: 0 },
“movement_invert_motor”: {“x”: 0, “y”: 0, “z”: 0 },
“movement_keep_active”: {“x”: 1, “y”: 1, “z”: 1 },
“movement_max_spd”: {“x”: 100, “y”: 100, “z”: 375 },
“movement_min_spd”: {“x”: 50, “y”: 50, “z”: 50 },
“movement_secondary_motor_invert”: {“x”: 1 },
“movement_secondary_motor”: {“x”: 1 },
“movement_step_per_mm”: {“x”: 5, “y”: 5, “z”: 25 },
“movement_steps_acc_dec”: {“x”: 2500, “y”: 2500, “z”: 12500 },
“movement_stop_at_home”: {“x”: 1, “y”: 1, “z”: 1 },
“movement_stop_at_max”: {“x”: 0, “y”: 0, “z”: 1 },
“movement_timeout”: {“x”: 30000, “y”: 30000, “z”: 30000 },
“param_config_ok”: {"": 0 },
“param_e_stop_on_mov_err”: {"": 0 },
“param_mov_nr_retry”: {"": 5 },
“param_use_eeprom”: {"": 1 },
“pin_guard_1”: {“active_state”: 1, “pin_nr”: 0, “time_out”: 60 },
“pin_guard_2”: {“active_state”: 1, “pin_nr”: 0, “time_out”: 60 },
“pin_guard_3”: {“active_state”: 1, “pin_nr”: 0, “time_out”: 60 },
“pin_guard_4”: {“active_state”: 1, “pin_nr”: 0, “time_out”: 60 },
“pin_guard_5”: {“active_state”: 1, “pin_nr”: 0, “time_out”: 60 },
“movement_invert_2_endpoints”: {“x”: 0, “y”: 0, “z”: 0 },
“movement_microsteps”: {“x”: 1, “y”: 1, “z”: 1 }
}

And add lubricant to the leadscrew & leadscrew (delrin) block. I purchased a $5 tube of white lithium grease from Lowe’s hardware. (https://www.lowes.com/pd/Lucas-Oil-Products-8-oz-White-Lithium-Grease/50353744)
DO NOT GET GREASE ON ANYTHING BUT THE LEAD SCREW AND BLOCK!
My method of applying was to move the Z to the highest point, then, using manual controls, jogged it down 100mm at a time at a slow speed. As it traveled down, I placed the tip of the tube by the block and slowly squeezed out grease onto the threads. When done, i moved up and down a few times, then removed excess. I have re-applied a few times to ensure coverage, removing excess each time.
This GREATLY reduced noise, especially going up.

@Intelbotfarmer I have checked everything on our FarmBot concerning the tracks and belt, and now the whole FB isn’t moving only a few millimeters. Could this be a motor problem or something smaller or maybe bigger?
@roryaronson would you have any ideas on my situation. I try to move the FarmBot using the controls page and it times out seconds after I click the button. The motors try to work and they just end up timing out as well.

@Wazzily2002, you may be trying to accelerate too quickly, and/or you are trying to move too fast. Try lowering MAX SPEED along the problem axis and increasing ACCELERATE FOR along that axis as well.

@Marc is working on a comprehensive “Why is my FarmBot not moving?” troubleshooting guide for our official documentation hub (based on this very good one from mdingena), which should be ready soon. We’ll share it here when its ready which will have additional tips.

2 Likes

Hey @Intelbotfarmer Tony,

I have just posted this document in our Hardware documentation hub. It is an expanded version of the FAQ “Why is my FarmBot not moving” from the Forum.

In the very near future I will be adding videos that show the different types of common problems that FarmBot users are having.

Marc

2 Likes

Absolutely Awesome!
Thank you for all the effort!
This is a “Just What We Needed” doc.
If you look over my posts, the part about moving the structure from one end to the other while directly observing the belt, pulleys and track/v-wheel/belt transitions would be a good add. If I had paid attention to this, I might have saved quite a bit of time, effort and $$$.

I have to admit that the Vref adjustment is still a bit fuzzy to me. Is my adjustment making the motor pull harder or have more definition between the steps? In other words, what is the minute and aggregate results of adjusting the Vref?

To add another reason: in our case we tightened the rubber belts so that there was no slack. We saw that the X axis did this aggressive stick slip because the belt would first tighten, and then all of a sudden the full weight of the gantry would need to be sped up to full speed, confusing the sensors. After tightening the gantry would immediately and gracefully speed up to full speed.

Did you try increasing the “Accelerate For” value?
I currently have mine set for “500”

With the belt tightened correctly it wasn’t needed. I just checked, it’s set at 60mm here.

Maybe just try increasing the value to 500 or 750 and see what the effect is.
Even with correct belt tension, the structure has mass that needs to be put into motion, and gradual is better than instantaneous.
I think what happens is that the motors find that they need more torque than they are set to deliver, and then “skip”. I have read posts where you can adjust the voltage (and thereby the margine before the motor skips) of the stepper drivers. However, I am waiting until I have our FarmBot XL running smooth at as close to the default settings as possible, then adjusting.

Also, the belt tension should be somewhere between “not too tight” and “not too loose”.
I know this from experience… (and the documentation :wink: )
Again, I have found that it is best to start with everything set slow, and then increase one thing at a time.