I am designing a function generator with an arduino and two AD9850 modules from ebay. At the moment I have tested the software side: an arduino nano with a 4x4 keypad, an lcd and a single AD9850. I've tested both the square and the sine wave outputs with the oscilloscope and it seems to be working fine. Unfortunately I've found the sine wave is just over 1 volt peak-to-peak, with 0.5v dc offset, and I've been researching a way to process that signal.
I have a degree in computer engineering, but my career has centered around just software engineering. This means I have a good general grasp of digital electronics, a little knowledge of the analog side, and that I can operate an oscilloscope, but it all is rusty. I've been playing with arduinos for a few months, and now I've bought an oscilloscope and I have resumed my interest in electronics as a hobbyist. At the moment, however, I'd rather deal with simple stuff, and circuits with as few parts as possible and ready-made modules, and I am more interested in the final product than in learning about electronics in detail (not that I do not want to do it). I have considered buying a function generator like the Siglent SDG1020 but I want to have programmatic control over the machine. I want to be able to set the frequency from a program in the PC (not using the software of the vendor but my own programs).
This is just a general introduction (my first post here) for the questions that follow. Back to the topic.
[EDIT: just to be clear, I am a newbie with some theoretical knowledge...]
I have found a circuit in other thread from this forum:
https://www.eevblog.com/forum/beginners/upgrading-dave%27s-ad9835-sinesquare-wave-generator-design-for-ad9850/msg249434/#msg249434
I have simulated the circuit to test it, and I have checked other more common values for resistors (47ohm instead of 50, 10k instead of 12k and 11.5k), and another opamp that I've found in dip package in ebay (AD827JNZ), that seems suitable at least up to 10mhz, which is good enough for me. I plan to build a dc offset and gain for both sine and square outputs of each AD9850, following that circuit. The sine wave with a gain of 20 in the opamp, and the square wave with a gain of 4 since it is 5Vpp. The [rail?] voltages are going to be +-12V. Is it looking good so far, like it should work?
[EDIT: I have run the simulation with an ideal opamp. I just guess the AD827JNZ may be ok because of the datasheet, and it is cheap enough to try]
I plan to mount it in three strip boards, one for the arduino nano + sockets for lcd and the control signals for the two DDSs, and one board for each DDS. During tests in a breadboard I've found it easy to pick the 50 hz hum of the AC mains with the oscilloscope probes. To counter that, I have tried to keep the signal path as short as possible in the strip board circuit, but I am concerned with the wires that go from sockets in the board to the offset and gain pots, that are panel-mounted. Should I use shielded wire for that, for example pieces of usb wire? Are the strip boards good enough for 10mhz signals? Finally, should I shield the box to avoid external EM interference? is it a good shield to use aluminium foil glued to the box on the inside, and connected to ground? It is going to have some openings for the pots, the bnc connectors, the lcd, etc, so it is not a proper faraday cage AFAIK.
When this one is finished the next project would probably be to build a current amplifier for the output of this function generator, to be able to drive things, and I guess this is going to be more challenging, from the research I've been doing.
Thanks in advance (and sorry for my english)