
The STM32Cube is a STMicroelectronics original initiative to ease developers’ life by reducing development efforts, time and cost.
The STM32Cube covers STM32 portfolio.
The STM32 microcontroller offers the performance of the industry-standard Cortex®-M core running either Six-Step or Field Oriented Control (FOC) modes, widely used in high-performance motor drive for Air Conditioning, Home Appliances, Drones, Building & Industrial Automation, Medical and E-bike applications.
The STM32 Motor Control (MC) Software Development Kit (SDK) includes:
The ST MC FW library provides implementations of the Field Oriented Control FOC and of the Six-Step motor control techniques. This allows it for driving Permanent Magnet Synchronous motors (PMSM) and Brushless DC motors (BLDC). FOC is more suited for PMSM while the Six-Step technique is more meant for BLDC motors. The Firmware can drive both Internal Mounted PMSM and Surface Mounted PMSM.
The ST Motor Control Firmware library provides the following features:
SVPWM generation:
Speed or Torque Control Mode: Motors can be controlled in speed or in torque mode. Switching between modes is possible at any time (even when the motor is spinning)
Position Control Mode. Position Control is possible for motor control applications using encoders for speed and position measurement (Project Build time feature. No switch to/from Torque or Speed Control modes is possible at run time when Position control mode is enabled)
Programmable Speed and Torque ramps
Open or Closed Loop operation:
Closed loop is default
Two Open loops modes:
Switching between open and closed loop is possible at run time
Phases Current Sensing:
Rotor Speed and Position feedback:
Highly configurable rev-up control sequence for sensor-less configurations
On-the-Fly startup feature: The sensor less algorithm is able to detect if the motor is already spinning before startup, thus skipping the acceleration phase if needed (useful for an application)
Motor Brake strategies:
Flux Weakening algorithm to reach higher than rated motor speed (optional)
Feed Forward high performance current regulation algorithm (optional)
Maximum Torque Per Ampere (I-PMSM only, optional)
Discontinuous PWM (optional)
Overmodulation on Phase Voltage Generation (optional)
Real time tuning of:
Duty Cycle generation:
Programmable Speed ramps
Closed Loop operation with real time tuning of PI regulators parameters
Rotor Speed and Position feedback:
Startup Control for sensor-less configurations
Back-EMF detection capability during PWM On time
Two speed control modes:
Support for Programmable Gain Amplifiers (PGA) usage for current sensing:
Support for comparators usage in Over-Current Protection (OCP) mode:
The ST Motor Pilot is a control and monitoring PC tool. It is built on a brand new communication protocol that allows for faster and more reliable communication while consuming less MIPS from the MCU. With this protocol, internal Motor Control signals can be monitored in real time with no or controlled subsampling.
Main features :
It embeds also another tool, the Motor Profiler software feature that provides the following features:
Graphical User Interface (GUI) to configure a Motor Control application:
*.IOC files to interface STM32CubeMX toolEasy parameters tuning:
STM32CubeMx is a PC software tool provided by ST to configure STM32 based applications. It is not part of the STM32 MC SDK delivery, but can be downloaded freely at http://www.st.com.
It is used to generate IAR Embedded Workbench for ARM(IAR Systems AB) or μVision® IDE for Arm® (Keil® MDK) and STM32CubeIDE ready to use projects from .ioc files that the ST MC Workbench produces.
In the ST MC context, the STM32CubeMX might be used to customize pins implementation of the MC application as well as to configure other peripherals that are not MC specific but nonetheless needed for the MC application (e.g.GPIO pins).
Supported Devices:
Control Boards
STM32F0xx Family:
STM32F3xx Family:
STM32F4xx Family:
STM32F7xx Family:
STM32H7xx Family:
STM32G0xx Family:
STM32G4xx Family:
STM32L4xx Family:
Power Boards:
Adapter Bridges
Inverter Boards
Kit
Dual drive is no more supported at the moment. Support for this feature will be reintroduced in a future release of the SDK
The STEVAL-IPMNG3Q power board generates glitches on its Fault signal that result in false Over Current errors on the Motor Control subsystem. These errors can occur even before the motor is started. This issue can be addressed with the filter that most STM32 provide on the Timer BREAK2 input. However STM32F0 (and STM32F1) MCUs do not feature such a filter and one needs to be implemented on the user's board.
With STM32CubeMx 6.4.0:
LL_RCC_SetTIMClockSource(LL_RCC_TIM1_CLKSOURCE_PLL) just after the call to MX_TIM1_Init() in the main()function in file main.c.The support of H7 series is not functional with the use of STM32CubeMx 6.7.0 Furthermore, with STM32CubeMx 6.8.0, the clock has been reduced to 400MHz to fit with SMPS voltage supply (which is the HW default setting on the NUCLEO-H745ZI)
The debug DAC feature is not yet supported with 6Step algorithm
For the motor profiler, those boards are not yet supported :
Control boards :
Power boards :
This version of the new Motor Control SDK 6 series (X-CUBE-MCDSK) is a bug fix release.
Changes introduced in the ST Motor Control Firmware
Changes introduced in the ST Motor Control Workbench
| Components | Version | License Terms | Release Note |
|---|---|---|---|
| Utilities/PC_Software/STMCWB | 6.1.2 | Binary Image | MCWorkbench Release Note |
| Utilities/PC_Software/STMCBM | 1.0.0 | Binary Image | MCWorkbench Release Note |
| Utilities/PC_Software/MotorPilot | 1.1.12 | Ultimate Liberty | MotorPilot Release Note |
| Utilities/PC_Software/STMCWB/assets/MotorControlPack | 6.1.2 | Ultimate Liberty | MC Firmware Release Note |
This version of the new Motor Control SDK 6 series (X-CUBE-MCDSK) is a bug fix release.
Changes introduced in the ST Motor Control Firmware
Changes introduced in the ST Motor Control Workbench
Profiler binary Overvoltage value aligned with board specification
Add Y cursor
Added new board support for Motor profiler feature:
Control boards :
| Components | Version | License Terms | Release Note |
|---|---|---|---|
| Utilities/PC_Software/STMCWB | 6.1.1 | Binary Image | MCWorkbench Release Note |
| Utilities/PC_Software/STMCBM | 1.0.0 | Binary Image | MCWorkbench Release Note |
| Utilities/PC_Software/MotorPilot | 1.1.5 | Ultimate Liberty | MotorPilot Release Note |
| Utilities/PC_Software/STMCWB/assets/MotorControlPack | 6.1.1 | Ultimate Liberty | MC Firmware Release Note |
This version of the new Motor Control SDK 6 series (X-CUBE-MCDSK) reintroduces the support for the F0, F3, F4, F7, H7 and L4 series for FOC and adds Six Step support to F0 and G0 series.
A new tool called Board Manager is provided to add ability to configure easily a Board description that can be then imported by the Workbench.
The ST Motor Profiler tool is removed from the X-CUBE-MCSDK. The motor profiling feature is now provided by the ST Motor Pilot.
In this release, all previous user manuals except ( Getting Started with ST Motor Control SDK, Motor Control Workbench User Manual and for Motor Pilot Startup Guide) are now reachable through the document index.html provided within the MCSDK.
Changes introduced in the ST Motor Control Firmware
A new application UI is delivered with the Motor Pilot that allows for profiling a unknown motor. This UI is very similar to the one provided with the retired ST Motor Profiler tool. In addition to it, the application adds the capability to detect the configuration of Hall sensors if the motor under profiling has them and it can also automatically detect the configuration of the hardware it is connected to.
The Motor Profiler is now embedded to the ST Motor Pilot to form a unique tool.
In addition, the Motor Pilot delivered with this version of the SDK introduces the following changes:
Integrates the Motor Profiler tool
Added feature to read/write/execute file from qml : user can now access to any data on his computer from qml file of the Pilot
New plot snapshot feature : like oscilloscope instrument with ability to make a snapshot of a plot and then compare it to another plot
A new plot sum function : like oscilloscope instrument with ability to sum up to 3 plots
Added trigger function to high frequency plot
Change Rs estimation display background if value is too much different from Rs Rated
Hall sensors configuration detection for motor profiling
Added new board support for Motor profiler feature:
Control boards :
Power boards :
| Components | Version | License Terms | Release Note |
|---|---|---|---|
| Utilities/PC_Software/STMCWB | 6.1.0 | Binary Image | MCWorkbench Release Note |
| Utilities/PC_Software/STMCBM | 1.0.0 | Binary Image | MCWorkbench Release Note |
| Utilities/PC_Software/MotorPilot | 1.1.3 | Ultimate Liberty | MotorPilot Release Note |
| Utilities/PC_Software/STMCWB/assets/MotorControlPack | 6.1.0 | Ultimate Liberty | MC Firmware Release Note |
This is the first version of the new Motor Control SDK 6 series (X-CUBE-MCDSK). As the first release of a new major version, MCSDK 6.0.0 marks a major milestone for ST Motor Control SDK.
The most visible change introduced by ST MCSDK 6.0.0 is a brand new Workbench tool, featuring a modern UI with a fully reworked use flow. With this new UI, the user is fully guided through all the steps needed to configure a Motor Control application. Each feature is completely configured in one place, from the pure algorithmic parameters to the pinning of STM32 peripherals. There is no need to go through several distant and hidden panels to set all the details of a feature anymore.
In addition to easing the user experience, this new workbench is designed to support more products, new algorithms, new features, new motor types that will be added in the future. An example of new feature is the the Six Step drive implementation that was only provided as a set of examples in the ST MCSDK 5.x series. Thanks to the new Workbench 6, it is now available as a first class citizen in the SDK. Another example is the introduction of a new, flexible, board description format. Thanks to this new format, users will be able to design their own, custom boards and have them properly handled by the workbench. This will be made available in several steps: First, the format is being documented on ST's wiki. But the ultimate goal is to integrate, in a future release, a board designer UI in the Workbench that will allow users to design their own hardware motor control boards.
This new Workbench is only one of the changes that ST Motor Control SDK 6 series is introducing. ST Motor Pilot, the new control and monitoring PC tool that replaces the Monitor of the Workbench 5, already published with ST MCSDK 5.Y.0 is another. Others will come in the coming releases of the Motor Control SDK 6 series.
ATTENTION:
The file format used by MCSDK 6 to store projects designed with the workbench (with the *.stwb6 extension) is new and there is no tool for converting from the legacy stmcx format to the stwb6 one.
Added full support for the Six Step control technique. It is now configurable from the workbench.
Added the possibility to switch between open and close loop at run time for FOC configurations
Fixed alignment issue seen with MDK-ARM Keil version 6 that would result in the embedded application crashing with a hard fault.
Fixed an issue where the firmware application would go to Speed mode even if Torque mode was selected as the default mode at startup through Workbench.
Added the possibility to configure the CPU Load Measurement and the Open loop features from CubeMx. As of now, these two feature cannot be enabled from the Workbench.
The Power measurement API now returns a floating point value
Fixed an issue with a wrong reference being set after the alignment procedure in position control mode
A commented selection of these changes needs to be listed here:
U16FLAGS into FAULT_FLAGSS16 instead of U16.This software package is licensed by ST under ST license SLA0048, the "License"; You may not use this package except in compliance with the License. You may obtain a copy of the License at: