# How to brake a brushed dc motor, belt-driven linear actuator to within 0.5mm of an end stop

I will have a belt-driven linear actuator, consisting a gantry-plate riding on two rails. I'm thinking of using a brushed dc motor.

The gantry will move from home position to the right (outbound) at 1m/s. The mass of the gantry will vary from 3Kg to 6Kg. On the return home (inbound) one must avoid spillage of contents which may require soft start/stop or simply a slow return to home.

In the outbound case, what I'd like to know is how,in a practical sense, do you brake the mass and bring the gantry to a stop, ensuring that the gantry plate always comes to rest to within 0.5mm of an end plate?

I'm clearer how I can ensure the gantry stops to within 0.5mm of the home position, because I can use a PWM ramp to slowly decelerate.

I'm wanting to avoid using an MCU. Just want to use an IC with switches and potentiometers.

You can also use math if you want to explain.

Of course, one seeks to begin to arrest the mass as close to the end stop in the outbound case as one can without problems.

Thanks.

• Let me just add a few additional comments: I'm looking for schemes. I know that I can use dynamic braking. Ok, but that would mean, I think, you would have to tune the system so that the gantry came to rest no more than 0.5mm from the end plate. And when the gantry was a different mass you would have to set up again. Another scheme would be to use dymamic braking then PWM on decreasing ramp. I'm hoping someone with experience can indicate what you would do.
– user5612
Jun 23 '14 at 9:21
• How are you generating your PWM? You say you can solve your inbound case, why can't you solve outbound the same way? This should be a symmetric problem. As others suggested the traditional solution would be a closed loop position controller. You may be able to hack something with a bunch of position sensors, relays, and logic but it won't perform as well... Jun 24 '14 at 18:17

## 2 Answers

We have used PID for a similar application involving hydraulic cylinder control. We used an SSI linear position sensor and we could get WAAAAAAYYY more accurate than .5mm

We were moving at 24"/sec over 6 ft of travel

And the braking effect was great.

• Could you expand your answer to explain a bit more about the mechanism. As it stands, this simply says "we did it"
– Andrew
Jul 3 '14 at 13:36

Since you are trying to affect the acceleration as well as the endpoints, you should consider using a PID controller. That will provide the effect of braking, but it will do so as part of the larger goal of coming to a complete stop at a desired setpoint.

Depending on how you tune it, you can have it start and stop very gently (vs very responsively) according to your own needs.

There are several analog PID circuits, (e.g. this one) if you don't want a microcontroller-based solution.

• What I'm doing is noting the technique of dynamic braking and then probably failing to grasp the contexts in which dynamic braking would be used. It appears then that dynamic braking is not very suitable in my case?
– user5612
Jun 23 '14 at 17:53
• Dynamic braking usually refers to shorting the motor terminals together, so that the motor acts as a generator and passively dissipates the kinetic energy as heat. With a PID, the motor will slow down by being actively powered in the opposite direction.
– Ian
Jun 24 '14 at 19:15