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

42 lines
1.8 KiB
Markdown

+++
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](/img/signal-1-ad9833-breakout.jpg)
**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.