Ü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:
- Ändern Sie die Vorspannung
- Ändern Sie die Spannungspegel
- Fügen Sie "langsame" Hysterese hinzu
- 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:
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:
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:
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.