Inicio Actualidad Medidas por ultrasonidos con microcontroladores PIC® y AVR® de Microchip

Medidas por ultrasonidos con microcontroladores PIC® y AVR® de Microchip

Introducción
Las medidas por ultrasonidos se utilizan actualmente en una gran variedad de aplicaciones. La principal ventaja de los ultrasonidos es que se realizan sin contacto y se usan en varios niveles de aplicaciones de medida ya que permiten detectar casi todos los materiales. Algunos ejemplos son la medida de productos líquidos o sólidos en depósitos u otros contenedores para evitar su desbordamiento o para comprobar el nivel de llenado actual. Otra área de aplicación consiste en el uso de la medida por ultrasonidos para contar objetos en movimiento. Esto se puede utilizar, por ejemplo, para contar botellas en una máquina embotelladora de refrescos.
En el sector del automóvil, la medida por ultrasonidos se puede emplear para aparcar. El detector de distancia puede medir la distancia entre el coche y una barrera (otro coche, una pared, etc.). Son solo algunos ejemplos de uso de la medida por ultrasonidos, aunque existen otras muchas aplicaciones que pueden aprovechar esta tecnología. El principio fundamental es que se mide la distancia o el alcance desde el sensor de ultrasonidos hasta otro objeto. Con ultrasonidos se mide el tiempo de vuelo entre la señal transmitida y detectada por el receptor tras rebotar en un determinado objeto. Este es el tiempo que necesitan la onda original y la onda reflejada en recorrer una distancia r (ver figura 1). A partir de este tiempo se puede calcular la distancia r, ya que se conoce con qué rapidez se mueva la señal de ultrasonidos por el aire (la velocidad del sonido).
Aunque este cálculo parece bastante sencillo, el tiempo de desplazamiento de la señal de ultrasonidos también depende de otros muchos factores. Un elemento que afecta sustancialmente a la velocidad del sonido es la temperatura del aire que atraviesa. Otros factores son la humedad, la presión del aire, las corrientes de aire (solo en el caso de fuertes vientos) y el tipo de gas. Los sensores para medida por ultrasonidos están diseñados para su uso en aire respirable por las personas (aproximadamente 21% oxígeno, 78% nitrógeno y 1% de otros gases). Los sensores que funcionan con este tipo de aire no garantizan su uso con otros gases ya que la velocidad del sonido cambiará dependiendo del medio atravesado. Las frecuencias más utilizadas son del orden de 40 kHz, por encima de las frecuencias audibles de 20 Hz a 20 kHz.
Medidas por ultrasonidos con microcontroladores de 8 bit de Microchip
Se pueden llevar a cabo medidas por ultrasonidos con numerosos microcontroladores de Microchip. El PIC16F1769, un microcontrolador PIC® de 8 bit, y el ATtiny817, un microcontrolador AVR® de 8 bit, son muy adecuados para aplicaciones que aprovechen las medidas por ultrasonidos. Una de las principales ventajas que ofrece el Desarrollo con un microcontrolador de 8 bit de Microchip es su integración de periféricos independientes del núcleo (Core Independent Peripherals, CIP). En aplicaciones de medida por ultrasonidos, los CIP se pueden utilizar para medir de manera eficiente el tiempo de vuelo sin necesidad de recurrir a la CPU. Esto no solo reduce el consumo total del sistema, sino que también libera la CPU para que ejecute otras tareas.
Otra ventaja que aportan los CIP es que paso del control de un periférico a otro se efectúa en menos de un ciclo de reloj. Esta función se puede realizar con los microcontroladores PIC y AVR. Sin los CIP esto exigiría recurrir a la CPU y sería necesario generar una interrupción, procesarla y a continuación pasar el control a un periférico. Todo ello tardaría varios ciclos de reloj, lo cual ralentizaría el sistema y elevaría notablemente el consumo. Otra importante ventaja que tiene usar un microcontrolador con CIP es que se necesita menos software puesto que ejecuta más tareas en hardware. Menos de desarrollo de software también significa menos validación de software, y por tanto disminuir el riesgo en el proceso de desarrollo. Todos estos elementos contribuyen a agilizar el plazo de comercialización. Una solución basada en un microcontrolador PIC o AVR utilizará CIP para medir el tiempo de vuelo, así como para generar, transmitir y recibir la señal de ultrasonidos.
Una vez iniciados los CIP no se recurrirá a la CPU para ejecutar estas tareas. Por tanto, no se necesitan interrupciones, recursos de la CPU, SRAM o programas extensos para medir el tiempo de vuelo. La CPU solo trabajará para calcular la distancia r ya que hace falta para multiplicar el tiempo de vuelo por la velocidad del sonido. Las notas de aplicaciones ofrecen una descripción técnica detallada de este proceso (ver sección de recursos al final del artículo). A continuación se puede ver los dos microcontroladores propuestos para medidas por ultrasonidos. El ATtiny817 es uno de los nuevos microcontroladores tinyAVR® presentados a finales de 2016, mientras que los modelos PIC16F176x/7x fueron presentados a principios de ese año. Ambas familias contienen CIP que permiten medir el tiempo de vuelo sin la CPU.
Notas de aplicación
Microchip tiene dos notas de aplicación que describen la medida de distancia con transceptores de ultrasonidos. Uno de ellos utiliza un microcontrolador PIC de 8 bit PIC, el PIC16F1769, mientras que el otro emplea un microcontrolador AVR de 8 bit, el ATtiny817. En ambas aplicaciones se usan CIP para medir de manera eficiente la distancia por ultrasonidos minimizando el código y la participación de la CPU. En la tabla mostrada a continuación se comparan los requisitos mínimos de memoria Flash, memoria SRAM y E/S (ver tabla 2). Como se puede ver en la Tabla 1, estos microcontroladores cuentan con diferentes conjuntos de periféricos.
La Tabla 2 muestra los requisitos de Flash y SRAM de cada microcontrolador para su aplicación. Este código ya incluye lo necesario para ofrecer los resultados en un visualizador LCD o OLED. La medida del tiempo de vuelo se efectúa con los CIP, sin recurrir a la CPU y sin necesidad de SRAM. La instrucción para la inicialización de los CIP solo necesita un número muy reducido de bytes en Flash. No obstante, se puede optimizar el código y utilizar un dispositivo Flash de menor densidad de las respectivas familias PIC o AVR. Ambas soluciones cuentan con espacio suficiente para ampliar el firmware y adaptarlo a diferentes canales de comunicación para incluir el sensor de ultrasonidos en una red industrial o con diferentes comunicaciones en serie.
Ventajas de ambas soluciones
Ambas soluciones pueden medir de manera eficiente la distancia mediante ultrasonidos. El PIC16F1769 integra numerosas funciones analógicas, entre ellas dos amplificadores operacionales que son necesarios para recibir la señal atenuada de ultrasonidos. El amplificador operacional amplifica la señal recibida de ultrasonidos de manera que el comparador analógico pueda detectarla. Estas funciones analógicas que integra el microcontrolador PIC16F1769 logran que sea muy factible obtener una solución con un número mínimo de componentes externos. El ATtiny817 se puede utilizar con dos amplificadores operacionales externos para recibir la señal de ultrasonidos. Estas tarjetas también se pueden personalizar con diferentes componentes externos para cubrir diversos tipos de necesidades y capacidades. Conclusión Microchip, que cuenta con el mayor catálogo de microcontroladores de 8 bit del mercado, se encuentra en las mejores condiciones para suministrar una solución que cubra las necesidades de prácticamente cualquier aplicación de medida de distancia por ultrasonidos basada en CIP, eliminando así la necesidad de recurrir a la CPU para medir el tiempo de vuelo.
Todo ello de forma muy eficiente y con un consumo muy bajo. Microchip también dispone de un conjunto de herramientas de fácil manejo que aceleran los ciclos de desarrollo. Ambas series de microcontroladores son compatibles con los entornos de desarrollo integrado (Integrated Development Environments, IDE) MPLAB® X para dispositivos PIC y Atmel Studio 7 para dispositivos AVR, herramientas de configuración/ inicialización (MPLAB Code Configurator (MCC) para PIC y Atmel Start para AVR) y herramientas (desarrollo, tarjetas de evaluación y programadores/ depuradores). Además, las notas de aplicación para el PIC16F1796 y el ATtiny817 ofrecen información detallada sobre cómo realizar medidas de distancia o medidas de proximidad por ultrasonidos en una aplicación.