How to prevent a ballscrew crash (MAYBE)

Hi all, you bright people !

I’ve been pondering for a while now on how to prevent a crash to these expensive Ball screws on my linear actuators.

And was if it was (simply) possible to switch the phases on the motors as to reverse the motion from CW to CCW and visa versa instead of slamming into the ends of the actuators, now I’m not speaking of a system/motor kill I would prefer just for the system to be reversed and keep on going.

As I’m an analogue age I was thinking a switch just like and end stop, one at each end of the component.

I watched the liteplacer vid, and the action (CW-CCW) is portrayed in this

I’m assuming this could be done in code, but how would this be achieved (reliably) particularly when I don’t seem to grasp this code thing.

I am open to all and any suggestions.

Regards Jerry :thinking:

Switching poles on the motor works an a brushed motor, i wouldnt recommend doing it on a running brushless motor. You’ll get some serious sparks, which will probably fry your controller. Switching the poles on the controller would just kill the controller straight away.

The “analoge” solution would be to let your switches cut-off power to the controller.

The digital solution would be to have the switches reverse the control velocity. Should be possible without too much customization of the code. But i wouldnt recommend trying that if you’re not familiar with coding embedded systems.

Why not add mechanical buffers? Springs or cushions?

Hi Riewert, and thank you for the information.

So switching poles on BLDC motors a no no (good to know) as I don’t like sparks and controller death.

Cutting power may mean troubles like others have had trying to restart into a stable platform, this I’m not sure of.

“the switches reverse the control velocity” is this something like the “liteplacer” activity?

Riewert, Why not add mechanical buffers? Springs or cushions?
do you have some kind of example"

Kind Regards Jerry :grinning:

In the example of the liteplacer normal position moves are commanded from the computer to the ODrive. The ODrive is telling the motor to move from position A to position B and back. This is supported by the default software and should be quite easy to achieve, but will require you to learn programming. I strongly advise you learn to code in python or c++ (arduino) before commiting to a project like this.

When you said switches I thought you meant something else, I’m sorry for the confusion.

Hi Riewert, thank you for the reply and the suggestions you’ve given me, I appreciate your input.

About the coding, I’m not sure I have enough time left to code, let alone the understanding of it, as I was born at the wrong end of this century!

Thank you again.

Regards Jerry :grinning:

Hi Jerry,
In my simulator I use a special firmware from a friend that has software endstops. You can tell the Odrive the max. Nr. of counts (travel way) you will allow it to move — and it will never go beyond. Its absolute reliable so far. And I am pushing my actuators to both limits.


Hi Wickie, firstly hope you and yours are well, also thank you for your reply.

So and having lots of fun on your sim?

So please tell me more of the special firmware that’s working for you, I know that you were having challenges with; I believe it was Razoredge correct me if I’m wrong!

Maybe your friend may lend it to me also, if that’s ok :grinning:

Kind Regards
Jerry :australia:

Hi Jerry
my Sim runs mindblowing and when driving you forget sitting in a simulator. So its a lot of fun!
Regarding the firmware I sent you a PM…

Hi Wickie, thank you for the reply, I’m pleased to hear you say you are having fun particularly in this crazy time we have to endure.

Secondly: thank you for the files you posted I really appreciate your assistance!

I have all the things necessary to produce a working actuator, however a health issue is slowing me down.

Stay safe be well, in the hope we all come the other side unscathed. :crossed_fingers:

Kind Regards Jerry