update signal-1 post

This commit is contained in:
Ariejan de Vroom 2017-10-20 09:40:30 +02:00
parent 99baf75e73
commit 59d806a127
Signed by: ariejan
GPG Key ID: AD739154F713697B

View File

@ -1,28 +1,28 @@
+++
date = "2017-10-16"
title = "Signal 1 - DIY Signal Generator (Part 1)"
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 signal generator based on the AD9833."
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. The
primary use is testing audio equipment, like amplifiers.
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:
* Sine wave
* 10 Hz - 100 kHz minimum, easily adjustable
* Line level output (100-600 Ohm output impedance; 2Vpp)
* Display of frequency and Vpp settings
* 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:
* Other waveforms, like triangle and square wave
* Larger frequency range
* PWM support
* Graphical display for all kinds of information
* Reverse RIAA circuit
* Sweeping
There are at this point two pieces of hardware I have selected:
@ -33,9 +33,11 @@ be fine. The AD9833 communicates for SPI, so I'll need a microcontroller to hand
![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.
**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.