Signalgenerator mit 2 Kanälen aus AVR

(2008) – Ein kleiner 2-K. Signalgenerator erzeugt auch Lissajous-Figuren (AVR ATmega16)

Nachdem ich mein erstes Oszilloskop erstanden hatte, brauchte ich auch irgendeinen 2-Kanal Signalgenerator. Hauptsächlich um auch mal den X-Y-Betrieb nutzen zu können (s. Lissajous-Figuren).
Außerdem ist ein Signalgenerator oft ganz nützlich und schnell auf neue Signalformen programmiert. Der hier verwendete Signalgenerator hat 64 diskrete Spannungswerte die man beliebig programmieren kann und nahezu jede Signalform damit hinkriegt (zwar nur im kHZ-Bereich aber das reicht erstmal).

Normalerweise verwendet man zusätzliche Digital-Analog-Konverter-ICs, aber es musste doch auch anders zu realisieren sein. Ich bin dann mal über den Aufbau eines solchen DACs gestolpert:
Eine Realisierungsmöglichkeit ist ein 2R-R-Netzwerk (also eine Kombination aus Wiederständen eines bestimmten Wertes und weiteren Wiederständen mit dem doppelten dieses Wertes). Alles was man noch braucht sind Anschlüsse die zwischen einer Referenzspannung und Masse schalten können:
Und genau das machen ja die IO-Ports des AVR, so kann man theoretisch mit N Ports die Versorgungsspannung in 2^N gleiche Teile aufteilen. Sinnvoll sind aber nur 6 bis max. 8 Bit, da die Schaltung ein bisschen hinterher hinkt.

Der erste Versuch war auf dem Steckbrett und lieferte schon ganz gute Ergebnisse. Später habe ich noch einen Operationsverstärker und einen Tiefpass eingebaut, damit der Spannungsverlauf „glatter“ ist, denn mit dem DAC sind ja nur diskrete Werte möglich. Durch diese kleinen Hilfsmittel kann man schon ein ganz nettes Sinussignal erzeugen.
Danach habe ich das fertige Board mit einem Mega16 realisiert und habe spaßeshalber noch einen zweiten Kanal hinzugefügt und kann beispielsweise jetzt auch Lissajous-Figuren realisieren, denn beide Kanäle werden ja zeitgleich und über ein und denselben Mikrocontroller gesteuert. Da noch platz war und ich nur Quad-OpAmp-ICs habe, wurden beide Kanäle noch mit zwei Impedanzwandlern, Tiefpässen und Verstärkern versehen. Dadurch kann man jeden Kanal auch ein wenig belasten (ca 20mA).

Protoyp, finales Gerät und Oszilloskopbilder des generierten Signals:

Signalgenerator - Prototyp R2R mega8
Der erste Prototyp auf dem Steckbrett. Hier verrichtet ein ATmega8 noch seinen Dienst. Das R2R-Netzwerk ist leicht zu erkennen. Links ragt noch der Tastkopf ins Bild.
Prototyp des Signalgenerators auf dem Steckbrett mit OpAmp-Schaltung am Ausgang
Prototyp des Signalgenerators auf dem Steckbrett mit OpAmp-Schaltung am Ausgang. Sichtbar sind der ATmega8, die Oszilloskop-Tastköpfe und das R2R-Netzwerk.
Draufsicht auf den 2-Kanal Signalgenerator. Rechts zwei R2R-Netzwerke, mittig der Atmega16 und unten die Ausgangsfilter mit OpAmp-ICs und Trimmpotis.
Draufsicht auf den 2-Kanal Signalgenerator. Rechts zwei R2R-Netzwerke, mittig der Atmega16. Unten sind die Ausgangsfilter mit OpAmp-ICs und Trimmpotis.
Rückseite des 2-Kanal Signalgenerators. Der Aufbau ist einfach genug, um ihn auf einer Streifenrasterplatine händisch zu verlöten. Diese Streifenrasterplatine ist bereits ab Werk für verschiedene DIL-ICs vorbereitet und macht das ganze noch einfacher.
Rückseite des 2-Kanal Signalgenerators. Der Aufbau ist einfach genug, um ihn auf einer Streifenrasterplatine händisch zu verlöten. Diese Streifenrasterplatine ist bereits ab Werk für verschiedene DIL-ICs vorbereitet und macht das ganze noch einfacher.
Hier ein Kanal des Signalgenerators. Das rote Signal ist direkt hinter dem DAC, das gelbe Signal hinter dem Tiefpass.
Hier ein Kanal des Signalgenerators. Das rote Signal ist direkt hinter dem DAC, das gelbe Signal hinter dem Tiefpass.
Hier der generierte Sinus noch einmal stärker vergrößert. Rot der DAC, gelb nach der OpAmp-Schaltung
Hier der generierte Sinus noch einmal stärker vergrößert. Rot der DAC, gelb nach der OpAmp-Schaltung

X-Y-Betrieb:

Dieser Modus des Oszilloskopes verwendet einen Kanal für die Ablenkung in X-Richtung, den anderen für die Ablenkung in Y-Richtung.
Diesen Betrieb kann man auch für einen einfachen Kennlinienschreiber verwenden. Dazu braucht es nur einen Sägezahn- oder Rechteckgenerator und einen Widerstand. Beides in Serie schalten und mit einem Kanal die angelegte Spannung und mit dem anderen Kanal die Spannung über dem Widerstand messen.
So kann man beispielsweise die Kennlinie einer Diode recht einfach ermitteln, da der Widerstand den Strom in eine Spannung wandelt und so eine Strom-Spannungskennlinie auf dem Oszilloskop erscheint.

Legt man an beiden Kanälen ein Sinusförmiges Signal an, so erhält man ein Bild in Abhängigkeit des Phasenversatzes. Diese Bilder heißen Lissajous-Figuren.

Ist der Phasenversatz Null, so erhält man eine Diagonale mit der Steigung +1, denn nur hier ist X=Y erfüllt). Für einen Phasenversatz von 180° ergibt sich ebenfalls eine Diagonale, allerdings mit der Steigung -1, denn nur hier ist X=-Y erfüllt.

Ist der Phasenversatz 90° (=cos(x)) oder 270° (=-cos(x)) so wandert man genau auf den Koordinaten aller Punkte des Einheitskreises (oder s. Bild) entlang.

Alles Werte dazwischen ergeben ein Oval.

Hier ein paar mit Hilfe des Signalgenerators erzeugte Lissajous-Figuren:

Oben: Sinus mit Phasenversatz von 0 Grad.
Links das Y-T Bild der beiden Kanäle die das rechte X-Y-Bild ergeben.
Oben: Sinus mit Phasenversatz von 45 Grad.
Links das Y-T Bild der beiden Kanäle die das rechte X-Y-Bild ergeben.
Oben: Sinus mit Phasenversatz von 90 Grad.
Links das Y-T Bild der beiden Kanäle die das rechte X-Y-Bild ergeben.
Oben: Sinus mit Phasenversatz von 135 Grad.
Links das Y-T Bild der beiden Kanäle die das rechte X-Y-Bild ergeben.
Oben: Sinus mit Phasenversatz von 180 Grad.
Links das Y-T Bild der beiden Kanäle die das rechte X-Y-Bild ergeben.
Oben: Sinus mit Phasenversatz von 225 Grad.
Links das Y-T Bild der beiden Kanäle die das rechte X-Y-Bild ergeben.
Oben: Sinus mit Phasenversatz von 270 Grad.
Links das Y-T Bild der beiden Kanäle die das rechte X-Y-Bild ergeben.
Oben: Sinus mit Phasenversatz von 315 Grad.
Links das Y-T Bild der beiden Kanäle die das rechte X-Y-Bild ergeben.

Schreibe einen Kommentar