I have a 24v DC motor with a planetary gear box, Hbridge, and encoder feedback that drives an arduino robot similar to a winch that moves a weight by spooling a strap up and down. The problem I am having is that the speed is to high in freefall. I thought I could just apply PWM to the motor in the opposite direction to slow it down, but flipping in1 and in2 on the hbridge causes the motor to stop abruptly as opposed to slowing down to the desired speed.

I think a worm gear would prevent this, but I do not think it is a viable solution due to space/geometric constraints. I am considering attempting to PWM in1 and in2 in hopes this will have a soft breaking effect, but before I go through all the trouble I was wondering if there is a more traditional solution that I am not aware of.


1 Answer 1


Yeah, just like you'd PWM to have some kind of variable drive torque between zero and the torque provided by maximum current, you'll PWM to have some kind of variable brake torque between free-wheeling and maximum electric braking.

The only thing to be careful of is that your electric braking power needs somewhere to go, and your power electronics and/or battery might not appreciate the reversed current. Here's a recent question about electric braking where the OP of that question needed to use a brake resistor to dump the power instead of sending it back to the battery.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.