Auto calibration problems

Is there any expansion of the calibration section form Farmbot?

We tried to use the auto-calibrate buttons for each axis and each axis moved it’s full movement in one direction and physically stopped but the motors carried on running 50% of the time and 50% of the time they stopped but nothing else happen. When the motors fail to stop we have to used the e-stop button, which works to lock the system. but there seems to be an issue unlocking as that doesn’t work and we have to reset the system each time.

We have coders enabled.

What is supposed to happen with automatic calibration? Should it move to one end, stop and then we have to reverse the motors manually to go the other direction? Or should the automatic part do that in software when the move count has stopped for x seconds?

It would be helpful for it to say somewhere what should happen so we can measure what does happen in reality.

1 Like

Auto-calibrate first moves towards the home position, when that is detected it then reverses direction and moves towards the other end until an obstruction (i.e. the frame) is detected. I’ve noticed too that detecting hitting the frame by monitoring the encoder is rather hit and miss, often the gantry just vibrates back and forth which I assume causes the Arduino to not properly detect that there’s an obstruction (the encoder is pulsing both forward and back). Everyone’s Farmbot will have different characteristics so trying to tune the detection algorithm in software is probably a nightmare!

Much better to use end stops :wink:

If the bot doesn’t realize it is hitting the end, reduce the ‘missed steps’ value on the farmbot app device page. The ‘decay’ value might also help but I don’t understand it.

The decay value reduces the internal ‘missed steps’ counter on every sample, as a percentage. So a missed step increases the counter, and a normal sample period reduces the counter by a small percentage. When the counter reaches the maximum threshold it’s assumed an obstruction is reached. So it’s like a ‘moving average’ of missed steps. One of the problems is that when the gantry hits the frame it will sway back and forwards, so you’ll get a few correct steps, followed by a few ‘wrong direction’ steps, and depending on the timing of the sway and the variables it may or may not be detected as an obstruction. Certainly I’ve seen it not detect the frame on my unit (with the latest software), as well as ignore the end stop!

If the missed steps value and decay value need to be adjusted by the user, then some guidance would be good.

1 Like

That’s interesting as we had to adjust those settings to get Farmbot to move at all with encoders enabled. It looks like we’ll need to tweak them further.

hello @JulianMS. I know this is an old thread, but i have the same issues like you and i would love to hear any update about this issues. Thank you in advance

Hi everyone, I had no problem with this until I started fiddling with the motor speed settings (for other reasons). I’ve just got it working again by reducing the homing speed. My settings in x,y,z order are ;
max speed … 100/100/10
homing … 20/10/7
min … 10/10/2
acc … 50/100/40
hope this helps someone (and keeps working !)