▲
Click above to follow
STM32
In daily life, about 50% of the electric energy rushing through the power system is consumed by motors. With the improvement of MCU computing power and the enrichment of functions, MCU-based digital motor control scenarios are becoming more and more common. Motor control is a core category of industrial applications, with a wide variety of types and different requirements, and has high requirements for operating temperature, packaging, communication and control. MCU-based motor control still has a threshold.
STM32 has a complete motor control ecosystem
ST provides users with motor control solutions in the form of a complete ecosystem, which includes not only related products (MCU, power devices), evaluation hardware development kits, development and debugging tools, but also ST motor control software development kit, namely ST MCSDK. The
STM32 motor control ecosystem mainly includes the following parts:
-
X-CUBE-MCSDK
-
ST-MC-SUITE
-
Motor parameter analyzer
-
STM32 Cube Ecosystem
-
STM32 Motor Control Wiki
ST MCS
DK is provided to users as an external component of STM32CUBE.
STM32Cube is a software development tool that integrates the human-machine interface STM32CubeMX, the peripheral library of STM32 MCU (STM32CubeXXX, XXX = F0,F1,…, H7, L0, L1, …, G0, G4, …, etc.) and the code generator.
ST MCSDK contains three parts: the firmware library of three-phase permanent magnet synchronous motor, the human-machine interface ST MCWorkbench, and STM32CubeMX called from the background by ST MC Workbench. X-CUBE-MCSDK and X-CUBE-MCSDK-FUL contain the firmware library of three-phase permanent magnet synchronous motor, the human-machine interface STMC WB, the motor parameter automatic determination tool ST Motor Profiler and the corresponding documents for the previous three parts. When using this SDK, users also need to install STM32CubeMX on the computer and download the peripheral library corresponding to the STM32 product, as well as the corresponding software development tools (code editing, compile-link-optimization tools, such as IDE provided by IAR, KEIL, etc.).
STM32 has created a segmented MCU series for motor control, supporting a variety of motors, providing complete design resources, and all codes are open, including PMSM (FOC), BLDC (6-Step), ACIM, which can automatically identify motor parameters, further reduce the difficulty of debugging, monitor operating conditions in real time, master parameters, and continuously optimize and upgrade algorithms.
Among the STM32 product series, the products that can be used for motor control cover 8 series and more than 30 product lines. The mainstream series are F0, F3, G0 and G4; the high-performance series are F2, F4, F7, H7; the low-power series are L0, L1, L4, etc. These products include advanced timers (TIM1, 8, 20, etc.) dedicated to outputting the three-phase PWM waveforms and over-current trigger protection required by the inverter, and ADCs that can be triggered synchronously with the output PWM. The ADC also has an analog watchdog unit. In order to further simplify the peripheral circuits, F3/G4 also integrates operational amplifiers and comparators. The STM32 motor control solution is suitable for various fields that require motor control, such as variable-frequency home appliances, industrial inverters, electric bicycles, power tools, and model airplanes.
X-CUBE-MCSDK continues to evolve
Since X-CUBE-MCSDK5.4.4, ST has been continuously upgrading and updating the functions and features of motor control software to meet the development needs of the motor control market.
Let's take a look at the evolution of X-CUBE-MCSDK.
From 5.4.4 to 5.4.5
, support for the web-published versions of IAR EWARM 7.x was ended; support for STM32G4 Cut 2.2 was added; Workbench was updated to work with STM32CubeMx v6.0.1; support for new power boards was added; and some issues were fixed.
From 5.4.5 to 5.4.6
, added support for STM32CubeMx version 6.2.0; fixed some issues.
From 5.4.6 to 5.4.7
, added support for STM32CubeMx version 6.3.0; fixed some issues.
From 5.4.7 to 5.4.8
, added support for STM32CubeMx version 6.4.0; fixed some issues.
Starting from 5.4.6, X-CUBE-MCSDK began to evolve towards 5.Y.
X-CUBE-MCSDK 5.Y introduces the ST Motor Pilot version, which is a new monitoring tool for X-CUBE-MCSDK; the old monitor has been removed from the Workbench; a completely new communication protocol has been implemented and replaces the old version.
For PMSM/BLDC motors
, X-CUBE-MCSDK 5.Y supports:
-
Discontinuous PWM (i.e. two-phase modulation)
-
Overmodulation can be activated via the Firmware Driver Management/Additional Features tab in Workbench
-
Single resistor for phase shifting
-
Circle Limitation VD: A better variant of the Circle limitation algorithm
-
Added support for STSPIN32G4 devices
-
Added support for new circuit boards
-
Added support for EVALSTDRIVE101 power board
-
Added support for HSI clock sources for STM32L452 and STM32L476 devices
-
Removed support for STM32F1 devices (correspondingly PFC using F1 is no longer supported)
-
Six-step example improvement
For asynchronous motors
, X-CUBE-MCSDK 5.Y supports:
-
ACIM motors are supported as two examples using FOC sensorless and V/f (scalar) modes
-
A graphical PC tool is provided with the SDK to help configure this example: ACIM GUI
-
Both examples are designed for NUCLEO-G431RB + STEVAL-IHM023V3 configurations
From 5.Y.0 to 5.Y.1
: Fixed some issues.
From 5.Y.1 to 5.Y.2
: Fixed some issues with parameter visibility in STM32CubeMX to make the six-step algorithm configurable.
From 5.Y.2 to 5.Y.3
: Reintroduction of pdf documentation that disappeared in 5.Y.2; Motor Pilot improvements.
From 5.Y.3 to 5.Y.4:
-
Redesigned and simplified the state machine for motor operation
-
Comply with MISRAC2012 standards
-
Added CPU load measurement mechanism
-
Changed the names of some example files
-
Added floating point API to motor control API
-
Added API functions to get speed and position feedback information of auxiliary sensors
-
Removed encoder alignment API
-
Added an offset measurement API program and function
-
For configurations using Hall sensors for speed and position feedback, the non-standstill start function can be enabled
New Features of X-CUBE-MCSDK 6.0
Recently, X-CUBE-MCSDK was updated to SDK 6.0. The main features include:
-
New Workbench
-
6-step commutation can now be configured in Workbench
-
Currently only supports single motor control
-
The current version only supports G0 and G4, and subsequent versions will update support for other MCUs
X-CUBE-MCSDK 6.0 has a new motor control workbench with a new GUI, a new customizable auxiliary motor for monitoring engine conditions, a configurable motor operation platform for monitoring motor operation, a new firmware library, and a new 6-step motor control algorithm. Download and install X- CUBE-MCSDK from www.st.com, set up the hardware through the detachable P-NUCLEO-IHM03 development board, and you can build a complete project and get the motor spinning in less than 2 minutes.
The evolution of STM32 motor control software development kit MC SDK continues. In the second quarter of this year, SDK6.1 will be released, which will have a new FOC sensorless algorithm, 3x MC-FOC (G4), and the new MC Profiler v2.0 (in MC FW). SDK 6.x will also be released later.
© THE END
Click
"Read original text"
to learn more related content!