NF-Signal mit µC erzeugen

Gast #395261
Lesenswert?

Also 5khz ist nun wirklich keine Problem für einen Mikrocontroller der
mit 8MHZ oder mehr läuft.Zusammen mit einem externen
Digital-Analog-Wandler (z.B. MAX58xx) sollte das schon ganz brauchbar
sein.

Eine andere Frage ist,was ausgegeben wird.Einen sauber Sinus oder etwas
ähnliches zu berechnen ist ja kein Problem,sobald aber irgendwie
gesampelte Daten ins Spiel kommen wird es ETWAS komplizierter.

Um was genau geht´s den?Audio-Anwendung?Oder Signalgenerator?
Gast #395264
Lesenswert?

Hallo Ronny,

5 kHz sind in der Tat nicht viel, das ist schon richtig. Die Frage ist
nur, ob man die DDS im µC macht und einen vernünftigen DA-Wandler sucht
oder ob es brauchbare DDS-Chips gibt die das gleich selber können.
Entscheidend ist, dass die Schaltung möglichst einfach wird und die
Bauteile natürlich zu beschaffen sind. Es geht im Übrigen um einen
Sinus, sorry, dass diese Information fehlt. Ein parallel DAC ist mir
dabei allerdings erstmal unangenehm.

Danke für deinen Beitrag.

@Pete:
Troll dich.
Gast #395265
Lesenswert?

Hmm.... MAX5773 (50KHZ/14Bit-DAC mit SPI-Anschaltung) und ein
entsprechender AVR (per Software-SPI auch einer der ganz kleinen) wären
vielleicht ein Anfang.

Ob es ein DDS integriert gibt,weiss ich nicht da ich bisher damit noch
nicht gross zu tun hatte.
Gast #395267
Lesenswert?

Hallo Christoph und Ronny,

danke für eure Beiträge. Irgendwie ist meine letzte Antwort von gestern
Abend allerdings abhanden gekommen. Der MAX 5773 ist natürlich extremer
Overkill mit 32 Kanälen und TQFP64.

Den ML20* kann ich leider weder bei R, K, C oder Farnell finden und den
AD9835 gibts nur bei Farnell für 15 Euro. Mit 50 MHz ist der natürlich
in dieser Anwendung überfordert.

Ich werde jetzt erstmal auf interne DDS orientieren und schauen, was es
da für Wandler gibt.
Gast #395268
Lesenswert?

--------------------------
                         /|  /|  |                          |
                         ||__||  |       Trolle bitte       |
                        /   O O\__           nicht          |
                       /          \         füttern!        |
                      /      \     \                        |
                     /   _    \     \ ----------------------
                    /    |\____\     \     ||
                   /     | | | |\____/     ||
                  /       \|_|_|/   |    __||
                     \            |____| ||
                /   |   | /|        |      --|
                |   |   |//         |____  --|
         * _    |  |_|_|_|          |     \-/
      *-- _--\ _ \     //           |
        /  _     \\ _ //   |        /
      *  /   \_ /- | -     |       |
        *      _ c_c_c_C/ \C_c_c_c____________
           --------------------------
                         /|  /|  |                          |
                         ||__||  |       Trolle bitte       |
                        /   O O\__           nicht          |
                       /          \         füttern!        |
                      /      \     \                        |
                     /   _    \     \ ----------------------
                    /    |\____\     \     ||
                   /     | | | |\____/     ||
                  /       \|_|_|/   |    __||
                     \            |____| ||
                /   |   | /|        |      --|
                |   |   |//         |____  --|
         * _    |  |_|_|_|          |     \-/
      *-- _--\ _ \     //           |
        /  _     \\ _ //   |        /
      *  /   \_ /- | -     |       |
        *      _ c_c_c_C/ \C_c_c_c____________
           --------------------------
                         /|  /|  |                          |
                         ||__||  |       Trolle bitte       |
                        /   O O\__           nicht          |
                       /          \         füttern!        |
                      /      \     \                        |
                     /   _    \     \ ----------------------
                    /    |\____\     \     ||
                   /     | | | |\____/     ||
                  /       \|_|_|/   |    __||
                     \            |____| ||
                /   |   | /|        |      --|
                |   |   |//         |____  --|
         * _    |  |_|_|_|          |     \-/
      *-- _--\ _ \     //           |
        /  _     \\ _ //   |        /
      *  /   \_ /- | -     |       |
        *      _ c_c_c_C/ \C_c_c_c____________
           --------------------------
                         /|  /|  |                          |
                         ||__||  |       Trolle bitte       |
                        /   O O\__           nicht          |
                       /          \         füttern!        |
                      /      \     \                        |
                     /   _    \     \ ----------------------
                    /    |\____\     \     ||
                   /     | | | |\____/     ||
                  /       \|_|_|/   |    __||
                     \            |____| ||
                /   |   | /|        |      --|
                |   |   |//         |____  --|
         * _    |  |_|_|_|          |     \-/
      *-- _--\ _ \     //           |
        /  _     \\ _ //   |        /
      *  /   \_ /- | -     |       |
        *      _ c_c_c_C/ \C_c_c_c____________
           --------------------------
                         /|  /|  |                          |
                         ||__||  |       Trolle bitte       |
                        /   O O\__           nicht          |
                       /          \         füttern!        |
                      /      \     \                        |
                     /   _    \     \ ----------------------
                    /    |\____\     \     ||
                   /     | | | |\____/     ||
                  /       \|_|_|/   |    __||
                     \            |____| ||
                /   |   | /|        |      --|
                |   |   |//         |____  --|
         * _    |  |_|_|_|          |     \-/
      *-- _--\ _ \     //           |
        /  _     \\ _ //   |        /
      *  /   \_ /- | -     |       |
        *      _ c_c_c_C/ \C_c_c_c____________
           --------------------------
                         /|  /|  |                          |
                         ||__||  |       Trolle bitte       |
                        /   O O\__           nicht          |
                       /          \         füttern!        |
                      /      \     \                        |
                     /   _    \     \ ----------------------
                    /    |\____\     \     ||
                   /     | | | |\____/     ||
                  /       \|_|_|/   |    __||
                     \            |____| ||
                /   |   | /|        |      --|
                |   |   |//         |____  --|
         * _    |  |_|_|_|          |     \-/
      *-- _--\ _ \     //           |
        /  _     \\ _ //   |        /
      *  /   \_ /- | -     |       |
        *      _ c_c_c_C/ \C_c_c_c____________
Gast #395269
Lesenswert?

Muß es ein DDS sein, oder reicht es, den Prozessortakt
herunterzuteilen?

So machen es ja die Timer im Mikrocontroller, wenn sie eine
Rechteckschwingung ausgeben. Nachteil ist die geringe
Frequenzstufenzahl, Vorteil einfach und jitterfrei. Der uC muß nur in
regelmäßigen Abständen einen neuen Wert aus einer Sinustabelle an einen
DA-Wandler ausgeben.

Der DDS läßt sich auch in Software realisieren, aber damit ist der uC
ziemlich ausgelastet. Es gab in der Frühzeit der Mikroprozessortechnik
auf den meisten Prozessoren solche DDS-Programme, um vierstimmig Musik
auszugeben, ich hatte das auf dem 6502. Jede Sinusschwingung war aus 64
Spannungswerten aus einer Sinustabelle aufgebaut, sodaß man vier
Stimmen/Schwingungen addieren konnte ohne dass die 255 überschritten
wird. Ein 8Bit-DA-Wandler am Druckeranschluß oder einem anderen
Parallelport gab das ganze aus. Es funktionierte nach dem DDS-Prinzip,
also eine Programmschleife fester Länge, die einen konstanten Wert zu
jeder der vier Schwingungen addierte.
Gast #395270
Lesenswert?

@Klaus:
Sonst geht's aber?

@Thomas:
Du könntest trotzdem einen AVR mit PWM in Hardware verwenden, 5kHz * 64
Schritte (6bit Auflösung) müsste der bei entsprechender Taktung
problemlos schaffen. Brauchst du am Ausgang denn eine grosse Leistung?
Ansonsten müsste das mit einem Tiefpass relativ gut zu glätten sein.
Evtl. noch ein OpAmp nachschalten, wenn du doch mehr Leistung
benötigst.
Falls es auf die Auflösung nicht so sehr ankommt könntest du auch über
einen Widerstands-DA-Wandler nachdenken, da hat's keine Oberwellen
drin.

Und das dort oben sollte wohl eher "unterfordert" heissen, gelle ;)
Gast #395272
Lesenswert?

Hallo zusammen,

> Muß es ein DDS sein, oder reicht es, den Prozessortakt
> herunterzuteilen?

Reicht nicht. Es soll ein Sinus werden, der diverse Frequenzen annehmen
soll. Einschwingverhalten etc. ist schnuppe, da es nur um das dann
stationäre Signal geht. Frequenzteiler machen nur schreckliche
Frequenzschritte, das wird nix. PLL wäre eine Lösung, aber hier vmtl.
unnötig und man müsste dann wieder einen Sinus draus machen, aus dem
Takt eben...

Ich werde ersteinmal versuchen mit vorhandenen Bauteilen - 8-Bit
Wandler - DDS im µC (wie im Projekt von Andreas) nach zu stellen. Dann
muss sich zeigen, ob das geht. Da die Frequenz nicht allzu hoch ist,
sollte es rechenleistungsmäßig aber noch kein Problem geben.


> Du könntest trotzdem einen AVR mit PWM in Hardware verwenden, 5kHz
> * 64 Schritte (6bit Auflösung) müsste der bei entsprechender Taktung

Habe ich mir auch überlegt, aber 6 Bit sind wahrscheinlich zu wenig für
einen "sauberen" Sinus. Ansonsten wäre PWM natürlich schon gut, da man
keine zusätzlichen externen Bauteile braucht. Filter braucht man bei
allen Lösungen.


> Falls es auf die Auflösung nicht so sehr ankommt könntest du auch
> über einen Widerstands-DA-Wandler nachdenken, da hat's keine
> Oberwellen drin.

Den Zusammenhang kann ich nicht herstellen, höherfrequente Störungen
kommen doch durchs Umschalten unabhängig vom Wandler?!


> Und das dort oben sollte wohl eher "unterfordert" heissen, gelle
;)

Allerdings ;-)


> http://members.aol.com/MJMahon/RTSynth.html

Werde ich mir anschauen, sobald ich mehr als ein paar Minuten Zeit habe
;-) Danke


@Pete Nerlinger und Klaus Bermanns:
Sucht eucht bitte ein anderes Forum.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren