Source code and hardware configuration files for implementing an embedded DT on FPGA boards to control a DC motor.
This project aims to propose an embedded digital twin implementation on a Field Programmable Gate Array (FPGA) for mechatronics system monitoring. The Digital Twin of the physical system is built using MATLAB/Simulink. The obtained DT model is translated into HDL code using Matlab HDL coder toolbox for its implementation in a Xilinx FPGA for the position control of a DC motor. Thus, the digital twin implementation acts as a reference for the physical asset performance, enabling event awareness capabilities. The main contribution of this paper is the digital twin implementation at the hardware level using an FPGA, which is fed with real-time data exchanged directly from physical assets, eliminating the need for an intermediary cloud exchange that introduces latency and data privacy issues. This work contributes to the framework of smart control engineering, where controllers are equipped with information for smarter decision-making.
The project includes the source code and hardware configuration files for the implementation, as well as detailed instructions on how to set up the hardware and run the code. This project is suitable for anyone interested in learning about embedded systems, control systems, and FPGA programming.
- Arduino Mega
- Spartan Arty - S7
- DC Motor
- Simulink
- Vivado
This repository is divided into two folders, each containing the source files, instructions, and results for implementing a PID control algorithm on Arduino and FPGA boards to control a DC motor.
- The Arduino_source folder provides instructions on replicating the project, including the Simulink file built using the Simulink Support Package for Arduino Hardware, how to run the code on the Arduino board, and the schematics of the connections.
- The FPGA_source folder contains instructions for replicating the project, including the Vivado project and the schematics.
Both folders contain detailed instructions on how to set up the hardware and run the code, as well as sample applications and test results.
Distributed under the MIT License. See LICENSE.txt
for more information.
- Marco Milanesi - mmilanesi2@ucmerced.edu
- Jairo Viola - jviola@ucmerced.edu
- Justus Nwoke - jnwoke@ucmerced.edu