I am in need of a current controlled audio range (output around 1000 Hz) oscillator/multivibrator circuit. To make the result sound nice, I want to oscillator to have a 50% or near 50% duty cycle. Previously I've used a current-controlled 555-based circuit whose output I passed into a T-Flipflop to get a 50% duty cycle. But as I have now redesigned the circuit to eliminate a part, there no longer is a free T-Flipflop left to halve the frequency.
How can I build a current-controlled oscillator with the following parameters?
- operating frequency range around 500 Hz to 2000 Hz
- works with inputs of 80 µA to 250 µA (does not need to map to the range above)
- the current comes from a current mirror which I can attach either to VCC or GND
- works with 3V supply voltage, ideally down to 2.5V-ish
- low power consumption (operated by a CR2032 cell)
- 50% or near 50% duty cycle
- built from as few extra parts as possible
I have four inverters of a 74HC04 hex inverter chip left over which I could use for this. I fiddled with a two-inverter multivibrator, but I wasn't able to find a way to find a way to make its frequency configurable without sacrificing the 50% duty cycle.
Two of these four inverters are needed to drive a piezo speaker from the oscillator as a kind of bridged amplifier, but it might be possible to integrate these into a multivibrator design somehow instead of just driving the two inverters from the oscillator.
I also tried using a TLC556 (CMOS dual 555) where one is in astable mode, triggering the second one in monostable mode where both have their frequency controlled by outputs of the same three-way current mirror and the monostable 555 circuit has half the frequency, but matching the parts such that it really works out to 50% seems tricky to get right. It might also work to use one of the two 555 circuits as a T-flipflop, but I wasn't able to find a way to do so.
Any ideas?