Hello, I am trying to decide if i can make a 1khz tone generator for testing cb/ham radio transceivers into my oscilloscope to accurately look at the rf envelope. I already tried this once before but I never got itrue1khz tone out of it according to my scope. I typically need this for holsing a mic up to the speaker and looking st the output on a scope and adjusting my radios from there for best performance. Is this feasible and if so what do I need for a speaker that will support this, i see many in that range but im essentially looking for lab quality spekaer for this i think. Any tips appreciated.
The Arduino tone() function can generate 1 kHz, but is it a square wave with lots of harmonics.
To get a pure sine wave you need an Arduino with a DAC, running sine wave synthesis code, and probably, some low pass filtering on the output to remove the residual harmonics.
There is free code on the web which will generate pure tones using the browser. I use this web site for testing audio equipment: Online Tone Generator - generate pure tones of any frequency
Thanks for the info, i will search around for a dac and how to make a low pass filter.
This one works fine for audio tones, and works with any Arduino:
Tutorial:
You can generate a sine with with Audacity and play it on your soundcard.
Or you might be able to download a 1kHz test-tone audio file.
The clock in a soundcard isn't always "perfect" but if your 'scope is digital and can read frequency accurately you can "calibrate" by telling Audacity to generate a slightly higher or lower frequency.
Some of the "basic" Arduino's use a resonator instead of a crystal so they aren't always perfectly accurate either. And I'm not sure about the resolution of tone(). You can enter tone(1000) for a square wave but it MAY not have 1Hz resolution and the frequency dividers MAY not divide evenly down to 1kHz.
If all you need is a fixed frequency, I'd build a simple oscillator. Those can produce really nice sine waves with just a handful of components.
As soon as you add the microphone or speaker pureness goes out the window as each has a limited range and will add some filtering as well. You can use a 555 and generate a clean tone but you will need to feed it in directly without any microphone or speaker.
Yeah, I see a lot of otheres do the direct injection to the microphone, but I did not want to do that really. Mostly because I hate wiring mics, but this might be my only solution. At least this way I could eventually just get a good signal generator and take a few radio MICs and add a connection for a direct injection to PTT and input the signal.
Not an Arduino solution, but I use the Android phone app Function Generator to do this sort of thing.
On a related note Spectroid is an audio spectrum analyzer app.
Cool apps, I will likely use both. Thanks!
Since you are doing CB/Ham I am assuming you hold the correct licences in your country. With that you can actually make a mode to the radio and inject directly into the audio amplifier.
Since when is a block wave a "clean tone"? OP needs a sine wave.
That is a first for me. I think you are describing what is called a square wave which will have lots of harmonics. Here is one of the many links for the 555 sine wave generator.
You can generate a wide range of sinewave frequencies using an AD9833 DDS module.

You forgot the link.
It'd be the first time I see an on/off output like that of the 555 produce an actual sine.
I added it, thanks.
That link shows that the rectangular wave generated by the 555 is followed by a single pole LC filter with roll-off frequency 7.3 kHz, which won't be a sine wave.
Did you try this out yourself? It doesn't look like it's going anywhere to me, so much so I'm not even inclined to try other than to see how far off your suggestion really is. I highly doubt the output will look anything like a pure sine wave with such a very simple filter.
What you need for a sine wave is an LC oscillator (e.g. a colpitts oscillator or clapp oscillator - both I know give very nice waveforms, I've played around with them working in the 3-6 MHz kind of frequencies), or an RC oscillator like the Wien bridge oscillator. The latter is probably the OPs best bet, as it produces a clean sinusoidal wave, and can readily be designed to oscillate in audio frequencies. It is also easily made to be adjustable using a dual pot.
The module shown in post #14 looks promising as well.
I would be tempted to use Direct Digital Synthesis (DDS) to output a sine wave with a lookup table. Here's one example I found with a quick online search: DDS - Arduino Reference
The nice thing about DDS is you can output arbitrary waveforms simply by using a different lookup table.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.