FSR-Linearisierung bei Verwendung von adc

Ich verwende den kraftempfindlichen Sensor (FSR) von Interlinks 30-49649, der FSR-Widerstand nimmt ab, wenn die ausgeübte Kraft zunimmt.

Das FSR-Datenblatt enthält die folgende Grafik.
Geben Sie hier die Bildbeschreibung ein

Wenn Sie sich das Diagramm ansehen, wäre ein 10K-Widerstand für RM die beste Option, da die Verwendung anderer Widerstände zeigt, dass es keine großen Spannungsschwankungen gibt.

Unten sehen Sie die Variation des FSR-Widerstands mit der Kraft.

Diagramm, das die Widerstandsvariation zeigt

Meine Frage lautet nun: Der Ausgang geht in einen 10-Bit-ADC, und ich glaube, dass dieses Signal im ADC kein gutes Ergebnis liefern würde, da die Variation immer noch gering ist und eine Linearisierung des Signals möglicherweise eine bessere Auflösung und Genauigkeit ergibt. Aber ich habe auch gelesen, dass die Linearisierung des Signals bei Verwendung eines ADC nutzlos ist, daher ist eine Verstärkung ein Muss, aber wie wirkt sich die Linearisierung auf den Sensor aus?

Es hängt stark davon ab, welchen Bereich Sie messen möchten. 1000g sind eine Menge Kraft! Die Verwendung eines 100-K-Widerstands ergibt einen Unterschied von 0-3 V für 0-200 g, was immer noch enorm ist.
Was ich weiß ist, dass ich die volle Bandbreite brauche, ich stimme zu, dass 1000 g viel sind, aber das ist, was der Kunde will, mein Problem ist, dass der Kunde die Auflösung und Genauigkeit nicht spezifiziert hat, er weiß nicht viel über Sensoren, also diese Details sind ihm egal, aber ich möchte die beste Auflösung und Genauigkeit geben, die ich vom Sensor haben kann.
Sie müssten eine Übertragungsfunktion dieses FSR kennen, dann können Sie den geeigneten Widerstand und die inverse Übertragungsfunktion berechnen.
Das ist nicht "g" wie in der Schwerkraft für die Beschleunigung. Das ist "g" wie in Gramm. Also, das ist bis zu einem 1kg. Das nenne ich nicht viel Kraft.
Wenn ich damit herumspielen würde, würde ich wahrscheinlich die 3k verwenden und eine Referenzspannung von etwas mehr als 2 V für den ADC verwenden. Dadurch erhalten Sie über den größten Teil des Bereichs eine nahezu lineare Reaktion und nutzen den ADC-Eingangsbereich maximal aus.
Es scheint eine logarithmische Linearisierung zu gelten. Könnte mit einer Diode gemacht werden. Der Temperaturkoeffizient sowohl der Diode als auch des Sensors wird dann wichtig.

Antworten (2)

Sie können möglicherweise nicht tun, was Sie wollen. Wenn der Sensor nur ein Bein eines Widerstandsteilers ist, erhalten Sie die maximale Auflösung, wenn der Sensor den gleichen Widerstand wie der andere Widerstand des Teilers hat. Ein solcher Aufbau kann den Bereich von 0 bis unendlich des Testwiderstands bewältigen, aber die Messauflösung fällt mit dem Verhältnis zwischen den beiden Widerständen ab.

Um zu entscheiden, ob das Setup gut genug ist, müssen Sie zuerst entscheiden, welchen Widerstandsbereich der Sensor während des bestimmungsgemäßen Betriebs haben wird. Dann müssen Sie entscheiden, mit welcher Auflösung Sie den Widerstand messen möchten.

Sie möchten, dass der feste Widerstand des Teilers so ist, dass er an beiden Enden des Bereichs das gleiche Verhältnis hat. Angenommen, Sie interessieren sich für Widerstände von 1,2 kΩ bis 340 kΩ. Das ist ein Verhältnis von 283. Der Mittelpunkt im Verhältnisraum ist die Quadratwurzel davon von beiden Enden. Das ist 16,8. Der Mittelpunkt ist dann (1,2 kΩ)16,8 = 20,2 kΩ. Sie sollten dasselbe erhalten, wenn Sie das Mittelpunktverhältnis vom oberen Ende anwenden: (340 kΩ)/16,8 = 20,2 kΩ.

Um die Worst-Case-Lösung zu finden, rechnen Sie nach. Berechnen Sie die Spannung in den A/D für beide Extreme. Arbeiten Sie dann rückwärts, um zu sehen, welcher Widerstand eine A/D-Zählung mehr zur Mitte hin ergeben würde.

Mit dem obigen Beispiel haben Sie einen Pullup von 20,2 kΩ und den Testwiderstand auf Masse. Bei 1,2 kΩ beträgt die Ausgangsspannung des Teilers 0,0561 der Referenz. Angenommen, Sie verwenden einen 12-Bit-A/D. Der A/D-Ausgang ist 230. Sie haben daher eine Auflösung von 1 Teil in 230 oder nicht ganz 8 Bit an den Enden Ihres Bereichs.

Das ist die Auflösung, mit der Sie den Widerstand messen können. Arbeiten Sie das jetzt zurück, um zu sehen, welches Druckdelta das sowohl am unteren als auch am oberen Ende des Bereichs darstellt.

Wenn dies nicht akzeptabel ist, müssen Sie etwas anderes tun. Beispielsweise könnten Sie einen A/D mit höherer Auflösung oder eine insgesamt andere Topologie verwenden.

Warum hast du die Quadratwurzel des Verhältnisses gezogen, um den Mittelpunkt zu finden? Liegt es daran, dass die Änderung des Widerstandsteilerverhältnisses logarithmisch ist?
@LL: Um das Verhältnis von der Mitte zu beiden Enden gleich zu halten. Das minimiert den Worst-Case-Fehler.
Ich habe diesen Teil verstanden, ich meinte, was ist die Mathematik dahinter? Warum ist die Quadratwurzel der Mittelpunkt im Bereich?
@LL: Wenn das Vielfache vom unteren Ende bis zum Mittelpunkt das gleiche ist wie vom Mittelpunkt bis zum oberen Ende, dann bringt Sie das zweimalige Anwenden des Vielfachen (das Quadrat) vom niedrigen zum hohen. Daher ist dieses Vielfache die Quadratwurzel des Verhältnisses von hoch zu niedrig.

Sie können diesen High-End-Mehrbereichs-ADC verwenden:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Der linke ist die billige Version, der rechte ist die "Luxus"-Version, also werde ich mich dafür entscheiden.

  • Setzen Sie den Ausgang auf logisch 1. Dadurch wird der Kondensator aufgeladen.
  • Spannung erfassen. Dies ergibt eine genaue Messung, wenn der FSR-Widerstand niedrig ist, und eine ungenaue Messung, wenn der FSR einen hohen Widerstand hat.
  • Stellen Sie den Ausgangsstift auf High-Z
  • Erfassen Sie die Spannung alle 5 µs, dann können Sie nach den ersten Erfassungen langsamer vorgehen, z. B. Zweierpotenzen, 5, 10, 20 µs usw
  • Stoppen Sie, wenn die Spannung nahe bei VCC/2 liegt

Nehmen wir an, der ADC-Wert war zu Beginn A = 1,000 und nach 4 ms ist er A = 0,470 ...

A = e T / R C

R = T C l N A = 53000 Ω

Die Genauigkeit hängt von der Uhr des Mikrocontrollers ab (gut, dass ein Quarzoszillator Erdnüsse kostet und Sie sowieso schon einen haben) und die RC-Entladung wirkt wie eine Lupe, die es ermöglicht, hohe Widerstandswerte genau zu messen.

Die Kappe sollte von guter Qualität sein, wie C0G.

Es gibt viele ähnliche billige Tricks, um einen Mikrocontroller-ADC zu verwenden. Sie können dies beispielsweise erweitern, indem Sie eine Wechselspannung an Ihrem Widerstand verwenden (einfach eine Rechteckwelle an einem Pin ausgeben), diese dann mit einem Tiefpassfilter (dh einer Kappe) filtern und durch Variieren der Frequenz die Stärke variieren das zu messende Signal. Verstärken Sie es mit einem Operationsverstärker, der eine feste Verstärkung haben kann und nicht übersteuert, da Sie die Signalamplitude steuern, und erfassen Sie es dann. Dadurch werden auch DC-Offsets und andere Ärgernisse beseitigt.

Es gibt auch diesen:

schematisch

Simulieren Sie diese Schaltung

Stellen Sie den gewünschten Pin auf Ausgangslogik 1 und die anderen auf High-Z, und Sie können den oberen Widerstand in Ihrem Teiler auswählen, wodurch Sie mehrere Bereiche erhalten. Beachten Sie den Ausgangswiderstand des Pins, der 30 Ohm nicht unterschreiten wird und temperaturabhängig ist. Aber wenn Sie Ihren Sensor mit bekannten Gewichten kalibrieren, ist das erledigt.