Skip to content

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.

License

Notifications You must be signed in to change notification settings

ibanlegi/bldc-controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published