Add post about Signal 1

This commit is contained in:
Ariejan de Vroom 2017-10-16 23:56:27 +02:00
parent 707ecb350f
commit cd17bf2438
Signed by: ariejan
GPG Key ID: AD739154F713697B
15 changed files with 146 additions and 16 deletions

View File

@ -20,10 +20,11 @@ pygmentsstyle = "monokai"
[permalinks]
blog = "/:year/:month/:day/:slug/"
audio = "/audio/:slug/"
electronics = "/:year/:month/:day/:slug/"
[taxonomies]
category = "categories"
tag = "tags"
[params]
dateform = "2 Jan, 2006"
@ -36,7 +37,7 @@ faviconfile = "favicon.ico"
highlightjs = true
progressively = true
share = true
latestpostcount = 10
latestpostcount = 7
github = "ariejan"
email = "ariejan@devroom.io"
linkedin = "ariejan"

View File

@ -1,9 +0,0 @@
+++
date = "2017-10-16"
title = "Signal 1 - Design and Requirements (Part 1)"
tags = ["audio", "design", "electronics"]
description = ""
slug = "signal-1-design-and-requirements-part-1"
+++
Signal 1

View File

@ -0,0 +1,41 @@
+++
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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

View File

@ -0,0 +1,80 @@
{{ partial "header.html" . }}
<section class="main post non-narrow zero-top-spacing">
<div class="container">
<div class="content">
<div class="front-matter">
<div class="title-container">
{{ partial "page-heading" . }}
</div>
<div class="meta">
<div class="date" title="{{ .Date.Format .Site.Params.dateformfull }}">{{ .Date.Format .Site.Params.dateform }}</div>
{{ if not .Params.noauthor }}
{{ if .Params.author }}
<div class="author" title="{{ .Params.Author }}"><div class="middot"></div>{{ .Params.author }}</div>
{{end}}
{{end}}
<div class="reading-time"><div class="middot"></div>{{ .ReadingTime }} minute read</div>
<div class="tags">
<ul>
{{ range .Params.tags }}
<div class="middot"></div>
<li><a href="{{ "/tags/" | relLangURL }}{{ . | urlize }}">{{ . }}</a> </li>
{{ end }}
</ul>
</div>
<div class="tags">
<ul>
{{ if isset .Params "hacker_news_id" }}
<div class="middot"></div>
<li><a href="https://news.ycombinator.com/item?id={{ .Params.hacker_news_id }}">Hacker News</a> </li>
{{ end }}
{{ if isset .Params "lobsters_id" }}
<div class="middot"></div>
<li><a href="https://lobste.rs/s/{{ .Params.lobsters_id }}">Lobsters</a> </li>
{{ end }}
</ul>
</div>
</div>
</div>
<div class="markdown">
{{ partial "content" . }}
<br>
</div>
{{ if .Site.Params.share }}
<div class="share">
<a href="" class="ssk ssk-facebook"></a>
<a href="" class="ssk ssk-twitter"></a>
<a href="" class="ssk ssk-google-plus"></a>
<a href="" class="ssk ssk-linkedin"></a>
</div>
{{ end }}
{{ if .Site.Params.posts_navigation }}
<div class="navigation">
{{ if .PrevInSection }}
<div>
<img class="icon" src="/img/back.svg" alt="back" />
<a href="{{ .PrevInSection.Permalink }}">{{ .PrevInSection.Title }}</a>
</div>
{{ end }}
<div style="width: 100%;"></div>
{{ if .NextInSection }}
<div>
<a href="{{ .NextInSection.Permalink }}">{{ .NextInSection.Title }}</a>
<img class="icon" src="/img/next.svg" alt="next" />
</div>
{{ end }}
</div>
{{ end }}
<br>
<div class="disqus">
{{ template "_internal/disqus.html" . }}
</div>
{{ if .Site.Params.issoHost }}
<div class="isso" id="isso-thread"></div>
{{ end }}
</div>
</div>
</section>
{{ partial "footer.html" . }}

View File

@ -14,7 +14,7 @@
{{ if gt $nbPosts 0 }}
<div class="page-heading">Latest posts</div>
<ul>
{{ range (first .Site.Params.latestpostcount (where .Pages "Section" "blog")).GroupByDate "Jan, 2006" "desc" }}
{{ range (first .Site.Params.latestpostcount .Pages).GroupByDate "Jan, 2006" "desc" }}
<li class="groupby">{{ .Key }}</li>
{{ range .Pages.ByPublishDate.Reverse }}
{{ partial "li.html" . }}

View File

@ -26,8 +26,6 @@
{{ end }}
{{ end }}
{{ end }}
<a href="/categories/audio-repair"><li>Audio Repair</li></a>
<a href="/categories/electronics"><li>Electronics</li></a>
<a href="/about"><li>About</li></a>
<a href="/gpg"><li>GPG</li></a>
</ul>

View File

@ -0,0 +1,19 @@
{{ partial "header.html" . }}
<section class="main">
<div class="container">
<div class="content">
<div class="posts">
<div class="page-heading">Blog</div>
<ul>
{{ range .Data.Pages.GroupByDate "Jan, 2006" "desc"}}
<li class="groupby">{{ .Key }}</li>
{{ range .Pages.ByPublishDate.Reverse }}
{{ partial "li.html" . }}
{{ end }}
{{ end }}
</ul>
</div>
</div>
</div>
</section>
{{ partial "footer.html" . }}