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

9

Por el momento, uso 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, así 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é dificultades puedo encontrar?

Thomas O
fuente
¿A qué tipo de herramientas de producción tiene acceso? ¿Puedes obtener / construir algo como un programador / probador de lecho de uñas?
Kevin Vermeer
@reemrevnivek - Actualmente no. El fabricante de mi PCB realiza una prueba electrónica de cada placa, pero no está garantizado que la soldadura funcione.
Thomas O
Hace 40 años en tableros pasantes, esto era bastante común donde trabajaba (electrónica industrial). La resistencia que se seleccionaría estaría en los terminales de la torreta, por lo que podría agregarse fácilmente más tarde. En un tablero SMT, es difícil imaginar que sería rentable.
Mattman944

Respuestas:

6

Entonces 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 está usando R_fixed al 0.1% en este momento para calcular efectivamente R_x, pero desea 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 aumentado, ¿es así?

La forma en que termina haciendo esto es poniendo un byte en EEPROM (o alguna otra memoria no volátil) que actúa como un "desplazamiento" en su cálculo, y es algo perfectamente viable. La cuestión es que le costará algo de tiempo durante la producción realizar la actividad de calibración. Para realizar la calibración, necesitará una de esas resistencias de 0.1% (llámela R_cal) de valor nominal comparable a su resistencia de 1% para sustituir R_x en el circuito. Al medir V_sensed, puede inferir con mayor precisión el valor de R_fixed (es decir, a algo así como 0.2%).

Si R_cal y R_fixed son nominalmente el mismo valor, 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 la agregaría a V_sensed como lo percibe su ADC.

El obstáculo, según lo veo, es que hay un montón de trabajo involucrado en la medición y, posteriormente, en el almacenamiento del valor. Otra cosa a considerar como una trampa es que la temperatura puede desempeñar un papel en hacer que la resistencia se desvíe de su valor nominal, por lo que querrá un entorno de calibración razonablemente bien controlado por temperatura. Finalmente, no olvide usar equipos de medición calibrados, ya que es otra fuente potencial de error aditivo. Una última trampa 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 la calibración deben ser "Vcc / 2 ^ 12 voltios") .

Editar

Si está utilizando dos resistencias fijas para dividir un voltaje grande a una escala inferior 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 la 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, tiene una pendiente de función de transferencia diferente en realidad de lo que predeciría a partir de los valores de resistencia. La desviación de la función de transferencia del divisor predicho será lineal con respecto al voltaje de entrada, y puede suponer con seguridad que 0V in le dará 0V out, por lo que realizar una medición de referencia de voltaje de precisión debería proporcionarle 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 pendiente_actual como su valor calibrado para determinar el voltaje en función del voltaje medido.

a continuación cortesía de @markrages

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

texto alternativo

vicatcu
fuente
Quiero usar 1% para ambas resistencias divisorias. Estoy usando un divisor de voltaje para leer señales de hasta 40V. ¿Lo que dices todavía se aplica? Y buscaré una referencia de voltaje de precisión, aunque ± 0.05% probablemente esté bien, y puede obtener IC DIP que lo hacen.
Thomas O
@Thomas OK, no entendí bien tu pregunta ... estás usando un divisor de voltaje para reducir un voltaje grande, no para medir una resistencia desconocida ... Cambiaré mi respuesta en consecuencia.
vicatcu
No estoy tan seguro de que el error no sea lineal, ignorando por ahora el calentamiento por resistencia. Debe ser un factor lineal fijo para cada divisor (hay cuatro en el tablero), ya que el divisor solo se divide por una cantidad fija. Con cero voltios, el ADC debe medir cero voltios, más el error de compensación, lo que podría hacer que lea un recuento, por lo que realmente no tengo que preocuparme por la compensación ... ¿A menos que me falte algo?
Thomas O
lo siento, no lineal fue probablemente el término equivocado en retrospectiva. Lo que efectivamente obtendrá de la calibración es un factor de escala, ¿verdad? La desviación de la predicha será lineal con respecto al voltaje de entrada. Entonces, dado un "V predicho basado en la medición", el V real tendrá que multiplicarse por algún factor. Lo que sería no lineal es el error al suponer que se trata de un voltaje de compensación.
vicatcu
5

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

  • Por lo general, las resistencias clasificadas al 0.1% tienen coeficientes de temperatura TC = más bajos, son más inmunes a la humedad, la soldadura (choque térmico), tienen una deriva menor con el tiempo, ... que las resistencias clasificadas al 1%. Por lo tanto, se deben considerar muchas fuentes de cambio de resistencia.
  • A nivel de 40V, 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, que tienen TC <20ppm / deg y TC similares de resistencia a resistencia (diferencia de + - 10ppm) pero esto es cierto para el mismo tipo, valor nominal y resistencias de potencia. El uso apropiado de este tipo de resistencias en el divisor de voltaje cancelará la influencia del TC promedio. Solo 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.
  • Las resistencias de diferentes valores nominales pueden tener TC más diferentes. Y el autocalentamiento tendrá una influencia diferente: una mayor potencia disipada en una resistencia de mayor resistencia lo calentará más y cambiará la resistencia.
    Conclusión: Si está utilizando muchas resistencias en producción (series largas de la misma placa / divisor) y el costo de las resistencias es significativo, puede considerar el reemplazo. De lo contrario, lo más probable es que no valga la pena.
czgut
fuente
4

Ese enfoque funciona bien al pasar del 5% al ​​1%. Al pasar del 1% al 0.1%, sospecho que comenzará a ver arruinada su precisión por 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 resistencias son de corriente constante, por lo que el autocalentamiento es predecible, aún es viable.

pingswept
fuente
Me imagino que la temperatura puede influir en una resistencia típica de ± 100 ppm / ° C en un -0.4% a + 0.7% (o al revés) en el rango operativo de -40 ° C a + 70 ° C de mi dispositivo. Si es necesario, podría calibrar eso también. Es más probable que esté expuesto a altas temperaturas, y puedo calentar el tablero para probar esto.
Thomas O
3
A veces, con un diseño inteligente, puede hacer que los tempco de resistencia se cancelen. Si identifica dichos pares de resistencias en su diseño, colóquelos uno junto al otro en el diseño para maximizar el acoplamiento térmico. O incluso usar conjuntos de resistencias.
markrages
@markrages, si ambas resistencias son + 100ppm / ° C, ¿eso minimizará el error, ya que ambas estarán fuera por la misma fracción? En teoría, suponiendo que ambas resistencias se desplacen en cantidades iguales, la salida no debería cambiar. En la práctica, probablemente lo haría, especialmente porque la referencia de voltaje (LM4040) en sí misma puede derivar.
Thomas O
@Thomas. Sí, esa es la idea. Veamos, el LM4040 reclama 100ppm / C en el peor de los casos, 15ppm típico a 1 mA o menos. La respuesta de temperatura típica se traza en la hoja de datos y no parece algo que pueda cancelarse fácilmente. Supongo que podría pegarle un termistor NTC y "hornearlo" para mantenerlo a una temperatura constante (elevada), pero no si tiene un presupuesto de energía.
markrages
4

Puedes calibrar:

  • Tolerancia de fabricación [2] [3], (+/- 1 *%) = se puede calibrar
  • Calor de soldadura [2] [3], cambio de resistencia debido a la soldadura (+/- 0.2 * a 1%) = se puede calibrar

Pero no te olvides de todas las otras tolerancias:

  • TCR [2] [3], resistencia del coeficiente de temperatura (+/- 50 a 100 * ppm / C)
  • VCR [2], resistencia del coeficiente de voltaje (+/- 25 * ppm / V)
  • Factores ambientales, cambio de resistencia durante la vida útil (<= + / - 3% * a 155 C, 225 000 h) [2] [3] [4]

* Tenga en cuenta que todos los valores pueden diferir entre las marcas y productos de resistencia.

[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
fuente