guter symmetrischer Spannungsregler gesucht und weitere Signalgenerator Fragen

Sep 20, 2012 17 Replies

Ich habe hier seit kurzem ein STM32F4 Discovery Kit liegen und dachte mir, damit könnte man einen prima Signalgenerator bauen, wie ich es vor längerer Zeit schonmal angedacht hatte. Da der im Microcontroller eingebaute DAC nicht allzu schnell ist, habe ich probeweis mal den AD9704 verwendet, hier das Datenblatt:



formatting link



und dort die Schaltung auf Seite 40, Figure 89, "Single-Supply Single-Ended Buffer". Die hat den AD4899 OP verwendet, habe also den auch so wie in der Schaltung beschrieben eingebaut. Der brauchte laut Schaltung eine symmetrische Spannungsversorgung, daher dachte ich mir, nehme ich was fertiges, kann man nichts falsch machen:

formatting link
Die Restwelligkeit sah dann so aus, wenn der DAC lief:



formatting link



Das niederfrequente pumpen kam wohl von meinem Netzteil und der langen Zuleitung. Wenn ich einen LM317 davorhänge, dann ist das zumindest weg. Das hochfrequente Signal habe ich dann mit einer handvoll Elkos und Keramikkondensatoren auf unter 100 mV bekommen. Liegt aber wohl auch an meinem Aufbau, daß es nicht allzuviel besser wird :-)



formatting link



Aber ich denke der integrierte 5V -> +5V/-5V Wandler wird wohl auch nicht so der Hit sein. Das führt zu meiner ersten Frage: Was würde man da besser nehmen, für eine gute symmetrische OP Versorgung? Sollte man ggf. auch mehrere Spannungsregler für OP und Analogstromversorgung des DACs verwenden, um das besser zu entkoppeln? Ich würde das gern mit den



5V eines USB-Ports betreiben. Schön wäre, wenn ich +/-10V Signale generieren könnte, an 50 Ohm. Da der DAC 10 Bit Auflösung hat, sollte die Betriebsspannung wohl besser eine sehr geringe Restwelligkeit haben, oder kann man da auf die Störungerdrückung des DAC und des OP vertrauen?

Und was könnte man für einen OP nehmen für +/-10V Ausgang and 50 Ohm? Der ADA4899 geht bis +/-12V, wäre daher also wohl nicht schlecht, aber ist vielleicht was knapp, um 50 Ohm treiben zu können. Preis ist nicht so wichtig, ist erstmal nur für Hobbygebrauch gedacht, darf also was Gutes sein. Sollte allerdings ein 100 MHz DAC Signal noch gut auf die



+/-10V verstärken können, falls ich später mal einen FPGA den DAC ansteuern lasse, statt den Microcontroller.

Die Schaltung lief übrigens nicht besonders, der Ausgang hing am oberen Ende der Versorgungsspannung und clippte. Gab auch keine Beispielwerte für Rfb und Rb, aber im Datenblatt des OPs waren empfohlende Werte im Bereich von 100 Ohm. Leider kam dann so gut wie kein Signal mehr an, wohl weil der DAC nicht soviel Strom liefern kann. Habe also die Schaltung geändert und einen nicht invertierenden Verstärker mit zweimal



220 Ohm am Minuseingang gebaut, und dem DAC Signal direkt am Pluseinang. Wohl wegen der guten Versorgungsspannungsstörunterdrückung des OPs sah der Ausgang dann gar nicht so schlecht aus. Hier ein Beispiel mit
400,007 kHz, per DDS vom Microcontroller mit 4 MHz Samplefrequenz generiert:

formatting link



Ich hoffe wenn ich da noch ein gutes Tiefpassfilter bei vielleicht 1 MHz hinsetze, daß das Signal dann ruhiger wird.



Wo wir bei meiner letzten Frage für heute wären: Gibt es noch andere Tricks, um per DAC einen guten Signalgenerator mit wenig Jitter zu bauen? Das DDS Phase Accumulator Konzept ist z.B. ziemlich schlecht geeignet, wenn ich ein 1.000.001 Hz Rechteck mit exakt 4 MHz Samplerate ausgeben will, da dann die Rechtecke für viele Takte exakt 1 us lang sind und zwischendurch mal ein Takt mit 1,25 us Länge kommt. Kann man da nur die Samplefrequenz hochdrehen, um das besser hinzubekommen?


Frank Buss, http://www.frank-buss.de electronics and more: http://www.youtube.com/user/frankbuss

Moin!

Vor oder hinter dem Ausgangswiderstand? Der Opamp selbst hat ja dank der Rückkopplung (deutlich unterhalb seiner Grenzfrequenz) eine sehr geringe Ausgangsimpedanz. Für einen reflektionsarmen Anschluss brauchts also einen 50 Ohm Widerstand zwischen dem Opamp und der Ausgangsbuchse - und 20V am Opamp für 10V an der korrekt abgeschlossenen Leitung.

Und hat am Ausgang eine slew rate von 310V/µs. Ein 100MHz Sinus mit

10V Amplitude hat eine maximale Steigung von 6300V/µs.

Ein Opamp mit 2W (10V DC an 50 Ohm) oder gar 8W (bei 20V DC) mit nennenswerter Verstärkung bei 100 MHz ist mir nicht bekannt. Ich fürchte, Du wirst das Problem aufsplitten müssen - mit mehreren Ausgängen, z.B. je einen mit Opamp für niedrige Frequenz bei hohem Pegel und für den vollen Frequenzbereich bei niedrigem Pegel. Dazu dann ggf. einen HF-Verstärker, wenn Du hohe Frequenz _und_ hohen Pegel gleichzeitig brauchst (der hat aber keinen so flachen Frequenzgang wie der Opamp).

Gruß, Michael.

Alles nur eine Frage der vorhandenen Dollars oder Euros :-)

So wird das im Profibereich oft gemacht weil billiger als eine Batterie von Edel-Opamps. Habe ich sogar bei einer Laser-Chose so gemacht, beim RX.

Man koennte alternativ sowas hier nehmen

formatting link

und dann ein (gekuehltes) PNP/NPN Folgerpaerchen dahinter haengen. Das stabil hinzukriegen ist allerdings nicht von Pappe, so wie ein Porsche Turbo auf Glatteis.

Die dekadente Methode ohne Transistoren, falls man einige Euros mehr ausgeben darf:

formatting link

Einige davon parallel schalten. Die entsprechenden Tricks stehen im Datenblatt. Natuerlich ist sauberstes HF-Layout erforderlich, sonst wird beim Einschalten alles heiss und der Fernseher von Frau Suhrbier geht aus.

Gruesse, Joerg http://www.analogconsultants.com/

Der sieht erstmal gut aus. Ich denke +/-5V sollten auch reichen, damit kann ich schon eine ganze Menge machen. Da müsste dann ja auch vielleicht einer von reichen. Braucht man da gute Spannungsregler für, oder gleichen die Störungen gut selber aus?

Jetzt muß ich nur noch meine Si570 Muster wiederfinden (das sind die programmierbaren Oszillatoren, die man mit einer Genauigkeit von 10^-9 Teilen der Eingangsfrequenz einstellen kann) und werde dann mal was weiterbasteln. Wollte die eigentlich schon vor Jahren mal angetestet haben.

Frank Buss, http://www.frank-buss.de electronics and more: http://www.youtube.com/user/frankbuss

Mittlerweile gibt es da mit dem AATINY85 eine temperaturkompensierte Betriebsmöglichkeit. Ich verwende so'n Si570 als 52MHz-Referenz...

-ras

Ralph A. Schmid http://www.schmid.xxx/ http://www.db0fue.de/ http://www.bclog.de/

Prima, hast du da einen Link? Dann brauch ich die I2C-Ansteuerung nicht selber zu programmieren.

Frank Buss, http://www.frank-buss.de electronics and more: http://www.youtube.com/user/frankbuss

Doll regeln muss man da nicht. Viel wichtiger ist eine blitzsaubere Abblockung die auch bei 2GHz noch als solche gelten kann.

Edel edel. Obwohl ich nicht so der Fan von On-Chip PLL bin.

Gruesse, Joerg http://www.analogconsultants.com/

Asud er Zeitschrift "Funkamateur", FA-SY heißt das Projekt. Der ATTINY45 wird dann per USB konfiguriert. Und wenn man den Autor fragt, dann gibt es auch noch Hinweise auf eine mehrkanalfähige Variante mit dem ATTINY85.

-ras

Ralph A. Schmid http://www.schmid.xxx/ http://www.db0fue.de/ http://www.bclog.de/

Das Ding ist halt einfach praktisch :) Und man bekommt den mit einer Heizung auf wenige ppm hin, oder sogar mit Kompensationskurve aktiv nachgezogen mit besagtem ATTINY85.

-ras

Ralph A. Schmid http://www.schmid.xxx/ http://www.db0fue.de/ http://www.bclog.de/

Also eine Drossel in die Versorgungsspannung reinlegen und eine handvoll Kondensatoren verschiedener Größe um den Opamp verteilen?

Sowas disktret aufbauen wäre bestimmt auch interessant, nur hätte ich leider überhaupt keine Idee, wie man ein sauberes 100 MHz noch mit einer Auflösung von 1 Hz einstellen kann. Zumindest theoretisch, wird wohl ein wenig Phasenrauschen haben, aber viel weniger als wenn ich das nur per DDS mit Phase-Accumulator versuchen würde und bei Rechteckausgang dann einfach alle paar Millionen Takte zwischendurch mal ein Takt 1/4 länger ist. Aber selbstbauen könnte ich sowas dann sowieso nicht :-)

Frank Buss, http://www.frank-buss.de electronics and more: http://www.youtube.com/user/frankbuss

Lieber statt der Drossel einen Widerstand plus Ferritperle. Groessere Drosseln koennen beim Einschalten einen Resonanz-Peak auf den Kondensatoren verursachen und dann macht es u.U. "paetsch".

Kommt drauf an was Du brauchst. Wenn Dir die spektrale Reinheit dieser Dosen-Oszillatoren reicht dann lohnt ein Selbstbau nicht. Man sollte aber damit rechnen dass hie und da auch noch ganz leise andere Frequenzen rauspfeifen. Beim Empfaengerbau nicht so der Hit. Ich weiss aber nicht wie die Si570 sind, hatte ich noch nicht hier.

Gruesse, Joerg http://www.analogconsultants.com/

Danke, das sieht sehr gut aus. Gibt sogar die Firmware des ATtiny auf der

formatting link
unter GPL. Ich denke ich wähle da jetzt die ganz faule Alternative und kaufe das FA-SY Modul (schönes Metalgehäuse), passe die Firmware etwas an, um SPI statt USB zu verwenden und setze das dann als fertiges Modul in meinem Testaufbau ein. Die Temperaturstabilisierung gefällt mir auch, da das gut für einen genauen Signalgenerator verwendbar ist.

Frank Buss, http://www.frank-buss.de electronics and more: http://www.youtube.com/user/frankbuss

Das wäre nicht so schlimm, ich will es hauptsächlich für digitale Sachen einsetzen. Wenn da die Hauptfrequenz einigermaßen stabil ist, dann reicht das. Wichtig ist aber, daß man die Frequenz sehr fein, ohne Sprünge zwischendurch, einstellen kann, da ich zwei Kanäle haben möchte und Schwebungen testen möchte (z.B. zwei digitale Systeme mit leicht unterschiedlichem asynchronen Clock betreiben und dann Effekte wie Setup-/Hold-Time Verletzung, Metastabilität usw. reproduzierbar testen).

Frank Buss, http://www.frank-buss.de electronics and more: http://www.youtube.com/user/frankbuss

Dafuer sollte das reichen, denn FPGA schlottern im Clock weit mehr als solche Chips. Nur beim Empfaengerbau, da muss man aufpassen.

Gruesse, Joerg http://www.analogconsultants.com/

Ja, feine Sache. Und die neuere Variante mit größerem ATTINY und anderer FW kann sogar anhand eines Temperatursensors im IC eine Kurve zum Temperaturausgleich nutzen, ferner AFAIR 16 Frequenzen schaltbar anbieten. Dieses upgrade wollte ich heute Abend noch machen.

-ras

Ralph A. Schmid http://www.schmid.xxx/ http://www.db0fue.de/ http://www.bclog.de/

Die Module sind angekommen. Gut das der Si570 und die anderen SMD-Bauteile schon verlötet waren, so QFN Packages sind sonst recht nervig mit Lötpaste und Heissluftpistole, darauf hoffend auch alle Pins ohne Brücken angelötet zu haben.

Ich habe es erstmal so per USB angeschlossen wie vorgesehen. Etwas problematisch war die Treiberinstallation: Windows 7, 64 Bit, erlaubt normalerweise nicht mehr, nicht signierte Treiber zu installieren. Das kann man per "bcdedit.exe -set testsigning on" von einer als Administrator gestarteten Kommandozeilenauffoderung und Systemneustart wieder erlauben. Einfacher wäre es gewesen, wenn man ein HID-Device als Endstelle im ATTiny implementiert hätte, da man dafür keinen Treiber braucht und es von Windows 98 (SE) bis Windows 8 läuft.

Das auf der CD mitgelieferte Testprogramm läuft soweit. Obwohl es die CMOS-Version ist, kommt sogar bei z.B. 310 MHz noch ein Signal mit ca. 1 Vpp raus (bei 300 MHz merkwürdigerweise nicht).

Die Amplitude ist allerdings recht unterschiedlich: Bei 150 MHz habe ich

2 Vpp, bei 140 MHz 0,8 Vpp und bei 120 MHz z.B. 2,9 Vpp. Kann das an meinem Messaufbau liegen? Den Oszilloskopeingang habe ich auf 50 Ohm eingestellt, aber auch wenn ich hochohmig messe gibt es dieselben relativen Unterschiede. Hochohmig bei 80 MHz gemessen meint mein Scope sogar, es käme 8,7 Vpp raus.

Manchmal reagiert die Software auch merkwürdig: Wenn ich von 20 MHz nach

30 MHz per Zahleneingabe wechsle (2 per Entf löschen, 3 eingebe), dann kommt 15 MHz raus. Gebe ich nochmal 30 MHz ein, dann werden die gewünschten 30 MHz generiert.

Aber egal, das neue Modul hat ja praktischerweise die Möglichkeit, die I2C-Anschlüsse direkt an der Steckerleiste per Brücke rauszugeben, da kann ich das dann als reines Si570 Breakout-Board verwenden und die Ansteuerung mit der gesamten FPGA-Steuerung zunächst mit meinem Raspberry Pi programmieren.

Frank Buss, http://www.frank-buss.de electronics and more: http://www.youtube.com/user/frankbuss

Ich habe da nicht weiter experimentiert; ich brauche 52 und 64 MHz, das möglichst genau, fertig :) Noch 'n Spannungsteiler aus zwei

1oo-Ohm-Rs drangelötet, um meinen Eingang nicht zu überfahren, fertig, aus :)

Die ganze Sache ist bissl komisch, ich war mit dem Autor intensiver in Kontakt, da die Doku manchmal Dinge voraussetzt, die man als Uneingeweihter schlichtweg nicht ahnen kann, da ich mit dem Zoo aus verschiedenen verügbaren software die settings im EEPROM gründlich vermurkts habe (so, da ich bereits dachte, mein Si570 ist im Eimer), und da das Zurücksetzen mit einem debug-tool des Autors auch nicht so trivial war. Wenn es aber dann mal läuft, dann ordentlich.

Werde mir noch zum Spielen einen SI571 besorgen, den bis 1 GHz hoch.

-ras

Ralph A. Schmid http://www.schmid.xxx/ http://www.db0fue.de/ http://www.bclog.de/

Lag an meinem Messaufbau: Ich habe das naiverweise in eine Steckplatine reingesteckt und je nachdem, wo ich die Masse des Scopes anschliesse (z.B. einmal rund um das Board über eine Stromschiene), kann ich Spannungen von 3 V bis 8 V messen. Messe ich direkt an der X1-Stiftleiste an der Platine mit Scope-Masse und Tastkopf, dann sieht es normal aus. Aber wenn ich die Platine nur in das Breadboard mit der Stiftleiste einstecke, ohne daß sonst was angeschlossen ist, wird die Kurve auch schon merklich runder. Trivial für die HF-Experten hier, aber nette Sache für mich als Digitalelektroniker zum Experimentieren.

Also auf der aktuellen CD ist nur noch eine Software drauf für Windows und der libusb-Treiber. Gibt aber noch ein paar mehr Ungereimtheiten, z.B. wenn ich zwischendurch mal das Device abstecke und wieder anstecke, dann wird es zwar wieder gefunden und ich kann die Frequenz einstellen, aber wenn ich das Programm beenden will, kommt nur die Meldung "File access denied" und ich kann es nur per Taskmanager abschiessen. Oder wenn ich die Software starte, nachdem das Device eingesteckt wurde, wird es manchmal nicht erkannt.

Schön wäre auch, wenn die Frequenz im EEPROM gespeichert werden würde, dann könnte man es auch ohne USB als Quarzersatz für Versuchszwecke einsetzen, da es recht praktisch im Vergleich zu einem vollausgewachsenen Funktionsgenerator ist. Muß ich vielleicht doch mal was besseres für programmieren :-)

Was auch noch sehr interessant ist: Si5338. Der hat 4 Ausgänge (bis 710 MHz), die aber synchron zueinander sind, da von einem internen Quarz abgeleitet. Und anders als den Si570 gibt es den auch bei vielen Distributoren (10 Euro Einzelpreis bei Digikey für die Version mit maximal 200 MHz Ausgängen). Wenn man mehrere Frequenzen in einem System braucht, dann lohnt sich der Chip auch sonst und besonders für so Anwendungen wie verschiedene HDMI- oder VGA-Frequenzen zu generieren, zusätzlich zu einem Systemtakt, sieht der ideal aus.

Ich denke den muß ich wohl auch mal kaufen, denn ich möchte ja stabile Schwebungen von Rechteckfrequenzen hinbekommen und blöderweise geht das natürlich mit zwei separaten Si570 Bausteinen nicht (was ich mir auch vorher hätte denken können). Habe es mal testweise probiert (leider ist die Einstellsoftware nicht Multidevice-fähig, sodaß bei einem Device nur die 15 MHz Startupfrequenz lief) und man braucht nur den Finger auf ein IC zu legen und schon läuft es weg, wie auch bei gleicher Temperatur über einen gewissen Zeitraum hinweg.

Frank Buss, http://www.frank-buss.de electronics and more: http://www.youtube.com/user/frankbuss

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required