Warum ist die Linearität eines Sensors ein wünschenswertes Merkmal?

Ich meine, ein Sensor kann Eigenschaften wie Y = X ^ 2 haben (X = Eingang, Y = Ausgang). Das heißt, ich kann X leicht finden, wenn ich Y kenne. Warum ist die Linearität so wichtig?

Denn wenn es nicht linear ist, variiert seine Empfindlichkeit und Auflösung mit der Eingangsvariablen
Es war viel wichtiger, als alles analog war. Heutzutage, wenn Sie mit Ihren Daten rechnen oder in eine Nachschlagetabelle interpolieren können, sind lineare Sensoren eine raffinierte Annehmlichkeit, nicht unbedingt eine Notwendigkeit
Wenn Sie die Berechnung in Ihrem Mikrocontroller durchführen müssen, benötigen Sie möglicherweise weniger Taktzyklus, wenn Sie linear sind.

Antworten (4)

Ja, Sie könnten einen Sensor haben, der so reagiert (Y = X ^ 2). Ihr Sensor muss das immer noch zuverlässig tun. Bei einem typischen Sensor ist Y = cX + d, wobei c und d idealerweise Konstanten sind. Aufgrund verschiedener Faktoren sind sie normalerweise keine einfachen Konstanten. Wie nahe c und d wirklich Konstanten sind, wird als Linearität bezeichnet. In Ihrem Beispiel hätten Sie wahrscheinlich so etwas wie Y=(cX+d)^2 , was für jede Menge Spaß sorgen würde.

Linearität wie in "linearer Antwort" ist nicht das Problem. Linearität wie in "die Y-Werte passen genau zur erwarteten linearen Antwort" ist das, was Sie wollen. In Ihrem Beispiel würden Sie sich nicht darum kümmern, ob das a-Diagramm von Y und X eine gerade Linie ist. Sie möchten, dass Ihr Diagramm der erwarteten parabolischen Kurve genau entspricht. Es wird höchstwahrscheinlich nicht perfekt zusammenpassen. Bei einem Sensor mit linearer Reaktion würden Sie sagen, dass die Linearität schlecht ist. Für einen wie Ihren vorgeschlagenen Sensor (Y = X ^ 2) weiß ich nicht, wie Sie ihn nennen würden - vielleicht nur "schlechte Reaktion".

Oft führt dies dazu, dass ein System einfacher zu kalibrieren und zuverlässiger wird – aber auch teurer, da ein besserer Sensor normalerweise teurer bedeutet. Manchmal möchten Sie einen billigeren und weniger linearen Sensor verwenden und dessen Fehler in der Software kompensieren.

"Schlechte Linearität in einem typischen Sensor bedeutet, dass Sie nicht genau sagen können, was X ist, wenn Sie Y kennen" ist einfach nicht wahr. Solange Y eine zunehmende oder abnehmende Funktion von X ist (dh eine horizontale Linie in einem Y-X-Diagramm kann nur einen Punkt auf der Funktion kreuzen), gibt es eine Eins-zu-Eins-Abbildung.
Sie haben Recht, wenn die Reaktion des Sensors bekannt ist (Sie haben eine Zuordnung für alle Punkte). Da die Eingänge jedoch analog sind, haben Sie keine perfekte Eins-zu-Eins-Zuordnung. Außerdem können einige der Effekte (insbesondere Temperatur) dazu führen, dass ein Eingabewert unterschiedliche Ausgabewerte meldet. Außerdem können einige Teile der Kurve so steil sein, dass Sie die Eingabe nicht wirklich auflösen können - Sie erhalten die gleiche Ausgabe für eine Reihe von Eingaben.
Du bist pingelig. Ein Dehnungsmessstreifen ist kein linearer Sensor, und Menschen verwenden jeden Tag einarmige Dehnungsmessstreifen. Gleiches gilt für einen Thermistor und viele andere Sensoren. Sie können die Problemstellen auflisten, auf die Sie achten müssen, aber in vielen Fällen treffen sie einfach nicht zu. Ich verstehe Ihren Punkt mit den analogen Eingängen überhaupt nicht. Ihr Beitrag ist weitgehend richtig, aber mit einem eindeutigen Fehler, der leicht zu beheben ist
Ich glaube, ich verstehe, worauf Sie hinauswollen. Vielleicht habe ich es schlecht formuliert. Was ich meine ist, dass Sie ohne irgendeine Art von Kompensation (Neuzuordnung) nicht genau sagen können, was X von Y ist - Sie können nicht einfach eine lineare Funktion auf Y anwenden und zu X zurückkehren. Später im selben Absatz geht es weiter zu erklären, dass man das kompensieren kann, aber dass eine schlechte Linearität es schwieriger macht.
Du kommst dorthin. Eine schlechte Linearität "kann" in einigen Extremfällen die Kompensation erschweren, aber diese Fälle treten nicht so oft auf, wie Ihre Antwort zu implizieren scheint, insbesondere wenn sich ein Mikrocontroller in der Schleife befindet. Wenn Probleme auftreten, liegt dies normalerweise daran, dass Sie zu wenig Ressourcen haben, um die erforderlichen Berechnungen durchzuführen (oft hungern nach Takten), nicht daran, dass der Sensor zu nichtlinear ist, um mit einfacher Mathematik fertig zu werden.

Viele Sachen verwenden immer noch relativ stromsparende oder billige Mikrocontroller, 8-Bit-Mikros sind nicht verschwunden.

Das Ergebnis ist Folgendes:

  • Mathematik ist teuer (in CPU-Zyklen)
  • Fließkomma- und/oder vorzeichenbehaftete Mathematik ist sogar noch teurer
  • Mathematik führt zu Fehlern / fügt Fehlergrenzen hinzu
  • Die Typkonvertierung kann zu Codierungsfehlern führen
  • Wenn Sie mehr Bits verarbeiten müssen, als Ihre CPU nativ in der Lage ist, wird dies mathematisch gesehen sehr teuer.
  • Wenn Sie dies tun müssen, müssen Sie mathematische Bibliotheken einbeziehen (mehr Code, mehr Speicherplatz, mehr RAM, mehr Speicher).

Wenn Sie sich die Reifen ansehen, durch die eine CPU springen muss (in Maschinenbefehlen, die ausgeführt werden, um eine mathematische Operation zu erreichen), um vorzeichenbehaftete Gleitkommaberechnungen durchzuführen, und die resultierende Ausgabepräzision, könnten Sie entscheiden, dass die Verwendung eines linearen Sensors attraktiver ist Aussicht.

Der größte Teil dieser Art von Mathematik kann tatsächlich INTEGER-Mathematik sein. Tatsächlich sind die Zahlen, die über den ADC eingehen, zunächst ganze Zahlen. Es gibt natürlich quantifizierbare Fehler, wenn Sie dies tun, aber nicht so groß, wie viele denken, wenn sie richtig gemacht werden. Ja, es gibt viele Parameter, um die herum wir optimieren können. Sensorlinearität ist eine, Uhr tickt eine andere und Speicher eine weitere. Jedes Problem wird auf unterschiedliche prinzipielle Bedenken hinweisen, wenn die Zahlen zusammengewürfelt werden.
Scott - stimmt, aber in dem Moment, in dem Sie viel mehr tun, als in einem einfachen Mikro zu addieren, zu subtrahieren oder zu verschieben, sind Sie in "harte Mathematik". Ich fand heraus, dass eine Integer-MOD-Operation mehr als 20 Anweisungen benötigte, um sie abzuschließen, und das Ersetzen durch eine Check-and-Subtract-Schleife führte tatsächlich dazu, dass der Code viel schneller lief.

Viele Überwachungsschaltungen für Sensoren sind rein analog und daher ist die Kompliziertheit, einen gemessenen Wert über ein Quadratwurzelgesetz abzubilden, wirklich nicht trivial. Wenn die Messung digitalisiert wird, ist die Verwendung von Mathematik innerhalb der CPU im Vergleich dazu ziemlich trivial, aber wie gesagt, viele Schaltungen sind rein analog.

Ich kann mir wirklich keinen modernen Sensorchip vorstellen, der keinen ADC und keine digitale Schnittstelle enthält ...
@vladimir wer hat "chip" erwähnt? Es gibt viele Sensoren, die keinen Chip verwenden oder verwenden sollten, wie z. B. Dehnungsmessstreifen, Thermoelemente, RTDs, Beschleunigungsmesser, Mikrofone usw.

Die Linearität minimiert den Einfluss von Unvollkommenheiten später in der Schaltung. Angenommen, es gibt einen kleinen konstanten Rauschpegel, der von einem Vorverstärker eingeführt wird. Wenn Sie die Reaktion Ihres Y 2 -Sensors korrigieren müssen, ist der effektive Rauschpegel ( SNR ) proportional zur Ableitung der Umkehrfunktion, dh

X /∂ Y = d / d XY = 1 / 2 √ Y1 / X .

Bei niedrigen Werten von X tendiert dieses effektive Rauschen gegen unendlich (äquivalent dazu nähert sich das SNR Null). In Wirklichkeit ist es nicht ganz so dramatisch, da die Störungen nicht verschwindend klein sind, aber das Problem ist real: Wo die Ausgangsspannung nur schwach mit dem Messwert korreliert, leidet die maximal erreichbare Genauigkeit.

Sie denken jetzt vielleicht, das Rauschen irgendwie zu filtern, aber es gibt ein weiteres Problem: Die Frequenzfilterung ist im Grunde linear, und um gut zu funktionieren, wird davon ausgegangen , dass das Signal selbst linear geworden ist – um die Physikterminologie zu verwenden, möchten Sie, dass die Filterung mit der Messung pendelt . Dies ist bei einem nichtlinearen Sensor nicht gegeben, wenn Sie beispielsweise ein hochfrequentes Signal in Ihrer X - Größe um einige X 0 haben und das resultierende Y - Signal filtern, erhalten Sie einen konstanten Offset über dem entsprechenden Y 0 -Wert, weil die Quadratische Nichtlinearität "biegt die Störung nach oben".

Wenn Sie jetzt sagen, dann lassen Sie uns zuerst die Nichtlinearität digital korrigieren . Nächstes Problem: Sie können nur diskrete Proben nehmen. PCM-Sampling ist mathematisch sehr gut unter Kontrolle , aber stellen Sie sich vor: Es geht davon aus, dass alles linear ist! Nichtlinearitäten verursachen Aliasing-Artefakte.

Um es zusammenzufassen: Ja, Sie können es irgendwie korrigieren, wenn Sensoren nicht linear sind. Aber jede solche Korrektur bringt neue Probleme mit sich; Wenn zunächst alles linear ist, können Sie am sichersten sein, tatsächlich das gewünschte Signal zu erhalten.

In diesem Zusammenhang können viele Arten von unerwünschten parasitären Effekten entweder als lineare Filter modelliert werden; oder als zeitunabhängige Nichtlinearitäten (harmonische Verzerrung). Jede Kombination von linearen Filtern kann als einzelnes lineares Filter modelliert werden, das mit einer einzigen Funktion parametrisiert ist, die eine reelle auf eine reelle abbildet, und jede Kombination von verketteten Quellen harmonischer Verzerrung kann als eine einzelne Quelle modelliert werden, wobei auch eine reelle auf a abgebildet wird real. Die Kombination der beiden Arten von Effekten ergibt jedoch etwas, das viel schwieriger zu modellieren ist.