Wie sinnvoll ist es, nur 1% Widerstände zu verwenden und den Fehler zu kalibrieren?

9

Im Moment verwende ich 0,1% Widerstände, um eine genaue Spannungsmessung über einen Spannungsteiler zu erhalten. Die Kosten sind jedoch hoch, daher habe ich darüber nachgedacht, 0,5% oder 1% Widerstände zu verwenden und den Fehler in der Software mithilfe einer Präzisionsspannungsreferenz während der Produktion zu kalibrieren. Hat jemand dies erfolgreich gemacht? Auf welche Fallstricke könnte ich stoßen?

Thomas O.
quelle
Auf welche Produktionswerkzeuge haben Sie Zugriff? Können Sie so etwas wie einen Nagelbett-Programmierer / Tester bekommen / bauen?
Kevin Vermeer
@reemrevnivek - Derzeit nicht. Mein Leiterplattenhersteller testet jede Platine per E-Mail, es kann jedoch nicht garantiert werden, dass das Löten funktioniert.
Thomas O
Vor 40 Jahren war dies bei Durchgangsbohrungen ziemlich üblich, wo ich arbeitete (Industrieelektronik). Der zu wählende Widerstand befindet sich an den Turmanschlüssen, sodass er später leicht hinzugefügt werden kann. Auf einem SMT-Board ist es kaum vorstellbar, dass es kostengünstig ist.
Mattman944

Antworten:

6

Sie haben also:

          R_x         R_fixed
Vcc -----^v^v^----+----^v^v^------- Gnd
                  |
                  |
                  +--- V_sensed --- ADC input

Rx ist ein unbekannter Widerstand (wahrscheinlich ein Sensor). Und Sie verwenden R_fixed derzeit bei 0,1%, um R_x effektiv zu berechnen, möchten jedoch einen günstigeren Festwiderstand mit einer geringeren Toleranz von möglicherweise 1% verwenden. Dabei möchten Sie während der Produktion eine Art Kalibrierung durchführen, um den erhöhten Fehler zu korrigieren. Ist das richtig?

Die Art und Weise, wie Sie dies tun, besteht darin, ein Byte in das EEPROM (oder einen anderen nichtflüchtigen Speicher) zu legen, das als "Offset" in Ihrer Berechnung fungiert, und dies ist eine durchaus praktikable Sache. Die Sache ist, dass es Sie einige Zeit während der Produktion kosten wird, die Kalibrierungsaktivität durchzuführen. Um die Kalibrierung durchzuführen, benötigen Sie einen dieser 0,1% -Widerstände (nennen Sie es R_cal) mit einem nominell vergleichbaren Wert wie Ihr 1% -Widerstand, um R_x in die Schaltung zu ersetzen. Wenn Sie V_sensed messen, können Sie den Wert von R_fixed genauer ableiten (dh auf etwa 0,2%).

Wenn R_cal und R_fixed nominell der gleiche Wert sind, würden Sie erwarten, dass V_sensed gleich Vcc / 2 ist. Sie würden die gemessene Abweichung von Vcc / 2 als Kalibrierungsversatzbyte speichern und sie immer zu V_sensed hinzufügen, wie von Ihrem ADC wahrgenommen.

Die Gefahr besteht meines Erachtens darin, dass die Durchführung der Messung und die anschließende Speicherung des Werts eine Menge Arbeit erfordern. Eine andere Sache, die als Fallstricke betrachtet werden sollte, ist, dass die Temperatur eine Rolle dabei spielen kann, dass ein Widerstand vom Nennwert abweicht. Daher möchten Sie eine einigermaßen gut temperaturgesteuerte Kalibrierungsumgebung. Vergessen Sie nicht, kalibrierte Messgeräte zu verwenden, da dies eine weitere mögliche Quelle für additive Fehler ist. Eine letzte Gefahr, die ich mir vorstellen kann, ist, dass das Kalibrierungsbyte in Einheiten des lsb Ihres ADC gespeichert werden sollte (wenn Sie also einen 12-Bit-ADC haben, sollten die Einheiten des Kalibrierungsoffsetbytes "Vcc / 2 ^ 12 Volt" sein). .

Bearbeiten

Wenn Sie zwei Festwiderstände verwenden, um eine große Spannung wie folgt auf eine niedrigere Skala aufzuteilen:

        R1_fixed       R2_fixed
V_in -----^v^v^----+----^v^v^------- Gnd
                   |
                   |
                   +--- V_sensed --- ADC input

Überarbeiteter Abschnitt

Nun möchten Sie eine Präzisionsspannungsreferenz (V_cal) verwenden, um V_in während eines Kalibrierungsschritts in der Produktion zu stimulieren. Was Sie dort haben, ist theoretisch:

V_sensed = V_predicted = V_cal * R2_fixed / (R1_fixed + R2_fixed) = V_cal * slope_fixed

Aber was Sie in Wirklichkeit haben, ist:

V_sensed = V_measured = V_cal * R2_actual / (R1_actual + R2_actual) = V_cal * slope_actual

Tatsächlich haben Sie in der Realität eine andere Steigung der Übertragungsfunktion als anhand der Widerstandswerte vorhergesagt. Die Abweichung von der vorhergesagten Teilerübertragungsfunktion ist in Bezug auf die Eingangsspannung linear, und Sie können davon ausgehen, dass 0 V Eingang 0 V Ausgang ergibt. Wenn Sie also eine präzise Spannungsreferenzmessung durchführen, sollten Sie genügend Informationen erhalten, um diesen linearen Skalierungsfaktor zu charakterisieren . Nämlich:

V_measured / V_predicted = slope_fixed / slope_actual 
slope_actual = slope_fixed * V_measured / V_predicted

Und Sie würden Steigung_Aktual als Ihren kalibrierten Wert verwenden, um die Spannung in Abhängigkeit von der gemessenen Spannung zu bestimmen.

unten mit freundlicher Genehmigung von @markrages

Um die tatsächliche Steigungsempfindlichkeit gegenüber Widerstandswerten zu erhalten, ist eine teilweise Differenzierung erforderlich:

Alt-Text

vicatcu
quelle
Ich möchte 1% für beide Teilerwiderstände verwenden. Ich benutze einen Spannungsteiler, um bis zu 40V Signale zu lesen. Gilt das, was Sie sagen, noch? Und ich werde mich nach einer präzisen Spannungsreferenz umsehen, obwohl ± 0,05% wahrscheinlich in Ordnung sind, und Sie können DIP-ICs bekommen, die das tun.
Thomas O
@Thomas OK, ich habe Ihre Frage falsch verstanden ... Sie verwenden einen Spannungsteiler, um eine große Spannung abzusenken, nicht um einen unbekannten Widerstand zu messen ... Ich werde meine Antwort entsprechend ändern.
Vicatcu
Ich bin mir nicht sicher, ob der Fehler nicht linear ist, und ignoriere vorerst die Widerstandsheizung. Es sollte ein fester linearer Faktor für jeden Teiler sein (es gibt vier auf der Platine), da der Teiler nur durch einen festen Betrag dividiert. Bei Null Volt sollte der ADC Null Volt plus den Offset-Fehler messen, der dazu führen kann, dass er einen Zählerstand liest, sodass ich mir keine Sorgen um den Offset machen muss ... Es sei denn, ich vermisse etwas?
Thomas O
Entschuldigung, nichtlinear war im Nachhinein wahrscheinlich der falsche Begriff. Was Sie durch die Kalibrierung effektiv erhalten, ist ein Skalierungsfaktor, richtig? Die Abweichung von der vorhergesagten wird in Bezug auf die Eingangsspannung linear sein. Bei einem "vorhergesagten V basierend auf der Messung" muss das tatsächliche V mit einem Faktor multipliziert werden. Was würde sein , nicht-linear ist der Fehler in der Annahme , es war eine Offset - Spannung.
Vicatcu
5

Für mich wird es schwierig, aber nicht unmöglich sein.

  • Normalerweise haben 0,1% Nennwiderstände niedrigere TC = Temperaturkoeffizienten, sind unempfindlicher gegen Feuchtigkeit, Löten (Thermoschock), haben mit der Zeit eine geringere Drift, als 1% Nennwiderstände. Daher sollten viele Quellen für Widerstandsänderungen in Betracht gezogen werden.
  • Bei 40 V kann der Selbsterwärmungseffekt sinnvoll sein, daher sollten Widerstände mit der richtigen Nennleistung verwendet werden.
  • Es gibt 1% -Widerstände guter Qualität mit einem TC <20 ppm / Grad und einem ähnlichen TC von Widerstand zu Widerstand (+ - 10 ppm Differenz), dies gilt jedoch für den gleichen Typ, den gleichen Nennwert und die gleichen Leistungswiderstände. Die ordnungsgemäße Verwendung dieser Widerstände im Spannungsteiler hebt den Einfluss des durchschnittlichen TC auf. Nur der Unterschied im TC hat Einfluss auf die Ausgangsspannung. So ist es möglich, Präzisionsteiler mit Widerständen des gleichen Wertes zu erhalten.
  • Widerstände mit unterschiedlichen Nennwerten können unterschiedlichere TC haben. Und die Selbsterhitzung hat einen anderen Einfluss - mehr Verlustleistung am Widerstand mit höherem Widerstand erwärmt ihn stärker und ändert den Widerstand.
    Schlussfolgerung: Wenn Sie in der Produktion viele Widerstände verwenden (lange Serien derselben Platine / Teiler) und die Kosten für Widerstände sinnvoll sind, können Sie einen Austausch in Betracht ziehen. Ansonsten lohnt es sich höchstwahrscheinlich nicht.
czgut
quelle
4

Dieser Ansatz funktioniert gut von 5% bis 1%. Ich vermute, dass Ihre Genauigkeit von 1% auf 0,1% durch Temperaturschwankungen, die den Widerstand und damit die Spannung verändern, beeinträchtigt wird.

Wenn Sie aus einem unbekannten Grund in einer isothermen Umgebung arbeiten und Ihre Widerstände alle mit konstantem Strom betrieben werden, ist eine Selbsterwärmung vorhersehbar und dennoch möglich.

pingswept
quelle
Ich nehme an, dass die Temperatur einen typischen Widerstand von ± 100 ppm / ° C um -0,4% bis + 0,7% (oder umgekehrt) über den Betriebsbereich von -40 ° C bis + 70 ° C meines Geräts beeinflussen kann. Bei Bedarf könnte ich das auch kalibrieren. Es ist wahrscheinlicher, dass es hohen Temperaturen ausgesetzt wird, und ich kann das Board aufheizen, um dies zu testen.
Thomas O
3
Manchmal kann man bei cleverem Design die Widerstandstemperaturen aufheben. Wenn Sie solche Widerstandspaare in Ihrem Design identifizieren, platzieren Sie sie im Layout nebeneinander, um die Wärmekopplung zu maximieren. Oder verwenden Sie sogar Widerstandsarrays.
Markrages
@markrages, Wenn beide Widerstände + 100 ppm / ° C sind, minimiert dies den Fehler, da beide um den gleichen Bruchteil ausfallen? Unter der Annahme, dass beide Widerstände gleich stark driften, sollte sich der Ausgang theoretisch nicht ändern. In der Praxis würde dies wahrscheinlich der Fall sein, zumal die Spannungsreferenz (LM4040) selbst driften kann.
Thomas O
@Thomas. Ja, das ist die Idee. Mal sehen, der LM4040 behauptet 100ppm / C Worst-Case, 15ppm typisch bei 1mA oder weniger. Die typische Temperaturreaktion ist im Datenblatt dargestellt und sieht nicht nach etwas aus, das leicht aufgehoben werden könnte. Ich denke, Sie könnten einen NTC-Thermistor darauf kleben und ihn "ofenisieren", um ihn auf einer konstanten (erhöhten) Temperatur zu halten, aber nicht, wenn Sie ein Strombudget haben.
Markrages
4

Sie können kalibrieren:

  • Fertigungstoleranz [2] [3], (+/- 1 *%) = kann kalibriert werden
  • Lötwärme [2] [3], Widerstandsänderung durch Löten (+/- 0,2 * bis 1%) = kann kalibriert werden

Vergessen Sie aber nicht alle anderen Toleranzen:

  • TCR [2] [3], Temperaturkoeffizientenwiderstand (+/- 50 bis 100 * ppm / C)
  • Videorecorder [2], Spannungskoeffizientenwiderstand (+/- 25 * ppm / V)
  • Umweltfaktoren, Widerstandsänderung während der Lebensdauer (<= + / - 3% * bei 155 ° C, 225 000 h) [2] [3] [4]

* Beachten Sie, dass alle Werte zwischen Widerstandsmarken und Produkten unterschiedlich sein können.

[1] https://www.vishay.com/docs/28809/driftcalculation.pdf

[2] https://www.digikey.se/sv/ptm/v/vishay-beyschlag/mm-hv-high-voltage-thin-film-melf-resistors/tutorial

[3] https://industrial.panasonic.com/cdbs/www-data/pdf/RDA0000/AOA0000C304.pdf

[4] MIL-STD R-10509

Warpi
quelle