9 votos

¿Qué tan viable es usar sólo resistencias del 1% y calibrar el error?

Por el momento, utilizo resistencias del 0,1% para obtener una medición precisa de la tensión a través de un divisor de tensión. Sin embargo, el coste es elevado, así que estaba pensando en utilizar resistencias del 0,5% o del 1% y calibrar el error en el software utilizando una referencia de tensión de precisión durante la producción. ¿Alguien ha hecho esto con éxito? ¿Qué problemas podría encontrar?

0 votos

¿A qué tipo de herramientas de producción tiene acceso? ¿Puedes conseguir/construir algo parecido a un programador/probador de cama?

0 votos

@reemrevnivek - Actualmente no. Mi fabricante de placas de circuito impreso realiza pruebas E en cada placa, pero no garantiza que la soldadura funcione.

0 votos

Hace 40 años, donde yo trabajaba (electrónica industrial), esto era bastante habitual en las placas con agujeros pasantes. La resistencia que se seleccionaba estaba en los terminales de la torreta, por lo que se podía añadir fácilmente más tarde. En una placa SMT, es difícil imaginar que fuera rentable.

6voto

JW. Puntos 145

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 mismo estás usando R_fija al 0,1% para calcular efectivamente R_x, pero quieres usar una resistencia fija más barata con una tolerancia menor, quizás del 1%. Al hacerlo, quieres realizar algún tipo de calibración durante la producción para corregir el aumento del error, ¿es así?

La forma en la que acabas haciendo esto es poniendo un byte en EEPROM (o alguna otra memoria no volátil) que actúa como un "offset" en tu cálculo, y es algo perfectamente viable. La cosa es que te va a costar algo de tiempo durante la producción hacer la actividad de calibración. Para hacer la calibración, necesitarás una de esas resistencias del 0,1% (llámala R_cal) de valor nominalmente comparable a tu resistencia del 1% para sustituir a R_x en el circuito. Midiendo V_sensada, puedes inferir con mayor precisión el valor de R_fijada (es decir, a algo así como el 0,2%).

Si R_cal y R_fixed son nominalmente el mismo valor, se esperaría que V_sensed fuera igual a Vcc / 2. Se almacenaría la desviación medida de Vcc / 2 como un byte de compensación de calibración, y siempre se añadiría a V_sensed tal como lo percibe su ADC.

El escollo, tal y como yo 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 hay que tener en cuenta es que la temperatura puede influir en que una resistencia se desvíe de su valor nominal, por lo que hay que tener un entorno de calibración razonablemente bien controlado en cuanto a la temperatura. Por último, no olvide utilizar equipos de medición calibrados, ya que es otra fuente potencial de error aditivo. Un último escollo que se me ocurre es que el byte de calibración debe ser almacenado en unidades del lsb de tu ADC (así que si tienes un ADC de 12 bits, las unidades del byte de offset de calibración deben ser "Vcc/2^12 voltios").

Editar

Si utiliza dos resistencias fijas para dividir una tensión grande hasta una escala inferior, como se indica a continuación:

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

Sección reeditada

Así que ahora quieres utilizar una referencia de tensión de precisión (llámala V_cal) para estimular V_in durante un paso de calibración en la producción. Lo que tienes ahí 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, tienes una pendiente de la función de transferencia diferente en la realidad de lo que se podría predecir a partir de los valores de las resistencias. La desviación de la función de transferencia del divisor predicha será lineal con respecto a la tensión de entrada, y puedes asumir con seguridad que 0V de entrada te dará 0V de salida, por lo que hacer una medición de referencia de tensión de precisión debería darte 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 utilizarías slope_actual como valor calibrado para determinar la tensión en función de la tensión medida.

abajo cortesía de @markrages

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

alt text

0 votos

Quiero usar 1% para ambas resistencias divisoras. Estoy utilizando un divisor de tensión para leer señales de hasta 40V. ¿Sigue siendo válido lo que dices? Y voy a buscar una referencia de tensión de precisión, aunque ±0,05% probablemente esté bien, y se pueden conseguir circuitos integrados DIP que lo hacen.

0 votos

@Thomas OK, entendí mal tu pregunta... estás usando un divisor de voltaje para bajar un voltaje grande, no para medir una resistencia desconocida... Cambiaré mi respuesta en consecuencia.

0 votos

No estoy tan seguro de que el error no sea lineal, ignorando por ahora el calentamiento de las resistencias. Debería ser un factor lineal fijo para cada divisor (hay cuatro en la placa), ya que el divisor sólo está dividiendo por una cantidad fija. Con cero voltios en, cero voltios debe ser medido por el ADC, más el error de desplazamiento, lo que podría hacer que leer un recuento, por lo que realmente no necesita preocuparse por el desplazamiento ... A menos que me estoy perdiendo algo?

5voto

czgut Puntos 51

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

  • Por lo general, las resistencias con valor nominal del 0,1% tienen coeficientes de temperatura más bajos, son más inmunes a la humedad, a la soldadura (choque térmico), tienen una menor deriva con el tiempo, ... que las resistencias con valor nominal del 1%. Por lo tanto, hay que tener en cuenta muchas fuentes de cambio de resistencia.
  • A un nivel de 40V el efecto de autocalentamiento puede ser significativo, por lo que deben utilizarse resistencias con una potencia adecuada.
  • hay resistencias de buena calidad al 1%, que tienen TC <20ppm/deg, y TC similar de una resistencia a otra (+- 10ppm de diferencia) pero esto es así para el mismo tipo, valor nominal y potencia de las resistencias. El uso adecuado de este tipo de resistencias en el divisor de tensión anulará la influencia del TC medio. Sólo la diferencia de TC tendrá influencia en la tensión de salida. Así que es posible obtener divisores de precisión, utilizando resistencias del mismo valor.
  • Las resistencias de diferentes valores nominales pueden tener un TC más diferente. Y el autocalentamiento tendrá diferente influencia - más potencia disipada en una resistencia más alta la calentará más, y cambiará la resistencia.
    Conclusión: Si utiliza muchas resistencias en la producción (series largas de la misma placa / divisor) y el coste de las resistencias es significativo, puede considerar la sustitución. De lo contrario, lo más probable es que no vale la pena de los esfuerzos.

4voto

Ese enfoque funciona bien pasando del 5% al 1%. Pasando del 1% al 0,1%, sospecho que empezarás a tener tu precisión arruinada por las fluctuaciones de temperatura que cambian la resistencia y, por tanto, la tensión.

Si, por alguna razón desconocida, estás operando en un entorno isotérmico y tus resistencias son todas de corriente constante, por lo que el autocalentamiento es predecible, sigue siendo viable.

0 votos

Me imagino que la temperatura podría influir en una resistencia típica de ±100ppm/°C en un -0,4% a +0,7% (o al revés) en el rango de funcionamiento de -40°C a +70°C de mi dispositivo. Si fuera necesario, también podría calibrarlo. Es más probable que esté expuesta a altas temperaturas, y puedo calentar la placa para probarlo.

3 votos

A veces con un diseño inteligente puedes conseguir que las tempco de las resistencias se anulen. Si identificas estos pares de resistencias en tu diseño, colócalos uno al lado del otro para maximizar el acoplamiento térmico. O incluso utilice conjuntos de resistencias.

0 votos

@markrages, Si ambas resistencias son de +100ppm/°C, ¿se minimizará el error, ya que ambas estarán fuera por la misma fracción? En teoría, suponiendo que ambas resistencias se desvíen la misma cantidad, la salida no debería cambiar. En la práctica, es probable que lo haga, sobre todo porque la propia referencia de tensión (LM4040) puede desviarse.

4voto

Noriaty133 Puntos 21

Se puede calibrar hacia fuera:

  • 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 hay que olvidar el resto de tolerancias:

  • TCR [2][3], resistencia del coeficiente de temperatura (+/- 50 a 100* ppm/C)
  • VCR [2], resistencia del coeficiente de tensión (+/- 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 marcas y productos de resistencias.

[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

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X