Desarrollo de sistemas embebidos en laboratorios de prototipos.

Cuando nos referimos a sistemas embebidos, hacemos referencia a un sistema computacional diseñado y desplegado para conseguir un grupo de funciones específicas, que, como regla general, responden  a un grupo de requisitos funcionales o casos de uso, previamente conocidos. Contar con el conocimiento previo de las funciones y limitaciones de un determinado producto, es precisamente lo que acredita la necesidad de desarrollo de sistemas embebidos que permitan tales objetivos. 

Ejemplos de productos que requieren sistemas embebidos:

Smartwatch: Un Smartwatch puede clasificarse en la necesidad de desarrollo de sistema embebido. Haciendo referencia a la definición de sistema embebido, nos encontramos en un caso de desarrollo en el que las funciones del futuro prototipo, son previamente conocidas, así como sus propósito y limitaciones. Es muy cierto que los Smartwatch más modernos, han ampliado significativamente su capacidad de funciones, han alcanzado sistemas operativos muy versátiles que  permiten desarrollar sobre ellos múltiples funciones. En cambio, la mayoría de procesos de desarrollo de Smartwatch  a medida, que enfrentamos en Let´s Prototype por encargo de nuestros clientes, son pulseras inteligentes para funciones muy concretas en industrias muy específicas por lo que, sin duda alguna, requieren la participación de nuestros expertos en desarrollo de sistemas embebidos

Termostato inteligente: Un ejemplo de producto con sistema embebido muy conocido por todos, es el termostato inteligente. Como ya sabes, su objetivo fundamental es monitorizar y ajustar la temperatura de un entorno en función de la configuración que el usuario proporcione Vs las condiciones reales de dicho espacio. Pues bien, se trata de un producto con una función muy específica, con fuertes interacciones en el mundo físico (sensado de variables ambientales) Estos factores nos sugieren que estamos en presencia de un sistema embebido

Controlador de un motor en planta industrial: Las dimensiones de los productos no definen la presencia de sistemas embebidos. Siendo fieles al concepto de sistemas embebidos, es exclusivamente la limitación y conocimiento específico sobre la necesidad de computo y, usualmente, las ya mencionadas interacciones directas con el mundo físico, a través de sensores y actuadores, lo que nos indica su presencia. En este caso concreto, pensamos en un motor dentro de una planta industrial, cuyo rendimiento debe autoconfigurarse en función de un grupo de parámetros obtenidos desde sensores muy concretos, partes del prototipo. En este caso, aunque se trata de un sistema que requiere alto nivel de especialización, se mantiene en el marco de la definición de sistema embebido

Tipos de sistemas embebidos:

Manteniéndonos fieles a la definición de sistemas embebidos, como sistemas de cómputo diseñados para poder ejecutar propósitos muy concretos, previamente conocidos y con la participación de elementos hardware en un entorno concreto, debemos comprender que existen dos tipos de sistemas embebidos. Estas clasificaciones de sistemas embebidos están condicionadas por la composición de los sistemas:

Sistemas embebidos puramente hardware:

Se trata de sistemas embebidos que carecen de una capa software. Están compuestos únicamente por elementos hardware, normalmente concebidos para tales funciones, previamente conocidas. El desarrollo de este tipo de sistema embebido, requiere el diseño y desarrollo de componentes electrónicos que realizan funciones específicas, como: procesar señales, manejar sistemas de visión por computadora o estabilizar aviones. 

Sistemas embebidos híbridos (hardware y software)

Los sistemas embebidos híbridos, como característica esencial, se apoyan en el uso de elementos hardware, normalmente comerciales, así como en software que juegan un papel fundamental para controlar y hacer convivir tales elementos. En los sistemas embebidos híbridos, juega un papel clave los  microcontroladores, componentes que permiten a los desarrolladores de bajo nivel (cerca de la electrónica) programar los comportamientos necesarios y objetivos mediante un software. El uso de sistemas embebidos híbridos, es muy utilizado en el diseño y desarrollo de prototipos funcionales. También forma parte de muchos productos, incluso después de estar en fase de industrialización y comercial. Los sistemas embebidos híbridos sostienen un enfoque más adaptable con gran equilibrio económico, aunque debemos reconocer que los productos y prototipos que se desarrollan con sistemas embebidos híbridos, también tienen algunas limitaciones que deben ser perfectamente atendidas. Es precisamente en la atención de estas limitaciones, donde se marca la diferencia entre profesionales que improvisan soluciones con sistemas embebidos, y empresas como la nuestra, con un equipo de desarrollo especializado en sistemas embebidos híbridos.

Sistemas embebidos puramente Hardware Vs Sistemas embebidos Híbridos.

Sistemas embebidos Hardware

Sistemas embebidos Híbridos

Requieren componentes Hardware, normalmente desarrollados a medida, para responder a las funciones previamente conocidas.

Requieren componentes hardware, normalmente comerciales, para conseguir controlar su comportamiento y convivencia con otros elementos, se requiere una capa de desarrollo software. Es clave el uso de microcontroladores.

Muy optimizados en términos de velocidad de procesamiento y consumo de corriente, precisamente porque se evitan latencias innecesarias.

El uso de microcontroladores en sistemas embebidos, permite mucha flexibilidad y oportunidad de ajustes de forma ágil y barata. Precisamente porque se trata de comportamientos ajustados desde una capa software 

Requiere el desarrollo de hardware específicos. Este proceso es complejo y además requiere un nivel de inversión que pocas empresas se pueden permitir. 

El uso de microcontroladores, nos exige una relación de capacidad de procesamiento y consumo de energía que difícilmente podremos alterar. Es precisamente esta la característica que le hace tener desventaja frente a sistemas embebidos puramente Hardware.  

Ventajas y desventajas del uso de microcontroladores comerciales para el desarrollo de sistemas embebidos. 

Como hemos visto hasta el momento, solo las grandes empresas con amplia disposición de inversión para el desarrollo de un producto, pueden permitirse el desarrollo de componentes hardware a medida para conseguir una función concreta, con el máximo nivel de eficiencia, en materia de velocidad y optimización de la energía necesaria para conseguir los resultados. En cambio, la mayoría de empresas e inventores que se plantean el diseño y desarrollo de prototipos de sus inventos, se apoyan en el desarrollo de sistemas embebidos híbridos, que requieren la integración de microcontroladores y desarrollo software que ameniza la convivencia entre sensores para conseguir estas funciones. 

Como podrás suponer, teniendo en cuenta la principal limitación de los sistemas embebidos híbridos, pasa por la elección del microcontrolador adecuado según los requerimientos de cada proyecto. Tema en el que podremos profundizar más adelante con algunos tips que todos los desarrolladores de sistemas embebidos e ingenieros electrónicos expertos en desarrollo de producto innovadores, deberían tener en cuenta. 

Para explicar las ventajas y desventajas del uso de microcontroladores comerciales en el desarrollo de sistemas embebidos, podemos apoyarnos en el siguiente ejemplo de prototipo

Sistema de control de temperatura con microcontrolador ESP32 y permite ajustes en su funcionamiento a través de código en lenguajes como C o C++

Ventajas de la elección del microcontrolador ESP 32

Inversión controlada: El uso del microcontrolador ESP 32, permite conseguir demostrar la viabilidad técnica de un invento o idea de forma ágil sin enfrentar inversiones inalcanzables para la mayoría de los inventores y/o empresas de innovación

Flexibilidad y agilidad: cometer un error en el proceso de desarrollo de un producto cuyo sistema embebido se apoya en un microcontrolador ESP 32, no tiene por qué suponer un gran problema. con correcciones de código  puede customizarse y corregirse de forma muy rápida cualquier detalle en el funcionamiento. 

Disponibilidad de componentes: Los microcontroladores comerciales, como es el caso de la ESP 32, son totalmente accesibles, puedes adquirirlos en canales convencionales como Amazon. En pocas horas puedes conseguir un ESP 32 a precios muy reducidos. 

Efecto Comunidad: La comunidad de desarrolladores expertos en microcontroladores ESP 32 es gigantesca y están perfectamente organizados en foros. Estos foros y la propia dimensión de la comunidad, permite que se pueda acceder a soluciones de problemas comunes, librerías validadas y discusiones que aportan valor a la velocidad de aprendizaje para desarrollar sistemas embebidos con ESP 32.

Desventajas de la elección del microcontrolador ESP 32

Limitaciones tecnológicas: Utilizar un microcontrolador comercial, como puede ser el ESP 32, que es además uno de los más frecuentes en la industria de desarrollo de prototipos, significa que como desarrollador, estarás atado a las capacidades y limitaciones de la propia tecnología que se ha utilizado para concebir el microcontrolador.  Existen tres parámetros en los que radica el equilibrio crítico a la hora de elegir un microcontrolador comercial para desarrollar un prototipo: Consumo de corriente – Capacidad de memoria – Velocidad de procesamiento. 

Limitación de optimización y detalles: Si comparamos fríamente un sistema embebido híbrido, sobre la base de un microcontrolador comercial, los niveles de eficiencia, precisamente relacionado con el equilibrio antes declarado, será sustancialmente menos eficiente que si arribamos a un proyecto de sistema embebido puramente hardware. En cambio, las barreras de inversión y tiempo  necesario, hacen que muchas veces este último no sea el camino más adecuado. 

2 tips para principiantes en desarrollo de sistemas embebidos.

Tras comprender la definición de sistema embebido y habiendo identificado los tipos de sistemas embebidos que, por la naturaleza de su composición se utilizan con frecuencia en  procesos de diseño y desarrollo de productos, te compartimos dos tips que no se han extraído de ningún libro, sino de la experiencia del día a día, enfrentando problemas comunes de sistemas embebidos necesarios para conseguir demostrar la viabilidad técnica de las ideas que llegan a nuestro laboratorio de diseño y desarrollo de prototipos.Medir correctamente el alcance: Uno de los errores más comunes a la hora de planificar el desarrollo de un prototipo basado en un sistema embebido, es la elección de componentes, medición del alcance y coordinación de convivencia entre las partes. Normalmente por falta de comunicación con equipos comerciales, desconocimiento del inventor o la falta de experiencia en el desarrollo de sistemas embebidos, no medir correctamente el alcance, suelen ser un obstáculo importante en este tipo de desarrollos. Para mitigar este fallo tan frecuente, en Let´s Prototype contamos con un método de integración de procesos, comunicación interna y análisis de inventos, que consiste en: recogida de requisitos funcionales expresados por los inventores, conversión de requisitos funcionales en un proyecto de ingeniería básica donde se identifican y atienden los principales retos del prototipo, definición de arquitectura de sistema embebido, detallando componentes y haciendo test de laboratorio parciales que permitan su validación técnica para el prototipo en cuestión y, por último, es que se procede al diseño electrónico y desarrollo del firmware necesario. Aunque parezca un ciclo tedioso y lento, hemos demostrado que se ahorra muchísimo tiempo y dinero, planteando pasos que liberen el procesos de desarrollo de sistemas embebidos, de los errores comunes que se basan normalmente en la ineficiencia de comunicación, o acumulación de retos en la etapa de fabricación de sistemas embebidos.

Método de validación de hipótesis y gestión de errores: El desarrollo de prototipos funcionales o fabricación de inventos novedosos, utilizando sistemas embebidos, representa un número importante de retos que deben ser atendidos de forma parcial. Intentar desarrollar y validar el funcionamiento de un sistema embebido como un todo, es un error muy frecuente en profesionales con poca experiencia en el diseño y desarrollo de prototipos electrónicos con sistemas embebidos. En nuestra empresa de fabricación de productos electrónicos a medida, tanto los pasos de desarrollo, como la solución de problemas, se llevan a término aislando las hipótesis. Es importante antes de comenzar, tener un plan A y un plan B de validaciones necesarias, en cadena, de las que dependen los diferentes procesos que intervienen en los casos de uso de un prototipo. Por tanto, no debes frustrarte ante los errores comunes en sistemas embebidos, ni terminarás más rápido el proyecto, acumulando hipótesis en el procesos de desarrollo. 

5/5 - (1 voto)
Bryan López
Últimas entradas de Bryan López (ver todo)