¿Qué herramientas debo aprender en MATLAB como ingeniero integrado?

Si eres un novato, no intentes MATLAB directamente. No te sirve de mucho. Ese es un error común. Puede aprender la herramienta, sin embargo, echa de menos los principios de ingeniería que son la base para desarrollar el algoritmo y la lógica.

Si te tomas en serio MATLAB, te sugiero el siguiente proceso paso a paso.

Desarrolle experiencia en programación en C con un MCU. Comprenderá cómo funciona una computadora a través de las abstracciones de la sintaxis del lenguaje, el compilador y el enlazador. Una vez que lo domine, desarrolle experiencia en diferentes arquitecturas. Aprenda cómo funciona el programa en diferentes arquitecturas.

Intente aprender sobre arquitecturas basadas en máquinas de estado e intente analizar sistemas simples escribiendo sus máquinas de estado en papel. Por ejemplo, tome un caso de selección de canal usando el control remoto de TV. Cuando presiona 1, el televisor muestra 1_ o 1__ o 1___ según la configuración. Espera unos segundos (digamos 20 segundos) para que seleccione el siguiente canal.

Si presiona otro botón, digamos 2, mostrará 12 o 12_ o 12__. En el caso de ’12’, verifica si hay algún canal con ese número. Si es así, saltará a eso. Si no, permanecerá en el canal actual. En otros casos (12_ y 12__), esperará el tiempo de espera o presione el siguiente botón.

Si no se presiona ningún botón antes del tiempo de espera, verificará si hay un canal registrado para ‘1’ y salta a ese. Si no hay un canal con ‘1’, permanecerá en el canal actual.

Si se presiona el botón ‘salir’, cancelará el cambio de canal y permanecerá en el canal actual.

Este tipo de problemas no se pueden expresar de manera eficiente utilizando los diagramas de flujo. Las máquinas de estado ofrecerán una mejor manera de mostrarlas.

Si puede diseñar la máquina de estado para esto en papel, desarrolle un código C en una MCU para simular todo este proceso, desarrolle casos de prueba y asegúrese de que su lógica funcione perfectamente, puede pensar en MATLAB.

La otra cosa que es de gran ayuda es el dominio de los sistemas de control. Intente desarrollar un código para un cambio de salida con una velocidad de respuesta. Por ejemplo, la posición actual es 10. Debe moverse a 80. En la mayoría de los sistemas de control, no puede simplemente cambiar el valor a 80. Debe aumentar a una velocidad de rotación. Por ejemplo, tomemos una tasa de 5 cuentas por segundo. En algunos sistemas, puede ser una tasa lenta variable según la cantidad de cambio. Por ejemplo, si el cambio es superior a 10, la velocidad de respuesta puede ser de 5 cuentas por segundo. Si está por encima de 5, puede ser de 2 cuentas por segundo. Y a medida que se acerca al conteo objetivo, la velocidad de respuesta debe ser de 1 conteo por segundo. ¿Puedes desarrollar una arquitectura para probar esta lógica y probar que funcione para todas las condiciones?

Tenga en cuenta que MATLAB es solo una herramienta que lo ayuda a llegar a su solución rápidamente. El verdadero cerebro está en el análisis de requisitos, diseño de arquitectura, lógica y pruebas.

En nombre de MATLAB, he visto personas que desarrollan algunos proyectos de prueba de concepto de procesamiento de imágenes y piensan que han aprendido algo. Cuando les pedimos que expliquen la arquitectura y el tipo de situaciones de la vida real que han pensado al desarrollar la solución, no tienen respuesta para eso.

Es mejor dominar los principios de ingeniería antes de buscar las herramientas. Eso es lo que animo a mis alumnos a aprender.

¡¡¡Todo lo mejor!!!

Bueno, MATLAB es una herramienta genérica para la simulación y el análisis matemático. Por lo tanto, dependiendo del dominio en el que esté trabajando, es posible que desee aprender Control Toolbox, Signal Processing Toolbox, Neural Networks Toolbox, Image Processing Toolbox, etc. El “algoritmo” que simula y prueba en MATLAB puede codificarse en su Sistema Embebido basado en MCU favorito. Hay utilidades dentro de MATLAB que pueden convertir su archivo MATLAB (.m) en un programa en C que puede transferir a su MCU favorita sin esfuerzo o con un mínimo esfuerzo.