simular este circuito : esquema creado usando CircuitLab
Te vas a encontrar con algunos problemas de precisión, como:
- ruido de la línea 5V
- autocalentable
- posible caída de voltaje (debido a la longitud del cable)
Simplemente iría con un termómetro de un cable como el DS18B20 / DS18S20. Usando un sensor digital, menos inmune al ruido. Incluso puedes correrlo a una distancia mucho más larga. Ya hay una biblioteca para el Arduino. De todos modos, esa es mi ruta.
Siguiendo tu ruta:
Si solo quieres el rango de temperatura de 20 ° C a 30 ° C, tendrás que jugar con tu resistencia para obtener ese rango. Por ejemplo, a 20C la resistencia nominal es de 1922ohms y a 30C, 2080ohms.
Por lo tanto, los estados divisores de voltaje producen:
$$ @ 20C: V_o = V_i \ cdot \ frac {R_s} {R_s + R1} = 5V \ cdot \ frac {1922} {1922 + 1000} = 3.288V $$
$$ @ 30C: V_o = V_i \ cdot \ frac {R_s} {R_s + R1} = 5V \ cdot \ frac {2080} {2080 + 1000} = 3.376V $$
La diferencia es 0.08778V o 87.78mV. Dado que el análogo de arduino usa 10b (1023): \ $ \ frac {5V} {1023} = 4.888mV / \ mathsf {paso} \ $. Esto debería haber generado 17.9 pasos (\ $ \ frac {87.78mV} {4.888mV} \ $, así que digamos 17. Si desea reducir esto a una resolución mayor, puede conectar el 3.3V desde el FTDI de Arduino. del puerto al pin de referencia analógico. Sin embargo, alimente su divisor de voltaje con el mismo 5 V. En su configuración de vacío (), use analogReference (EXTERNAL). Esto hará que su analógico use la referencia de 3.3V en lugar de la referencia interna de 5V .
Ahora, hagamos un poco más de matemáticas:
Ya que estamos usando la referencia de 3.3V ahora, la resolución cambia a \ $ \ frac {3.3V} {1023} = 3.23mV / \ mathsf {paso} \ $. Esto ahora producirá 27.2 pasos (\ $ \ frac {87.78mV} {3.23mV} \ $) (digamos 27 pasos).
Como puede ver, solo hemos mejorado de 17 pasos a 27 pasos. En un rango de 10C (30C-20C), teóricamente podemos obtener una resolución de 10C / 27 = 0.37C. Recomendaría un condensador en paralelo con el sensor para crear un filtro de paso bajo de primer orden (permite la baja frecuencia y rechaza la alta frecuencia después del corte a una velocidad de 20 dB o 10 veces por rechazo por década). Conecte este condensador a la derecha entre A0 y gnd (lo más cerca posible de A0). El filtro de corte se calcula utilizando:
Digamos que estás usando una resistencia de 1k y un condensador de 1uF:
$$ f_c = \ frac {1} {2 \ cdot \ pi \ cdot R \ cdot C} = \ frac {1} {2 \ cdot \ pi \ cdot1000 \ cdot0.000001} = 159Hz $$
Todo lo que tienes que hacer ahora es jugar con el valor de la resistencia (debería ser más grande que 1k ahora). Asegúrese de que el peor de los casos no proporcione un voltaje mayor que el voltaje de referencia.
Probablemente elegiría una resistencia de 2k:
\ $ V_o = 5V \ cdot \ frac {1922} {1922 + 2000} = 2.450V \ $, por lo que los resultados analógicos de lectura 759
\ $ V_o = 5V \ cdot \ frac {2080} {2080 + 2000} = 2.549V \ $, por lo que los resultados analógicos de lectura 790
En el peor de los casos: @ 150C - > 4280ohms
\ $ V_o = 5 \ cdot \ frac {4280} {4280 + 2000} = 3.4V \ $ (ok)
Diferencia 98.73mV - > 98.73mV / 3.23mV - > 30 pasos
Filtro de paso bajo: \ $ (2 \ cdot \ pi \ cdot2000 \ cdot0.000001) ^ {- 1} = 79.6Hz \ $ (la señal de CA a 796Hz se reduce a 10 veces más pequeña, a 7960Hz es 100 veces más pequeña , etc).