If I wanted to run a motor at say between 300 and 400 rpm and have it adjustable, but then have the lfo ramp up the rate by say 10 rpm then ramp down by 10 rpm from the initial speed but also have it vary to say 5 rpm adjustments or even 30, the circuit you've suggested would be sufficient?
Maybe.
Without feedback, PWM might set the speed for a given load, but changing that load will change the speed.
Presumably I'd have to be able to adjust the frequency of the original triangle wave and that would control the initial speed of the motor (the 300 - 400 range)
No, the frequency does not control the speed (or the power).
The mark/space tatio controls the amount of power delivered to the motor and that amount of power (along with the load on the motor) determines the speed.
then I'd use a comparator to compare that signal to a lower voltage triangle wave that would also be adjustable to adjust the rate of change (The 10/5/30 rpm ramp up and down).
No, the voltage on the comparator causes the mark/space ratio to change. A varying voltage (such as the one I suggest would cause this to vary and hence the motor speed to change.
That varying voltage would need to be within carefully defined limits to cause a variation in speed that you require.
I'd then connect this to a PWM motor control instead of having a pot to adjust it?
No, this is a PWM controller. All you need to add is a switching element that can switch the current required by the motor. That might be a mosfet and a few assorted other components.
Am I understanding the theory correctly?
Not really :-(
Perhaps you'd be better off doing the whole thing with a microcontroller, perhaps a picaxe. Have you got any experience writing software?