Forum: Mikrocontroller und Digitale Elektronik AD Wandler für breites Frequenzband


von Christoph J. (christo88)


Lesenswert?

Hallo liebe Gemeinde,

Ich fange mal mit einer ausführlichen Problembeschreibung an.

Ich möchte im Rahmen eines Projektes eine ADWandlerschaltung aufbauen 
und die Ergebnisse an ein FPGA übermitteln.

Frequenzband der Signale die abgetastet werden: 20 kHz - 140 kHz
Signal: Sinus, Spannung bis zu 700 V ! Strom bis zu 30 A

Ziel: Hohe Auflösung und Genauigkeit.

Bisherige Überlegungen (ins Labor kann ich noch nicht, generell bin ich 
Student und habe sehr wenig Praxiserfahrung, was Entwicklung angeht gar 
keine :) ).

Das ich entsprechende Analogschaltungen brauche um dem ADW die richtigen 
Spannungen zu liefern (innerhalb Referenz etc.) ist mir bewusst.

Ansonsten gefällt mir bisher die Idee des Oversampling, damit meine 
Tiefpassfilterung nicht zu steil ist, und anschließend 
FIR-Digitalfilterung.

Vom Gefühl her würde ich also gerne eine 14/16 Bit Auflösung 
realisieren, vlt reicht ja 14 Bit plus Oversampling.

Ich bin über alle Anregungen und Hinweise aus der Praxis der Entwicklung 
dankbbar, aber hier meine konkrete Frage:

Bei so hohen Auflösungen und vorallem Frequenzen komm ich doch 
realistisch (d.h. realistische anforderugnen an Tiefpassfilterung) ums 
Oversampling nicht rum oder? Nun arbeitet ein ADW ja mit Takt und 
Prescaler, und beim Oversamplen hätte man gerne bestimmte Faktoren wie 
2,4,8,16. Wie teile ich dem ADW mit welche Frequenz gerade gemessen 
wird, damit er die richtige(Über)Abtastfrequenz wählt?

Ich bedanke mich für eure Hilfe und freue mich über zukünftige 
Geistesblitze :)

von Georg G. (df2au)


Lesenswert?

Für einen Anfänger sind 14 Bit schon mal eine Herausforderung.

140kHz sind eher "leicht bewegter Gleichstrom", da wird es keine 
Probleme geben.

Wenn man nun etwas näher wüsste, was du mit den Messwerten vor hast, 
könnte man vielleicht Tipps geben...

von WolfgangP (Gast)


Lesenswert?

christian krawczyk schrieb:
> Frequenzband der Signale die abgetastet werden: 20 kHz - 140 kHz
> Signal: Sinus, Spannung bis zu 700 V ! Strom bis zu 30 A

Die Frequenzen werden wohl weniger ein Problem sein.
ABER: Bitte die Möglichkeiten des A/D Wandlers in Bezug auf Spannung 
beachten. Da wird wohl kaum einer 700V ab können --> Spannung 
reduzieren. Und die 30A wollen auch sinnvoll umgesetzt werden. Also 
Shunt oder anderer Meßwandler, welcher auf den Eingang des A/D Wandlers 
abgestimmt werden muss.


Gruß Wolfgang

von Christoph J. (christo88)


Lesenswert?

> ABER: Bitte die Möglichkeiten des A/D Wandlers in Bezug auf Spannung
> beachten. Da wird wohl kaum einer 700V ab können --> Spannung
> reduzieren. Und die 30A wollen auch sinnvoll umgesetzt werden. Also
> Shunt oder anderer Meßwandler, welcher auf den Eingang des A/D Wandlers
> abgestimmt werden muss.
>

Hallo Wolfgang,

Danke für den Hinweis, aber wie oben angedeutet sind mir diese Sachen 
weitesgehend bewusst. Spannung über spannungsteiler an 
Spannungssensor(galvanische trennung), Strom über Shunt an Stromsensor, 
dann Filterung(ob aktiv, passiv, welche Ordnung muss ich halt eben mit 
der Frage des Oversampling mitbeantworten.
:)

von Christoph J. (christo88)


Lesenswert?

Georg G. schrieb:

> 140kHz sind eher "leicht bewegter Gleichstrom", da wird es keine
> Probleme geben.

HAHA sehr gut!:D und ich dachte dass das schon viel wäre. heißt in Bezug 
auch Rechenleistungen FPGA und Übertragung(SPI/ LVDS) werde ich mir 
nciht so große Sorgen machen müssen ?(Aber das Thema zur Not später, da 
bin ich noch nicht, erstmal auf eine sache Konzentrieren :) )

> Wenn man nun etwas näher wüsste, was du mit den Messwerten vor hast,
> könnte man vielleicht Tipps geben...

Mein Vorgabe ist bislang dass ich hochauflösend messen soll. Ich kann 
aber verstehen dass da weitere Vorgaben interessant wären, werde das mal 
in Erfahrung bringen.

Es ist ein resonantes Übetragungsystem, und sekundär und primärseitung 
sollen speicherbare Messwerte aufgenommen werden und weiterverarbeitet 
werden können(wie gesagt, bring ich in erfahrung)

Im Idealfall mit 4 Kanällen (Strom/Spannung, Sek/Pri) sonst 2.

Wenn das signal jetzt seine Frequenz komplett ändert ( von 20k auf 80k 
zum Beispiel), ist das dann ein Problem für ein system mit Oversampling?

Vlt ein Hinweis: Meine Vorgabe ist einen AD wandler zu entwerfen der in 
erster Linie funkitoniert und nicht allzu teuer ist. Dass ich ihn nicht 
zu 100 Prozent optimieren kann in der Zeit (2 Monate), ist mit meinem 
Berufshintergrund :p natürlich nicht möglich.

Danke schon mal.

von WolfgangP (Gast)


Lesenswert?

christian krawczyk schrieb:
> Wenn das signal jetzt seine Frequenz komplett ändert ( von 20k auf 80k
> zum Beispiel), ist das dann ein Problem für ein system mit Oversampling?

Hängt von Deiner Abtastfrequenz ab.
Weist Du, daß so eine Änderung kommen kann? Legst Du die Abtastrate auf 
20k fest (also mindestens 40K), dann geht bei der Änderung auf 80k alles 
in die Hose. Da brauchst Du mindestens 160k Abtastrate. Gehst Du von 
vornherein auf mindestens 160k Abtastrate, dann langweilt sich zwar Dein 
A/D Wandler bei 20k Signal, nimmt aber die 80k Signal problemlos mit.
Geht das Signal aber unerwartet höher bekommst Du wieder ein Problem.
Also vorher die maximale Signalfrequenz in Erfahrung bringen.

Wolfgang

von Christoph J. (christo88)


Lesenswert?

WolfgangP schrieb:
> christian krawczyk schrieb:
>> Wenn das signal jetzt seine Frequenz komplett ändert ( von 20k auf 80k
>> zum Beispiel), ist das dann ein Problem für ein system mit Oversampling?
>
> Hängt von Deiner Abtastfrequenz ab.
> Weist Du, daß so eine Änderung kommen kann? Legst Du die Abtastrate auf
> 20k fest (also mindestens 40K), dann geht bei der Änderung auf 80k alles
> in die Hose.

Ich weiß dass sie nie über 140 k geht, weswegen laut Nyquist mindestens 
280k abtasten. Ich hatte mit dem Gedanken gespielt mit 560 k abzutasten 
um die Vorteile der Überabtastung mitzunhemen.

Was ist jetzt wenn ich 560k abtaset und die Frequenz ist sagen wir mal 
50k.

560 ist ja kein schönes Vielfaches von 50.

Die Frequenz ist nicht variabel an sich, aber (vereinfacht) am Trafo 
werden unterschiedliche Frequenzen ausprobiert, meine aufgabe ist "nur" 
dass die ergebnisse Digitalisiert werden.

von Christoph J. (christo88)


Lesenswert?

Das Verständniss was mir fehlt...wenn ich den Sensor mit dranhängendem 
Ad wandler an die Messleitung lege, mit ausreichend hoher 
Abtastfrequenz, muss ich Hardware oder software seitig etwas realisieren 
, was die abtastrate reguliert, oder ist es für das FPGA und das 
digitale filter nicht so schlimm ob die Oversampling ratio gerad 2, 4 
oder 15,67 ist... :P

von Georg G. (df2au)


Lesenswert?

Du möchtest 14 oder 16 Bit Auflösung haben. Dann muss aber auch dein 
Spannungswandler 700V -> ADC mit_galvanischer_Trennung entsprechend 
genau sein (der Stromwandler natürlich auch, ist aber das gleiche 
Problem. Da wüsste ich wirklich gern, wie du das realisieren möchtest. 
Irgendwo schriebst du die magischen Worte "nicht zu teuer"...

Oversampling: Leg alles für die höchste Signalfrequenz aus (bei 14 oder 
16 Bit Genauigkeit mit entsprechender Reserve) und mach dir dann keine 
Gedanken über niedrigere Frequenzen. Ein Antialiasing Filter brauchst du 
in jedem Fall. Das muss dann natürlich auch im Passband einen maximalen 
Ripple in der Gegend von 10E-6 haben. Wird auch interessant, das zu 
bauen.

Langer Rede wenig Sinn: Denk ernsthaft über die notwendige Genauigkeit 
nach.

von Axel S. (a-za-z0-9)


Lesenswert?

christian krawczyk schrieb:

> Mein Vorgabe ist bislang dass ich hochauflösend messen soll.

Was auch immer "hochauflösend" bedeuten soll.

> Ich kann
> aber verstehen dass da weitere Vorgaben interessant wären, werde das mal
> in Erfahrung bringen.

Tu das.

> Es ist ein resonantes Übetragungsystem, und sekundär und primärseitung
> sollen speicherbare Messwerte aufgenommen werden und weiterverarbeitet
> werden können(wie gesagt, bring ich in erfahrung)

Aha. Dir ist schon klar, daß das nahezu alles ändert? Denn wenn das 
ein Energieübertragungssystem ist, dann willst du nicht einfach nur 
Strom und Spannung messen, du brauchst auch die Phaseninformation, um 
die Leistung primär/sekundär ausrechnen zu können.

Ferner ist das Signal vermutlich wirklich ein Sinus oder doch 
zumindest sinusähnlich genug, daß man keine Abtastung mehr machen muß, 
sondern mit einem einfachen Effektivwertwandler oder gar nur einem 
Meßgleichrichter auskommt. Zuzüglich Nulldurchgangsdetektor zur 
Phasenmessung natürlich.

Und wenn nicht: bei 140kHz Signal würde man vermutlich eher Subsampling 
machen (Stichwort, Zaunpfahl).

> Wenn das signal jetzt seine Frequenz komplett ändert ( von 20k auf 80k
> zum Beispiel), ist das dann ein Problem für ein system mit Oversampling?

Von einer spontanen Frequenzänderung ist eher nicht auszugehen. Es sei 
denn, du verschweigst uns weitere Einzelheiten.

> Vlt ein Hinweis: Meine Vorgabe ist einen AD wandler zu entwerfen der in
> erster Linie funkitoniert und nicht allzu teuer ist.

Dann vergiß 16 Bit. Mit 10 Bit hast du schon 0.1% Auflösung. So genau 
muß der Rest drum herum erst mal sein.


XL

von Christoph J. (christo88)


Lesenswert?

Georg G. schrieb:
> Du möchtest 14 oder 16 Bit Auflösung haben. Dann muss aber auch dein
> Spannungswandler 700V -> ADC mit_galvanischer_Trennung entsprechend
> genau sein

Da ich mich in den letzten Tagen damit beschäftigt habe wie ich aus 700 
Volt die Range Conversion mache ist mir klar geworden dass ich hier mit 
den Toleranzen ansetzen muss, und habe abstand von 16 Bit genommen. Ich 
hoffe ich kriege 14 hin, aber 12 und Oversammpling dürfte auch nicht so 
schlecht sein:P wird auf jeden fall spannend,



>
> Oversampling: Leg alles für die höchste Signalfrequenz aus (bei 14 oder
> 16 Bit Genauigkeit
>
> Langer Rede wenig Sinn: Denk ernsthaft über die notwendige Genauigkeit
> nach.

Meinst du an gewissen Stellen "auflösung" statt Genauigkeit?

Versteh ich deinen Hinweis richtig: Passband Ripple sind die amplituden 
Schwankungen im Durchlassbereich, heißt je höher diese sind, umso 
niedriger die effektive Auflösung die ich nutzen kann? Nächste woche 
beschäftige ich mit dem Thema wie ich wandle um an den ADW 
anzuschließen, dann gibt es Neuigkeiten:) Jetzt ist Wochenende, wünsche 
euch ein schönes und danke für die Tipps;)

von Christoph J. (christo88)


Lesenswert?

Axel Schwenke schrieb:
> christian krawczyk schrieb:

> Was auch immer "hochauflösend" bedeuten soll.


Stand jetzt gibt es nur einen 8 Bit für 50k Signale, ich soll die 
auflösung erhöhen und die Frequenz höher auslegen.

> Tu das.
 Mach ich, nächste woche gibt es nen Termin.:)

> Aha. Dir ist schon klar, daß das nahezu alles ändert? Denn wenn das
> ein Energieübertragungssystem ist, dann willst du nicht einfach nur
> Strom und Spannung messen, du brauchst auch die Phaseninformation, um
> die Leistung primär/sekundär ausrechnen zu können.

Ich weiß das klingt vermutlich wie ein Grauß für Praktiker, aber die 
Vorgabe der Leitungsmessung habe ich nicht, und die Aufgabe ist erstmal 
in den Grenzen formuliert, damit ich das überhaupt schaffen kann, ist ja 
n anfängerprojekt. Daraus werden vermutlich noch andere Projekte für 
andere Personen folgen.

trotzdem werde ich mir deine Tipps mal genauer anschauen.

> Ferner ist das Signal vermutlich wirklich ein Sinus oder doch
> zumindest sinusähnlich genug, daß man keine Abtastung mehr machen muß,
> sondern mit einem einfachen Effektivwertwandler oder gar nur einem
> Meßgleichrichter auskommt. Zuzüglich Nulldurchgangsdetektor zur
> Phasenmessung natürlich.

Wie gesagt vorgabe AD Wandler, ich habe zwar diesen 
Background(vermutlich um EMV mit zu betrachten, aber ich konnte 
raushören, dass der später noch für ander Sachen benutzt wird, ist aber 
nciht weiter mein anliegen:)


> Und wenn nicht: bei 140kHz Signal würde man vermutlich eher Subsampling
> machen (Stichwort, Zaunpfahl).

Interessant, schau ich mir an!

>> Wenn das signal jetzt seine Frequenz komplett ändert ( von 20k auf 80k
>> zum Beispiel), ist das dann ein Problem für ein system mit Oversampling?
>
> Von einer spontanen Frequenzänderung ist eher nicht auszugehen. Es sei
> denn, du verschweigst uns weitere Einzelheiten.

Nicht spontan, nur von "Versuch" zu Versuch".

>> Vlt ein Hinweis: Meine Vorgabe ist einen AD wandler zu entwerfen der in
>> erster Linie funkitoniert und nicht allzu teuer ist.
>
> Dann vergiß 16 Bit. Mit 10 Bit hast du schon 0.1% Auflösung. So genau
> muß der Rest drum herum erst mal sein.

Jo, bewege mich schon in die Richtung :)

von Georg G. (df2au)


Lesenswert?

christian krawczyk schrieb:
> ist ja n anfängerprojekt.

??? Das ist es mitnichten. Das ist eine recht anspruchsvolle Aufgabe.

von Christoph J. (christo88)


Lesenswert?

Hallo liebe Mitgleider,

Nach ein paar Tagen bin ich schon ein wenig schlauer geworden. Folgendes 
hat sich ergeben: Durch die Kostengrenzen die mir gestellt sind habe ich 
eingesehen ( und auch verstanden) dass 16/14 und sogar 11 oder 12 Bit 
rein analog nicht möglich oder nur sehr schwer zu schaffen sind.

Bei meiner Anwendung ist die Möglichkeit, unkompliziert und variabel zu 
bleiben sehr wichtig, ich möchte also durch die Wahl eines 
Spannungsteilers ein neues Messsignal anlegen können, da die zugehörigen 
Widerstände nur 0,1 % haben( 0,01 % ist schon zu teuer), habe ich hier 
schon die 10 Bit Grenze. Wenn ich noch die Komplexität des 
Gesamtnetzwerkes betrachte, schaffe ich wohl rein analog nur umso 9 Bit.

Dazu Fragen: Ist es ein Gedankenfehler wenn ich sage, dass ich gerade 
weil ich diese Toleranzen in allen möglichen Bauteilen und 
Schaltungselementen habe, dass ich dieses "Rauschen" zum Oversamplen 
nutzen kann, um dann über Mittelung z.B. 2 Bits(16 x Oversamplen) 
Auflösung zu gewinnen. Dass mich das Genauigkeit kostet ist mir klar, 
das kann man aber ja später abwägen und ist durchaus eine interessante 
Untersuchung die ich mitbetrachten könnte.

Lohnt es sich die Möglichkeit eines programmierbaren 
Operationsverstärkers zu untersuchen? Die Toleranzen sind ja wirklich 
toll, aber um Sensoren oder Spannungsteiler für zu große Messsignale 
komm ich nicht herum. Referenzspannung könnte ich kalibireren wenn ich 
das richtig gesehen habe, aber einen Anti-Aliasingfilter auf 0,01 % 
Ripplefehler zu kriegen klingt auch schon herausfordernd:P

Im Grunde fehlt mir eine realistische Abwägung 
PGA-Oversampling-Digitalfilter  im Sinne Aufwand/Nutzen. Vielleicht hat 
hier ja Jemand Erfahrungswerte.

PS zum PGA: Ich würde nicht unbedingt sagen dass ich Programmieren liebe 
:P

Danke euch im Voraus

von Harald W. (wilhelms)


Lesenswert?

christian krawczyk schrieb:

> Mein Vorgabe ist bislang dass ich hochauflösend messen soll.

Die Auflösung ist nicht das Problem, die kann man sozusagen
beliebig hoch machen, speziell durch Oversampling. Das Problem
ist, 140kHz mit einer Genauigkeit von z.B. 1% zu verarbeiten.
Wenn Du auch bei 140kHz den Kurvenverlauf rekonstruieren willst,
musst Du mindestens 10 mal so schnell abtasten. Es macht keinen
Sinn, diese Abtastrate bei geringerer Eingangs-Frequenz auch zu
verringern.
Gruss
Harald

von Christoph J. (christo88)


Lesenswert?

Ok, ich wollte meine Abtastfrequenz schon fest machen, und auf das 
Maximum 140 kHz ausrichten. wie kommst du auf den Faktor 10 ? 
erfahrungswert? Jetzt mal Akademisch vom Abtasttheorem ausgehend, reicht 
doch schon Faktor 2. Ich hab Irgendwo gelesen dass ab nem bestimmten 
Zeitpunkt Oversampling Genauigkeit kostet...? Ich recherchiere sonst 
nochmal  das Verhalten Oversampling-Genauigkeit.

Das digitalfilter muss ich nur in bezug auf die Steilheit meines anti 
aliasing Filters ausrichten, oder? Die Oversamplingfrequenz spielt doch 
keine rolle...?

Besten Gruß

von Harald W. (wilhelms)


Lesenswert?

christian krawczyk schrieb:

> Ok, ich wollte meine Abtastfrequenz schon fest machen, und auf das
> Maximum 140 kHz ausrichten. wie kommst du auf den Faktor 10 ?
> erfahrungswert? Jetzt mal Akademisch vom Abtasttheorem ausgehend, reicht
> doch schon Faktor 2.

Nur, wenn Du davon ausgehst, das ir die Kurvenform des Signals bekannt
ist. Das Abtasttherom ist normalerweise nur für Bemessung des Anti-
Alaising-Filters wichtig.

> Ich hab Irgendwo gelesen dass ab nem bestimmten
> Zeitpunkt Oversampling Genauigkeit kostet...?

Zumindestens kann man so normalerweise nicht die Genauigkeit
vergrössern, nur die Auflösung...

> Das digitalfilter muss ich nur in bezug auf die Steilheit meines anti
> aliasing Filters ausrichten, oder?

M.E. sind Analog- und Digitalfilter zwei verschiedene Paar Schuhe.

> Die Oversamplingfrequenz spielt doch
> keine rolle...?

Durch Oversampling kannst Du das Analogfilter vereinfachen.
Gruss
Harald

von Michael (Gast)


Lesenswert?

christian krawczyk schrieb:
> Ok, ich wollte meine Abtastfrequenz schon fest machen, und auf das
> Maximum 140 kHz ausrichten. wie kommst du auf den Faktor 10 ?

Wenn deine 140 kHz auch nur eine Spur von einem reinen Sinus abweichen, 
hast du sofort Signalanteile mit Frequenzen von den ganzzahligen 
Oberwellen drin. Mit einem Faktor 10 kriegst du man gerade die 5.te 
Oberwelle mit.
Guck dir z.B. die Fourierreihe einer Sägezahnschwinung an.

von Christoph J. (christo88)


Lesenswert?

Verhindere ich nciht schon durch mein Anit Aliasing die meißten 
Oberwellen?

Da über das Netz gespeist wirde und ein Trafo verwendet wird, kann ich 
doch eigentlich von nem schönen Sinus ausgehen oder? Bitte verhaut mich 
nicht wenn das ind der Praxis nciht so ist :P

>M.E. sind Analog- und Digitalfilter zwei verschiedene Paar Schuhe.

Aber je flacher/steiler meine Filter, umso anders muss ich meinen 
Digitalfilter doch berechenen.dass diese grundverschieden sind und an 
anderen Stellen auftauchen ist mir besusst;)

Danke und Gruß

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Normalerweise schaut man sich die Signale VORHER an, bevor man versucht 
eine Schaltung zu entwerfen, die das Signal aufnimmt. Breitbandig also 
ein Scope. Dann siehst du, daß die Netzspannung wenig mit einem Sinus zu 
tun hat.

Ein praktischer Wert für die Abtastrate bei einem sagen wir 4-poligen 
Filter und 10Bit ist 5. Das sind Erfahrungswerte. Berechnen kann man das 
nur, wenn man eine Fehlerrate am Ausgang definiert. Und dann viel Spaß 
mit der Mathe.

Bei Oversampling gewinnt man den Vorteil wesentlich vereinfachter 
analoger Filter. So ein Soundkarten-ADC 'sampelt' mit 192KHz an seinem 
Ausgang, am Eingang aber mit ca. 6MHz. Daher reicht dort durchaus für 
deine gewünschte Genauigkeit von 1% ein einfaches RC-Filter erster 
Ordnung.


Ich habe jetzt nicht alles gelesen, mein Vorschlag:
Fertiger ADC und hochlineare OpAmps. z.B. welche für ADSL. In den 
Datenblättern sind oftmals auch passende OpAmps angegeben bzw. du 
bekommt diese genannt, wenn du den Hersteller anfragst.

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.