/FPGA-based-Digital-Twin

FPGA-based digital twin implementation where the datasets are taken directly from the physical asset running in parallel to the digital asset. This setup eliminates the need for big data and cloud upload which in turn ensures data privacy and faster, efficient digital twin implementation and update.

Primary LanguageVerilogMIT LicenseMIT

Badge License

FPGA-based Digital Twin Implementation for Mechatronic System Monitoring

Source code and hardware configuration files for implementing an embedded DT on FPGA boards to control a DC motor.


Team

Badge Marco Badge Jairo Badge Justus


Tabe of Contents

  1. About The Project
  2. Getting Started
  3. License
  4. Contact

About The Project

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.

(back to top)

Built With

  • Arduino Mega
  • Spartan Arty - S7
  • DC Motor
  • Simulink
  • Vivado

(back to top)

Getting Started

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.


License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

(back to top)