If the motor smells 'burnt', it's running too hot and probably won't last that long... lower the voltage that's driving it.
The simplest solution I can think of is to use a 1.2V NiMH cell instead of a regular alkaline cell. Keep another one in a nearby charger for when the battery starts to go.
You could do PWM, but you'd slow the toy down... Also, PWM is better suited to brushless DC motors - doing direct PWM on a commutated DC motor (which this toy definitely has) will probably burn up the commutator or fry the PWM circuit - you'll need to add a LC filter, more or less forming a buck regulator.
And finally, with only 1.2V or 1.5V available, you'll be hard pressed to find a MOSFET that will turn on with such a low gate voltage... and I guarantee a 555 timer won't operate down that low. You could put in a 3.6V LiOn cell or something
The simplest solution I can think of is to use a 1.2V NiMH cell instead of a regular alkaline cell. Keep another one in a nearby charger for when the battery starts to go.
You could do PWM, but you'd slow the toy down... Also, PWM is better suited to brushless DC motors - doing direct PWM on a commutated DC motor (which this toy definitely has) will probably burn up the commutator or fry the PWM circuit - you'll need to add a LC filter, more or less forming a buck regulator.
And finally, with only 1.2V or 1.5V available, you'll be hard pressed to find a MOSFET that will turn on with such a low gate voltage... and I guarantee a 555 timer won't operate down that low. You could put in a 3.6V LiOn cell or something