Welcome to the main project description of the custom designed sensor less motor drive project.
The ultimate goal is to, from scratch, design, develop, build and program a sensorless motor control platform for permanent magnet synchronous machines and induction machines.
This project is divided into the following parts, sorted more or less in the same order as we want to execute them.
Each part is linked to a blog post with the results.
- Topology and design decision
Chose which power electronic topology to shoot for, how many levels, which type of load and so forth.
- Component specifications
Determine rated motor load and basis for power electronic component ratings (voltage and amperage).
Select which power electronic parts to buy, from where and which tools and equipment we need.
Remember, we are doing this from scratch.
- Sensor design and component selections
Even though the project is sensorless, we still need voltage and current sensors. Sensorless really only refers to sensors at the motor to determine the rotor position by means of either resolvers (rare), flux sensors (even rarer) or encoders.
We have decided to create dedicated PCBs for both the current and voltage sensing so that we can modify or upgrade one sensor without having to interfere with the other.
- Power supply PCB design
Each PCB requires voltage at different levels and instead of having one power supply on each board, we want to build a distribution board with several outputs to supply voltage to each of the PCBs.
- Gatedriver design
The gatedriver is the component which turn the transistors on and off based on digital input from the controller. This requires some circuitry and isolation, and will be a dedicated PCB.
- Design control loops for position, torque and flux
There are a vast amount of different control strategies out there, all designed for motor drives. This project will try out several of them to compare performance with regard to position estimation.
- Configuring processors and FPGA
First we need to configure the SoC to run Linux on one core alone, and a bare metal motor drive program on the other core. The FPGA needs to be programmed to talk to both the shared memory and to the inputs and outputs available on the board it is connected to.
- Programming the motor drive program
This will be the interesting part.