Bucles de Control en el Desarrollo de Vehículos Eléctricos
La necesidad de realizar un proyecto seguro y eficiente para un vehículo eléctrico ligero ha llevado a incluir cada vez más la simulación en los proyectos. En el artículo de hoy, vamos a desarrollar el uso de loops de control en nuestras simulaciones para garantizar dicha seguridad y eficiencia.
La simulación se ha convertido en una herramienta fundamental para el estudio de cualquier sistema, analizando y verificando que todas las pruebas pueden llevarse a cabo, siendo la base de cualquier proyecto. Evitando de esta forma accidentes, siempre y cuando la simulación sea un “espejo” del sistema real.
Para extender los beneficios de la simulación a todo el proceso, EEVAM apuesta por el Model-Based Design (MBD), simplificando de está manera los procesos más complejos. Evitando así errores difíciles de localizar entre tantas líneas de código y aumentar la eficiencia del trabajo.
En EEVAM Technologies, hemos diseñado un modelo en Simulink (Matlab) para simular loops de control en el sistema de dirección de cualquier vehículo eléctrico. Tiene distintos modos de dirección implementados.
Más abajo, veremos un ejemplo de cómo el MBD nos permite acelerar el proceso de diseño e iterar mucho más rápido que si utilizáramos un desarrollo tradicional usando lenguajes como C o C++.
La aplicación desarrollada consta de varios elementos virtuales que harán la función de lo que serán las salidas y entradas físicas del sistema, analizando la forma en la que se comporta el modelo desarrollado. A continuación, se muestra el bucle de control general y el panel de control para analizar el comportamiento de la ECU.
Podemos introducir algo de ruido en nuestro modelo, lo que nos ayudará a representar mejor cómo se comportaría el modelo en un entorno real.
Tras completar la fase de simulación, se ha procedido a realizar el siguiente paso, trabajar de manera física con la ECU, para ello, las salidas/entradas simuladas se han transformado en salidas/entradas físicas del sistema mediante un software de programación de ECUs (Raptor), el cual tiene la capacidad de interactuar con Simulink.
La herramienta Raptor, cuenta con varios programas, entre ellos se encuentra Raptor CAN, un útil capaz de leer y escribir mensajes en el bus CAN del sistema simulado y Raptor Cal para la calibración de la ECU.
A continuación, se puede observar lo simple que es realizar una lectura o escritura en el bus CAN, aquí se muestra el bloque con un ejemplo en el que se escribirá en el bus CAN, un valor de par y un valor de velocidad angular.
En este proceso, Embedded Coder es el encargado de transformar todo el programa realizado en Simulink a C++, que será realmente el código que se cargará en la ECU.
Una vez hemos programado la ECU, podemos poner a prueba su comportamiento. En este momento, podemos empezar un proceso iterativo en el que mejoramos nuestro modelo inicial hasta conseguir acercarnos lo máximo posible a los resultados obtenidos durante el test. Además, por otro lado, MDB nos permita reflejar esos cambios rápidamente en el firmware de la ECU.
Para finalizar, se expone un trozo del código generado mediante Embedded Coder: