- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 18

Thema: DDS Sinus( Direct Digital Synthesis )

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    09.09.2006
    Alter
    35
    Beiträge
    841
    Blog-Einträge
    1
    mach mal den link noch dazu
    http://www.myplace.nu/avr/minidds/index.htm
    nur quellcode ist ja doof:P

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    22.03.2011
    Beiträge
    54
    Danke für die Antworten

    1. ja einen einfachen Zähler, der überläuft
    lasse einfach nen 8 bit Zähler laufen

    Timer 0 hat doch 8 bit odersoll das in einer Do Loop Schleife realisiert werden.
    Wie sieht sowas aus ?

    Danke ür die Links

    Grüße Flo

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    09.09.2006
    Alter
    35
    Beiträge
    841
    Blog-Einträge
    1
    hm naja ich hab länger nix mehr in Bascom gemacht...

    dein AVR ist logischerweise mit nix andrem beschäftigt..da du sonst nur sehr geringe frequenzen erreichst...


    dann nach dem motto:

    do
    x=x+1
    y=sin(x)
    loop

    wobei sin(x) ein array mit den funktionswerten ist, welches vorher gefüllt wurde....
    x ist 8bit breit und läuft bei 255 (eine Periode) über

    daher brauchst du keinen timer....mit timern geht nat. auch....da zählst du halt im timer interrupt und liest später in der tabelle nach

    je nachdem was noch drinne steht verzerrst du dann aber dein signal

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    22.03.2011
    Beiträge
    54
    Hey Supper langsam aber sich seh ich licht am ende des Tunnels
    Als DA wandler Kann es sein das man die PWM Nutzen kann.
    Werd mal morgen mich mit der sache beschäftigen versuch mal eine Tabelle zu erstellen und die Schleife ins Laufen zu bringen.
    Vielen dank für die Hilfe.
    Meld mich morgen wieder

    Grüße Flo

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    09.09.2006
    Alter
    35
    Beiträge
    841
    Blog-Einträge
    1
    aber mit pwm lässt du den prozessor doch wieder was machen


    glaub mir r2r ist das einfachste, weil du ja schon 8 bit ausgibst

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    22.03.2011
    Beiträge
    54
    Stimmt sollte das wirklich einem externen IC überlassen. Hab aber noch ein paar Atmega 8 rumliegen, die könnten das über PWM umwandeln.
    Diese Lookup Tabelle Besteht ja aus Sinus Funktionen.

    S(1) = 0.707
    S(2) = 1.0
    S(3) = 0.707
    S(4) = 0
    S(5) = -0.707
    S(6) = -1
    S(7) = -0.707

    Wie reagiert der D/A bzw. Das PWM auf die negative Werte oder muss ich die noch positiv rechnen.

    Grüße Flo

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.236
    Ich kann Dir nur einen guten Tipp geben - Lass es.
    1. Du hast nur einen 8 Bit breiten Ausgang ( 256 Werte ).
    2. Die Wertetabelle ist viel zu klein.
    Ich hab mir einen ATMEGA 16 DDS Sinusgenerator nachgebaut.
    Im Controller ist die DDS Routine in Assembler.
    Trotzdem ist alles was über 2kHz hinaus geht alles - nur kein Sinus mehr.
    Das ist ein nettes Projekt um die Grundlagen von DDS Generatoren zu lernen, als echtes Messgerät taugt es nicht.

    Wenn Du einen DDS Generator bauen willst, benutz einen der zahlreichen DDS Chips z.B. den AD9833 oder den AD9834 von Analog Devices. Die haben dann sogar noch einen Dreieck und einen Rechteck Ausgang.
    Für höhere Frequenzen gibts noch andere Bausteine, die bieten dann aber nur Sinus am Ausgang, allerdings mit Frequenzen bis in den GHz Bereich hinein.

    Die Bausteine lassen sich relativ einfach per SPI ansteuern.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen