I have build a simple motor control for a brushed DC motor for my robotic mower. The motor is feed with a PWM signal and when the cutter should stop you just pull the PWM signal low to stop the motor and pull a Brake-signal high to short the motor terminals for a quicker stop. It's working but it's a bit crude and I guess I should put a resistor in serial with the braking MOSFET to limit the heat build-up in the cutter-motor during braking. The circuit looks like this:
The downside is that it requires an additional brake-pin on my microcontroller and you must make sure, in the software, that the brake and PWM-pins never are High at the same time, because that would short-circuit everything.
So the question is if it would be possible to have it automatically brake if there where no PWM-signal available? Could this circuit do it?
Normally Q7 will be actively braking since R8 pulls gate High. When there is a PWM signal then R7 activate Q6 pulling gate on Q7 low to disabling brake. The problem is that it's a PWM-signal, if the motor was only supposed to be On or Off then I guess this circuit could work. But since the motor speed is adjusted by turning the driving MOSFET on and off quickly then the brake would kick in everytime the PWM-signal goes low, I only want the brake to kick-in if the PWM-signal is less than 1% duty cycle. That is the reason for C1, to keep base of Q6 high for the short periods when PWM-signal is low.
Is these correct assumptions? And how do I calculate the values of R7 and C1? I guess it depends on the PWM-frequency?