The goal is to use a control voltage from 0-5V to generate a square wave signal from 1 (ideally, but around 10 would be acceptable) to 3000 Hz (linearly, although I could work around it not being linear).
I've been experimenting with a 555 (556 actually) and can easily achieve that by altering R1, R2 and C, but I need to keep those fixed, as the only variable input I'll have is the voltage.
Duty cycle is not particularly critical here although around 50:50 would be nice - it's to control a stepper motor driver which needs a minimum 1.5uS pulse, so only the most ridiculous duty cycle would not conform at those frequencies.
I've looked at the formula at What is the equation for the 555 timer control voltage? (the one at the top of tardate's answer; the one in the question appears to be wrong) and by applying it it appears clear that the range I want is not possible with just Vcontrol.
I'm open to using both timers in the 556 if that could work, but I haven't been able to figure out a solution.
If a 555 is just not appropriate for this, can someone suggest an alternative? I could always dust off the PIC programmer and get it to do this but I was hoping there was a simpler alternative.