Side effect on lubrication the Z axis

I decided to put a drop of graphite grease on the Z axis (And it was one drop). It was incredibly successful - too successful.

Before the lube, the Z axis would hold without power.
After the lube, the Z axis loses grip and winds itself downwards - meh! I now have to keep power on Z to keep it is place. I have written a sequence to ‘park’ so it can drop safely away from plants etc - but - meh!

A side effect of this is when watering plants, the Z axis drops but it always recovers for the MOVE to the next plant.

Is there a downside to keeping power on Z besides the small amount of electricity?

Also. Is there some LAU code to toggle the ‘Always power motors’ switch?

This way I could turn the keep Z powered ON, do the task then turn it off again. I do like the smoothness of the Z axis now it is lubricated however it is a little TOO smooth.

Hi @mvillion,

I ran into the same issue, I now keep that motor powered on @ 90% all the time. Have X and Y not always powered. There is an api to configure the firmware (Example API requests | FarmBot Developer Documentation) but keep in mind to do a PATCH or pull all data, update only the fields you want and POST. I think PATCHing would still be a good idea. I removed my farmbot from my account by trying to set the mounted_tool_id using the /device endpoint. Was not a patch and all settings where gone. :confused:

Good luck.

If anyone wants the LUA code, here it is

Turn the Z motor on to hold
update_firmware_config({movement_keep_active_z = 1})

Turn the Z motor off to save power / keep cool
update_firmware_config({movement_keep_active_z = 0})

I have just added a sequence to execute this LUA code at the start and the end of the overall sequence


I am frequently getting Z-Axis stalls now. I wish I had never lubricated the Z-axis rod. It has meant I need to have the Z-Axis powered up at it keeps failing. Not cool. I have reported it to FB and hoping the motor is under warranty as it is less than 6 months old.

As mentioned in your other post about the 2 motor settings, combined with the update_firmware_config(…) it should be possible to create a ‘park’ and an ‘activate’ sequence that will reconfigure the firmware @ 10% (or less) and @ 90% motor current.

Right now I only power my z axis all the time (to prevent dropping). When I switched on the x axis to always power the motor X2 (sometimes called E in the code) was getting out of sync with the X(1) motor. I think in the movement code (farmware) there is a lot room for improvement. I wish i had more time.

Interestingly a ‘park power’ of 0% is enough to hold the Z axis in place. Not sure how that works but it does. You can push the Z-axis but it has just enough ‘hold’ to stop the drop.

For now, I have identified a place on the frame where the head can drop safely and not hit the soil as it hit the wood in the middle of the bed. I have a ‘Park’ sequence and and ‘activate’ sequence to park it at that location and turn off Z and the activate powers up Z and winds it to position 0.

A question for @voortwis

If you keep Z powered up all the time, are you getting Z-Axis stalls like me?

An update on this, is that now I am getting Z-Axis stalls. I think the Z-Motor is over heating or something. Argh - it is getting worse.

Hi Matt, so far I do not have any stall issues on the z-axis motors.
I have seen possible stall issues on my x axis when I switch those motors always on, so reverted that back to not always on.

Switching the max load on the motor to 0% will send a value of 30 i believe to the firmware. It also might correct based on the encoder setting on z.