Simulation and Control of a BLDC Motor

Simulation and control of a BLDC motor with methods on real-time data exchange and visualization.

The first objective of this thesis was to design a motor simulation web application. Despite being a web application restricting the programming language to JavaScript, the goal was to take advantage of the high-performance nature of a low-level language, such as C, while maintaining the easy user interface JavaScript offered. The project also focused on finding ways to stream the simulation result using web-based open-source software applications that were effective and easy to implement. After accomplishing the initial goal, the project then shifted into implementing the motor simulation algorithms into a practical robotic application that takes into account the multi-threaded asynchronous nature of this kind of application. When this goal was met, the question raised was how to broadcast data from the C program to a web-based application for visualization. From this point on, the project goes on to study a specific format that would facilitate sending data between multiple applications independent of the programming language and finally went into testing transport layers that would enable the data transfer.(Stevedan, 2020).

The following user interface shows the result of the projects.

Graphical user interface showing the final simulation

This program is based on a multithreaded application library “Deployment Architecture model” written by members of the Robotics Research group in Ku Leuven based on the book “Composable, adaptive, and explainable systemsof-systems” (Herman, 2017). The software is made of multiples threads, activity, and algorithms. The threads are time-triggered, meaning that they carry out loops at a specific cycle time. The cycle continues until set false. At each iteration, the loop does one of the “4C” : composition, communication, coordination and computation. The application uses a life-cycle state machine to decide which of the 4c function to execute. The Life-sate cycle machines have seven states that represent different phases of the ’lifetime’ of a thread.

The different phases of the ’life-time’ of a thread

Full implementation can be found here

References

2020

  1. master_thesis1.gif
    Simulation and control of a BLDC motor with methods on real-time data exchange and visualization
    Omodolor Stevedan
    UPC, Escola d’Enginyeria de Barcelona Est, Departament d’Enginyeria de Sistemes, Automàtica i Informàtica Industrial, Jul 2020

2017

  1. herman2017.gif
    Building blocks for complicated and situational aware robotic and cyber-physical systems with common sense
    Bruyninckx Herman
    Jul 2017