Elektronik
Digitaler Funktionsgenerator
Beschreibung
Wieder einmal ein, abgesehen vom Lerneffekt, völlig nutzloses Projekt. Da ich durch glückliche Umstände
(Danke Alex!) kürzlich an ein altes
Oszilloskop gekommen bin,
brauchte ich natürlich eine Möglichkeit,
dieses auch etwas besser kennen zu lernen. Konstante 5V Gleichspannungen angucken ist auf Dauer recht langweilig,
also habe ich mir einen kleinen digitalen
Funktionsgenerator
gebaut. War ein interessantes Projekt. Auch wenn ich bezweifle, dass irgendjemand jemals diese Schaltung nachbauen und
meine Software benutzen wird, möchte ich sie trotzdem zur Verfügung stellen.
Features
- zwei Digital/Analog Wandler und ein
PWM Kanal als Ausgänge
- einstellbare Frequenz, Auflösung (bzw. Pulsweite) und Amplitude
- Tiefpassfilter mit einstellbaren Grenzfrequenzen und
nicht-invertierende Verstärker (OpAmps) für jeden Ausgang
- ein "externer Kanal" auf einen vierten Tiefpass+OpAmp geführt
- Verstärkung bis auf Netzteilspannung (nicht nur auf Logik-Level!) möglich
- Sinus, Rechteck, Dreieck und Sägezahn in Software implementiert
TODO:
- Software: Irgendwas schönes (sowas z.B.) mit dem X/Y Mode vom Oszi basteln
- Hardware: Offset Korrektur für OpAmp und auch negative Spannungen möglich machen
Fotos
Platine:
Rechteck (ungefiltert und gefiltert):
Dreieck (mit verschiedenen Auflösungen des Digital/Analog-Wandlers):
Sägezahn (ungefiltert und geglättet):
Sinus (verschiedene Auflösungen):
Überlagerung von Signalen:
Sinus übersteuert (d.h. die Spannung hat die Versorgungsspannung des OpAmp erreicht):
Schaltplan
Eagle files:
Mit dem Board Layout bin ich alles andere als zufrieden. Leider sind noch einige "fliegende Verbindungen" drin, hatte irgendwann keine Lust
mehr neu anzufangen, als ich gemerkt habe, dass es eng wird :-)
Software
(Ich benutze in diesem Projekt "
Protothreads", eine schlanke
Multithreading Implementation von Adam Dunkels)