BLDC Motor FOC Control
Featured Project

BLDC Motor FOC Control

Advanced Motor Control with STM32 and Field-Oriented Control

Project Overview

Developed a sophisticated Brushless DC (BLDC) motor control system centered on an STM32 microcontroller, integrating the Modbus protocol over RS485 for real-time communication and control. This system implements both open-loop and closed-loop Field-Oriented Control ($ ext{FOC}$), with the closed-loop implementation featuring precise PID tuning and relying on SPI-based encoder feedback managed via timer interrupts. The Modbus processing itself was executed using UART interrupt-driven logic. For user interaction and safety, the system featured an OLED screen to display the current motor speed and an emergency stop button. All components, including the custom control circuitry, were integrated onto a single, custom-designed and fabricated PCB.

FOC Algorithm

Industry-standard Field-Oriented Control

Real-Time Control

High-frequency PWM and feedback control

Industrial Protocol

Modbus RS485 communication

View Code

Project Demo in Action

Key Features

STM32 microcontroller with HAL library

Field-Oriented Control (FOC) algorithm implementation

Modbus RS485 serial communication

Closed-loop PID control tuning

SPI-based encoder feedback

UART interrupt-driven data handling

Custom PCB design and fabrication

Real-time motor speed and current monitoring

Technologies Used

STM32
Modbus
FOC
RS485
BLDC Motor
UART
PCB Design
PID Control

3D CAD Models

BLDC Motor

STL

Housing Top

STL

Housing Bottom

STL

PCB

STL

Download Project Resources

📄

PCB Schematics

View or download this resource

🎪

Presentation Slides

View or download this resource

📚

Detailed Report

View or download this resource

🛠️

3D CADs

View or download this resource

Interested in This Project?

Have questions about the technical implementation, want to collaborate, or discuss similar robotics projects? Let's connect!