Electronics > Beginners
DIY Function Generator
<< < (7/14) > >>
asgard20032:

--- Quote from: poptones on October 04, 2012, 08:48:02 pm ---It has a built in DAC but it is only 5 bits. It would be alright for RF

--- End quote ---

Not sure about that. For RF, we need good quality signal. If not, all the harmonic would cause havoc on on neighbor band... FCC...
Kleinstein:
The cheap DDS modules you get en Ebay are still essentially the same: AD9850 based with not so well working filter. This gives a reasonable good quality sine up to maybe 20 MHz. You still need amplitude scaling and output amplifier.
pandy:

--- Quote from: ziplock9000 on January 13, 2017, 09:43:01 pm ---Any updates to this 5 years later? Are there better modules these days as I've outgrown my extremely basic generator?

--- End quote ---

You can build your own discrete TTL based DDS - use as a reference design from http://www.epanorama.net/sff/Test_equipment/Generators/Digital%20Sine%20Wave%20Synthesizer.pdf, however nowadays with fast uC available i would rather replace discrete  NCO by software and move RAM LUT to separate IC's (there is plenty asynchronous fast SRAM chips - bigger - better), add to this fast DAC and you may have arbitrary waveform generator.
Brutte:

--- Quote from: pandy on January 14, 2017, 01:31:51 pm ---(..)however nowadays with fast uC available i would rather replace discrete  NCO by software and move RAM LUT to separate IC's (there is plenty asynchronous fast SRAM chips - bigger - better), add to this fast DAC and you may have arbitrary waveform generator.

--- End quote ---
That was the route I took.
I use STM32 microcontroller (STM32L-Discovery) as an arbitrary signal generator.
The uC comes with two 12-bit DACs that can go up to ~2Msps each (with external op-amp for gain and offset) so this is a double-channel generator. It is capable of generating 20-point sin(x) at 100kHz on each channel. Can be started externally or it can trigger a scope (good for sweeping frequency).

The nice thing is that such signal generator does not use CPU at all so it does not really matter how fast a uC is clocked (32MHz is ok). I just initialize timers and DMA and let it run in background.
MarkF:
I built a DDS with an AD9834, a PIC18F2550 and a small OLED display. It has sine, triangle, square, sweep up and sweep down outputs (although the square wave output is on a different pin). There is adjustable amplitude and DC offset.

The MCU is under the display as shown on the board section to the right.

   
Navigation
Message Index
Next page
Previous page
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod