89. Eliminar el ruido en Arduino, controlando la señal




La Tecnología para todos show

Summary: Después de unas semanas de vacaciones en este periodo estival, vuelvo a la carga con un nuevo capítulo del podcast La Tecnología Para Todos. Hoy voy a hablarte de cómo eliminar el ruido en Arduino. Tarde o temprano te verás expuesto a esta señal parasitaria que se acopla a tu señal útil y perturba tus mediciones. Por eso es necesario saber qué es el ruido, cuáles son las fuentes que lo producen y como podemos atajarlo. Al igual que en muchos factores involucrados en la electrónica y en la programación, no hay una fórmula mágica para la eliminación del ruido, pero si que podemos aplicar ciertas técnicas que nos ayuden a mitigarlo en la medida de lo posible. Eliminar el ruido en Arduino Antes de comenzar con tema que voy a tratar hoy, decirte que el 14, 15 y 16 de Octubre, estaré en las XI JPOD (Jornadas de Podcasting) en Málaga. En este evento nacional realizaré un directo junto a Gabriel Viso del podcast Pitando. Si vas a estar por allí, espero verte. ¿Qué es el ruido?, conocerlo nos ayudará a eliminar el ruido en Arduino Podemos encontrar muchos artículos, libros e incluso vídeos sobre el ruido en Internet. El objeto de este capítulo no es profundizar hasta tal detalle, solo quiero dejar claro cómo afecta a nuestros proyectos y cómo podemos eliminar el ruido en Arduino. El ruido no deja de ser una señal eléctrica, al igual que las señales de Arduino, normalmente una señal continua de 5V, y de otros sistemas eléctricos que trabajan con señales alternas que pueden ir, por ejemplo, de 220V a -220V. Por lo tanto, el ruido es una señal de interferencia que se añade o se suma a nuestra señal útil produciendo efectos perjudiciales. Vamos a verlo con un ejemplo. Imagínate un sensor de temperatura cuya relación temperatura-voltaje es de 1º-10mV. Esto quiere decir que cada grado, se incrementa en 10mV la tensión obtenida. Si medimos la temperatura en algún lugar donde sabemos que hay 20ºC exactamente, el resultado será 200mV. Al conectar el sensor a Arduino comprobamos que el voltaje obtenido es de 220mV, lo que equivale a una temperatura de 22ºC. Esos 20mV de más ¿qué son? Precisamente eso es el ruido, una señal parasitaria que se añade a nuestra señal útil y por lo tanto la altera. Diseñamos con casos ideales que no contemplan el ruido en nuestros proyectos Cuando estamos diseñando nuestro proyecto, utilizamos la típica Ley de Ohm o Leyes de Kirchhoff. Estas leyes se basan en desarrollos matemáticos que no tienen en cuenta el efecto del ruido. Podemos probar a crear un circuito muy sencillo con una resistencia y un LED. Si hacemos los cálculos y obtenemos los voltajes, comprobaremos con un multímetro que aunque se parezcan, el resultado no es el mismo. Esto es debido al ruido inherente de la propia placa de Arduino, los componentes e incluso el multímetro. En consecuencia debemos contemplar esta señal perjudicial y por lo tanto eliminar el ruido en Arduino. La señal de ruido no afecta de igual manera a las señales analógicas que digitales Ya hemos visto el ejemplo de un sensor de temperatura con una señal analógica. Pero no afecta en igual medida a las señales digitales, dependerá de la amplitud del ruido. En términos generales, la señales analógicas son más sensibles al ruido. Si en el ejemplo anterior del sensor de temperatura, la señal de ruido tuviera 0.3mV en vez de 20mV, no afectaría a nuestras medidas. Por lo tanto la amplitud de la señal es importante. En el caso de las señales digitales, la amplitud también es importante, pero solo afectará si dicha amplitud es lo suficientemente grande para cambiar de estado de alto a bajo o de bajo a alto. Cómo funcionan las señales digitales Hagamos un paréntesis para ver cómo funcionan las señales digitales en Arduino. Estamos acostumbrados a hablar de alto y bajo y relacionarlo con 0V y 5V. Pero eso no es realmente lo que sucede dentro de la placa. Existen unos márgenes para identificar si la señal está en estado alto o bajo. Precisamente este es uno de los puntos...