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.