BD139 is permanently damaged
The BD139 is destroying itself by over-heating.
The base current you are injecting is about 3 to 4 mA and, to turn the BD139 on properly, the base current needs to be much higher. This is because the current gain (beta) is pretty poor when trying to use this transistor with low saturation voltage - I expect that you will drop about 25% to 50% of the supply rail (24 volts) across collector to emitter when it is activated. Here's an extract from the data sheet that shows the problem of trying to activate the BJT to low saturation voltages: -

To get anything like a decent low-power-loss performance with a 150 mA load needs a base current around 15 mA and you should probably double this current to guarantee consistent operation in all circumstances. If you don't supply enough base current you will not turn on the BD139 into a decent level of saturation.
For instance, with only a few mA base drive current there may be 12 volts dropped across the BD139 and about 75 mA collector current flowing. The power dissipated in the BD139 will be about 1 watt and pretty close to the data sheet limit of 1.25 watts maximum (no heat sink in a 25 °C ambient).
Of course, as the transistor heats up, unless you take that heat away, the local ambient rises and the maximum power limit of 1.25 watts drops and, eventually, the device fails because it's internal junction temperature rises above the 150 °C limit.
Use a MOSFET or attach a heatsink is my advice. Or, drive the base with about 30 mA of current to ensure that it turns on much closer to 0 volts. However, it isn't really anything like an ideal device for motor control.