Wie säubere ich ein verrauschtes Signal?

19

Ich steuere einen 4-poligen PWM-PC-Lüfter von einem PIC16F684 mit der Lüfterdrehzahl, die von einem ADC-Messwert eines Näherungssensors gesteuert wird. Das funktioniert alles in Ordnung.

Ich hatte ursprünglich nicht vor, den Tachometerausgang des Lüfters zu verwenden, aber da er verfügbar ist, habe ich ihn mit meinem Oszilloskop überwacht, um festzustellen, ob meine Zuordnung zwischen Nähe und Lüftergeschwindigkeit funktioniert.

Was mir aufgefallen ist, ist, dass wenn die PWM den Lüfter mit 100% laufen lässt, das Tachosignal (ein über einen 10K-Widerstand gezogener offener Abfluss) schön und sauber ist:

tachclean

Wenn ich jedoch mit weniger als 100% laufe, ist es laut:

tachdreckig

Zoomen Sie auf dieses Geräusch:

tachdirtyzoom

Ich vermute, es wird durch das PWM-Signal beeinflusst, aber ich möchte verstehen, warum und wie, damit ich es in Zukunft nötigenfalls bereinigen kann. Wirklich interessiert mich, was Sie tun sollten, wenn Sie Geräusche wie diese sehen, wie Sie die Ursache finden und wie Sie sie "beheben". Das Oszilloskop löst in Ordnung aus. Ich frage mich, ob ich es nur dem externen Interrupt-Pin am PIC (RA2) zuführe, der ein Schmitt-Trigger-Eingang mit CMOS-Pegeln ist. Dann sehe ich das Rauschen und ich nicht könnte zB ein sauberes Signal von einem anderen Pin wiedergeben, um eine LED oder etwas auszublenden.

Kann jemand allgemein erklären, wie man verrauschte Signale erkennt und korrigiert? Oder wenn das zu weit geht, vielleicht nur dieses spezielle Problem? Auch wenn irgendetwas mit meiner Schaltung nicht stimmt, wäre es schön, es auch zu wissen. In der folgenden Abbildung ist das Signal, das ich anzeige, der TACH-Eingang links von der Schaltung:

schematisch

UPDATE
Nach hilfreichen Vorschlägen von @MichaelKaras und @techydude habe ich Q2 als Ursache für Probleme ausgeschlossen, indem ich es vollständig aus dem Stromkreis genommen und den Lüfter direkt geerdet habe. Keine nennenswerten Auswirkungen auf das Geräusch.

Also habe ich dann den externen Interrupt auf RA2 codiert, um ein "gereinigtes" Signal von einem Ersatz-Pin (in diesem Fall RA1) auszugeben, was sehr hilfreich war, aber aufgrund falscher Interrupts immer noch flackerte. (Also habe ich den Interrupt so eingestellt, dass die ansteigende Flanke eingefangen und dann bei Auslösung auf die abfallende Flanke umgeschaltet wird und umgekehrt, und RA1 entsprechend eingestellt / zurückgesetzt).

Nach dem Hinzufügen eines 100-nF-Kondensators über R3 (als Teil des @ techydude-Vorschlags) erhalte ich jetzt eine viel stabilere Ausgabe. Der folgende Screenshot zeigt das TACH-Signal nach der Reinigung über den von Schmitt ausgelösten RA2-Eingang und den erneuten Ausgang an RA1:

tachclean

Roger Rowland
quelle
1
Warum muss der IRF510-FET den Lüfter einschalten? Wenn Sie die PWM auf 0% Einschaltdauer einstellen, sollte der Lüfter entweder ausgeschaltet oder auf die minimale Betriebsdrehzahl eingestellt sein.
Michael Karas
1
@MichaelKaras Ja, der Lüfter hat eine Mindestdrehzahl, sodass er nur dann stoppt, wenn Sie den Strom abschalten. Konstruktionsbedingt werden PWM-Werte unter ~ 10% ignoriert und mit 400 U / min ausgeführt. Also benutze ich diesen FET, um ihn bei Bedarf komplett zu töten.
Roger Rowland
2
Aha. Dies bedeutet jedoch, dass Sie den Lüfter möglicherweise mit einem höheren PWM-Arbeitszyklus als dem Mindest-PWM-Arbeitszyklus starten müssen, wenn Sie ihn aus einem +12 V-Aus-Zustand neu starten möchten. Ich habe dies mit einigen Arten von Fans erlebt, die einen Kickstart benötigen, um beim Einschalten zuverlässig zu starten. Die Lüftersteuerungsalgorithmen auf vielen Servern werden beim Start für die ersten 10 bis 20 Sekunden mit einem Arbeitszyklus von 100% ausgeführt, um sicherzustellen, dass alle Lüfter ordnungsgemäß starten.
Michael Karas
2
Bei fast allen Lüftersubsystemen, an denen ich gearbeitet habe, ist das TACH-Signal in ein Widerstandsnetzwerk eingebunden, das das Signal von der + 12-V-Schiene vorspannt und anschließend über ein Paar Teilerwiderstände verfügt, die das TACH-Signal auf + absenken Für das Überwachungssystem werden 5 oder + 3,3 V Pegel benötigt. Eine kleine Kappe über dem unteren Widerstand des Teilers kann dazu beitragen, etwaige Störspitzen im TACH-Signal herauszufiltern.
Michael Karas
1
Die hauptsächliche Verwendung der + 12V-Schiene zum Vorspannen des TACH-Signals besteht darin, dass eine Isolation zwischen den + 12V- und den digitalen Niederspannungssignalen des Steuerungssystems hergestellt wird. Drei Überlegungen sind: 1) Lüfterkabel können zwischen Gehäuseteilen eingeklemmt werden und Kurzschlüsse zwischen den vier Kabeln sind möglich. 2) Lüfter in einer staubigen Umgebung können sich statisch aufladen und die Widerstände können dazu beitragen, dass keine elektrostatische Entladung vom TACH-Detektoreingang ausgeht. 3) Die RC-Zeitkonstante des Teilers mit Streukapazität oder mit zusätzlicher Kappe wirkt als Filter für das TACH-Signal.
Michael Karas,

Antworten:

9

Über Ihren Schaltplan:

Alles scheint in Ordnung zu sein, Sie können den R2 auf 10k oder sogar 100k erhöhen, die Kapazität des MOST ist so gering, dass der FAN eine viel größere Trägheit aufweist als die Ausschaltverzögerung im MOST, wahrscheinlich sogar mit 1M. Auf diese Weise ist die Position Ihres 100R irrelevant und während Sie unterwegs sind, verschwenden Sie keine mAs. Wenn Sie de uC nie im Reset-Modus halten, ist dies technisch gesehen überhaupt nicht erforderlich, da Ihr uC ihn aktiv hoch oder niedrig zieht.

Beim PWM-Signal konnte festgestellt werden, ob das Datenblatt eine externe Spannung von bis zu 12 V zulässt, obwohl ich bezweifle, dass dies in beiden Fällen einen großen Unterschied ausmachen wird.

Über den Lärm:

EDIT: Ich habe deine Handlung für kHz falsch verstanden, was dumm ist, wenn du daran denkst, wo es Hz ist. Ein Teil meiner Geschichte wird sich ein wenig ändern (wie das Gerede über die Notwendigkeit von MHz für die digitale Arbeit), aber die allgemeine Idee bleibt.

Ich werde den gesamten Beitrag unverändert lassen, aber für ein 100-Hz-Signal mit 30-kHz-Rauschen anstelle von 100-kHz-Rauschen mit> 5-MHz-Rauschen (hat auch nicht wirklich Sinn gemacht, oder?) Könnten Sie die Widerstände erhöhen, die mit Kondensatoren interagieren Erhöhen Sie die Kondensatoren um den Faktor 10 und um den Faktor 50 bis 100. Dadurch erhalten Sie in allen Beispielen eine um den Faktor 1000 niedrigere Filterfrequenz. Es ist aber auch in Ordnung, die Kondensatoren nur um den Faktor 10 bis 20 zu erhöhen, um schärfere Flanken oder eine schnellere Reaktion auf Ihr interessierendes Signal zu erzielen, da 30 kHz sehr weit von 100 Hz entfernt sind.

Betrachten Sie diesen Beitrag also als für hohe Frequenzen geschrieben und verkleinern Sie die Ideen, damit sie auch viel einfacher zu implementieren sind! (Vor allem die digitale Ablehnung in 3.)

Ende der Bearbeitung

Da Sie einen so schönen Anwendungsfall für die Erarbeitung von Methoden zur Rauschunterdrückung darstellen, werde ich versuchen, eine für Ihre Situation zutreffende zu erstellen.

Für jeden, der liest, sei dir bewusst:

Hier geht es nur um Rauschen bei einem digitalen Signal

In einem digitalen Signal können Sie davon ausgehen, dass es nur zwei Spannungen gibt, an denen Sie interessiert sind: "Ein" und "Aus". Alles dazwischen ist sinnlos und gehört zu Lärm oder falsch. In einem analogen Signal müssen Sie über jeden Spannungspegel Bescheid wissen und mit Lasten von Cs, Ls usw. tatsächlich filtern.

Ein Problem in Ihrem Signal besteht darin, dass die negativen Rauschspitzen auf dem hohen Pegel und die positiven Rauschspitzen auf dem niedrigen Pegel sehr nahe beieinander liegen, sodass ein einfacher Standard-Trigger selbst bei einstellbarem Pegel nicht absolut garantieren kann, dass Sie nie etwas bekommen verwirrt.


Deine Optionen:

  1. Ändern Sie die Vorspannung
  2. Ändern Sie die Spannungspegel
  3. Fügen Sie "langsame" Hysterese hinzu
  4. Filtern Sie das Rauschen heraus

1. Ändern Sie die Vorspannung:

Das Positive hat sehr geringe negative Spitzen, weil Ihr Klimmzug nicht vom Rauschen profitieren kann. Das Einfachste, was Sie versuchen können, ist, diesen Widerstand zu verringern. Es besteht die Gefahr, dass dadurch auch die Spitzen für das Ausschaltsignal erhöht werden, sodass dies möglicherweise nicht immer funktioniert. Es ist jedoch sehr wahrscheinlich, dass Sie zwischen den Spitzen einen gewissen Spielraum haben, um eine einfache Hysterese einzustellen.

2. Ändern Sie die Spannungspegel

Wenn der Lüfter es zulässt, können Sie den Tacho problemlos auf eine höhere Spannung einstellen und einen Zwischenzustand hinzufügen:

schematisch

simulieren Sie diese Schaltung - Schaltplan erstellt mit CircuitLab

Jetzt ist möglicherweise gerade genug Platz zwischen den hohen und niedrigen Spitzen vorhanden, um sicherzustellen, dass der MOST immer eingeschaltet ist, auch wenn negative Spitzen vorhanden sind, und immer ausgeschaltet, selbst wenn positive Spitzen vorhanden sind. Möglicherweise sind einige Dioden, Zenerdioden oder Widerstände erforderlich, um den Sollwert in der neuen Situation zu erreichen. Wenn die Spitzen des negativen Signals jedoch unverändert bleiben, sollten sie den MOSFET nicht auslösen, solange Sie dies nicht tun Ersetzen Sie ihn durch einen mit einer Gate-Schwelle unter 2V.

3. Fügen Sie "langsame" Hysterese hinzu:

Dies ist ein Trick, der häufig verwendet wird, wenn Sie wissen, dass ein stacheliges Rauschsignal mindestens eine Größenordnung größer ist als das Signal, an dem Sie interessiert sind. Er verzögert das Signal ein wenig, sodass er nicht in Situationen verwendet werden kann, in denen der genaue Moment vorliegt einer Ein / Aus-Änderung ist wichtig.

Für ein Signal, bei dem Sie nur die Form oder Frequenz kennen möchten, ist dies eine sehr robuste Methode. Grundsätzlich beginnt es zu triggern, wenn eine Spannung die Schwelle überschreitet, schließt diese Aktion jedoch nur ab, wenn sie dort bleibt. Es gibt viele Möglichkeiten, eine zu erstellen.

Sie können dies in der Steuerung tun (was am einfachsten in der Komponentenzählung ist): Sie können an einer Flanke triggern und dann einige weitere Werte mit einer ausreichenden Geschwindigkeit abtasten, um das Hoch zwischen den Rauschspitzen zu erkennen, aber nicht zu verwechseln, wenn eine ganze Periode des Tiefs verpasst wird. Dann treffen Sie eine vordefinierte Beurteilung, die auf der Kenntnis Ihres Signals und Ihres Rauschens basiert. Wenn Sie beispielsweise mit 10 MHz abtasten könnten, könnten Sie 50 Abtastwerte erfassen und sicher sein, dass eine 100-kHz-Höchstfrequenz nicht ignoriert wird, wenn Sie die Mehrheitsregel einhalten. Dh: Mindestens 25 müssen niedrig sein, damit es tatsächlich niedrig ist. Deine Spikes sind nur sehr dünn und meistens ist es das Originalsignal, damit könnte das funktionieren, aber die Anzahl der Mehrheiten kann angepasst werden. Dies funktioniert auch mit 1MHz und 6 oder 7 Samples, aber es wird weniger von der tatsächlichen Mehrheit sein, so dass es dort wieder einige Risiken geben kann.

Sie können dies auch extern tun: Es ist jedoch bereits VIEL komplizierter als das Hinzufügen eines einfachen Filters, insbesondere wenn Sie sich das Ergebnis mit einem uC ansehen, dessen Eingabe bereits eine gewisse Hysterese aufweist. Aber es macht Spaß darüber nachzudenken, also lasst uns:

schematisch

simulieren Sie diese Schaltung

U1 ist jeder geeignete Operationsverstärker oder Comperator. Comperatoren sind bessere Switcher, oft mit besserem Swing, aber für Sub-MHz reicht ein OpAmp mit anständigem Rail / Rail-Swing leicht aus.

Während diese Art von Hysterese mit mindestens einem Widerstand weniger aufgebaut werden kann, ist dieser leichter zu erklären und als solcher leichter zu modifizieren.

Stellen Sie es sich zunächst ohne den Kondensator vor:

Stellen Sie zunächst fest, dass der Widerstandsteiler durch den Ausgang von U1 beeinflusst wird, und ziehen Sie ihn durch den scheinbaren Widerstand von 20 kOhm etwas tiefer oder höher. Angenommen, am positiven Eingang von U1 ist eine Spannung von 1,1 V abgerundet, wenn der Ausgang 0 ist, und 3,9 V aufgerundet, wenn der Ausgang 5 V ist.

Wenn der Start-Tachoeingang für den stationären Betrieb hoch ist, ist der Ausgang von U1 niedrig, da der Tachoeingang invertiert ist. Der negative Eingang wird also wieder aufgrund des zusätzlichen Pull-up-Widerstands ungefähr 2,3 V betragen. Da der positive Eingang nur 1,1 V beträgt, muss der Eingang auf unter 2,2 V abfallen, damit der negative Eingang eine niedrigere Spannung sieht und der Ausgang umkippt.

Wenn der Ausgang umkippt, wird der negative Eingang 3,6 V sehen (da zu diesem Zeitpunkt das Eingangssignal 2,2 V beträgt, beträgt der Ausgang von U1 5 V, so dass ihre Mitte, die von den 10k-Widerständen gebildet wird, ungefähr 3,6 V beträgt), aber der positive Der Eingang hat sich von 1,1 V auf 3,9 V gedreht, so dass das Negative immer noch unter dem positiven Eingang liegt und der Ausgang 5 V bleibt.

Wenn das Signal jetzt schnell "abbricht" und zurückspringt, wird der Ausgang von U1 schnell wieder zurückspringen, aber dann musste die Spitze bereits unter 2,2 V fallen, das ist also besser als nichts.

Wenn das Signal weiter auf 0 abfällt, wird die stabile Situation nur stärker, der negative Eingang wird auf 2,5 V abfallen (da angenommen wird, dass der Tacho des Lüfters stark genug ist, um herunterzuziehen) und der positive Wert wird bei etwa 3,9 liegen V.

Jetzt muss das Signal über 2,7 V ansteigen, damit der Ausgang in die andere Richtung kippt. Sehr wahrscheinlich werden 95% Ihrer Spikes bereits ignoriert.

Kondensator hinzufügen:

Mit dem Kondensator muss das eingehende Signal genügend Energie für genügend Zeit zum Laden oder Entladen des Kondensators liefern. In der Tat ist das schon ein RC-Filter. Spitzen, die schnell eintauchen und sich dann erholen, können den Kondensator nicht entladen.

Der Wert von C hängt natürlich vom Quellensignal und vom Rauschsignal ab. Ich habe 510pF für ein 100kHz-Quellensignal geparkt und höchstens 1us Spike-Dauer, aber ich habe nicht wirklich viel gerechnet. Es ist nur ein RC-Zeit-basiertes Bauchgefühl, dass dies in der Nähe dessen sein könnte, was funktionieren wird.

4. Filtern Sie das Rauschen heraus

Dies ist ein bisschen wie das Filtern eines analogen Signals. Sie können ein einfaches RC-Netzwerk verwenden, wie im vorherigen Abschnitt beschrieben:

schematisch

simulieren Sie diese Schaltung

Da die Rauschspitzen kleiner oder gleich 1 us sind, können sie die Spannung des Kondensators nicht wesentlich verändern, da seine RC-Zeit 5 us beträgt. Dies bedeutet, dass die Energie in den Spitzen auf einen Durchschnitt abgeflacht wird. Da Sie hohe Spitzen und niedrige Einbrüche auf den Spitzen sehen, ist es sogar möglich, dass die Mittelwerte sehr nahe an 0 V und 5 V liegen, aber das kann nur mit besseren Bildern oder nur mit einem Experiment gesagt werden. Da Sie es einem uC-Pin zuführen, wird die RC-Zeit wahrscheinlich ausreichen, um es als hoch oder niedrig anzusehen. Dies führt zu einer geringen Verzerrung, da der Pull-up-Widerstand langsamer lädt als entlädt. Einige Änderungen der Werte können zu einem Ergebnis führen, das vernachlässigbar ist.

Wenn das nicht ausreicht, können Sie weitere Komponenten hinzufügen, aber Sie übertreiben es sehr schnell, wenn Ihr dominantes Rauschen mindestens zehnmal "schneller" als Ihr Signal ist.

Sie könnten eine 4,7-uH-Induktivität in Reihe mit dem Widerstand schalten, um weitere hochfrequente Flanken auszugleichen, möglicherweise sogar 10 uH.

Um ehrlich zu sein, besteht der einzige Grund, mit Ls in einem Signal Ihrer Art zu experimentieren, darin, ein Gleichgewicht zu finden, in dem R groß ist, C klein ist und L nur zum Glätten beiträgt einige Flanken, so dass R2 / R1 klein genug ist, um den Unterschied in der Anstiegs- und Abfallzeit zu ignorieren. wie ein R1 von 33 k, C von 150 pF und ein L in Reihe mit R1 von 56 uH. Oder vielleicht eine Ferritperle anstelle des Induktors, hängt ein bisschen von der Schärfe Ihrer Spikes ab.

Aber ich würde sagen, ich habe es schon überlegt.

Asmyldof
quelle
1
Ich bin sprachlos! Was für eine fantastische, gut erklärte, umfassende und nützliche Antwort. Ich kann dir nicht genug danken, das ist genau die Art von Antwort, auf die ich gehofft habe. So viel zu lernen und sehr dankbar. Ich muss das ein paar Mal durchlesen, aber auf den ersten Blick kann ich die Optionen jetzt klarer erkennen und Sie haben meine Augen wirklich geöffnet. Exzellent, einfach exzellent.
Roger Rowland
2
@ RogerRowland Das ist der Hauptpunkt einer Site wie dieser. Freue mich zu helfen. Weitere Komplikationen / Berechnungen können im Chat vorgenommen werden. Ich bin regelmäßig dort. Ich muss nur einen Hinweis hinzufügen, dass ich Ihre Handlung als kHz und nicht als Hz falsch
interpretiert habe
6

Solche Geräusche von einem Lüfter-Tacho sind weit verbreitet, da die Schaltung (die normalerweise einen Hall-Effekt-Sensor enthält) im Lüfter, die den Tacho-Ausgang erzeugt, selbst an Ihrer PWM-Frequenz ein- und ausgeschaltet wird (wenn Ihr PWM-Ausgang einen anderen Wert hat) als 100% -On), nicht nur die Versorgung des Motors selbst. Sicher, sie haben eine gewisse Kapazität, um die Versorgung dieser Schaltkreise zu glätten, aber wenn Sie beispielsweise eine 12-V-Lüfterspannungsversorgung vorsehen, reicht diese Kapazität aus, um zwischen den minimalen PWM-Ausschaltperioden mehrere Volt aufrechtzuerhalten. Effektsensor & Tachoausgang hochziehen (wenn der Lüfter seinen eigenen Tachoausgang hochzieht), um ein wiederherstellbares Ausgangssignal bereitzustellen. Ja, Fans sind unordentlich, wenn Sie ihre Versorgung PWM. Einige Lüfter bieten einen PWM-Geschwindigkeitseingang, der von ihrer +12 V-Versorgung getrennt ist.

Ihre PWM scheint ungefähr 27 kHz zu sein. Das Gute an dieser speziellen Situation ist, dass Ihre Tachoausgabe bei 100% Leistung ungefähr 800 Hz beträgt, was <1/30 der Frequenz Ihrer PWM entspricht. Filtern Sie diese Tachoausgabe, um den größten Teil des PWM-Rauschens zu beseitigen einfach und lohnenswert. Es ist spät hier, also habe ich CBF die Berechnungen durchgearbeitet, aber weil es Open-Drain und Ihre Pull-Up-Versorgungsspannung (im Lüfter) ist, die von PWM, einer Kappe zwischen Tacho und +12 V-Schiene (nicht der PWM), belästigt wird Ausgang von Ihrem Lüfterantriebsschaltkreis) ist wahrscheinlich eine bessere Option als eine Kappe am Tacho gegen Masse. Probieren Sie beides und sehen Sie. Beginnen Sie mit einer 100n Keramikkappe mit geeigneter Spannung und sehen Sie, wie sie aussieht.

Mit einem Schmigger-Eingang auf dem PIC können Sie möglicherweise sogar davonkommen, ohne diesen Tacho-Ausgang zu filtern, bevor Sie ihn in Ihren PIC einfügen. Sie verfügen jedoch über das Freq-Differential, das es Ihnen leicht ermöglicht, einen weiten Weg zur Reinigung dieses Ausgangs zu gehen oben.

Ein mögliches Problem bei der Verarbeitung des Tachosignals vom Lüfter: Wenn der Lüfter intern mit 10k auf +12 hochzieht (manche tun es, manche nicht) und Sie auch das Tachosignal zu Ihrem Lüfter hochziehen + 5V-Schiene, dann ziehen Sie es tatsächlich nach unten! Abhängig von der Versorgungsspannung des Lüfters, der Stärke des Pull-ups usw. gibt es verschiedene Schaltungskonfigurationen. Versuchen Sie, diese mit Ihrem Multimeter zu messen und lassen Sie es uns wissen.

Techydude
quelle
„Einige Fans bieten einen PWM - Drehzahleingang , dass die auf ihre + 12V - Versorgung trennen“ - Ja, das ist , was ich habe :-) Dieser 4-Pin - Lüfter eine PWM - Steuerung hat , dass die von der 12V / GND trennen, so dass die Linie I ist fahre. Der andere FET (Q2) ist nur dort, damit ich den Lüfter vollständig ausschalten kann, da er eine Mindestgeschwindigkeit hat. Ich bin also nicht PWM'ing Q2, nur Q1.
Roger Rowland
Im Allgemeinen wird bei einem 4-Draht-Lüfter keine PWM-Schaltfrequenz im TACH-Ausgang angezeigt, wenn eine konstante 12-V-Versorgung gegeben ist und der PWM-Eingangskabel zur Steuerung der Drehzahl verwendet wird. Nur wäre der Fall zu versuchen, die PWM an die Lüfterstromkabel anzulegen.
Michael Karas
"Wenn der Lüfter mit 10k intern auf +12 hochzieht " - Hmmm, wird er nicht auf +12 hochgezogen, aber wenn ich meinen Pullup entferne, scheint er vom Lüfter auf ca. 2V hochgezogen zu werden. Kommt mir seltsam vor, erklärt aber vielleicht, warum meine rauschbehafteten Signale eher bei 6V als bei 5V liegen. Ich weiß nicht, was ich jetzt tun soll!
Roger Rowland
D'oh! Tut mir leid, ich habe nicht einmal bemerkt, dass es sich um einen 4-Draht-Lüfter handelt. Und jetzt erinnere ich mich an deine anderen Fragen :). OK, nachdem Sie jetzt das Datenblatt des IRF510 durchgesehen haben, denke ich, dass @Michael Karas mit größerer Wahrscheinlichkeit Recht hat, dass Q2 möglicherweise nicht voll eingeschaltet ist (und nicht dadurch, dass R1 & R2 ein 1: 10-Teiler ist, erhalten Sie nicht mehr als Vgs = 4,5 V, so dass Ihre +12 zum Lüfter durchhängen können (zu hart, um aus Ihren Scope-Aufnahmen zu schließen, müssen Sie innerhalb der PWM-Zeit sehen). Ändern Sie R2 auf 100 k (mehr als genug, um im Tri- Wenn ja, wählen Sie einen MOSFET mit niedrigerem Vgs-Schwellenwert.
Techydude
1
@ Techydude lol, egal, es ist immer noch ein Rätsel. Wie ich Michael sagte, habe ich jetzt Q2 entfernt und den Lüfter direkt geerdet, und ich sehe immer noch das gleiche Geräusch. Ich habe auch versucht, die TACH über INT auf einen anderen Pin zu übertragen, aber der Schmitt reinigt sie nicht genug von selbst und der ausgegebene Echo ist immer noch uneinheitlich. Vielleicht liegt es daran, dass alles noch auf einem Steckbrett liegt? Eigentlich hat 100nF zwischen TACH und Vcc geholfen.
Roger Rowland
3

Eine mögliche Ursache für das Rauschen im TACH-Signal kann sein, dass der IRF150-FET eine nicht ausreichend niedrige EIN-Impedanz aufweist. Dies könnte daran liegen, dass der FET RdsON ziemlich hoch ist oder der FET bei der bereitgestellten Gate-Ansteuerspannung nicht vollständig eingeschaltet ist.

Wenn der FAN-Strom mit dem PWM-Signal ein- und ausgeschaltet wird, fällt der FET-Widerstand ab. Dies führt dazu, dass die "GND" -Referenz des Lüfters nach oben und unten stößt und sich in das Rauschen des TACH-Signals niederschlägt.

Sie können dies überprüfen, um festzustellen, ob der von mir beschriebene Effekt der Fall ist, indem Sie das GND-Kabel des Oszilloskops an den FET-Drain anschließen und dann das TACH-Signal betrachten. Das Signal würde viel sauberer aussehen.

Die Lösung wäre, einen FET mit viel niedrigerem RdsON auszuwählen, wenn dieser mit einem von Ihrem System bereitgestellten Gate-Treiber geliefert wird.

Eine andere mögliche Idee besteht darin, einen P-FET zu verwenden, um die +12 V-Leitung des Lüfters anstelle der GND-Leitung zu schalten.

Beachten Sie, dass die von Ihnen verwendete Gate-Widerstands-Anordnung dazu führt, dass Sie einen Teil Ihres potenziellen Gate-Treibers verlieren. Bewegen Sie den 1K-Widerstand auf die andere Seite des 100 Ohm.

Michael Karas
quelle
Danke Michael, ich weiß deinen Rat sehr zu schätzen. Ich habe jetzt den Q2 vollständig ausgehakt und den Lüfter direkt geerdet, aber ich sehe immer noch das gleiche TACH-Geräusch bei allen Werten unter 100% PWM. Guter Punkt zur Platzierung des 1K-Widerstands!
Roger Rowland
3

Das klingt nach einem Job für einen Tiefpassfilter. Sie müssen das Nutzsignal mit f 1 um 1 kHz halten und das störende Signal mit f 2 um 25 kHz entfernen . Die Grenzfrequenz kann als geometrisches Mittel von f gewählt werden 1 und f 2 gewählt werden (suboptimal, aber einfach):

f c = sqrt (1 × 25) = 5 kHz.

Unter der Annahme, dass ein einfaches RC-Filter ausreicht und Sie bereits den Widerstand in der TACH-Schaltung haben (R 3 = 10 kOhm), sollte der entsprechende Kondensatorwert berechnet werden, um dem 5-kHz- Zeitaufwand zu entsprechen :

Bildbeschreibung hier eingeben

C = 1 / (2 · pi · fc · R) = 1 / (6,28 · 5000 · 10000) = 3,2 · 10 & supmin; & sup9; F.

Sie müssen also lediglich einen 3nF-Kondensator zwischen der TACH-Leitung und der Masse anlöten. Das Hochfrequenzrauschen wird um den Faktor 20 oder mehr gedämpft, was für Ihre Anwendung ausreichend sein sollte.

Dmitry Grigoryev
quelle
Danke, das ähnelt dem, was @techydude vorgeschlagen hat (obwohl Ihre Berechnung offensichtlich besser ist als eine Schätzung), aber wissen Sie, warum ich mit der Obergrenze zwischen TACH und 5V eine bessere Rauschunterdrückung finde als mit TACH und GND? Beeinflusst diese Wahl, wo das Rauschen unterdrückt wird (dh auf dem hohen Teil des Impulses oder dem niedrigen Teil), oder sollte sie es gleichermaßen unterdrücken?
Roger Rowland
Die Tatsache, dass eine Obergrenze zwischen TACH und 5V besser funktioniert als eine Obergrenze zwischen TACH und GND, überrascht mich. Normalerweise sollten Sie den Filter an den Spannungspegel anschließen, der als Referenz in Ihrem System verwendet wird, und in 99% der Fälle ist es GND. Außerdem sind VCC und GND über eine Spannungsquelle mit einem Innenwiderstand nahe Null (im Vergleich zu einem 10-k-Widerstand) verbunden, sodass dies eigentlich keine Rolle spielen sollte.
Dmitry Grigoryev
Bei näherer Betrachtung des Schaltplans liegt das vermutlich daran, dass Ihr Eingang Open-Drain ist, was Rauschen mit asymmetrischen Kanten erzeugt (schnelle Stürze und geglättete Anstiege). Wenn Sie das Schema aus @Asmildofs Antwort verwenden, wird das Rauschsignal nicht in der Mitte, sondern am Eingang des RC-Filters angelegt und sollte für alle Arten von Rauschen wie erwartet funktionieren.
Dmitry Grigoryev
Danke @Dmitry, das von Ihnen beschriebene asymmetrische Rauschen scheint mit meiner gezoomten Kurve übereinzustimmen, sodass es für mich Sinn macht. Ich werde noch ein bisschen an der Strecke arbeiten, basierend auf all den guten Ratschlägen, die ich hier erhalten habe. Ihre Eingabe wird sehr geschätzt.
Roger Rowland