Forum: Mikrocontroller und Digitale Elektronik AD9833 Programmieren


von Klemens (hochgall)


Lesenswert?

...gibt es in diesem Forum jemand, der mir ein
AD9833 DDS-Signalgeneratormodul auf eine fixe Frequenz programmieren 
kann, die dann beim Einschalten immer zur Verfügung steht?
Eine Anfrage von Klemens

von H. H. (hhinz)


Lesenswert?

Der bei jedem Einschalten aufs neue programmiert werden, und das muss 
ein kleiner µC erledigen.

von Wastl (hartundweichware)


Lesenswert?

Klemens schrieb:
> Eine Anfrage von Klemens

Minimale Hardware ist ein Arduino Nano oder Uno der über
wenige Leitungen mit dem AD9833 verbunden wird und mit
der erforderlichen Bibliothek und einer Minimal-
Applikation (Sketch) programmiert wird.

https://www.arduino.cc/reference/en/libraries/ad9833/

Keine komplizierte Geschichte ....

von Rainer W. (rawi)


Lesenswert?

Klemens schrieb:
> ...gibt es in diesem Forum jemand, der mir ein
> AD9833 DDS-Signalgeneratormodul auf eine fixe Frequenz programmieren
> kann, die dann beim Einschalten immer zur Verfügung steht?

Wohl kaum. Der AD9833 besitzt keinen Permanentspeicher für seine 
Konfiguration, d.h. er muss nach jedem Einschalten neu konfiguriert 
werden (s. Datenblatt).

: Bearbeitet durch User
von Jens G. (jensig)


Lesenswert?

Wastl schrieb:
> Minimale Hardware ist ein Arduino Nano oder Uno der über
> wenige Leitungen mit dem AD9833 verbunden wird und mit
> der erforderlichen Bibliothek und einer Minimal-
> Applikation (Sketch) programmiert wird.

Wenn es um minimale HW und Applikation geht, nimmt man keinen Arduino&Co 
und dicke Bibliotheken.

von Rainer W. (rawi)


Lesenswert?

Wastl schrieb:
> Minimale Hardware ist ein Arduino Nano oder Uno ...

Unsinn - solche "Geschütze" musst du zum Konfigurieren von dem AD9833 
nicht auffahren. Jeder kleine µC mit drei freien GPIOs reicht.

: Bearbeitet durch User
von Klemens (hochgall)


Lesenswert?

...danke für die Antworten
Es geht bei mir um Folgendes. Ich baue zur Zeit einen 
Kurzwellenempfänger, und ich benötige noch dafür mindestens einen Lo,je 
nach Konzept.
Der Oszillator soll mit einer fixen Frequenz von 5685 Kilohertz laufen 
und ich dachte dabei  an ein preiswertes DDS Modul. Gibt es eine 
Möglichkeit der Realisierung.

von Wastl (hartundweichware)


Lesenswert?

Jens G. schrieb:
> Wenn es um minimale HW und Applikation geht, nimmt man keinen Arduino&Co
> und dicke Bibliotheken.

Doch, wenn man im Sinne des TO denkt, dass er mit minimalem
Aufwand zu Ziel kommt.

Man braucht dafür keine Bibliotheken sondern nur eine. Und
eine Bibliothek für den AD9833 ist übrigens nicht "dick".

Aber am wichtigsten ist, klar, dass du hier deinen Senf dazu
gibst.

von Wastl (hartundweichware)


Lesenswert?

Rainer W. schrieb:
> Jeder kleine µC mit drei freien GPIOs reicht.

Da passt eber evtl. das Arduino Runtime-Umfeld nicht rein.
Wenn jemand das ohne Arduino macht, dann ja. Aber der TO
kann das erst mal nicht. Machst du das für ihn?

von Rahul D. (rahul)


Lesenswert?

Rainer W. schrieb:
> Unsinn - solche "Geschütze" musst du zum Konfigurieren von dem AD9833
> nicht auffahren. Jeder kleine µC mit drei freien GPIOs reicht.

Mit einem fertigen Board kommt man aber schneller zu einem Ergebns und 
hat weniger Fehlerquellen.

von Wastl (hartundweichware)


Lesenswert?

Klemens schrieb:
> Ich baue zur Zeit einen
> Kurzwellenempfänger, und ich benötige noch dafür mindestens einen Lo,je
> nach Konzept.

Naja, da ist der zweite LO nicht weit, und dafür bietet sich
sowieso ein DDS an, der über einen µC angesteuert wird.

Der SI5351 hat gleich drei unabhängige Signal-Ereugungen, der
ist vermutlich sehr beliebt bei KW-Amateuren .....

von Rainer W. (rawi)


Lesenswert?

Wastl schrieb:
> Da passt eber evtl. das Arduino Runtime-Umfeld nicht rein.

Um die paar Byte auf den AD9833 zu schieben, braucht man kein "Arduino 
Runtime-Umfeld".

von Wastl (hartundweichware)


Lesenswert?

Rainer W. schrieb:
> Um die paar Byte auf den AD9833 zu schieben, braucht man kein "Arduino
> Runtime-Umfeld".

Wastl schrieb:
> Aber der TO kann das erst mal nicht. Machst du das für ihn?

von Rainer W. (rawi)


Lesenswert?

Wastl schrieb:
> Aber der TO kann das erst mal nicht. Machst du das für ihn?

Weist du, ob das Konzept überhaupt funktioniert?

Das Ausgangssignal des AD9833 bei 5.7MHz sieht ziemlich versaut aus. Da 
ist die erste Frage, ob der überhaupt den Anforderungen an die spektrale 
Reinheit des LO genügt?
Da musst entweder ganz kräftig gefiltert werden oder er kann nur 
benutzen werden, um einen separaten Oszillator per PLL damit zu 
synchronisieren.

von Wastl (hartundweichware)


Lesenswert?

Rainer W. schrieb:
> Weist du, ob das Konzept überhaupt funktioniert?

Brauche ich gar nicht zu wissen. So einfach ist das.

Ich bin nur auf seine Anforderungen eingegangen. Und nachdem
das nicht ganz so klappt wie er sich das vorstellt habe ich
die nächstbeste Möglichkeit aufgezeigt die seinen "Fähigkeiten"
am nächsten kommt.

von Wastl (hartundweichware)


Lesenswert?

Klemens schrieb:
> Der Oszillator soll mit einer fixen Frequenz von 5685 Kilohertz laufen

Zeige lieber dein ganzes Konzept. Mit einem DDS mit zwei LOs
bist du flexibel in der Signalerzeugung und im Konzept, das
kommt der Vorgehensweise bei einem KW-Empfänger wesentlich
näher.

von Rainer W. (rawi)


Lesenswert?

Wastl schrieb:
> Brauche ich gar nicht zu wissen. So einfach ist das.

Bloß nicht über den Tellerrand blicken ...

In der heutigen Elektronik steht jemand ohne 
Minimalfähigkeiten/-kenntnisse im Bereich µC oft ziemlich im Regen. Da 
kann es nicht schaden, seinen Kompetenzbereich in der Richtung etwas zu 
erweitern. Das fängt mit dem Lesen von Datenblättern an und hört bei 
Abtasttheorem und DSS gewiss noch nicht auf.
Mehr als 25MHz MClk verträgt der AD9833 nicht und entsprechend dreckig 
sieht dann ein dort heraus kommendes 5.7MHz-Signal aus.

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Klemens schrieb:
> Gibt es eine
> Möglichkeit der Realisierung.

Ich kann dir das bauen. Ein kleiner 8 Pin Mikrocontroller und bissel 
Lochraster.

von Jens G. (jensig)


Lesenswert?

Wastl schrieb:
> Ich bin nur auf seine Anforderungen eingegangen. Und nachdem

Nöö, hast Du nicht. Er wollte, daß jemand das für ihn macht, und keine 
Empfehlungen, wie und womit er das machen kann.

von Motopick (motopick)


Lesenswert?

Klemens schrieb:

> Der Oszillator soll mit einer fixen Frequenz von 5685 Kilohertz laufen

Dafuer haette man frueher™ einfach einen Quarzoszillator benutzt.
Bei dem waeren auch keine Fragen zur Qualitaet des Siganls offen.

P.S.: Das geht heute auch noch...

von H. H. (hhinz)


Lesenswert?

Sonderlockenquarze waren und sind nicht billig.

von Motopick (motopick)


Lesenswert?

H. H. schrieb:
> Sonderlockenquarze waren und sind nicht billig.

Dafuer reicht es aber, den "Bestellknopf" zu finden.
Viel mehr darf man ja heute nicht erwarten.

von H. H. (hhinz)


Lesenswert?

Motopick schrieb:
> H. H. schrieb:
>> Sonderlockenquarze waren und sind nicht billig.
>
> Dafuer reicht es aber, den "Bestellknopf" zu finden.

Sicher nicht.


> Viel mehr darf man ja heute nicht erwarten.

Von dir?

von Motopick (motopick)


Lesenswert?

H. H. schrieb:
> Motopick schrieb:
>> H. H. schrieb:
>>> Sonderlockenquarze waren und sind nicht billig.
>>
>> Dafuer reicht es aber, den "Bestellknopf" zu finden.
>
> Sicher nicht.

Sicher doch.

>> Viel mehr darf man ja heute nicht erwarten.
>
> Von dir?

Ich kenne noch einige Methoden/Verfahren, auch solche scheinbar
"krumme" Frequenz ohne D.D.S. in spektral vorzueglicher Qualitaet
zu erzeugen. Das ist nicht notwendigerweise weniger aufwendig, als
ein speziell gefertigter Quarz.

von H. H. (hhinz)


Lesenswert?

Auf gehts! Der TE wird sich freuen wenn du ihm das für ein paar € baust.

von Motopick (motopick)


Lesenswert?

H. H. schrieb:
> Auf gehts! Der TE wird sich freuen wenn du ihm das für ein paar € baust.

Warum sollte ich?
Wer eine D.D.S. mit ihren Nachteilen als L.O. einsetzen wuerde, wuesste
das doch gar nicht zu (wert-)schaetzen.

von Helmut -. (dc3yc)


Lesenswert?

H. H. schrieb:
> Sonderlockenquarze waren und sind nicht billig.

Na, so teuer sind die auch wieder nicht. Für 32 Euronen incl. Porto 
gibt's die hier: http://www.andyquarz.de/quarze.html

von H. H. (hhinz)


Lesenswert?

Helmut -. schrieb:
> H. H. schrieb:
>> Sonderlockenquarze waren und sind nicht billig.
>
> Na, so teuer sind die auch wieder nicht. Für 32 Euronen incl. Porto
> gibt's die hier: http://www.andyquarz.de/quarze.html

Das DDS Platinchen kostet nicht mal 1/10 davon, ebenfalls incl Porto.

von Falk B. (falk)


Lesenswert?

Das Ding hat eine SFDR von ca. -65dB. Das ist nicht wahnsinnig gut aber 
auch nicht abgrundtief schlecht. Für den OP wird's reichen.

: Bearbeitet durch User
von J. S. (engineer) Benutzerseite


Lesenswert?

Motopick schrieb:
> Ich kenne noch einige Methoden/Verfahren, auch solche scheinbar
> "krumme" Frequenz ohne D.D.S. in spektral vorzueglicher Qualitaet
> zu erzeugen. Das ist nicht notwendigerweise weniger aufwendig, als
> ein speziell gefertigter Quarz.

Es kommt darauf an, wie krumm die Frequenz ist. Wenn das Durchlaufen 
durch die DDS nach 2..3 Zyklen stimmt, ist das Störspektrum entsprechend 
hoch und gut zu filtern. Bei der krummen Zielfrequenz ist es natürlich 
kaum möglich, das mit einem gängigen Quarz zu machen. Der saubere Weg 
wäre hier, ein Quarz zu nehmen, das zu einem ganzzahligen Teiler in der 
DDS führt. Also 22,7400... MHz und Teiler 4000.

Die Frage ist dabei, wie genau diese Frequenz sein muss: Ein 24,40000 
MHz mit Teiler 4292 würde noch bis auf einige ppm passen. 24,9000 und 
4380 ginge gfs auch noch.  Wieder etwas besser 20,0000 MHz und 3518. So 
würde ich das bauen.

Es gibt noch ein paar tiefere Kombis aber die machen von der PLL im Chip 
nicht mehr soviel Sinn.

von Rainer W. (rawi)


Lesenswert?

J. S. schrieb:
> Es gibt noch ein paar tiefere Kombis aber die machen von der PLL im Chip
> nicht mehr soviel Sinn.

Welche PLL in welchem Chip?

von Motopick (motopick)


Lesenswert?

H. H. schrieb:
> Helmut -. schrieb:
>> H. H. schrieb:
>>> Sonderlockenquarze waren und sind nicht billig.
>>
>> Na, so teuer sind die auch wieder nicht. Für 32 Euronen incl. Porto
>> gibt's die hier: http://www.andyquarz.de/quarze.html
>
> Das DDS Platinchen kostet nicht mal 1/10 davon, ebenfalls incl Porto.

Die Preisrelation entspricht in etwa der Qualitaet des erzeugten
Signals. Ich wuerde an der Stelle keinen "unaufbereiteten" D.D.S.
haben wollen.

Da der TO "nuex" brogrammieren kann, wird der Wunschquarz die wohl fuer
ihn einfachere Loesung sein.

Er koennte das "Codewort" natuerlich auch per Schieberegister in den
AD8933 "reinschieben".
Mit DIP-Switchen waere das dann sogar frei programmierbar. :)

von H. H. (hhinz)


Lesenswert?

Du hast von DDS keine Ahnung.

von Motopick (motopick)


Lesenswert?

H. H. schrieb:
> Du hast von DDS keine Ahnung.

Nimm mal deine Froschpillen. :)

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

> auch per Schieberegister reinschieben

Es war einmal vor langer langer Zeit (1992/93?), da habe ich dieses 
Schieberegister gebaut, um eine seriell programmierbare PLL 
einzustellen. 6* MC74HC589, das sind je 8 Bit par-zu-ser. also insgesamt 
48 Bit.
Ein Siemens PMB2306:
https://www.alldatasheet.com/datasheet-pdf/view/45544/SIEMENS/PMB2306.html
(Die Startsequenz stand in einem Eprom mit CD4060 als Taktgeber und 
CD4040 zum Adressenzählen.)
Wir hatte in der Firma die Hex-Codierschalter 0-F im Lager, daher konnte 
ich so verschwenderisch damit umgehen.
Mikrocontroller waren in der Firma noch fast unbekannt, einen HD6303 
oder so ähnlich hatte ein Kollege schon benutzt, Assembler dazu lief auf 
einem DOS-Rechner.

Wäre immer noch eine Möglichkeit, aber der DDS hat noch mehr Register zu 
füllen als damals die PLL. Das wird ziemlich umfänglich.

von Torsten B. (butterbrotstern)


Lesenswert?

Ihr seid heute wieder mal nett zueinander.

> Der Oszillator soll mit einer fixen Frequenz von 5685 Kilohertz laufen

> Der saubere Weg wäre hier, ein Quarz zu nehmen, das zu einem
> ganzzahligen Teiler in der DDS führt. Also 22,7400... MHz
> und Teiler 4000.
Das musst Du mir mal näher erklären.
Es geht nicht um 22740/4000=5,685 kHz, sondern um 5685 kHz.

Ganzzahlige Teiler sind bei mir in diesem Fall Potenzen von 2.
Das FTW (frequency tuning word) wäre:
5685/20000*2^28=76302778,37 0x048C49BA
5685/22740*2^28=67108864,00 0x04000000
5685/24400*2^28=62543260,95 0x03BA559D (aufgerundet)
5685/24900*2^28=61287372,18 0x03A72BCC
5685/25000*2^28=61042222,69 0x03A36E2F (aufgerundet)
Fast alle krumme Hexzahlen.

Es gibt Quarze mit 5,6448 MHz (128*44100), das ist -40,2 kHz daneben.
https://en.wikipedia.org/wiki/Crystal_oscillator_frequencies
Ist das für den TO genau genug?

: Bearbeitet durch User
von H. H. (hhinz)


Lesenswert?

Torsten B. schrieb:
> Es gibt Quarze mit 5,6448 MHz (128*44100), das ist -40,2 kHz daneben.
> https://en.wikipedia.org/wiki/Crystal_oscillator_frequencies
> Ist das für den TO genau genug?

-700ppm ist nicht gerade wenig.

von Motopick (motopick)


Lesenswert?

Christoph db1uq K. schrieb:
>> auch per Schieberegister reinschieben

...
> (Die Startsequenz stand in einem Eprom mit CD4060 als Taktgeber und
> CD4040 zum Adressenzählen.)

Ein einsames Bit eines durchgezaehlten EPROMs, waere natuerlich die
naechste einfache :) Moeglichkeit. Ein Byte-Wide EPROM, wuerde so
Platz fuer 8 solcher Sequenzen bieten.

Mein Ur-Z80 hatte seinen 1. Urlader auch in einem 74154 und einer
Sammlung Dioden...

> Es gibt Quarze mit 5,6448 MHz (128*44100), das ist -40,2 kHz daneben.
...
> Ist das für den TO genau genug?

Die fehlenden kHz koennte er ja "nachschleifen". :)

von H. H. (hhinz)


Lesenswert?

Demächst wird eine Morsetaste vorgeschlagen...

von Motopick (motopick)


Lesenswert?

H. H. schrieb:
> Demächst wird eine Morsetaste vorgeschlagen...

Das wohl nicht, aber man koennte eine "KI" sicher eine Weile damit
beschaeftigen, nach einem PRN-Generator (Pseudo Random Noise) zu suchen,
der die gewuenschte Codefolge ausgibt.

von Monk (roehrmond)


Lesenswert?

Unfassbar. Da empfiehlt jemand ein Arduino Modul, das gerade mal 1€ 
kostet und andere nennen es Overkill.

von H. H. (hhinz)


Lesenswert?

Monk schrieb:
> Unfassbar. Da empfiehlt jemand ein Arduino Modul, das gerade mal
> 1€
> kostet und andere nennen es Overkill.

Das sind wegen Geiz aus ihrer Heimat vertriebene Schotten.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

> Ein einsames Bit eines durchgezaehlten EPROMs
Wenn Klemens die Möglichkeit hat, ein Eprom zu programmieren, wäre das 
eine  der vielen Varianten.

> Arduino Modul ... Overkill
Es geht um den Aufwand, das Arduino-Biotop einzurichten und zu erlernen.

Ich habe auch schon die Quarzfrequenzen, die Mouser anbietet 
durchgerechnet, aber keine geeignete Frequenz gefunden.
https://www.mouser.de/c/passive-components/frequency-control-timing-devices/crystals/


Vielleicht wäre für 5,6 MHz eine schnellere PLL besser. Der AD9833 hat 
dafür nur noch vier bis fünf Abtastpunkte pro Schwingung, das wird ein 
ziemlich eckiger Sinus. Ein ADF4350/51 oszilliert bis 4 GHz und teilt 
sie dann herunter, das wäre jedenfalls höher aufgelöst.
Ich sehe gerade
https://www.analog.com/en/products/adf4350.html
der fängt erst bei 137 MHz an, das ist zuviel. Aber damit einen DDS zu 
füttern... wir kommen vom hundertsten ins tausendste.

: Bearbeitet durch User
von H. H. (hhinz)


Lesenswert?

Christoph db1uq K. schrieb:
> Es geht um den Aufwand, das Arduino-Biotop einzurichten und zu erlernen.

Muss er doch gar nicht, es wird ihm bestimmt jemand die paar Zeilen 
schreiben.
Und statt der Arduino IDE tuts auch ein altes AVR Studio, oder alles was 
eben STK500 kann.

von Axel R. (axlr)


Lesenswert?

Wie ham wa das früher gemacht?

http://dl4cs.de/funktechnik/txu/bjt-vfos/en.htm

Diskret mit Transistoren.
Ich hab mal nach 5MHZ VFO gegoogelt.
Gibt noch ganz viel andere Quellen zum Thema.

Vielleicht kann man das erschtemal damit aufbauen, bis man ein 
DDS-Programmierer gefunden hat?

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ein typisches Henne/Ei-Problem, Einstieg in die 
Programmierung/Digitaltechnik a) ohne Hardware und b) ohne Kenntnisse. 
Mit einem von beiden muss Klemens anfangen.
Welche Kenntnisse können wir voraussetzen, und welche Hardware ist 
vorhanden?

von Torsten B. (butterbrotstern)


Lesenswert?

> von Falk B. (falk)  15.09.2024 13:50
> Das Ding hat eine SFDR von ca. -65dB. Das ist nicht wahnsinnig gut
> aber auch nicht abgrundtief schlecht. Für den OP wird's reichen.
Die -65dB gelten nur bei Frequenzen unter 500kHz (MCLK/50).
Weiter hinten ist die Rede von -60 dB.
Bis 3,570 MHz (25/7) sind es nur noch -53 dB.
Bei 5,685 (25/4,397) sind es nur noch -52 dB.
Figure 10. Wideband SFDR vs. f OUT /f MCLK for Various MCLK Frequencies

> Der AD9833 hat dafür nur noch vier bis fünf Abtastpunkte pro
> Schwingung, das wird ein ziemlich eckiger Sinus.
Da die Frequenz fest ist, kann man ihn mit einem schmalbandigen Filter 
gut "glätten".

> Ich habe auch schon die Quarzfrequenzen, die Mouser anbietet
> durchgerechnet, aber keine geeignete Frequenz gefunden.
Gab es nicht mal von Epson? programmierbare Oszillatoren, die sich die 
Frequenz merken?  Ich schau schnell nach, moment bitte, nichts posten.

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

> programmierbare Oszillatoren von Epson
https://www.epsondevice.com/crystal/en/products/crystal-oscillator/programmable/
Die darf man sich aber nicht als ideale Quarzoszillatoren vorstellen. Da 
war auch irgendeine PLL drin, die Jitter verursacht. Ein Bestücker hat 
uns mal sowas eingebaut, das hat nicht funktioniert.

Ja klar, mit einem steilen Tiefpass kann man das Problem bekämpfen. 
Solange es keine sehr niederfrequente Störung ist. Die kriegt der 
Tiefpass auch nicht weg.

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Christoph db1uq K. schrieb:
> Ein typisches Henne/Ei-Problem,

Nö, Leseschwäche deinerseites! Er sucht jemanden, der das für ihn 
programmiert.

von Falk B. (falk)


Lesenswert?

Christoph db1uq K. schrieb:
> Ja klar, mit einem steilen Tiefpass kann man das Problem bekämpfen.

Bandpass. Die Nebenlinien liegen um den Träger / Ausgangssignal herum. 
Aber ob die so das Problem sind, wissen wir nicht wirklich.

von Falk B. (falk)


Lesenswert?

Christoph db1uq K. schrieb:
> Vielleicht wäre für 5,6 MHz eine schnellere PLL besser. Der AD9833 hat
> dafür nur noch vier bis fünf Abtastpunkte pro Schwingung, das wird ein
> ziemlich eckiger Sinus.

Du solltest nochmal die Grundlagen der digitalen Signalverarbeitung und 
DDS durchgehen, dann wird dir hoffentlich einiges klarer . . .
Der Sinus ist hier NICHT eckig, auch bei so wenigen Stützstellen!

von Monk (roehrmond)


Lesenswert?

Christoph db1uq K. schrieb:
> Es geht um den Aufwand, das Arduino-Biotop einzurichten und zu erlernen.

OK, aber das:

Christoph db1uq K. schrieb:
> Wenn Klemens die Möglichkeit hat, ein Eprom zu programmieren, wäre das
> eine  der vielen Varianten.

Ist mit Sicherheit für ihn nicht die einfachere Variante.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Da ist ein DA-Wandler am Ausgang, der Addierer liefert umgesetzte 
Zahlenwerte die ziemlich grob den Sinus annähern, und grob gesagt im 
Viereck springen. Je mehr man tiefpassfiltert umso besser nähert sich 
das einem Sinus. Das Gezappel wird nicht wesentlich besser.

von Helmut -. (dc3yc)


Lesenswert?

Leute, schon gemerkt: ein Sinus ist immer ein Sinus und kann nicht eckig 
werden. Was eckig werden kann, ist ein Signal mit seinen Neben-, Ober- 
und sonstigen Wellen (Dauerwellen, Donauwellen, ...).

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Schön wärs, wenn da ein Sinus rauskäme. Das ist ein DA-Wandler, der 
Zahlenwerte wiedergibt, mehr nicht. Wenn der Addierer nur ein paar Werte 
der kreisförmigen Kurve liefert, wird das eckig. Natürlich kann man 
einen Tiefpass nachschalten, der das wegbügelt.

von Falk B. (falk)


Lesenswert?

Christoph db1uq K. schrieb:
> Natürlich kann man
> einen Tiefpass nachschalten, der das wegbügelt.

Jeder DDS-IC, der nicht totaler Murks ist, hat einen passenden 
Ausgangsfilter! An sich jeder DAC!

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Im Datenblatt des AD9833 finde ich nichts dazu. Sicher hat der eine 
natürliche  Begrenzung, aber die wird nicht genannt.

von Rainer W. (rawi)


Lesenswert?

Falk B. schrieb:
> Du solltest nochmal die Grundlagen der digitalen Signalverarbeitung und
> DDS durchgehen, dann wird dir hoffentlich einiges klarer . . .
> Der Sinus ist hier NICHT eckig, auch bei so wenigen Stützstellen!

Bei 25MHz Clock besteht ein 5MHz Signal am Ausgang aus 5 Abtastpunkten. 
Da brauchst du ein anständiges Rekonstruktionsfilter, damit das ein 
hübscher Sinus wird.

von Falk B. (falk)


Lesenswert?

Christoph db1uq K. schrieb:
> Im Datenblatt des AD9833 finde ich nichts dazu.

Dort fehlt er, andere DDS-IC Datenblätten haben den. Hat man wohl 
gespart.

> Sicher hat der eine
> natürliche  Begrenzung, aber die wird nicht genannt.

Die allein reicht nicht um einen halbwegs sauberen 5,6MHz Sinus bei 
25MHz IC-Takt zu erhalten.

von Jens G. (jensig)


Lesenswert?

Falk B. schrieb:
> Christoph db1uq K. schrieb:
>> Im Datenblatt des AD9833 finde ich nichts dazu.
>
> Dort fehlt er, andere DDS-IC Datenblätten haben den. Hat man wohl
> gespart.

Ist inzwischen Allgemeinwissen ;-)

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

> andere DDS-IC Datenblätter

https://www.analog.com/media/en/technical-documentation/data-sheets/AD9835.pdf
Das Evalboard hat einen 0,1 µF-Kondensator parallel zu 300 Ohm, wenn das 
kein Tiefpass ist?

https://www.analog.com/media/en/technical-documentation/user-guides/UG-272.pdf
auch das Evalboard zum AD9833 hat 0,1 µF, der Parallelwiderstand ist 
nicht bekannt.

von Falk B. (falk)


Lesenswert?

Christoph db1uq K. schrieb:
> https://www.analog.com/media/en/technical-documentation/data-sheets/AD9835.pdf
> Das Evalboard hat einen 0,1 µF-Kondensator parallel zu 300 Ohm, wenn das
> kein Tiefpass ist?

Ist einer, denn der Ausgang ist eine Stromquelle. Aber halt nur ein 
einpoliger. Naja. Bei 5,6MHz / 25 MHz = 0,22 ist das zu wenig, wenn das 
Signal halbwegs sauber sein soll.

von Axel R. (axlr)


Lesenswert?

Wie wäre es, einen Ad9850 zu verwenden? Gibt’s auch als „blaue Platine“, 
ist aber ein ganz klein wenig größer, wenn man sich das mit zwei 
Transistoren (die Temperaturstabilität ist tatsächlich ne kleine 
Herausforderung) nicht zutraut.
Der muss zwar auch programmiert werden und braucht etwas mehr Strom. 
Aber Nunja…
Man könnte da n serielles Interface basteln, wo man (dauerhaft) die 
Frequenz übergibt und gut.
Ein Bandpassfilter würde ich ja trotzdem dranbasteln.
https://www.analog.com/media/en/technical-documentation/data-sheets/AD9850.pdf

von Christoph M. (mchris)


Lesenswert?

Wastl schrieb:
> Da passt eber evtl. das Arduino Runtime-Umfeld nicht rein.
Rainer schrieb
>>Um die paar Byte auf den AD9833 zu schieben, braucht man kein "Arduino
>>Runtime-Umfeld".

Es spricht nun allerdings auch nichts dagegen, das Arduino-Framework auf 
einem Attiny85 laufen zu lassen:

https://github.com/SpenceKonde/ATTinyCore

von Axel R. (axlr)


Lesenswert?

Man kann halt auch eine WinAVR-Installation und "ProgrammersNotepad" 
nehmen (ist halt dort mit dabei), wenn man nun unbedingt einen großen 
Bogen um Arduino machen möchte.
Man muss ja trotzdem nicht alles selbst programmieren (und sich nicht 
mit C++ rumschlagen):
https://github.com/InvincibleFrog/AVR_AD9833/tree/main/src
Aber es bleibt dabei: unser TO hatte damit augenscheinlich noch keine 
Berührungspunkte und hatte gehofft (verständlich), dass der AD9833 seine 
Werte beim Start behält und jemand das "schnell" für mal für ihn da 
reinprogrammiert/einstellt. Hinsenden, einstellen, zurückschicken.
Haut leider nicht ganz hin, eben WEIL sich der AD98xx das halt nicht 
"merkt".
Ein ATTiny2313 hat ne USART und n bissl Flash. Wäre so mein Kandidat. 
Ein "kleiner" Tiny45 mit USI-Usart ginge sicher auch. Wäre mir 
persönlich aber zu fummelich. Ich würde wahrscheinlich auch als zweites 
einen Arduino Pro Micro nehmen, nachdem mit der diskret aufgebaute VFO 
beim bloßen Anhauchen in der Frequenz um mehrere Kilohertz wegelaufen 
wäre.

Würde ich ja schnell zusammenklöppeln, hab aber nichts passendes (doch: 
einen einzigen AD9850 hab ich noch hier) zur Hand.

von Motopick (motopick)


Lesenswert?

Wozu sollte man eine USI brauchen?

Es ist doch voellig egal ob das Schreiben der Konfiguration nun
1 ms oder 100 ms braucht. Man kann also ohne Verlust das Protokoll
auch per Bittoggle von "Hand" bedienen.

Ist hat d00f wenn man immer nur den eigenen Sandkasten vor dem
Auge hat. Jeder 8 Pinner kann das.

von Falk B. (falk)


Lesenswert?

Motopick schrieb:
> Jeder 8 Pinner kann das.

Selbst der NE555! ;-)

von Axel R. (axlr)


Lesenswert?

Motopick schrieb:
> Wozu sollte man eine USI brauchen?
>
> Es ist doch voellig egal ob das Schreiben der Konfiguration nun
> 1 ms oder 100 ms braucht. Man kann also ohne Verlust das Protokoll
> auch per Bittoggle von "Hand" bedienen.
>
> Ist hat d00f wenn man immer nur den eigenen Sandkasten vor dem
> Auge hat. Jeder 8 Pinner kann das.

Mir gigns eher um die USART als Schnittstelle zur "Aussenwelt". Ich hab 
das damals mit dem USI nicht hinbekommen, bzw. wohl den Sinn nicht 
verstanden.

Das man die Bits Richtung DDS da irgenwie per Soft-SPI im Mode2 
reintakten kann, ist ja klar. Und ja; das konnte seinerzeit auch ein 
Tiny12. der musste eine PLL einstellen (irgendwas aus nem CT1+ Telefon, 
wo ich da mal was gebastelt hatte). Da haben wa das aber alles brav in 
Assembler programmiert. Musste ja alles in 1K Fash und in die Register 
passen.
Ist aber 20 Jahre her - ach kieck an - da issa ja :)
Beitrag "Re: Radio mit TV/FM-Tuner von Philips"

von H. H. (hhinz)


Lesenswert?

Falk B. schrieb:
> Motopick schrieb:
>> Jeder 8 Pinner kann das.
>
> Selbst der NE555! ;-)

Aber nur die Version in XLDIP-8!

https://i0.wp.com/makezine.com/wp-content/uploads/2015/02/suupyom.jpg

von Christoph db1uq K. (christoph_kessler)


Lesenswert?


von H. H. (hhinz)


Lesenswert?


von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

Limor Fried (* 1979), US-amerikanische Ingenieurin, Rufzeichen AC2SN
https://de.wikipedia.org/wiki/Liste_prominenter_Funkamateure
Aus ihrem Youtubekanal "ask an engineer" von 2013.
https://youtu.be/Hj5S63NEyb4

von Wilhelm S. (wilhelmdk4tj)


Angehängte Dateien:

Lesenswert?

Klemens schrieb:
> Ich baue zur Zeit einen  Kurzwellenempfänger,
> und ich benötige noch dafür mindestens einen Lo...

Der TO ist also des Bauens mächtig und kann löten!
Zu AD9833 kann ich nichts sagen.

Warum nicht etwas mit AD9850? Z.B:

https://de.aliexpress.com/item/1005006221365470.html?

Billiger geht es nimmer. Das auf Lochraster, einen ATiny45 dran, ein 
bisschen Verdrahtung -> fertig.
Z.B:
https://www.elektronik-labor.de/AVR/dds/AD9850.html
oder
https://technik.katzenjens.de/2013/03/billiger-selbstbau-frequenzgenerator.html

Bei BASCOM reicht die Free-Version, hat 4kb.

So habe ich eine WSPR-Bake für 10MHz aufgebaut. DCF77 gesteuert, ein 
AD9850-Modul von einem Atiny45 gesteuert und eine 200mW PA dahinter.
Das Ding läuft seit ca. 2016 permanent 7/24 in dem auf dem Bild 
gezeigten Aufbau (*) auf der Fensterbank.  Auf dem Foto rechts in der 
Mitte ist die AD9850-Baugruppe. Man sieht die gelben Ringkerne, das ist 
ein Tiefpass für 10MHz und dahinter noch eine (nicht sichtbare) 
Verstärkerstufe.
Meinen Quellcode stelle ich gerne zur Verfügung und hülfe bei der 
Adaption. Das Problem ist eben, wie bekommt er das Prg in den Tiny.

73
Wilhelm

(*) Ich hab es nicht so mit Mechanik und Gehäuse..
Läuft, und keiner meckert. ;-)

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

aaaber der Staub... wenn meine Platinen so lange rumliegen hilft nur 
eine Ausblaspistole.
Jedenfalls sitzt auf dem Modul ein anständiger Ausgangstiefpass. Drei 
Parallelkreise und vier C nach GND, alles in SMD.

> wie bekommt er das Prg in den Tiny
Für AVR habe ich den "mySmartUSB light" bei Conrad gekauft, als es hier 
noch eine Filiale gab:
https://shop.myavr.de/index.php?sp=pages/programmer.htm
Software Atmel-Studio, STK500-Mode.

und für anderes (Quartus) den Waveshare USB-Blaster.

: Bearbeitet durch User
von Wilhelm S. (wilhelmdk4tj)


Lesenswert?

Christoph db1uq K. schrieb:

> Jedenfalls sitzt auf dem Modul ein anständiger Ausgangstiefpass. Drei
> Parallelkreise und vier C nach GND, alles in SMD.

Ist richtig, aber der ist nach der allgemeinen Meinung im Netz 
fehldimensioniert.
-----
Christoph db1uq K. schrieb:

> aaaber der Staub... wenn meine Platinen so lange rumliegen hilft nur
> eine Ausblaspistole.

Hallo Christoph,

zum Staub nur folgendes: Rhein Braun sorgt täglich für reichlich 
Nachschub

Ich sitze das aus.
Bin 75 und meine Nachfahren sollen sich mit meiner Hütte rumärgern. Sie 
wissen noch nicht, was auf sie zukommt, ua. Abbau der Antennen. ;-).
Mein daran hängendes Herzblut wird niemanden kümmern, das geht eh alles 
in die Tonne.
Tel Aviv...

73
Wilhelm

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Christoph M. schrieb:
> Es spricht nun allerdings auch nichts dagegen, das Arduino-Framework auf
> einem Attiny85 laufen zu lassen:

Richtig, aber den wirst du nicht auf den von Wastl als "minimale 
Hardware" bezeichneten Boards finden. Minimal geht eben anders ;-)

Wastl schrieb:
> Minimale Hardware ist ein Arduino Nano oder Uno ...

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

> der ist nach der allgemeinen Meinung im Netz fehldimensioniert.

Hier ein Text dazu von David F4HTQ (auf französisch)
http://alloza.eu/david/WordPress3/?p=84

Er hat das Filter erst mit LTSPICE simuliert und zeigt Verbesserungen.
Kurve erst ohne Verluste, dann mit einer Güte von 50 und schließlich mit 
dem 1:1 Tastkopf am Oszi gemessen, mit stark fallender Kurve. Er 
schreibt das Tastkopfkabel hat 100pF pro Meter. Alle Messungen auf 200 
Ohm bezogen, wie es schon im Datenblatt steht.
Die Kurve sieht deutlich besser aus, wenn er zwischen Tastkopf und 
Filterausgang einen Breitbandtrafo schaltet, der von 200 auf 50 Ohm 
heruntertransformiert.
Eine Antwort von F6FKN darunter sagt, man solle besser die gegenphasigen 
Ausgänge des DDS benutzen und einen Ferrit-Doppellochkern als Übertrager 
2*25 zu 50 Ohm dahinter setzen, erst anschließend ein ordentliches 50 
Ohm-Filter, und das chinesische Originalfilter weglassen.

Eine japanische Seite zum Thema Ausgangsfilter:
https://ja9ttt.blogspot.com/2012/03/smd-lc-filter.html
man kann eine englische Übersetzung aufrufen.

Beitrag "Re: einfacher 20m-CW-Sender mit AD9850 und MOSFET"
hier gab es auch mal eine Diskussion dazu
Beitrag "Modifikation von chinesischem AD9850 6 Bands 0-55 MHz DDS Modul"
dito

https://www.qsl.net/d/dh7uaf/forum/VIEWTOPICD67C.HTM
"...sah ich bei den China-DDS-Modulen mit AD9850 auf einem Foto statt 
der hier vormals kritisierten schwarzen SMD-Drosseln doch richtig gute 
Multilayer-Induktivitäten! Sollten die Chinesen ihren Fehler selber 
bemerkt haben??"

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Und das war eine Aussage von 2013, 11 Jahre alt. Ich denke Wilhelms 
"allgemeine Meinung" ist längst überholt. Das muss natürlich nicht auf 
alle chinesischen Module zutreffen.

Dass man ein 42MHz-Filter nicht mit einem 1:1 Tastkopf misst gehört zum 
messtechnischen Grundwissen. Die 100pF pro Meter sind zwar keine 
konzentrierte Kapazität, aber bezogen auf die Wellenlänge von etwa 7m 
doch noch eine gute Näherung. Verglichen mit den Filterkondensatoren 
1...22pF schon ziemlich viel. Aber das scheint dem Autor schon klar 
gewesen zu sein.

von Axel R. (axlr)


Lesenswert?

Wilhelm S. schrieb:
> Klemens schrieb:
>> Ich baue zur Zeit einen  Kurzwellenempfänger,
>> und ich benötige noch dafür mindestens einen Lo...
>
> Der TO ist also des Bauens mächtig und kann löten!
> Zu AD9833 kann ich nichts sagen.
>
> Warum nicht etwas mit AD9850? Z.B:
>
> https://de.aliexpress.com/item/1005006221365470.html?
>
> Billiger geht es nimmer. Das auf Lochraster, einen ATiny45 dran, ein
> bisschen Verdrahtung -> fertig.
> Z.B:
> https://www.elektronik-labor.de/AVR/dds/AD9850.html
> oder
> https://technik.katzenjens.de/2013/03/billiger-selbstbau-frequenzgenerator.html
> ………
> Das Problem ist eben, wie bekommt er das Prg in den Tiny.
>
> 73
> Wilhelm

Dann schickt man ihm eben rasch einen programmierten per Post zu.
Sehe ich jetzt nicht als Problem an.
Andererseits: man muss doch, auch bei anderen Dingen, ab und an mal so‘n 
Mikrocontroller einsetzen. Oder nicht? Kann ich mir nur schwer 
vorstellen, nach 20Jahren, nachdem  die Dinger aufkamen, (noch) nichts 
damit gemacht zu haben.

Was stehen denn dem TO für Möglichkeiten offen? Ist das jetzt ein KW-Trx 
nach „Baumappe“ oder was eigenes? Gibt’s da n paar Anregungen für uns? 
Wie weit und in welchem Umfang ist das alles denn schon fest in Stein 
gemeißelt?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.