I'm trying to figure out the best solution: I need to be able to TX and RX a sonar signal with variable frequency from 40 kHz to 80 kHz. I'll be processing the info with a Freeduino BBB. I was first considering building my own sonar module similar to the 6500 board, but now I'm wondering if I could simply remove the 420 kHz crystal clock it comes with an use a VCO instead. I searched around and don't see where anyone has attempted anything similar. Can anyone point out any problems or suggest other ideas? Thanks!
Why do you need to vary the frequency? Apart from measuring the time-of-flight of the sonar pulse, you're unlikely to be able do much more with an AVR. Time of flight is independent of frequency.
I don't really NEED to sweep the frequency. I just wanted to do this as an experiment. I'm doing 'research' for another project, and I thought this would be a good starting point.
Well, while researching my proposal I now have come up with a real issue that I'm very curious about. I cannot find any VCOs that operate around the range I'm looking for. Is there a clock divider IC or a way I could produce a stable clock signal to range from ~40kHz to 80kHz? I spent a few hours today trying to figure this out, but I haven't had much luck so far. I know I could use a function generator...but my next goal is to make a low frequency 'RF' transmitter and receiver that can operate in this range, and I am pretty sure I can't use a function generator for that because the clock drift would be pretty bad.
It looks like I found something to replace the VCO. Since I need a sine wave that is pretty steady, it looks like I may be able to use a Wien-Bridge type oscillator. I don't know if there's a simpler IC to do this, but the Wien-Bridge isn't too hard to build, and the frequency can be swept with a variable resistor.
Thanks, I hadn't seen that yet, but it looks like it produces a square wave, and I'd need a sinusoid for both my projects.