Haftungsausschluss: Ich bin neu bei EE. Alles, was ich bisher gelernt habe, habe ich mir selbst beigebracht, indem ich online gelesen und Fragen wie diese gestellt habe, während ich an diesem Projekt gearbeitet habe. Ich entschuldige mich, wenn ich mein Problem schlecht erkläre, da mir wahrscheinlich das technische Wissen fehlt, um dies richtig zu tun.
Ich versuche, zwei Durchflussmesser über den Mikrofonanschluss eines Telefons / Tablets abzulesen. Die Impulsstifte der Durchflussmesser schalten zwischen + 0 V und + 5 V um, wenn sich ihre Windräder drehen.
Ich verwende das folgende Schema, um die Signale der beiden Durchflussmesser zu mischen und über einen Mikrofonanschluss zu senden:
Ich mische die beiden Impulspins mit einem R-2R zusammen. Auf diese Weise kann ich auf Spannungsänderungen achten und anhand der Größe der Spannungsänderung feststellen, welcher der beiden Durchflussmesser seinen Zustand geändert hat. Wenn ich beispielsweise eine Spannungsänderung von 2,5 V sehe, weiß ich, dass der Durchflussmesser 1 eingeschaltet ist. Wenn ich eine Spannungsänderung von -1,25 V sehe, weiß ich, dass der Durchflussmesser 2 ausgeschaltet ist. Ich benutze dann einen Spannungsteiler, um die Spannung innerhalb des Spannungsbereichs der Soundkarte abzusenken.
Die Soundkarte ist wechselstromgekoppelt und wandelt die Spannungsänderungen mit einer Formel wie einer in eine Amplitudenänderung um amplitude change = (voltage change)/(voltage range)
. Die Wechselstromkopplung zieht die Amplitude ebenfalls langsam auf 0 zurück. Wenn meine PC-Soundkarte einen Spannungsbereich von 2 V hat und die Durchflussmesser eine Spannungsänderung von -1,5 V verursachen, lese ich über den Mikrofonanschluss eine Amplitudenänderung von-1.5V/2V = -0.75
. Mein Algorithmus erkennt diese Amplitudenänderung und ermittelt anhand einiger Schwellenwerte, ob sie durch den Durchflussmesser 1 oder 2 verursacht wurde. Dies ist in den folgenden Screenshots meines Java-Programms zu sehen, das auf meinem PC ausgeführt wird:
Vom PC-Mikrofonanschluss gelesenes Rohsignal :
(Quelle: awesomebox.net )
Programm, das erkannte Statusänderungen des Durchflussmessers hervorhebt:
Wie Sie sehen können, erkennt das Programm erfolgreich Statusänderungen des Durchflussmessers. kleinere Amplitudenänderungen werden durch den Durchflussmesser 1 verursacht und größere Amplitudenänderungen werden durch den Durchflussmesser 2 verursacht.
Die Probleme beginnen, wenn dasselbe Signal an mein Galaxy Note 8 Android-Tablet gesendet wird. So sieht das Signal aus, wenn es über den Mikrofonanschluss des Tablets gelesen wird:
(Quelle: awesomebox.net )
Beachten Sie, dass alle oben gezeigten Amplitudenänderungen durch dieselbe Spannungsänderung verursacht werden (alle Zustandsänderungen stammen vom selben Durchflussmesser). Solo oder seltene Spannungsänderungen erscheinen als sehr kleine Amplitudenänderungen, während eng gruppierte Spannungsänderungen (gleicher Größe) als größere Amplitudenänderungen und näher an dem erscheinen, was ich erwarten würde. Je näher eine Spannungsänderung an anderen Spannungsänderungen liegt, desto größer scheint die Amplitudenänderung zu sein, die sie erzeugt.
Hier ist, was ich vom Mikrofonanschluss meines PCs lese und was ich erwarte. Beachten Sie, dass alle Amplitudenänderungen ungefähr gleich groß sind:
(Quelle: awesomebox.net )
Erwartet: Eine Spannungsänderung von 1,5 V oder -1,5 V sollte immer eine Amplitudenänderung von 0,75 oder -0,75 verursachen.
Tatsächlich: Eine einzelne Spannungsänderung von 1,5 V oder -1,5 V bewirkt eine Amplitudenänderung von 0,1 oder -0,1. Eine Reihe von 10 Spannungsänderungen von 1,5 V und -1,5 V in kurzer Zeit verursacht Amplitudenänderungen von 0,75 und -0,75.
Diese Inkonsistenz macht es meinem Algorithmus unmöglich zu identifizieren, durch welchen Durchflussmesser eine Amplitudenänderung verursacht wurde. Warum verursachen diese einzelnen Spannungsänderungen so kleine Amplitudenänderungen? Gibt es eine Möglichkeit, die Amplitudenänderungen immer mit den Spannungsänderungen in Einklang zu bringen?
Anstatt dass das Signal langsam auf 0 zurückfällt, wie ich es von der Wechselstromkopplung erwarten würde (und in dem über den Audioanschluss meines PCs gelesenen Signal zu sehen ist), scheint es sofort auf 0 zurückzufallen und einige Male zu schwingen, bevor es sich schließlich wieder auf 0 einstellt 0. Die Schwingung fügt dem Signal viel Rauschen hinzu und macht es schwierig zu bestimmen, ob eine Amplitudenänderung durch eine Spannungsänderung verursacht wurde oder einfach eine Schwingung vom Zurücksetzen auf 0 ist . Gibt es eine Möglichkeit, diese Schwingungen zu beseitigen?
Entschuldigung für den kurzen Roman und vielen Dank für jeden Rat,
- Mike