Date started, November 2022, Junior year of College
When I worked as an intern at Milwaukee Tool, I spent a lot of time working on Brushless DC Motor control. I had never worked with BLDC before, and I was loving it!
After leaving Milwaukee Tool to start my Junior year of college, I wanted to continue playing with Brushless DC Motors. I found an opportunity to work on BLDC motors while also "checking off" a project in one of my classes, EE3921 - Digital System Desgin.
Digital System Design was a class where we learned about FPGA's on the DE10 Lite board. The final project for the class was open-ended. We had to pick a project from a list of projects or come up with our own. I decided to make a BLDC motor controller on my FPGA for my final project.
Here is a video of me getting the motor to spin after a few days of playing with the code and electronics!
This was a fun project to work on becauase it incorporated a lot of software to commad the phases and commutate the motor, and it also involved a lot of hardware in terms of building an inverter board.
My next plans for this project are to move the algotrithm onto a microcontorller (as there is a lot of overhead work to run C on the FPGA) and see how fast I can run the motor, and how much torque I can generate. I wrote a 6-step trapezoidal algorithm to run the motor, but I would like to try my hand at doing sensorless FOC :)
Update 10/2023:
Here is the unmodified source to do 6 step commutation: