An early stage of the homebrew AD9833 sig gen. Using an Arduino nano and an AD9833/MC41010 DDS/attenuator module. I plan to trickle out status reports in a non-linear manner....
#electronics #diytestgear #siggen
Prior to actually drilling that case I prototyped the control part of of the generator, so there was at least a chance I'd end up with something working.
#electronics #diytestgear #siggen
I wanted to use an optical encoder of this type for the main control as I have used them before for a VFO and they are really nice. A ball race at each end make the action super smooooth. No clicky knobs here!
#electronics #diytestgear #siggen

The optical shaft encoder was not without problems.

It turns out that the bearings are so good that an inbalance in the knob is enough to cause the knob to turn slightly when released in certain positions. The heavy side was opposite the pointer so it tried to turn the pointer upmost

Gluing a nut under the pointer side balanced the knob. Problem solved.

#electronics #diytestgear #siggen

So next Issue- The board with the AD9833 DDS and the MCP41010 digital pot looks like the diagram, without the bits in red. The board I received had a 10k feedback resistor around the AD8051 rather than the 5k shown. The sine and triangle wave from the DDS has a swing from 38mV to 650mV . Feeding 650 mV into a non inverting amp with gain of 11 will give an output of 7.15V - clearly not going to happen on a supply of 5V . Changing from10k to 5 k feedback results in no more clipping .
@vk3kri If you use AD9834 instead of AD9833, you get current output and a FS Adjust input that can be fed from a DAC driving a current source, which allows you to adjust amplitude without the DC offset problems. See Circuit Note CN-0156 for details
@cliffordheath
Thanks for that, that is interesting. Also having the square wave out on a separate pin might be useful although would require external switching.
I probably should have done a bit more research before going 'that looks useful - I'll buy one' for the AD9833/MCP41010 module.
Given this is a one off project I'll keep going with what I have working so far - unless I change my mind again!