devroom.io/content/electronics/signal-1-part-1.md

1.8 KiB

+++ date = "2017-10-16" title = "Signal 1 - DIY Signal Generator (Part 1)" tags = ["audio", "design", "electronics", "signal-1"] description = "This is part 1 in a series of posts showing you how I build a digitally controlled signal generator based on the AD9833." slug = "signal-1-diy-signal-generator-part-1" +++

Signal 1 is the name for my first signal generator project. The goal for this project is to create a device that can output clean sine waves in the 10 Hz - 100 kHz range. The primary use is testing audio equipment, like amplifiers.

This is what I'm looking for:

  • Sine wave
  • 10 Hz - 100 kHz minimum, easily adjustable
  • Line level output (100-600 Ohm output impedance; 2Vpp)
  • Display of frequency and Vpp settings

Bonus features:

  • Other waveforms, like triangle and square wave
  • Larger frequency range
  • PWM support
  • Graphical display for all kinds of information

There are at this point two pieces of hardware I have selected:

AD9833 Programmable Waveform Generator is a nice chip that can more than handle my simple needs. If it can go up to a 16Mhz square wave, that'd be great, but not necessary. It's also inexpensive when bought from China as a breakout board. I'm not usually a fan of there boards, but to for prototyping they should be fine. The AD9833 communicates for SPI, so I'll need a microcontroller to handle that.

The AD9833 Breakout Board

ATMega xxx is a logical choice for me. I'm not tied down to Arduino, so writing C directly in the Atmel Studio would be OK. Having a microcontroller present also opens up the possibility of having a decent screen (maybe even touchscreen) on this project.

For now, I've ordered a few AD9833 breakout boards from China and I'll start working on a block diagram of the entire system soon, which you can read about in Part 2 of this series.