Estoy haciendo un proyecto en beaglebone black y estoy conectando un sensor de temperatura LM35 ( hoja de datos ) a uno de los pines ADC del beaglebone. Según las hojas de datos de Beaglebone, el voltaje de referencia del ADC incorporado es de 1,8 V y tiene una resolución de 12 bits. Estoy usando la siguiente fórmula para el cálculo de la temperatura, pero obtengo los valores incorrectos.
La lectura de ADC es 315 y la temperatura ambiente medida por el termómetro es de 31,2 grados centígrados y si aplico la temperatura anterior obtengo una lectura de 18,3 centígrados, lo cual no es correcto.
No estoy seguro de dónde me estoy equivocando, seguí este blog para hacer mi experimento.
Parece que el software ya ha escalado la lectura, ya que la lectura de 315 ADC que está viendo es muy cercana a la 312 que esperaría con una temperatura ambiente de 31,2 °C (que, a su vez, parece de unos 10 °C demasiado caliente para la comodidad, pero esa es solo mi opinión).
Como descubrió, solo necesita dividir el número (que es el mV) por 10,0 (mV/°C) para obtener la temperatura en Celsius.
Solo mis 10 centavos...
LM35 le brinda una salida de 10 mV por grado centígrado
Puede conectar directamente la salida LM35 a la entrada BB AINx
es decir, 45 ° significa 450 mV en el pin AINx
Dado que este pin lee valores de 0 a 1800 mV en 4096 pasos (12 bits), tiene 2275 pasos por mV, pero cada grado significa 10 mV, por lo que tiene 22,75 pasos por mV diez.
Luego hay que dividir la lectura del ADC (cat /blablabla/AINx) por 22,75 para obtener directamente el valor decimal de grados centígrados usando un LM35 directamente.
es decir, script de prueba de shell simple:
temp='echo "$(cat /sys/dispositivos/plataforma/omap/tsc/ain1) / 22.75" | antes de Cristo'
echo La temperatura es $temp grados centígrados.
No se si es esto lo que buscas....
Fred.
Ignacio Vázquez-Abrams
Santhosh Pai
Spehro Pefhany
chico sirton
Dejvid_no1
Santhosh Pai
Santhosh Pai
Spehro Pefhany