No está muy claro lo que estás haciendo, así que vamos a ir paso a paso.
Así, el sensor da una corriente, donde 0-25 Bar corresponden a 4-20mA.
$$I_{sens}=16mA\cdot \frac{p}{25 Bar} +4mA$$
Ahora, el propio ADC tiene un rango de entrada, por ejemplo 0-5V y lo convierte en un número entero. No sé cómo se obtiene 16348, el siguiente valor coincidente sería 16383, que es binario 111111'11111111. (Ese es el valor máximo de un ADC de 14 bits)
Por lo tanto, necesitas una resistencia como R=250 Ohm conectada a la salida de tu sensor (a tierra), que convierta la corriente en 1-5V
Ahora, la fórmula es
$$V_{ADC}=4V\cdot \frac{p}{25 Bar}+1V$$
y esto se asigna a la gama de ADC
$$N_{ADC}=\frac{16383\cdot 16}{20} \cdot \frac{p}{25 Bar}+\frac{16383\cdot 4}{20}$$ y su reverso $$p=\left(N_{ADC}-\frac{16383\cdot 4}{20}\right)\cdot\frac{20\cdot 25Bar}{16383\cdot 16}$$
o después de la limpieza: $${p={\frac{125\cdot N_{ADC}-409575}{262128}}Bar}$$
Esto es lo mejor que se puede conseguir, sin embargo, la resolución es sólo 1 Bar, porque p es un número entero. Y como se dice en los comentarios, es importante hacer la división como el último paso.
La resolución es pobre, aunque el rango dinámico es de 16383/20*16=13106 (Ese es el número de pasos al que el ADC mapea su rango de entrada). Para una mejor resolución, puedes optar por los milibares:
$${p={\frac{1000\cdot(125\cdot N_{ADC}-409575)}{262128}}millibar}$$
De nuevo, haz primero la multiplicación. Y: El mayor valor del numerador es 1.638.300.000, que ocupa 31 bits. Así que tienes que asegurarte de que tu microcontrolador hace este cálculo con valores enteros de 32 bits.
Algunas ideas:
-
Si no le gustan estos números tan grandes, puede utilizar 16384 en lugar de 16383. Esto es sólo una pequeña desviación, pero puede permitir más cancelaciones en la fracción. Además, si nunca va a medir 25Bar, pruebe con una resistencia que dé la tensión máxima ya a 24 bar. Este valor también permite más cancelaciones.
-
Algunos microcontroladores, por ejemplo de microchip, permiten dar tensiones de referencia mínimas/máximas, por ejemplo puedes conectar dos tensiones que definan el límite superior e inferior del ADC. Con 1V y 5V, esto mapeará los 1-5V de la resistencia a los 14bit completos del ADC, dándote los 16384 pasos completos, no sólo el 80% de ellos.
-
El último punto también se puede conseguir con un amplificador de funcionamiento.
EDITAR:
Como los valores necesitan un máximo de 31 bits, debes utilizar un valor entero de 32 bits con signo (que es 1bit para el signo y 31 para el número). Si no se conecta ningún sensor / el ADC recibe menos de 1V, se obtiene un valor negativo para la presión que se puede decir que no es válido.
Si se utilizan enteros de 32 bits sin signo, en este caso se obtiene una basura y no se puede distinguir entre valor válido y no válido.