EFeru / bldc-motor-control-FOC

Field Oriented Control (FOC) for BLDC motors
GNU General Public License v3.0
253 stars 94 forks source link

bldc-motor-control-FOC

License: GPL v3 paypal

This repository implements Field Oriented Control (FOC) for BLDC motors in Matlab/Simulink. The controller was deployed and tested on a real-time hoverboard embedded platform:


Table of Contents


FOC Webview

To explore the controller without a Matlab/Simulink installation click on the link below:

https://eferu.github.io/bldc-motor-control-FOC/


FOC Architecture

The FOC architecture includes:

FOC architecture

The FOC algorithm architecture is illustrated in the figure below:

FOC algorithm

In this implementation 3 control types are available:

Schematic representation of the available control methods

The C code for the controller is capable for auto-code generated using Matlab/Simulink. The controller is designed for stock hoverboard motors with the motor windings construction as shown here. However, with slight modifications, the controller can be adapted to other available BLDC motors.


Parameters

The controller parameters are given in the following table:

Parameters table


Diagnostics

The motor is constantly monitored for errors. These errors are:


Contributions

Every contribution to this repository is highly appreciated! Feel free to create pull requests to improve this repository as ultimately you are going to help everyone.

If you want to donate to keep this repository updated, please use the link below:

paypal