If you build a PWM controller, add current sensing to it: that way you'll create an automatically robust circuit which actually limits current and torque, keeps the motor running at high efficiency, without needing to think about any corner case assumptions such as "how long does it take to ramp the speed up" which fails whenever something special happens (like mechanical overload).
Current sensing can be as crude as a comparator detecting voltage drop over sense shunt resistor and inhibiting PWM for some time. For example, if you use a microcontroller like a simple Arduino board to provide PWM control, you can use a low-side current shunt, wire the output (preferably amplified) to the analog comparator pin of the microcontroller, to get a software interrupt each time current limit is exceeded; then you can quickly bring the PWM setpoint down in the ISR. This is a simple starting point and I have built robust motor controllers that way.
Yes, it will be more work, though, don't expect it to run after a day of work. But you'd learn how to design and build actual motor controllers, possibly a valuable skill.