Digitaler Funktionsgenerator

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

von Andreas Schwarz

Ein digitaler Funktionsgenerator, basierend auf einem AVR-Controller (ATmega8).

  • Signalformen: Sinus, Rechteck, Dreieck, Sägezahn
  • Ausgangsfrequenz: von 0,5 Hz bis ca. 25 kHz in 0,5 Hz-Schritten verstellbar
  • Amplitude 0-10 V
  • Offsetspannung ca. -6 V bis +6 V
  • Anzeige von Frequenz und Signalform auf einem LCD

Die Funktionserzeugung basiert auf dem Prinzip der Direkten Digitalen Synthese (DDS). Das Projekt war meine Facharbeit im Fach Physik (Note: 15 Punkte) und war deshalb hauptsächlich zur Demonstration des Verfahrens gedacht. Vielleicht ist es trotzdem auch zum Nachbauen oder als Grundlage für eigene Projekte interessant, da der Hardwareaufwand (ggf. bei reduzierter Ausgangsbeschaltung) sehr gering ist. Wer Wert auf ein möglichst sauberes Signal und hohe Frequenz legt, der ist aber mit einem fertigen DDS-Chip besser bedient.

Ein paar Kommentare im Nachhinein:

  • Das Programm ist teilweise mit heißer Nadel gestrickt (besonders deutlich sichtbar an der Tastenauswertung und BCD-Umrechnung) und sollte daher nicht unbedingt als Beispiel für guten Programmierstil hergenommen werden.
  • Der Schaltplan des R2R-Wandlers in der PDF-Datei ist fehlerhaft, eine korrigierte Version gibt es unter DA-Wandler.

Funktionsgenerator.jpg