Farmbot assembled. Now I'm lost

So I’ve completed the assembly, but the documentation going forward with setup and planting seems lacking. The steps for getting from assembling to planting are not as well laid out as the preceding documentation. There were some great tips and additional information in the assembly instructions. It would be nice to see more of that type of stuff in the rest of the documentation.

After struggling with the initial configuration for few days, I was finally able to get it to successfully autocalibrate by inverting the encoders for the Y and Z axes. Now it can find and set zero points and axis lengths. However, when I select “Home” for any axis it moves extremely slowly and stops before reaching home. Anyone have any ideas for troubleshooting?

So now I’m wondering… How does it know its current position? If I move anything with the controls will it still be able to find home, or the tools, or a plant? When it reboots will it need to recalibrate? What happens if anything gets moved manually?

[quote=“dolivaw, post:1, topic:2290”]
So now I’m wondering… How does it know its current position? If I move anything with the controls will it still be able to find home, or the tools, or a plant? When it reboots will it need to recalibrate? What happens if anything gets moved manually?
[/quote]FarmBot does not know its position at any given time. Instead, it learns its position from you. If you let them FarmBot ‘home’ its axes, it will remember the position where its motors stalled and calls that location 0. Doing this for all axes gives the FarmBot 0,0,0. From there, it will do its best to keep track of its movements, so that it kind of knows its position.

But after a power outage, the FarmBot should recalibrate because it doesn’t know its position from any arbitrary starting location. It will call any position it’s at 0,0,0 even if it was in the middle of a sequence when the power was cut.

Using the manual jog buttons on the web interface, you can move the FarmBot to any position you like. It will do its best to keep track of its position changes. The encoders will help with that: with encoders turned off, if the motors stall, FarmBot will just keep on trucking and assume it reaches its destination successfully. With encoders enabled, FarmBot will detect when motors are stuck, and stops driving the motors. It will also not think its position is at the destination, but rather where it got stuck (with give or take a few millimeters, depending on your stall tolerance settings).

So it sounds like calibration is necessary after every reboot, unless all axes happened to be in the zero position when the system restarted. I see a “Find Home on Boot” setting, but nothing to calibrate on boot. Find home doesn’t seem to work. It behaves the same as “Home X” and “Home Z”, moving extremely slowly and never getting to home.

Strangely, “Home Y” does seem to work. The cross-slide moves at a normal pace, then slows down for the final 50-ish steps before stopping at home.

Calibration only needs to happen once. The firmware stores the axis length data, which only needs to be updated if the size of the bot changes. The “Find Home on Boot” setting is sufficient for setting the location of the bot on boot.

It sounds like the homing movement is timing out. The motor moves at the minimum speed if it is moving through what it thinks is zero (home). If the distance from the current zero to the axis end is very far, moving at the minimum speed may cause the movement to timeout. Some options include: moving FarmBot to the axis ends manually, repeating the find home command, moving to home before finding home, increasing the minimum speed, or increasing the timeout.

It is also good practice to always go back to 0, 0, 0 after a sequence, so that FarmBot rests in the home position. This way, homing commands complete quickly.

Calibration only needs to happen once. The firmware stores the axis length data, which only needs to be updated if the size of the bot changes. The “Find Home on Boot” setting is sufficient for setting the location of the bot on boot.

Ok… that makes sense to me, but isn’t what I had seen so far.

I took your suggestion, manually moved to X home and then stepped away 50. “Home X” then worked as it should. I stepped out to 1000 and “Home X” still worked. Basically went through the same test on Y and Y and it worked properly.

So I moved X and Y out 1000 each and Z down 200 and rebooted. After rebooting everything heads home extremely slowly again. To me it seems about 1/10th of calibration speed, which is 1/10th of normal “Control” speed. Everything did end up finding home though.

Now I see the timeout. That must have been the problem. It started near the end position and didn’t make it all the way home before timing out.