Maker Pro
Maker Pro

Help with force-detection in a motor for a linear actuation system

HarryAussie

Jan 2, 2024
4
Joined
Jan 2, 2024
Messages
4
I am looking to set up a motor to drive a linear actuation system (in a lead-screw configuration). It is important that the linear actuation system detects any resistance from a physical object, which in turn will make the motor stop. This obviously protects the motor from stalling, but it also prevents damage to whatever object is being impacted.

My current approach is to measure the current through the motor and set up a current limit such that the motor stops after it reaches a certain high current level. I intend to vary this current limit after some experimentation.

What motor and motor-driver arrangement could work to set this up? Initial searches have proven hard to find motor drivers that measure current (i.e., provide current measurement output signals)! Stepper motors look to be insufficient for this task since their current draw does not fluctuate much during operation under varying loads, so I suspect that servo motors or brushless DC motors are a more suitable choice. I intend to control the system via a Raspberry Pi, and the linear actuation system is small (only 500mm long for the time being).

I am more of a software engineer so apologies if this question is basic to the hardware-savvy folks out there!
 

Alec_t

Jul 7, 2015
3,580
Joined
Jul 7, 2015
Messages
3,580
It is important that the linear actuation system detects any resistance from a physical object
Welcome to maker.pro!
Can you give us an idea of the motor power and the magnitude of any obstructional resistance you are hoping to detect? The solution may be quite different for small-scale low power systems and massive heavy-duty ones.
 

Kiwi

Jan 28, 2013
467
Joined
Jan 28, 2013
Messages
467
John Brooks in Christchurch NZ supplied me a current limiter to go with a Linak linear actuator.
It goes in series with the actuator and cuts it out if the current gets above a set limit.
You could try the Aussie Linak agents.

 

Minder

Apr 24, 2015
3,475
Joined
Apr 24, 2015
Messages
3,475
What is the nature of the motor control, If any? ,or is it power ON/OFF?
Motor current is very high at turn on, if not controlled.
 

Delta Prime

Jul 29, 2020
1,793
Joined
Jul 29, 2020
Messages
1,793
I am more of a software engineer so apologies if this question is basic to the hardware-savvy folks out there!
Cross-disciplined. :) Write some code; a control software algorithm that continuously monitors motor current and compares it to the set threshold: This allows for immediate action when resistance is detected.
Consider incorporating a short delay or hysteresis into the algorithm: This can help prevent false triggering due to transient current spikes during normal operation of the motor.
Then you can incorporate additional sensors (e.g., force sensors, load cells are made to detect Force),integrate their readings into the control algorithm for more comprehensive protection.
A motor with soft start & ramp down can help reduce mechanical stress on the system & protect both the
motor and the object.
 
Last edited:

Bluejets

Oct 5, 2014
6,854
Joined
Oct 5, 2014
Messages
6,854
Cross-disciplined. :) Write some code; a control software algorithm that continuously monitors motor current and compares it to the set threshold: This allows for immediate action when resistance is detected.
Consider incorporating a short delay or hysteresis into the algorithm: This can help prevent false triggering due to transient current spikes during normal operation of the motor.
Then you can incorporate additional sensors (e.g., force sensors, load cells are made to detect Force),integrate their readings into the control algorithm for more comprehensive protection.
A motor with soft start & ramp down can help reduce mechanical stress on the system & protect both the
motor and the object.
Bit of an overkill I think...just monitor motor current with a by-pass to allow for startup...done.
 

HarryAussie

Jan 2, 2024
4
Joined
Jan 2, 2024
Messages
4
Welcome to maker.pro!
Can you give us an idea of the motor power and the magnitude of any obstructional resistance you are hoping to detect? The solution may be quite different for small-scale low power systems and massive heavy-duty ones.
Thanks, Alec! It's important that this system is low-power since it will run off a battery in a remote area on the farm - so the motor will be around 6V, ~1A. The resistance will be created from small pieces of food, so the current limit should be high enough to push the food forward and detect once all the pieces are secured against the wall. Hopefully this helps!
 

HarryAussie

Jan 2, 2024
4
Joined
Jan 2, 2024
Messages
4
John Brooks in Christchurch NZ supplied me a current limiter to go with a Linak linear actuator.
It goes in series with the actuator and cuts it out if the current gets above a set limit.
You could try the Aussie Linak agents.

Thanks Kiwi - I was originally tempted to purchase a linear actuator but I've designed the box in such a way that I'll fit my own version of a linear actuator in there.
 

HarryAussie

Jan 2, 2024
4
Joined
Jan 2, 2024
Messages
4
If I go with a 6V brushless DC motor, does anyone have any recommendations for a suitable current measuring sensor? It sounds like it may be the best approach to write a current limiting algorithm, using the outputs from that sensor. I'll take the advice from @Delta Prime to take into account the transient current spikes - especially at startup. Perhaps the algorithm could stop the motor if the current spike is detected for more than 1-2seconds - this would surely ignore the transient spikes?
 

Harald Kapp

Moderator
Moderator
Nov 17, 2011
13,632
Joined
Nov 17, 2011
Messages
13,632
Here's an alternative idea:

Mount the slider that pushes the pieces of food to the pushing rod using an elastic buffer, e.g. a spring.
Mount a simple limit switch between the rod and the slider. Adjust the spring tension such that the limit switch will be activated when the pressure reaches the threshold. You can use e.g. a nut on a threaded rod to adjust the tension.
Use the output from the limit switch for whatever purpose you need (stop the motor, indicate end position, ...).
I'll try to visualize the idea:
1704267482178.png
 
Top