ITK engineers designed, optimized, implemented, and tested the sensorless BLDC motor controller with Model-Based Design.
Working from data sheets for existing motors and information provided by their client, the engineers modeled the BLDC motor, including its electrical and mechanical components, in Simulink®.
They developed a controller model in Simulink, and used Stateflow® to model startup, shutdown, and error modes, as well as user-selectable operating modes.
The team ran closed-loop simulations of the plant model and the initial controller model, which relied on a rotor position signal supplied by the plant model.
To develop the rotor position estimator, the team used Symbolic Math Toolbox™ to solve algebraic equations, and then refined the estimator until its results matched the actual rotor position signal from the plant model.
Using the automatic scaling and data type override capabilities of Fixed-Point Designer™, the engineers converted their floating-point controller design to fixed point. They reran simulations to verify the fixed-point model.
The team developed MATLAB® scripts that performed batch unit testing of individual model components. They produced model coverage reports for these tests using Simulink Coverage™.
The team generated more than 5000 lines of C code from their controller model with Embedded Coder®. They compiled the code for an ARM® Cortex®-M3 processor with a Keil compiler.
The engineers tested the controller on a prototype board and motor, refining the model and re-generating code several times to optimize performance.
ITK delivered Simulink models of the controller and the plant to its client, together with the generated production code. The controller and sensorless BLDC motor are currently in series production in dental drills.