Paso 15: Software tuning de precisión (parte 1)
Voy a mostrar cómo hacer esto para la gama 0-10V. Se recortan las otras gamas de la misma manera.
Para recortar la precisión para un rango dado, el mejor enfoque es elegir ajuste de tensión de referencia, lo más cerca posible al límite superior del rango. Una vez recortado para este voltaje se supone que, debido a la linealidad del divisor de tensión y de la conversión AD, el conjunto se cubre con la misma precisión. Para recortar el voltímetro para la gama 0-10V he tomado batería nueva de 9V.
Como primer paso he medido la tensión de alimentación en la cabecera de suministro placa "Arduino". En mi caso fue 4.91V.
Este voltaje sirve como referencia para el ADC del chip Atmega. Se incluye en la fórmula para la conversión de la ADC toma lectura al valor de la tensión:
disp_res = (curr_value * fuente * 2) / 1024 * coeff_v10;
, donde:
disp_res - es el valor de voltaje en la pantalla;
curr_value - lectura digital media;
de la fuente - es la tensión de alimentación medida;
coeff_v10 - es el coeficiente de ajuste de software
El siguiente paso es medir el voltaje de la batería por el DMM estándar y escribir el valor.
Después de que medimos la misma batería con el "Arduino" basan DMM. Basado en mediciones calculamos el coeficiente de corte coeff_v10 como el cociente que resulta de la división del resultado de la primera medición por el resultado de la segunda medición. En mi caso he medido la batería con el DMM estándar a ser 9.51V. Medido por el "Arduino" DMM es 9.34V.
El coeficiente de corrección se calcula como:
coeff_v10 = 9.51/9.34 = 1.018
El valor resultante se asigna a la coeff_v10 en el código.
Después de volver a compilar y cargar el código se ve que después de la poda "Arduino" DMM muestra el valor objetivo.
Yo recomendaría que este coeficiente se calcula para algunos voltajes medidos con la misma configuración de gama y el valor final especificado en el código es el promedio de todo calculado.