Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BLDC Controller

Master 1 Informatique - UE Simulation et Synthèse des Matériels

Université de Toulouse / Faculté des Sciences et de l'Ingénieur

2024–2025 Academic year

Authors

  • LEGINYORA Iban
  • CLUZEL Paul

Table of Contents

  1. Project Description
  2. Files Description
  3. Running Simulations with Makefile
  4. Reference

Project Description

This repository contains the implementation of a BLDC (Brushless Direct Current) motor controller using VHDL. The goal of this practical lab was to design a logic component capable of :

  • Sequencing the three motor phases using six transistors,
  • Integrating speed control via PWM,
  • Managing ramp-up and ramp-down to ensure safe operation,
  • Optionally supporting feedback through a Hall sensor or optical sensor.

The context of the lab focuses on controlling a BLDC motor retrieved from a hard drive, offering a safer and cost-effective platform for development and testing.

BLDC Schematic

Files Description

Running Simulations with Makefile

To simulate and verify the behavior of the BLDC controller, a Makefile is provided to automate the compilation, elaboration, and simulation steps using GHDL and GTKWave.

Step-by-step instructions

  1. Analyze the VHDL files This step checks and compiles all VHDL files (controller and testbench):

    make a
  2. Elaborate the testbench entity This step builds the simulation model for the testbench entity:

    make e
  3. Run the simulation and generate the VCD waveform file This command executes the testbench and produces a .vcd file for waveform analysis:

    make r
  4. Visualize the simulation results with GTKWave After the simulation, you can inspect signal waveforms using GTKWave:

    make run

Additional Commands

  • Clean all generated files (VCD, GHDL artifacts):

    make clean-all
  • Display the help information:

    make help

These commands provide a convenient way to compile and test the VHDL design without manually invoking each GHDL command.

Reference

This work is inspired by content from Elektor Magazine – BLDC Beginner’s Guide, as well as lectures and guidance provided by Dr. THIBEOLT François (IRIT).

About

The project aims to implement a BLDC motor controller on an FPGA, managing three-phase switching via a feedback signal. Speed is controlled with PWM, ensuring smooth ramp-up/down. Testing will be done on modified hard drives.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.