Frage:
Gibt es einen Nachteil, wenn die Abtastzeit eines SAR-ADC so lange wie möglich eingestellt wird?
norlesh
2019-05-26 11:47:20 UTC
view on stackexchange narkive permalink

Bei der Konfiguration der Abtastzeit für den internen ADC eines Mikrocontrollers (STM32F446RE) zum Abtasten des Ausgangs eines Stromsensors, der an einen PWM-gesteuerten Motor angeschlossen ist, wird die Abtastung bei 100 kHz ausgelöst und ich habe ein Fenster zwischen 3 und225 ADC-Taktzyklen (22,5 MHz), über die der Sampler offen gehalten werden soll - ich gehe davon aus, dass je länger er geöffnet ist, desto weniger Rauschen wird in den Ergebnissen zu sehen sein.Ist dies richtig oder gibt es einen Punkt, an dem andere Faktoren ins Spiel kommen, die eine längere Abtastdauer vorziehen würden?

Vier antworten:
Marcus Müller
2019-05-26 15:50:41 UTC
view on stackexchange narkive permalink

Dieses Verständnis ist richtig. Wenn Ihre ADC-Uhren schnell genug sind, um 225 Erfassungszyklen für eine Probe durchzuführen, tun Sie dies auf jeden Fall.

Wie bei praktisch jedem ADC kann es vorkommen, dass Sie die Spannungsquelle, die Sie beobachten, mit Ihrem ADC laden. Natürlich kann das Laden des ADC sample&hold-Kondensators über einen längeren Zeitraum die Gesamtbelastung erhöhen, aber es kann auch dazu führen, dass die Spannungsquelle aufholt. Die Strommenge in den ADC oder die Kapazität der Probe und des Haltens kann normalerweise aus dem Datenblatt abgelesen werden. Fügen Sie im Zweifelsfall einen Spannungsfolger hinzu.

schematic

simulieren diese Schaltung - Schema erstellt mit CircuitLab sup>

Das Hinzufügen eines Spannungsfolgers ist auch eine hervorragende Gelegenheit, um auch einen RC-Tiefpassfilter hinzuzufügen, wenn Ihr Signal einschließlich Rauschen ohnehin nicht von Natur aus bandbegrenzt auf eine Frequenz unterhalb der Nyquist-Frequenz ist. Ihr Rauschen hat (nahezu) unendliche Bandbreite, aber Ihr ADC soll nur \ $ f_ \ text {Ny} = \ frac {f_ \ text {sample}} 2 = 50 \ beobachten , \ text {kHz} \ $ span> Bandbreite! Wenn Sie also etwas über 50 kHz herausfiltern, wird weniger Rauschen auf die beobachteten 50 kHz verschoben:

schematic

simulieren diese Schaltung sup>

Der ADC lädt natürlich den Spannungsteiler, der das RC-Tiefpassfilter ist, aber bei der niedrigen Impedanz von R1 und der ausreichenden Ansteuerungsstärke von etwa jedem Operationsverstärker sollte dies vernachlässigbar sein. Bei näherer Betrachtung werden Sie feststellen, dass C1 das Rauschen jetzt zunächst glättet, sodass Sie die Abtastzeit verkürzen können (wenn es einen anderen Grund dafür gibt, z. B. aufgrund von Taktungsgründen eine höhere Abtastrate erforderlich ist) die MCU).

Wenn Sie besser als ich wissen, nach welchen Frequenzbereichen Sie suchen, können Sie natürlich einen besseren RC-Tiefpass oder sogar einen erweiterten aktiven Filter a entwerfen > mit Online-Tools (oder Stift und Papier). Das oben skizzierte 50-kHz-Sperrfilter ist wahrscheinlich keine gute Wahl - aber es ist schwierig, eine gute Wahl zu treffen, wenn Sie nicht wissen, bei welchen Frequenzen Signalkomponenten zu erwarten sind! In einem PWM-System erwarten Sie jedoch Oberschwingungen bei jedem ungeraden Vielfachen der PWM-Frequenz, während Sie sich wahrscheinlich hauptsächlich um den Strom kümmern, der durchschnittlich über einige PWM-Zyklen durch Ihren Motor fließt - modellieren Sie, wie schnell der Strom durch Ihren Motor soll sich ändern und filtern, damit dies erhalten bleibt, aber nicht viel höhere Frequenzen.

Wenn Ihre CPU mit 100 kS / s nicht ins Schwitzen kommt, sollten Sie sich für das 50-kHz-Analogfilter entscheiden (oder Ihr Signal ist von Anfang an bandbegrenzt) und die Filterung und Dezimierung durchführen in der Software: Ein einfaches FIR-Filter¹, das auf Ihrem ARM ausgeführt wird, kann einen viel steileren Frequenzgang haben als ein relativ komplexes Analogfilter. Das ist es, was wir Funker tun: analog so viel filtern, wie der ADC und das Rechensystem benötigen, um mit dem Signal umzugehen, und dann die Feinfilterung im digitalen Bereich durchführen, wo die Mathematik genau (im Gegensatz zu realen Kondensatoren) und einfach ist und kann linearphasig sein.


¹ Bitte bauen Sie keinen Butterworth "nur weil es der erste Filter war, den ich gefunden habe" - es ist kein für digitale Filter typischer Filtertyp, und es ist selten das, was die Leute wollen, es ist einfach schön, weil es flach im Durchlassbereich und ist einfach in analog zu bauen, nicht in digital)
Justme
2019-05-26 11:59:49 UTC
view on stackexchange narkive permalink

Eine möglichst lange Abtastperiode hat keinen Nachteil, es sei denn, sie beginnt, die Abtastrate zu begrenzen. Es führt auch nicht zu weniger Rauschen, wenn der Abtastkondensator in kürzerer Zeit bereits vollständig aufgeladen ist.

analogsystemsrf
2019-05-26 12:37:27 UTC
view on stackexchange narkive permalink

Viele ADCs haben ungefähr 5pF Csample und 1Kohm Rseries (plus den Abtast-FET-Kanalwiderstand).Dies ist eine TAU von 5.000 Pikosekunden.

Der Neper informiert Sie über die Verbesserung der Genauigkeit bei jedem zusätzlichen Tau des Absetzens.

Neper = 8,6 dB pro Tau oder etwa 1,6 Bit.

Für einen 16-Bit-ADC benötigen Sie 10 Neper oder 10 Tau-Abrechnung oder 5 * 10 = 50 Nanosekunden.

jpa
2019-05-26 22:33:06 UTC
view on stackexchange narkive permalink

Gibt es einen Punkt, an dem andere Faktoren ins Spiel kommen, die eine längere Abtastdauer vorziehen würden?

Ein solcher Grund könnte sein, dass das Signal überabgetastet wird. Dies bedeutet, dass mehrere ADC-Abtastwerte entnommen und dann in Software kombiniert werden.Abhängig von der Methode zum Kombinieren / Downsampling kann dies das Rauschen reduzieren oder die Auflösung erhöhen oder beides.

Wenn Sie beispielsweise 4 Abtastwerte anstelle von 1 nehmen und diese dann einfach zusammensummieren, halbieren Sie normalerweise den Rauschpegel und erhöhen so die Auflösung um ein Bit.Ein einfaches Summierungsfilter funktioniert jedoch nur dann gut, wenn das Rauschen weißes Rauschen ist, und kann den Rauschpegel tatsächlich erhöhen, wenn ein hochfrequentes Rauschsignal vorhanden ist.

In jedem Fall bietet die Verfügbarkeit von mehr Samples für die Software mehr Freiheit bei der Signalverarbeitung, während mehr CPU-Leistung und kürzere Sampling-Zeit erforderlich sind.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 4.0-Lizenz, unter der er vertrieben wird.
Loading...