Tragbarer Funktionsgenerator auf Basis des AD9833
Hallo,
Ich entwickle zur Zeit einen tragbaren ( Akku Betrieb ) Funktionsgenerator auf Basis einer AD9833 Breakout Platine.
Als Controller kommt ein AVR32DB32 Controller zum Einsatz.
Als IDE verwende Ich Microchip Studio ( Ehemals ATMEL Studio ).
Geplant ist ein 128x64 OLED Display.
Ein 128 x 64 LCD Matrix Display wäre zwar günstiger, ist aber langsam, stromhungrig ( Hintergrundbeleuchtung ) und vom Ablesewinkel her schlechter.
Als Eingabegerät soll ein kleiner Kreuzjoystick mit 2 Tasten zum Einsatz kommen ( Es könnten aber auch 6 Tasten werden ).
Die Kurvenformen Sinus, Dreieck und Rechteck + Rechteck TTL werden ausgegeben.
Ausgangsspannung wird etwa 7Vss mit einstellbarem gleichspannungs Offset sein ( Mal gucken, was der OP-AMP her gibt.
Als Modulationsarten sind FM mit einer Modulationsfrequenz bis 1kHz und AM bis 2kHz geplant.
Bei AM Modulation kommt evtl. noch ein Audio Eingang hinzu, der direkt auf den Modulator einwirkt.
Damit könnten dann Lanwellen und Mittelwellen Empfänger getestet werden.
Phasenmodulation wäre durch den Chip auch möglich, macht aber IMHO bei dem nutzbaren Frequenzband keinen Sinn.
Eine Sweepfunktion gibt es auch, die wird in 12Sekunden ein eingestelltes Band durchlaufen.
Als Sweepbänder hab Ich vorgefertigte vorgesehen, kann aber jederzeit erweitert und frei einstellbar gemacht werden.
Mehrere Audio Sweepbänder, ein oder mehrere Bänder für 400 bis 550 kHz ZF Filter sind vorgesehen.
Als Stromversorgung habe Ich 2 x 18650 LiIon Akkus vorgesehen.
Intern sind 2 x 5V Stromversorgungen geplant, an der ersten ( analog LowDrop ) soll der AD9833 und der AVR32DB32 hängen, an der zweiten wird ein DC/DC wandler mit +- 5V Ausgang für die Operationsverstärker nachgeschaltet. Dadurch könnte man dann problemlos die Versorgungsspannungen für die OP-Amp's vergrößern.
Als Ladeschaltung werd Ich eine fertige Platine mit USB Anschluss verwenden, die man bei Ebay günstig bekommt.
Wieso das Ganze:
Ich möchte ein tragbares autonomes Gerät, das ohne Stromanschluss oder Powerbank funktioniert.
Im Gerätemarkt hab Ich, ausser Einfachstgeräten, nichts passendes gefunden, deshalb hab Ich mich an eine Eigenentwicklung gemacht.
Wie weit bin Ich:
Auf einem Versuchsboard läuft der Frequenzgenerator, sowie FM Modulation und die Sweepfunktion.
Für AM warte Ich noch auf einen passenden Optokoppler mit FET Ausgang ( Ist bestellt ).
Frequenzen bis 4MHz schauen auch ohne Rekonstruktionsfilter gut aus, Ich werde aber die maximale Frequenz auf 3MHz festlegen.
Bei Frequenzen über 4 MHz wird das Ausgangssignal durch den AD9833 AM Moduliert. Das ist für ein Testgerät in meinen Augen inakzeptabel.
Deshalb die Beschränkung auf 3MHz - Das ist aber nur eine reine softwaremässige Beschränkung.
Für höhere Frequenzen seh Ich, bei einem tragbaren Gerät, auch keinen Nutzen, ausser evtl. ein 10,7MHz ZF Filter durch zu messen.
Auf ein anderes DDS Board mit höherer Ausgangsfrequenz ( die es durchaus gibt ) möchte Ich nicht gehen, da es hierbei wieder andere Probleme, z.B. bei der Modulation, gibt.
Wie geht es weiter:
Das Rekonstruktionsfilter ( LC T-Filter 4MHz ) wird getestet.
Als nächstes soll das Display eingebunden werden, dann die Eingabeelemente.
Läuft alles zur Zufriedenheit werde Ich eine Platine entwerfen und einen Prototyp bauen.
Wenn Ich erste Schaltpläne habe werde Ich die hier veröffentlichen.
Warum schreib Ich das alles?
Ich hab hier mal nur meine Ideen und den erreichten Fortschritt aufgeschrieben.
Eventuell hat ja jemand von euch noch Ideen für zusätzliche Features, oder Funktionen die so ein Funktionsgenerator unbedingt noch braucht.
Oder Ideen wie man z.B. die interne Stromversorgung verbessern könnte.
Vieleicht brauch Ich auch bei dem einen oder anderen Problem noch Euere Hilfe.
Z.B. Welche Op-Amps als "Endstufen" wären geeignet? Vorerst ist ein AD8038 geplant, den OPA892 hab Ich mir auch mal angesehen.
Oder es will sich jemand an der Entwicklung beteiligen?
Ich freue mich auf Euere Antworten...
Liste der Anhänge anzeigen (Anzahl: 2)
Mein Display und der Eingabetaster wurden geliefert.
Die Frequenzeinstellung funktioniert schon so weit.
Die Features kommen nach und nach hinzu.
Anhang 36032
Ein Bild vom Versuchsaufbau, noch ohne Ausgangsfilter und Verstärker.
Oben Mitte das Display ( Ist in Wirklichkeit schärfer als auf dem Bild ).
Unten Mitte Rechts die Eingabetastatur.
Anhang 36033
Ein Oszillogramm, 2MHz direkt am Ausgang des AD9833 aufgenommen.
Sieht IMHO auch ohne Filter schon ziemlich gut aus.
Liste der Anhänge anzeigen (Anzahl: 2)
Ich hab gerade mal ein wenig an der Endstufe rum gemacht und die läuft so einigermassen.
Neue Oszillogramme:
Anhang 36034
Hier ein Screenshot nach dem Verstärker, kurz bevor er in die Begrenzung geht.
Anhang 36035
Hier noch mal ein Bild mit voll aufgedrehtem Offset, auch kurz vor der Begrenzung.
Die Ausgangsspannung ist mir noch ein wenig zu niedrig.
Ich werde wohl doch auf den OPA892 und einen +-9V Spannungswandler wechseln.
Die "Unsauberkeiten" schieb Ich mal eher auf meinen Aufbau auf einem Steckbrett, als auf Probleme mit der Schaltung.
Ein Handeffekt bei den Potis ist auch fest zu stellen.
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Wie schaut es bei deinem Projekt aus? Schon weiter?
Der geplante TL074 als Spitzenwertgleichrichter ist viel zu langsam, bei ca. 100kHz wird das Ausgangssignal immer kleiner ( von wegen GBW 13MHz ).
Ich werde an dieser Stelle einen LT1633 testen.
Bei höheren Frequenzen hab Ich leider nur 8Vpp.
Da möchte Ich dann den OPA892 als Endstufe und den OPA810 als Treiber einsetzen und die Spannung für die OP's auf +-9V erhöhen.
Sonst müsste der Gleichspannungsoffset ziemlich klein bleiben.
Die OP-Amps die Ich bis jetzt drin habe vertragen leider nur +-6V.
Als AM Modulationsquelle möchte Ich einen Optokoppler mit FET Ausgang H11F1M benutzen.
Die AM Modulation funktioniert im Prinzip, leider ist das Signal alles andere als linear ( siehe Bild ), zudem stimmte das Datenblatt des Optokopplers ( H11F1M ) nicht mit den Typen überein die Ich bekommen habe.
Laut Datenblatt ist der Ausgang auf 4 und 6. Bei meinen war er aber auf 4 und 5.
Ich möchte nun den Ausgang des Optokoppler's mit einer Gleichspannung vorspannen und das AM Signal über einen Kondensator einspeisen.
Am Optokoppler Ausgang müssen immer mindestens 0,1V anliegen, damit er linear arbeitet, wenn man dem Datenblatt glauben kann.
Anhang 36036
Die o.g. Bauteile hab Ich erst gestern bekommen.
Ich muss Die erst mal auf Adapterplatinen löten, damit Ich die auf mein Versuchsboard kriege.
Das sollte übers Wochenende klappen.
Das ist der aktuelle Stand - wenn Du eine gute Idee für die Amplitudenregelung ( AM ) hast, immer her damit.
Zu Deinem Projekt:
Also ein ATMEGA hat mindestens einen 16Bit Timer, Die A-Typen laufen auch mit 20MHz.
Der Nachteil ist, das die Timer immer bis zum Höchstwert laufen, OK CTC wäre auch möglich.
Der zweite Comparematch würde dann die Pulsweite bestimmen.
0,3Hz bis 2MHz sollten möglich sein.
Ob das geht hab Ich so noch nicht getestet.
Bei niedrigen Frequenzen müsstest du den Prescaler erhöhen, dann geht das auch für ganz niedrige Frequenzen.
Die Potis könntest Du über den A/D Wandler 10Bit abfragen ( Ich denk mal, das ELEKTOR das auch so gemacht hat ) und das Signal mit dem Timer generieren.
Als Anzeige würde Ich nach wie vor ein LCD oder OLED Display nehmen, das dann die aktuellen Werte anzeigt.
Das nur über die Potis und ne PLL zu machen wäre mir viel zu ungenau.
Wenn Du als Spannungsregler z.B. einen TSR 1-2450 ( max. Eingangsspannung 36V für die 5V Versorgung nimmst, sparst Du den Kühlkörper, der bei einem 7805 nötig wäre und auch Strom auf der 24V Schiene.
Als Absicherung wären evtl. Permafuses geeignet - Die müssen nicht bei jedem Auslösen ausgetauscht werden.
Günstige 2x16 Displays gibt's für unter 5,-€.
0,96" OLED für um 1,-€ bei eBay.
Librarys für beides sollten sich finden lassen.
SPI und TWI haben die Megas ja auch alle.
Das sind nur Vorschläge, realisier das bitte so wie es Dir am Besten passt!