foc-fpga-hb
Scalable Multi-Axis FOC on FPGA for Permanent Magnet Synchronous Motors
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.3%) to scientific vocabulary
Repository
Scalable Multi-Axis FOC on FPGA for Permanent Magnet Synchronous Motors
Basic Info
- Host: GitHub
- Owner: oscarhbj
- License: mit
- Language: Tcl
- Default Branch: main
- Size: 15.9 MB
Statistics
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
FOC-FPGA-HB
Scalable Multi-Axis FOC on FPGA for Permanent Magnet Synchronous Motors
Board used: TE0720-04-61C33MAS
Software Version: Vivado 2020.2, Vitis 2020.2
Brief description of project: The project includes a Field-Oriented Control Core that can control multiple BLDC motors. The core utilizes pipelining to share logic and optimize the system's scalability.
Video: https://youtu.be/ibGOrkTTE68
Description of archive (explain directory structure, documents and source files):
bash
├─ FOC-FPGA-HB/ # Folder containing FOC core
| ├─ RTL/ # Folder containing files used within the project
| | ├─ src/ # source folder for core
| | | └─ python/ # Python files to generate LUT
| | └─ xdc/ # xdc files
| └─ Hardware.md # Hardware utilized in testing of FOC core
├─ .gitignore # Gitignore file
├─ LICENSE # MIT License
├─ Master_Thesis.pdf # Master thesis
├─ Short_report_FOC # Short project report. Fore complete data, look at the Thesis
└─ README.md # Readme file containing information about the current repo
Instructions to build and test project
Step 1: Start a new project in Vivado.
Step 2: Import the vhdl files and ".txt" files for lookup tables.
Step 3: Select VHDL 2008 as the programming language.
Step 4: Configure the design in the confuiguration file. Here the special datatypes for signals are defined and can be used for connecting to compatibility layers.
Step 5: Add compatibility layer around the core. (If the SoC is to be used a Block design in Vivado would need implementation)
Step 6: Constrain the design
Step 7: Generate bitstream.
The example included works for 2 BLDC motors on a the TE0720-04-61C33MAS. The TCL file does not work as there was some problems with relative path during the creation of the script.
For more information about the code, read the thesis provided.
Owner
- Name: Oscar H Bjørnstad
- Login: oscarhbj
- Kind: user
- Repositories: 1
- Profile: https://github.com/oscarhbj
Citation (CITATION.cff)
authors:
- family-names: Bjørnstad
given-names: Oscar Hæstad
title: Scalable Multi-Axis FOC on FPGA for Permanent Magnet Synchronous Motors
date-released: '2024-05-15'
repository-code: https://github.com/oscarhbj/FOC-FPGA-HB
university: University of Oslo
department: Department of Informatics
GitHub Events
Total
- Watch event: 2
- Fork event: 1
Last Year
- Watch event: 2
- Fork event: 1