Ein LC-unaufhaltsames Rauschen in einem USB-betriebenen Gerät

EDIT: Ich habe die Ursache herausgefunden, siehe meine Antwort. Ich möchte mich bei den Kommentatoren bedanken.

Ich mache ein USB-betriebenes Gerät mit einem 12-Bit-ADC, von dem ich ein 8-kHz-Signal mit einer Genauigkeit von etwa 10 Bit erhalten möchte. Es gibt jedoch ein ziemlich kompliziertes Rauschen in dem erhaltenen digitalen Signal unterschiedlicher Frequenzen im Audiobereich, was die Genauigkeit auf etwa 5 Bit begrenzt.

Wie sich herausstellte, gibt es auch ein Rauschen von ~ 100 mV, >= 1 MHz auf der USB-Stromleitung, was meiner Meinung nach die Ursache der Probleme ist:

Geben Sie hier die Bildbeschreibung ein

Dies ist also eine weitere Frage zu einem USB-Rauschen, wie hier, wo ein Gleichstromregler empfohlen wird, oder hier, wo eine Induktivität vorgeschlagen wird .

Schien einfach. Nach einer Keramik 1 uF, die von Anfang an da war, habe ich folgende serielle Sequenz ausprobiert:

  1. NCP380LSNAJAAT1G (Ladestrom auf 500mA begrenzen).
  2. Ein großer Elektrolytkondensator, 3300 uF, zu groß, aber er war zur Hand.
  3. L1117, um die Spannung auf 3,3 V zu trimmen.
  4. Ein kleiner Keramikkondensator 1 uF.

Es reduzierte das Rauschen auf der Stromleitung um etwa 20 %. Der andere Effekt der obigen Filterung war, dass in den Daten vom ADC einige niedrige Frequenzen ~ 50 Hz verschwanden, aber etwas höheres Rauschen übrig blieb:

Geben Sie hier die Bildbeschreibung ein

Die Genauigkeit beträgt jetzt ~ 6 Bit, ein bisschen besser als zuvor.

Ich habe noch keine Induktivität ausprobiert, aber dieser Typ hat es getan und es hat das Rauschen von 100 mV wie in meinem Fall auf spärliche 50 mV reduziert. Ich bin mir nicht sicher, ob dies dazu beiträgt, die Genauigkeit von 6 auf 10 Bit zu erhöhen. Siehe auch S. 1 in der Liste unten.

Kann es sein, dass dieses Signal nicht wirklich von der Stromleitung kommt? Es gibt ein handelsübliches Mikrocontroller-Board mit MK20DX256 im selben Schaltkreis, das mit ~ 100 MHz arbeitet, und das Stromleitungsrauschen ist nur vorhanden, wenn es das digitale Signal an den Host überträgt. Und so kann es zu Störungen im Kabel und / oder im Gerät kommen, die von der Stromleitung, aber auch individuell von verschiedenen Teilen des Geräts aufgenommen wurden.

Hier die vereinfachte Schaltung:

Geben Sie hier die Bildbeschreibung ein

Die Eingänge des LM358 werden jetzt wie folgt verbunden: Plus an einen Spannungsteiler, Minus an ein analoges Signal mit schwebender Masse.

Wie zu sehen ist, ist die Mikrocontrollerplatine direkt an die USB-Stromversorgung angeschlossen, aber:

  1. Das Board hat einen LC-Filter und einen 3,3-V-Regler, aber trotzdem ist sein Vout ungefähr so ​​laut wie der von meinem Filter.
  2. Sein ADC hat interne Vref. Ich weiß allerdings nicht, ob es bei so einer Stromleitung hilft.
  3. Mein Netzfilter ist sowieso nicht wirksam.

Ich könnte einen speziellen, externen, abgeschirmten ADC zusammen mit einem komplexeren LC als dem im obigen Link verwenden , aber ich möchte nur 10 Bit Genauigkeit. Wäre das alles wirklich nötig?

Gibt es eine kompakte Lösung für das Problem? Oder sollte ich das Gerät einfach aus einer anderen, sauberen Quelle mit Strom versorgen?

Haben Sie darüber nachgedacht, dass das Posten eines Schaltplans ein wenig hilfreich sein könnte?
Es stammt von PC-Netzteilen, weil PC-Netzteile Schaltnetzteile sind, und aufgrund der gewählten Topologie (Vorwärts- oder Halbbrücke mit Ausgangsinduktivität) und der Kosteneffizienz neigen Designer dazu, die Welligkeit und das Rauschen bei etwa 10 % zu halten. 100 mV sind also für eine 5-V-Leitung durchaus akzeptabel. Verwenden Sie für die Eingangsleistung Ihrer Schaltung auf jeden Fall zuerst einen Kondensator am Eingang (einige zehn pF oder 100 n), dann einen LC-Filter mit hohem L und elektrolytischem C (vergessen Sie nicht, die Grenzfrequenz zu berücksichtigen) und dann 100 n direkt bei die VDD Ihres ADC-Chips. Ich empfehle auch die Verwendung eines ADC-Chips mit einem hohen Versorgungsrauschunterdrückungsverhältnis.
Ich denke, jedes ADC- und µC-Datenblatt empfiehlt einen LC-Filter für AVdd.
@ Andy aka, ich habe den Schaltplan gepostet.
@Rohat Kılıç, es gibt einen Link in der Frage, der zeigt, dass ein einfacher LC-Filter nicht so effektiv ist, und ich bin mir auch nicht sicher, ob das Rauschen ursprünglich wirklich von der Stromleitung stammt, siehe die aktualisierte Frage; Warum reduziert keine Kapazität das Rauschen erheblich? Ein externer abgeschirmter ADC könnte möglicherweise funktionieren, aber ist eine solche Komplikation notwendig? Ich möchte nur 10 Bit Genauigkeit.
@Janka, der uC befindet sich auf einem handelsüblichen Board mit eingebauter USB-Buchse.
Ihr µC-Board hat sicher ein AVdd. Wenn dies nicht der Fall ist oder wenn es direkt mit Vdd verbunden ist, ist dieses Board falsch.
@Janka das Board hat eine induktive Vin-Filterung und einen 3,3 Vout, aber es ist ungefähr genauso laut wie die 3,3 V nach meinem Filter. Das Ausprobieren eines anderen Boards ist natürlich eine Option.
Das ist es was ich meinte. Eine induktive Filterung von Vin ist nicht ausreichend, da der µC selbst Rauschen erzeugt, das AVdd nicht erreichen sollte. Deshalb hat es einen separaten AVdd-Eingang.
Was ist der ADC? Was ist der L358 - meinst du LM358? Wo ist der Eingang angeschlossen - im Moment haben Sie einen wichtigen Eingangsstift in Ihrem Schaltplan. Sind alle Ihre 0-V-Anschlüsse an einem einzigen Punkt oder könnten digitale Störungen durch die 0-Volt-Anschlüsse fließen, die analoge Teile verbinden? Ist Ihnen bewusst, dass ein LM358 in dieser Konfiguration nur eine Spannung von nicht mehr als 1,8 Volt erzeugen kann und eine miserable Gleichtaktunterdrückung bei 1 MHz oder höher hat.
@ Andy aka, ADC in MK20DX256, ja LM358, sein Plus ist mit einem Spannungsteiler verbunden, sein Minus mit einem analogen Eingang; die 0V-Verbindungen sind nicht perfekt, 1 ... 5 cm im Durchschnitt, da es sich um einen Prototyp handelt, aber spielt es jetzt eine Rolle, ob das Rauschen von ~ 100 mV trotzdem vorhanden ist?
Es spielt eine große Rolle, ob digitale Ströme mit hohen Frequenzen über diese Verbindungen fließen. Zeigen Sie die vollständige Schaltung und zeigen Sie, wie ein Eingang verbunden ist, und geben Sie an, ob der Eingang schwebend ist (dh batteriebetrieben) oder zeigen Sie, was er in Bezug auf Masse verbindet. Es scheint mir, dass ein LM358 eine wirklich schlechte Wahl ist.
Außerdem scheint die MK20DX256-Spezifikation zu sagen, dass es sich um 16-Bit-ADCs handelt. Können Sie Ihr Beharren auf 12 Bit erklären? Es scheint auch, dass Ihre ADC-Referenzen ebenfalls Rauschen ausgesetzt sein können - Sie müssen offenlegen, was Sie getan haben, um sie sauber zu halten. Ist Ihnen auch bewusst, dass der LM358 wahrscheinlich nur etwa 40 % der Reichweite dieser ADCs abdecken kann?
@Andy aka, die Eingabe schwebt. Warum wird LM358 Ihrer Meinung nach nicht für 8 kHz, 10 Bit ausreichen? Ja, der ADC ist 16 Bit, aber effektiv 12 Bit, von denen ich nur 10 Bit möchte.
Die Gleichtaktunterdrückung (wie bereits erwähnt) ist bei 1 MHz miserabel. Dies bedeutet, dass 1-MHz-Rauschen auf den Stromleitungen des LM358 auf seinen Ausgang geschoben wird. Das Aufhängen einer erdfreien Signalquelle an den Eingängen erzeugt eine Kapazität zur realen Masse, und dies kann wirklich lästig sein, wenn der Verstärker nicht richtig konstruiert ist oder es sich um einen miserablen Verstärker wie den LM358 handelt. Wenn Sie keine Kondensatoren verwenden, die mit hohen Frequenzen umgehen können, können Sie am Ausgang Mist bekommen. Oberhalb von mehreren zehn oder hundert kHz beginnt sich ein Elektrolytkondensator wie eine Induktivität zu verhalten.
Hast du es mal mit einem Gleichtaktfilter versucht?
@winny, ich habe es nachgelesen, nachdem ich deinen Kommentar gelesen hatte, danke, es ist ein interessantes Konzept. In diesem Fall war der Grund jedoch eher trivial, siehe meine Antwort.

Antworten (2)

Der ADC-Eingangsbereich beträgt ca. 2 V, ich wollte 10 Bit. Das analoge Signal erwies sich jedoch als so schwach, dass ich, wie im Schaltplan zu sehen, die Verstärkung des Operationsverstärkers auf 40x einstellen musste.

Dies entspricht einer erwarteten Differenzierung der Eingangspegel von etwa 2000 mV / 40 / 1024 = 0,05 mV. Da ich zunächst nicht bemerkte, dass es sich um einen so kleinen Wert handelt, habe ich die analoge Quelle nicht abgeschirmt .

Das digitale Signal ist ziemlich sauber, wenn die analoge Quelle in der Nähe des Operationsverstärkers abgeschnitten wird, sodass das 1-MHz-Netzleitungsrauschen die Abtastung bei einer viel niedrigeren Frequenz von 8 kHz wahrscheinlich nicht stark beeinflusst . Den Spannungsstabilisator habe ich entfernt, da dadurch der Analogteil etwas schlechter funktionierte und ansonsten keine Funktion hatte. Ich habe jedoch NCP380LSNAJAAT1G + den Elektrolytkondensator beibehalten, da sie, wie in der Frage beschrieben, einige niederfrequente Geräusche entfernen.

Sie haben wahrscheinlich Probleme mit ;

  • 1) Sondieren (Clip und Massedraht entfernen und nur Tip&Sleeve verwenden
  • 2) SRF der Caps ist zu niedrig.
  • 3) ESR von Cap ist zu hoch
  • 4) OA ist unsymmetrisch, also ist die CM-Verstärkung zu hoch, wählen Sie Diff Amp mit 0,1 % R-Arrays für eine Verstärkung von etwa 40.

Ich habe diese Themen Dutzende Male behandelt, also machen Sie einige Hausaufgaben.