- 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
    Benutzer Stammmitglied
    Registriert seit
    22.03.2011
    Beiträge
    54

    DDS Sinus( Direct Digital Synthesis )

    Hallo zusammen.
    Brauche Eure Hilfe.
    Ich will mir in Bascom und mit einem Atmega einen Sinus Genarator bauen.
    Erzeugung des Signals über DDS.
    Ich habe viele Seiten dessenbezüglich durchstöbert, komm aber nicht so wirklich in die Gänge.
    1. Ich mus einen Phase Accumulator programieren, also einen zähler der immer eins dazu addiert und bei einem bestimmten Wert wieder auf null springt.
    2. Getaktet wird dieser mit einem Timer 0 oder 1.
    3.Bei jedem Sprung in dem Phase Accumulator wird aus einer Tabelle eine Sin funktion / Wert ausgelesen und dieser macht irgendwas ?

    Hört sich eigentlich einfach an, find aber nicht den einstig. Habe zwar ne grobe vorstellung wie das Ding läuft aber an der Umsetzung häng ich.
    Die Durchsuchten Seiten geben mir leider kein Code Beispiel Das es mir verdeutlicht was für Rechenoperationen zum gewünschten ziel führen.
    ZB. welcher Wert/ Varieabele ändert die Frequenz.
    Würde mich freuen wenn von Euch jemand eine Seite Bzw. ein einfachstes Code beispiel in Bascom kennt das mir die sache veranschaulicht.

    Ok soweit zu meiner Verwirrung.....

    Grüße Flo

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    09.09.2006
    Alter
    35
    Beiträge
    841
    Blog-Einträge
    1
    1. ja einen einfachen Zähler, der überläuft
    lasse einfach nen 8 bit Zähler laufen

    2. wo der Takt herkommt ist egal du brauchst nicht unbedingt einen Timer...lass den Zähler einfach in einer Hauptschleife laufen

    3. ja zu jedem Phasenwert wird in einer Tabelle ein Sinuswert "rausgesucht" dieser Wert (meist auch 8bit) wird dann ausgegeben...zb. Port B oder wo du möchtest


    Daran musst du noch einen D/A Wandler hängen Es bietet sich ein R2R Netzwerk an....je nachdem was du dann mit dem Signal machen möchtest musst du es noch verstärken...z.B. mit einem OPV

  3. #3
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    72
    Beiträge
    13.138

  4. #4
    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

  5. #5
    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

  6. #6
    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

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress