Quickly Implement Motor Control Designs Using a Drive IC with Integrated Microcontroller
Original Title：Quickly Implement Motor Control Designs Using a Drive IC with Integrated Microcontroller
The use of motors is steadily increasing in applications such as automobiles, robotics, industrial control and aerial vehicles. However, motor electronics are traditionally heavy, bulky, inefficient, and difficult to work with due to the high drive voltages that are involved. With designers facing an increasing demand for lower BOM costs, higher efficiency and smaller footprint electronics, as well as greater flexibility and faster time to market, a higher degree of integration and ease of use is needed.
This article will introduce STMicroelectronics’ STSPIN32F32F060x family of system-in-package (SiP) 3-phase motor controllers with a built-in microcontroller, and show how they can be used to achieve these design, cost, and time-to-market market challenges.
How to drive a 3-phase motor
In order to successfully drive a 3-phase motor, there are several hardware blocks that must be built into the design:
A motor drive IC
In a traditional motor controller design, a developer will usually have a section of the pc board that is dedicated to all three blocks. Typically, the microcontroller sends pulse width modulated (PWM) signals to the motor drive IC, which carefully monitors these signals along with the output current and voltage that are generated at the motor controller’s output, to drive the MOSFETs. The microcontroller often also communicates with the motor drive IC through either an I2C or SPI bus to enable custom features and functionalities, or it may use a half dozen or so discrete GPIO signals to control the bridge’s behavior.
The challenge with an external bridge driver IC in today’s development cycle is that they add additional cost and complexity and use up precious pc board space, not to mention input and output (I/O) signals on the microcontroller that might otherwise be used for something else. This is where a new class of integrated microcontrollers and bridge circuits is simplifying motor control applications, while simultaneously decreasing BOM costs and minimizing pc board surface area.
Why use the STSPIN32F060x
This class is represented by the STMicroelectronics STSPIN32F060x SiP series of components that embeds an STM32F031x6x7 Arm® Cortex®-M0 microcontroller with a 600 volt triple half-bridge gate driver (Figure 1). Each half-bridge can be used to drive a MOSFET or IGBT on each phase of a brushless DC (BLDC) motor.
Figure 1: The STM32F060x integrates an STM32F031 Arm Cortex-M0 with a 600 volt triple half-bridge gate driver to save cost, pc board space, and package pins. (Image source: STMicroelectronics)
The series provides some very interesting features and protections. For example, the parts include:
A comparator with an advanced smart shutdown (smartSD) function that ensures fast and effective protection against overload and overcurrent
Integrated high-voltage bootstrap diodes
The built-in microcontroller operates at 48 megahertz (MHz) and includes 32 kilobytes (Kbytes) of flash with 4 Kbytes of RAM, which is perfect for implementing field-oriented control (FOC).
The STM32F060x currently includes two parts in the family, the STSPIN32F0601 and the STSPIN32F0602. The primary difference between the two is that the 0601 supports gate drive currents up to 0.35 amperes (A), while the 0602 can support gate drive currents up to 1.0 A.
Notice that internal to the IC, the STM32F031 microcontroller is connected to the gate driver through several GPIO lines that are internal to the package. GPIO PA11 is used to enable the gate driver, and GPIO PB12 is used to detect if there is a fault with the bridge. GPIOs PA8 – PA10 are used for the gate driver’s high side inputs, while GPIOs PB13 – 15 are used for the gate driver’s low side inputs. This saves developers from having to use external GPIO pins to control a gate driver, while also avoiding the need for pc board space to run traces to a separate IC. Integrating both components simplifies the hardware and design complexity and can significantly reduce BOM costs.
Accelerate development with the EVSPIN32F0601S1 dev board
The STSPIN32F060x is supported by the EVSPIN32F0601S1 development board, a complete 3-phase inverter starter kit that includes all the necessary electronics to get a BLDC motor up and running using the STSPIN32F0601 controller (Figure 2). The EVSPIN32F0601S1 is broken up into five primary sections:
A detachable STLINK debugger
A feedback network
A power stage
A power supply
Figure 2: The EVSPIN32F0601S1 development board provides all the necessary electronics to get a BLDC motor up and running using the STSPIN32F0601 controller. (Image source: STMicroelectronics)
The pcb STLINK-debugger can be removed from the development board if desired, allowing developers to shrink the board size so that it can be used in prototypes and proof-of-concept (PoC) enclosures. Developers can still connect an external STLINK-V3SET (Figure 3) by connecting it to the SWD headers on the development board.
Figure 3: The STLINK-V3SET debugger is an external debugger that can be used to program and debug applications that are written using an STM32 microcontroller. (Image source: STMicroelectronics)
The development board also includes a feedback network that can be used for motor control algorithms that require sensors to provide the voltage and current feedback. In many modern designs, these feedback networks can be removed and an FOC algorithm can be used. This is a sensorless motor control algorithm that can further reduce the BOM costs and the size of the resultant pc board.
The power stage provides developers with high and low side MOSFETs or IGBTs that are used to switch the voltage across the various motor windings. What’s interesting about the board design is that the footprints are for either DPAK or PowerFlat packages, allowing developers to modify the development board if they so choose to use their own MOSFET or IGBT.
Finally, the power supply can provide an input ranging from 50 volts up to 280 volts DC/AC. The onboard flyback transformer can also generate +15 and +3.3 volts for use in the application.
In order to experiment with the development board, one needs to connect a BLDC like the QBL4208-41-04-006 from Trinamic Motion Control GmbH (Figure 4). Each phase of the BLDC motor is connected to the EVSPIN32F0601S1 through the appropriate output screw terminals.
Figure 4: The QBL4208-41-04-006 BLDC motor runs at 4000 RPM and can be used with the EVSPIN32F0601S1 dev board to develop a wide variety of applications. (Image source: Trinamic Motion Control GmbH)
While the EVSPIN32F0601S1 development board has all the hardware necessary to drive a BLDC motor, a 3-phase motor also requires software. To drive a motor successfully, developers can leverage STMicroelectronics’ X-CUBE-MCSDK motor control software development kit. This library can be used with software packages like the ST32CubeIDE and ST32CubeMx to easily configure a motor control solution.
Driving a BLDC motor with software
The X-CUBE-MCSDK software package includes two high-level applications: the MotorControl Workbench and the Motor Profiler. The motor control workbench allows a developer to create a motor control project to easily run a motor. Various motor algorithms can be used to drive the motor, including FOC, as well as various feedback topologies such as:
One shunt resistor
Three shunt resistors
Two isolated current sensors
The Motor Profiler allows a developer to enter their general motor parameters and then completely profile the motor. This profiling provides the general motor parameters required by algorithms such as FOC to successfully drive the motor.
Creating a project within the Motor Control Workbench is simple. A developer needs to open Motor Control Workbench and select new project. They can then enter their parameters as shown in Figure 5:
The number of motors that will be controlled
Their control and power configurations
The motor parameters such as poles, speed, voltage, and nominal current
Figure 5: The Motor Control Workbench Project configuration allows a developer to customize their project settings for their hardware. (Image source: Beningo Embedded Group)
Once the information for the project has been selected, developers can click OK which then brings them to the Motor Control Workbench (Figure 6). From the workbench, developers can customize how their application behaves. This includes the ability to configure:
Firmware settings like the start-up profile, drive settings and sensing options
Digital I/O settings like the encoder interface, hall sensors, serial communication, and start and stop buttons
Digital-to-analog converter (DAC) functionality
Analog input and protection settings for feedback from phase current, bus voltage, temperature, and the PFC stage.
Figure 6: The Motor Control Workbench provides a developer with the ability to customize their firmware, adjust MCU and clock frequencies along with the digital I/O, DAC, and analog input protection. (Image source: Beningo Embedded Group)
Developers even have the ability to enable and disable settings with the click of a checkbox such as:
Bus voltage sensing
Current sensing with over current protection
A developer doesn’t even need to see a single API or line of code to completely configure their motor control application.
Developers and motor control system designers face increasing pressure for lower costs, higher efficiency and smaller footprint electronics. As shown, the STSPIN32F060x SiP for 3-phase BLDC motor controller applications not only decreases BOM costs, but also pc board space and system complexity. It also comes with an effective ecosystem, including a development board and software designed to get developers up and running with motor control applications quickly and easily.
KEY COMPONENTS TABLE
1.The content, data, charts, etc. of this article come from network reference or other public materials, and the copyright belongs to the original author and the original published source. If the copyright owner has any objection to the quotation of this article, please contact ICZOOM "marketing(at)iczoom.com" and we will deal with it in a timely manner.
2.The quotes in this article are for readers' learning exchange only, and do not involve commercial purposes.
3.The content of this paper only represents the author's point of view. ICZOOM cannot gurarante and assure the accuracy, reliability or integrity of the content. The decision or behavior made by readers after reading this article is based on their own will and independent judgment. Please clarify the relevant results before reading this article.
4.Please contact ICZOOM "marketing(at)iczoom.com" with the reason of reproducing if you want to reproduce the articles that ICZOOM owns the copyright. Without permission to reproduce, ICZOOM will reserve the right to pursue the legal liability.
5. If there is any inconsistency between the English and Chinese versions, the Chinese version shall prevail.
ICZOOM has the final right to interpret this statement.