Sinus aus R2R filtern

OP #5034338
Lesenswert?

Hallo,
ich erzeuge mit einem Arduino und einer R2R Leiter ein Sinus Signal.
Diese Signal wird verstärkt und über einen Transformator 
hochtransformiert (100V-300V)

Nun ist es so das beim Erzeugen des Sinus mittels der R2R Leiter einiege 
Ausbrüche am Signal entstehen (siehe Anhang), und auch durch das 
Verstärken und Hochtransformieren wird das Signal am ende sehr unsauber 
und hat ein hässliches rauschen.

Meine Frage nun: reicht ein einfacher Tiefpass aus um dieses Signal am 
Ausgang zu Filtern?

Grenzfrequenz wäre bei ca 70Hz
Daraus habe ich folgendes errechnet: R=2,2k Ohm und C=1uF
Der Kondesnsator muss natürlich die dementsprechende Spannungsfestigkeit 
haben..

Vielen Dank für eure Anworten und Vorschläge.

lg,
poschi8
Angehängte Dateien:
Moderator Persönliche Seite #5034343
Lesenswert?

Heinz peter P. schrieb:
> Meine Frage nun: reicht ein einfacher Tiefpass aus um dieses Signal am
> Ausgang zu Filtern?

Das hängt vom Verhältnis der Abtastrate zur maximal auszugebenden
Frequenz ab.

Allerdings wäre die erwartete Kurvenform erstmal eine Art Treppe, nicht
so ein Dingens mit so vielen Spikes.  Das riecht nach schlechter
Abblockung des Controllers und/oder Masseführung.
#5034372
Lesenswert?

@Heinz peter Posch (poschi8)

>Nun ist es so das beim Erzeugen des Sinus mittels der R2R Leiter einiege
>Ausbrüche am Signal entstehen (siehe Anhang),

Das sind möglicherweise Meßfehler. Oder Programmierfehler bei deiner 
DAC-Ausgabe.

> und auch durch das
>Verstärken und Hochtransformieren wird das Signal am ende sehr unsauber
>und hat ein hässliches rauschen.

Außerdem fehlt dir der Rekonstruktionsfilter, den eigentlich jeder DAC 
braucht.

>Meine Frage nun: reicht ein einfacher Tiefpass aus um dieses Signal am
>Ausgang zu Filtern?

Ja, wenn man ihn richtig dimensioniert.

>Grenzfrequenz wäre bei ca 70Hz

Nö. Der Filter orientiert sich an der DAC-Samplingfrequenz, nicht deiner 
Ausgabefrequenz.

>Daraus habe ich folgendes errechnet: R=2,2k Ohm und C=1uF

Das Problem ist aber, daß der Filter am Ausgang mit einem OPV entkoppelt 
werden muss.
#5034380
Lesenswert?

Baldrian schrieb:
> Kann es sein, dass in der Tabelle fehlerhafte Sinuswerte abgelegt
> wurden?

Um das zu verifizieren würde ich vorschlagen, einmal höherauflösend zu 
oszillogrfieren, sprich: so einen Spike mal genauer darzustellen, so 
dass man sieht, ob hier eine komplette Stufe den falschen Wert hat oder 
ob es sich nur um einen kurzen Störimpuls handelt (kürzer als die 
Stufenweite, meine ich damit).
Moderator Persönliche Seite #5034381
Lesenswert?

Falk B. schrieb:
>> Grenzfrequenz wäre bei ca 70Hz
>
> Nö. Der Filter orientiert sich an der DAC-Samplingfrequenz, nicht deiner
> Ausgabefrequenz.

Am Verhältnis beider.

Wenn du mit sehr vielen Stützstellen nur langsame Signale ausgeben
willst, kommst du mit einem deutlich einfacher gestrickten Filter
hin, als wenn du kurz vor der „Erbrechensgrenze“ fast an der
Nyquist-Grenze arbeiten willst.
Gast #5034538
Lesenswert?

Falk B. schrieb:

> Außerdem fehlt dir der Rekonstruktionsfilter, den eigentlich jeder DAC
> braucht.

Ja, allerdings kann man in in diesem Fall wohl sehr gut auf ein 
dediziertes Rekonstruktionsfilter verzichten.

Es gibt nämlich nach der Beschreibung des TO gleich zwei Baugruppen nach 
dem DAC, die sich förmlich dafür anbieten, gleichzeitig auch 
Rekonstruktionsfilter zu sein (oder zumindest ein Teil davon).

Als erstes wäre da der Verstärker. Wie auch immer der aufgebaut ist: es 
dürfte sehr leicht und billig umzusetzen sein, seinen Frequenzgang nach 
oben dramatisch zu beschränken.

Und danach kommt dann auch noch der Trafo. Auch der schreit geradezu 
danach, mit einem Kondensator (und evtl. einem Widerstand) zu einem 
Resonator ergänzt zu werden.

Das eigentliche Problem des TO wird allerdings beides nicht lösen: die 
extremen Glitches im Signal stammen entweder von einem Programmierfehler 
oder von massiven Mängeln in der Konstruktion. Oder auch von beidem...

[Implizierte Beleidigung gelöscht - Mod.]
(Firma: matzetronics) #5034573
Lesenswert?

Duck&Wech schrieb:
> Matthias S. schrieb:
>> Da scheint ein systematisches Problem vorzuliegen, denn die Peaks sind
>> immer an der gleichen Stelle im Wellenzug.
>
> Vielleicht ist auch nur der Dimmer der Arbeitsplatzbeleuchtung schuld.

Wenn der R2R DAC bereits mit der Beleuchtung synchron läuft, hat der TE 
meinen Respekt :-P Sieht allerdings doch mehr nach einem 
Portschreib-Problem aus.
(Firma: matzetronics) #5034919
Lesenswert?

Du kannst auch beide Ports zusammen auf einen z.B. 74HC574 führen und 
dann mit einem einzigen Latch Impuls auf den R2R legen. Kostet aber 
einen Pin extra für den Latchpuls.

Heinz peter P. schrieb:
> ich habe das Problem bereits gefunden es werden bei mir 2 Ports
> verwendet, geht leider nicht anders.

Klassischer Planungsfehler, wenn ich das mal so sagen darf.
OP #5034926
Lesenswert?

Peter D. schrieb:
> Heinz peter P. schrieb:
>> Wie bekomme ich das den nun am besten in den Griff?
>
> Man kann die beiden Ausgaben so schreiben, daß sie direkt nacheinander
> erfolgen. Bei 16MHz wäre dann der Glitch nur 63ns breit, d.h. bei 1ms
> Zeitbasis nicht mehr sichtbar.

Meinst du damit das ich die beiden Werte als byte abspeichere und dann 
nacheinander auf die Ports schreibe?

Der Grund warum ich 2 Ports hab ist das ich nur einen Arduino Nano zur 
Verfügung habe (http://www.pighixxx.com/test/pinouts/boards/nano.pdf)

Dort ist das etwas schwierig..
Ich verwende PD5,PD6,PD7 und PB0-PB4.
Den Port D kann ich nicht verwenden da ich eine serielle Kommuniaktion 
verwende und die Ports PD0 und PD1 dafür benötige.

LG,
Poschi8
#5034940
Lesenswert?

Matthias S. schrieb:
> Du kannst auch beide Ports zusammen auf einen z.B. 74HC574 führen und
> dann mit einem einzigen Latch Impuls auf den R2R legen. Kostet aber
> einen Pin extra für den Latchpuls.

Und ein zusätzliches Bauteil auf der Platine. Und wenn man sich schon zu 
einem weiteren Bauteil auf der Platine durchgerungen hat dann kann man 
auch gleich einen fertigen externen DAC mit SPI-Interface nehmen, dann 
spart man sich auch gleich die ganze Batterie an Widerständen und viele 
Portpins.

Oder gleich einen µC mit DAC nehmen.

Oder wenns auf Biegen und Brechen dieses eine Arduino-Board sein muss 
und kein anderes dann vielleicht mal über einen Delta-Sigma DAC 
nachdenken, da gibts auch simple Codebeispiele (kaum mehr als ein 
Dutzend Zeilen C-Code), auch hier im Forum wurde das schon diskutiert 
und das spart gegenüber R2R dramatisch Hühnerfutter und Portpins.
OP #5035058
Lesenswert?

H.Joachim S. schrieb:
> Naja, nun ist die Hardware einmal da. Und wenn die Software im Rahmen
> des möglichen richtig gemacht wird, genügt es ja vielleicht.

Genau das ist das Problem..
Die Platine ist eigentlich schon vorgegeben.
Ich kann nur mehr den Code verändern, aber ich werde einfach die beiden 
Ports beschreiben dann sollte das schon laufen.

Vielen Dank für die zahlreichen Antworten :)

LG,
poschi8
Gast #5035072
Lesenswert?

Falk B. schrieb:
> @Heinz peter Posch (poschi8)
>
>>ich habe das Problem bereits gefunden es werden bei mir 2 Ports
>>verwendet, geht leider nicht anders..
>
>>Wie bekomme ich das den nun am besten in den Griff?

Nicht tragisch.
Einfach von einem Ausgabewert zum nächsten nur jene Bits kippen welche 
Wertänderung in die gewünschte Richtung verursachen aber in sinnvoller 
Reihenfolge.
So mögen immernoch Zwischenwerte rauskommen, aber nur welche Ni < zw < 
Ni+1.
Ja: das erfordert etwas mehr als bloss 2 aufeinanderfolgende 
Portoperationen, geht aber auch in der "Arduinowelt" (ist ja auch bloss 
C/C++).
#5035553
Lesenswert?

ich trinke ein Bit schrieb:
> Einfach von einem Ausgabewert zum nächsten nur jene Bits kippen welche
> Wertänderung in die gewünschte Richtung verursachen aber in sinnvoller
> Reihenfolge.

Na dann:
Von 64 auf 32. Welche Änderung schlägst Du vor? zuerst auf 96 oder auf 
0?
Oder von 64 auf 63. Welches Bit bringt hier Annäherung?

ich trinke ein Bit schrieb:
> geht aber auch in der "Arduinowelt"

Das geht sogar in der nicht-Arduinowelt nicht.


Heinz peter P. schrieb:
> Wie bekomme ich das den nun am besten in den Griff?

Patch oder Redesign. Entweder ein Busregister oder die 
Sample&Hold-Schaltung. Oder einen externen DAC, der keine Glitches 
erzeugt. PWM wurde ja auch schon genannt.

Gruß
Jobst
#5035554
Lesenswert?

Moin,

Bernd K. schrieb:
> ... dann vielleicht mal über einen Delta-Sigma DAC
> nachdenken,

Das wuerd' ich auch. Aber in Tateinheit mit z.B. den 4 Bits eines 
Ports, an denen der R2R Wandler haengt und die gleichzeitig beschrieben 
werden koennen. Man kann auch mehrbittige SD-DACs bauen. Mit R2R 
Netzwerken sind eh' nicht mehr als 4..6Bit vernuenftig zu realisieren. 
Was drueber hinausgeht sind eh' Hausnummern.
Am Ausgang eines R2R Wandlers hat man uebrigens auch eine ziemlich genau 
definierte Impedanz, d.h. da kann man z.b. prima mit einem C nach Masse 
gehen und hat einen TP 1. Ordnung. Oder entsprechend Richtung OpAmp oder 
einzelner Transistor fuer TP 2..3 Ordnung.

Gruss
WK
Gast #5035559
Lesenswert?

Da scheint wohl programmiertechnisch etwas zu bremsen. Die R2R müssen 
natürlich voll parallel geschaltet werden. Im Rahmen dieser Genauigkeit 
des höchsten Bits packt man das in der Tat auch mit einer PWM.
Persönliche Seite #5036628
Lesenswert?

Am Besten einen vordefinierten PDM-Datenstrom wie sowas in der Abbildung 
unten:
[Pulsdichtemodulation].

Damit kommt man auch bei einem einfachen RC-Filter mit einem overhead 
von 10 Oktaven aus und hat trotzdem an die 60dB sfdr für die volle 
Bandbreite nach unten. Wenn es nur 70Hz fest sein sollen, wäre ein 
Sperrfilter noch besser und es reichen 5 Oktaven. Ein selbsschwingendes 
24dB-Resonanz-Filter kann man sogar fast mit einem Rechteck ansteuern. 
Kommt alles auf die Präzisionsanforderung an.
#5036632
Lesenswert?

@Jürgen S. (engineer)

>Am Besten einen vordefinierten PDM-Datenstrom wie sowas in der Abbildung
>unten:
>[Pulsdichtemodulation].

>Damit kommt man auch bei einem einfachen RC-Filter mit einem overhead
>von 10 Oktaven aus und hat trotzdem an die 60dB sfdr für die volle
>Bandbreite nach unten. Wenn es nur 70Hz fest sein sollen, wäre ein
>Sperrfilter noch besser und es reichen 5 Oktaven. Ein selbsschwingendes
>24dB-Resonanz-Filter kann man sogar fast mit einem Rechteck ansteuern.
>Kommt alles auf die Präzisionsanforderung an.

Wollen wir wetten, daß diese Lösungen den OP um mindesten 40dB 
überfordern . . .?

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