Frecuencia extraña en los datos del sensor

0

He construido un dispositivo de registro de temperatura bastante simple en un Arduino Mega 2560 R3. Estoy usando TMP36 , 12 de ellas en total para registrar los datos. Cada sensor VS y GND se conectan a los rieles comunes y cada V_out se conecta directamente a su propio sensor analógico en el Arduino.

El método para registrar las temperaturas es registrar diez mediciones sucesivas en un sensor (pausar durante 20 ms entre cada medición) y luego promediar esos diez valores, registrar ese valor en un archivo de datos, luego pasar al siguiente pin, repetir hasta que todos Los sensores han registrado un valor. Luego, espere hasta que pasen 10 segundos y luego repita el proceso. (no necesita ser más rápido ya que mi experimento dura horas o días).

La primera imagen (etiquetada como Sensor 14) es la gráfica que obtengo de uno de los sensores conectados a mi fuente de calor, que es lo que estoy esperando (el eje X es segundos, el eje Y es la temperatura en Celsius)

Enmiúltimaprueba,solonecesitabahacerunregistroenalgunasubicacionesydejéelrestodelossensoressentadosenelescritorioesencialmentemidiendolatemperaturaambiente,locual,estoyseguroal90%,deberíaserconstante.Sinembargo,detodosmodosregistrélosdatosdelossensores,losgraficéparalasrisitasyobtuveelsiguientegráfico(losmismosejesqueelprimero)

Estaimagentieneuncambiodetemperaturaperiódicobastanteclaro,aunqueunadiferenciamuypequeña.Losresultadosqueobtuvedeestonotienenningúnefectoenmianálisisreal,perolafuentedelaseñalperiódicaesdeloquetengocuriosidad.

Nosoyanalistadeseñales,niingenieroeléctrico.Mepreguntosiverestetipode'ruido'periódicoindicativodealgúntipodeproblemaconmiequipodepruebaosiesbastantenormalverlo.(Elsensortieneunaprecisiónde+2gradosCenlalistaconunalinealidadde0,5gradosC)

Ycomosegundapartedelapregunta,¿habríaalgo'incorrecto'eneliminarestaseñalperiódicademisdatosdetemperatura?(ejecutandounpieenlaseñalderuido,identificandolafrecuenciayluegoutilizandounfiltrodeparadadebandaparaeliminarla).

Muchasgraciasporcualquierconsejo!

(Editar1)

Realicéunmejortrazadoenpythonyampliéunasecciónparamostrarcómosevenlasdosseñalesenunperíododetiempomáscorto:

    
pregunta Diesel

3 respuestas

2

Si hace zoom en el gráfico superior, verá lo mismo que está pasando (observe el ancho de la línea).

Este es un problema al tener los gráficos a escala automática, eventualmente verá algo, ya sea ruido de cuantificación como sospechosos de @Ignaciao (probablemente correcto) o tal vez algún zumbido de red en su ancho de banda de muestra (que se vería un poco diferente ).

Si su sistema de adquisición de datos está utilizando el ADC interno en el 2560, la resolución es de solo 10 bits. El promedio simple de muchas muestras (que parece estar ocurriendo aquí) puede dar una mayor resolución, pero sin la técnica adecuada y el filtrado adecuado no funcionará tan bien.

Tenga en cuenta que sin un preamplificador y el uso de la referencia ADC como fuente de su resolución de ADC es de aproximadamente 0.5 ° C (la precisión y la linealidad son peores). La resolución es de 4.9mV y la salida de TMP36 es de 10mV / ° C.

Puede observar que se está moviendo hacia adelante y hacia atrás exactamente a aproximadamente 0,5 ° C, esto no es una coincidencia . Los valores intermedios son evidencia de promediado, el hecho de que no se mueva suavemente entre los estados se debe a que el procesamiento de la señal y la interpolación son inadecuados.

    
respondido por el Spehro Pefhany
3

Un poco de especulación:

Si observa la figura 5 en la hoja de datos para el TMP36, puede ver que la regulación de la carga es, en general, de 0,006 grados por micro amperio dibujado: -

Si durante el proceso de ADC el pico actual es (digamos) 1 mA (ciertamente no es desconocido), entonces obtendrá un error de 6 grados.

Por lo tanto, si su ADC es un tipo multiplexado y sin búfer que genera un pico de corriente durante la conversión, obtendrá resultados impares. Si aplicó la capacitancia máxima de 10 nF a través de la salida de los sensores a tierra, es posible que este error caiga dramáticamente.

    
respondido por el Andy aka
0

Esta es mi conjetura para lo que está viendo: los sensores solo tienen una resolución de 0.5c, por lo que pueden poner los valores 19.8, 20.3 y 20.8. Que se pueden ver claramente en tu gráfica. Ahora, ¿qué pasa con todos esos puntos en las laderas que no son uno de los 3 valores? Creo que están ocurriendo cuando el sensor cambia durante su promedio de 10 lecturas.

Así que la pregunta sigue siendo. ¿Está la habitación realmente fluctuando de un lado a otro en medio grado como parece indicar la gráfica? Es difícil de decir. Creo que la única conclusión a la que puede llegar en base a estos datos es que necesita más resolución si le interesan los cambios de 0.5c. Puedo decir por experiencia que una fluctuación de 1-2 conteos en la lectura del sensor es "normal"

Edit: No sé quién me votó. Pero aquí hay más pruebas: el TMP36 tiene un factor de escala de 10 mV / degC. El arduino tiene 1024 conteos de resolución, y asumiendo un vRef de 5v que da 0.48degC por conteo. Casi exactamente lo que predije. Dije "sensor" en abstracto, pero lo que debería haber dicho es que el sistema tiene una resolución de 0.5c.

    
respondido por el Drew

Lea otras preguntas en las etiquetas