¿Qué tan viable es usar solo resistencias al 1% y calibrar el error?

8

Actualmente, utilizo resistencias de 0.1% para obtener una medición de voltaje precisa a través de un divisor de voltaje. Sin embargo, el costo es alto, por lo que estaba pensando en usar resistencias de 0.5% o 1% y calibrar el error en el software usando una referencia de voltaje de precisión durante la producción. ¿Alguien ha hecho esto exitosamente? ¿Qué trampas puedo encontrar?

    
pregunta Thomas O

3 respuestas

5

Así que tienes:

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

Rx es una resistencia desconocida (probablemente un sensor de algún tipo). Y ahora estás usando R_fixed al 0.1% para calcular efectivamente R_x, pero quieres usar una resistencia fija más barata con una tolerancia más baja de quizás 1%. Al hacerlo, desea realizar algún tipo de calibración durante la producción para corregir el error incrementado, ¿no es así?

La forma en que terminas haciendo esto es poniendo un byte en EEPROM (o alguna otra memoria no volátil) que actúa como un "desplazamiento" en tu cálculo, y es una cosa perfectamente viable de hacer. La cosa es que le costará algún tiempo durante la producción hacer la actividad de calibración. Para realizar la calibración, necesitará uno de esos 0,1% de resistencias (llámelo R_cal) de valor nominal comparable a su 1% de resistencia para sustituir a R_x en el circuito. Midiendo V_sensed, puede inferir con mayor precisión el valor de R_fixed (es decir, a algo como 0.2%).

Si R_cal y R_fixed son nominalmente el mismo valor, usted esperaría que V_sensed sea igual a Vcc / 2. Almacenaría la desviación medida de Vcc / 2 como un byte de compensación de calibración, y siempre lo agregará a V_sensed como lo percibe su ADC.

El error, como lo veo, es que hay un montón de trabajo involucrado en hacer la medición y, posteriormente, en almacenar el valor. Otra cosa que se debe considerar como una trampa es que la temperatura puede jugar un papel en la resistencia a desviarse de su valor nominal, por lo que querrá un entorno de calibración razonablemente bien controlado por temperatura. Por último, no olvide utilizar equipos de medición calibrados, ya que esa es otra fuente potencial de error aditivo. Una última dificultad que se me ocurre es que el byte de calibración debe almacenarse en unidades del lsb de su ADC (por lo tanto, si tiene un ADC de 12 bits, las unidades de byte de compensación de calibración deben ser "Vcc / 2 ^ 12 Voltios") .

Editar

Si está utilizando dos resistencias fijas para dividir un voltaje grande a una escala más baja de la siguiente manera:

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

Sección reeditada

Entonces, ahora desea utilizar una referencia de voltaje de precisión (llámela V_cal) para estimular V_in durante un paso de calibración en producción. Lo que tienes allí es en teoría:

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

Pero lo que tienes en realidad es:

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

En efecto, en realidad tiene una pendiente de función de transferencia diferente a la que pronosticaría a partir de los valores de resistencia. La desviación de la función de transferencia de divisor predicha será lineal con respecto al voltaje de entrada, y puede asumir con seguridad que 0V le dará 0V fuera, por lo que realizar una medición de referencia de voltaje de precisión le dará suficiente información para caracterizar este factor de escala lineal . A saber:

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

Y usaría slope_actual como su valor calibrado para determinar el voltaje en función del voltaje medido.

debajo de la cortesía de @markrages

Para obtener la sensibilidad real de la pendiente a los valores de la resistencia se requiere una diferenciación parcial:

    
respondido por el vicatcu
3

Ese enfoque funciona bien al pasar del 5% al 1%. Al pasar del 1% al 0.1%, sospecho que comenzarás a arruinar tu precisión debido a las fluctuaciones de temperatura que cambian la resistencia y, por lo tanto, el voltaje.

Si, por alguna razón desconocida, está operando en un entorno isotérmico y sus resistores son todos de corriente constante, por lo que el autocalentamiento es predecible, aún es viable.

    
respondido por el pingswept
3

Por mí, será difícil, pero no imposible.

  • Por lo general, los resistores con una clasificación del 0,1% tienen menores TC = coeficientes de temperatura, son más inmunes a la humedad, la soldadura (choque térmico), tienen una menor desviación con el tiempo, ... que las resistencias con un 1%. Por lo tanto, deben considerarse muchas fuentes de cambio de resistencia.
  • A un nivel de 40 V, el efecto de autocalentamiento puede ser significativo, por lo tanto, se deben usar resistencias con una potencia nominal adecuada.
  • hay resistencias de 1% de buena calidad, con TC < 20ppm / deg, y TC similar de resistencia a resistencia (+ - diferencia de 10ppm) pero esto es cierto para el mismo tipo, valor nominal y resistencias de potencia. El uso adecuado de este tipo de resistencias en divisor de voltaje cancelará la influencia del TC promedio. Sólo la diferencia en TC tendrá influencia en el voltaje de salida. Por lo tanto, es posible obtener divisores de precisión, utilizando resistencias del mismo valor.
  • Los resistores de diferentes valores nominales pueden tener más TC diferente. Y el autocalentamiento tendrá una influencia diferente: más potencia disipada en una resistencia de mayor resistencia lo calentará más y cambiará la resistencia.
    Conclusión: Si está utilizando muchos resistores en producción (series largas de la misma placa / divisor) y el costo de los resistores es significativo, puede considerar el reemplazo. De lo contrario, lo más probable es que no valga la pena.
respondido por el czgut

Lea otras preguntas en las etiquetas