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:
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:
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:
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:
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:
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?
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 ;
Ich habe diese Themen Dutzende Male behandelt, also machen Sie einige Hausaufgaben.
Andi aka
Rohat Kılıç
Janka
arataj
arataj
arataj
Janka
arataj
Janka
Andi aka
arataj
Andi aka
Andi aka
arataj
Andi aka
winzig
arataj