devroom.io/content/electronics/signal-1-part-1.md
2017-10-20 10:04:48 +02:00

2.1 KiB

+++ date = "2017-10-16" title = "Signal 1 - DIY Audio 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 audio 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 for testing audio equipment.

This is what I'm looking for:

  • 10 Hz - 100 kHz frequency range sine waves
  • Stereo Line level output (100-600 Ohm output impedance; 2Vpp) to feed directly into an amp
  • Display of frequency and other settings
  • Frequency presets or 'zero' at 1kHz
  • Adjustable amplitude (e.g. volume control; 5mVpp - 2Vpp)
  • Digitally controlled

Bonus features:

  • Reverse RIAA circuit
  • Frequency sweep

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

Arduino Nano. I was going to go for an onboard ATMega328 and program it directly using Atmel Studio. However, there's so much good stuff out there for Arduino that I'll start out by just plugging in an Arduino Nano and program that. The upside is that it alread contains USB/Serial so it's be rather easy to make this devise computer controlled later on. That said, for the final build I might op to integrate the Arduino Nano components on my PCB anyway :-)

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.