STMicroelectronics STSPIN830 Three Phase Brushless Motor Driver Board
Getting started with the X-NUCLEO-IHM16M1 three-phase brushless motor driver board based on STSPIN830 for STM32 Nucleo
Introduction
The X-NUCLEO-IHM16M1 motor driver expansion board is based on the STSPIN830 monolithic driver for three-phase brushless motors.
It represents an affordable, easy-to-use solution for driving brushless motors in your STM32 Nucleo project, implementing single and three-shunt current sensing.
The STSPIN830 embeds a PWM current limiter with adjustable threshold together with a full set of protections.
The X-NUCLEO-IHM16M1 expansion board is compatible with the Arduino and ST morpho connectors, so it can be plugged to an STM32 Nucleo development board and stacked with additional STM32 Nucleo expansion boards.
Hardware and software requirements
To use the STM32 Nucleo development boards with the X-NUCLEO-IHM16M1 expansion board, the following software and hardware are required:
- a Windows PC (7, 8 or 10)
- an X-NUCLEO-IHM16M1 expansion board
- an STM32 Nucleo development board
- a type A USB to mini-B USB cable to connect the STM32 Nucleo board to the PC
- the STM32 Motor Control SDK (X-CUBE-MCSDK)
- an IDE chosen among IAR Embedded Workbench for ARM (IAR-EWARM), Keil microcontroller development kit (MDK-ARM-STR) and integrated development environment for STM32 (STM32CubeIDE)
- a power supply with output voltage between 7 and 45 V
- a three-phase brushless motor with compatible voltage and current for the power supply and the STSPIN830 driver
Safety precautions
Danger:
Some of the components mounted on the board could reach hazardous temperature during operation.
While using the board
- Do not touch the components
- Do not cover the board
- Do not put the board in contact with flammable materials or with materials releasing smoke when heated
- After operation, allow the board to cool down before touching it
Getting started
To start your project with the board:
- Step 1. Check the jumper positions and the mounting options according to the desired operation mode (see Section 4.1: Operation mode and sensing topology selection) and STM32 Nucleo development board (see STM32 Nucleo development board compatibility)
- Step 2. Connect the X-NUCLEO-IHM16M1 with the STM32 Nucleo development board through ST morpho connectors (CN7, CN10)
- Step 3. Connect the brushless motor to 3-4-5 outputs of CN1 using the provided screw terminal
- Step 4. Connect the STM32 Nucleo development board to the PC using a USB cable and download the corresponding pre-compiled code
- Step 5. Supply the board through one of the supply connectors:
- inputs 2 (VIN) and 1 (ground) of CN1 using the provided screw terminal
- J4 jack input (2.1 mm or 2.5 mm, tip positive)
- Step 6. Develop your application using the STM32 Motor Control SDK (X-CUBE-MCSDK)
Hardware description and configuration
The figure below shows the X-NUCLEO-IHM16M1 main component positions.
Table 1. X-NUCLEO-IHM16M1 ST morpho connector pinouts
Connector | Pin | Signal | Remarks |
CN7 |
12 | VDD (pull-up voltage) | 3.3 V in STM32 Nucleo dev. boards.
Through R44 |
17 | Hall-effect sensor 1 | R43 | |
18 | 5 V | ||
20 | Ground | ||
22 | Ground | ||
28 | Motor supply voltage sensing | R33 | |
30 | Current feedback phase U | R29 | |
32 | Current reference (DAC) | R39 (NP by default) | |
34 | Current feedback phase W | R36 | |
STM32F303RE embedded PGA input U | R75 (NP by default) | ||
35 | Speed reference signal | ||
36 | BEMF feedback phase W | ||
37 | BEMF feedback phase V | ||
38 | BEMF feedback phase V | ||
CN10 |
1 | BEMF divider GPIO | |
2 | Hall-effect sensor 3 | R87 |
Connector | Pin | Signal | Remarks |
CN10 |
4 | Hall-effect sensor 1 | R81 |
6 | Motor supply voltage sensing | R31 | |
11 | ENU driving signal | R79 (NP by default) | |
13 | ENV driving signal | R78 (NP by default) | |
14 | EN/FAULT signal | R35 | |
15 |
Current feedback phase W | R34 | |
ENU driving signal | R69 (NP by default) | ||
ENW driving signal | R74 (NP by default) | ||
16 | EN/FAULT signal | R37 | |
18 |
Current feedback phase V | R41 | |
STM32F303RE embedded PGA input W | R77 (NP by default) | ||
PCB temperature sensing (NTC) | R83 (NP by default) | ||
19 | Hall-effect sensor 2 | R85 | |
21 | INV driving signal | ||
23 | INU driving signal | ||
24 | Current feedback phase V | R42 | |
25 | Hall-effect sensor 3 | R84 | |
26 | ENW driving signal | R61 | |
27 | Current reference (PWM) | R40 | |
28 |
ENV driving signal | R73 | |
Motor supply voltage sensing | R88 (NP by default) | ||
29 | Active low standby | ||
30 |
STM32F303RE embedded PGA input V | R76 (NP by default) | |
ENU driving signal | R80 | ||
31 | Hall-effect sensor 2 | R86 | |
33 | INW driving signal | ||
34 | PCB temperature sensing (NTC) | R82 |
Operation mode and sensing topology selection
The X-NUCLEO-IHM16M1 expansion board supports 6-step and field oriented control (FOC) algorithms. According to the algorithm, the board hardware configuration must be changed as follows:
Table 2. X-NUCLEO-IHM16M1 expansion board configuration based on the algorithm used
6-step(1) | FOC (3-shunt)(2) | FOC (single shunt) | |||||||||
Single shunt | Current sensing | Current limiter enabled | Adjustable current limiter threshold (3) | Three- shunt | Current sensing | Current limiter disabled | Fixed current limiter threshold | Single shunt | Current sensing | Current limiter enabled | Adjustable current limiter threshold (3) |
Close JP4
and JP7, solder bridge at the bottom |
Open J5 and J6 jumpers |
J2 closed to 1-2 position |
J3 closed to 2-3 position |
Open JP4
and JP7, solder bridge at the bottom |
Close J5 and J6 jumpers |
J2 closed to 2-3 position |
J3 closed to 1-2 position |
Close JP4
and JP7, solder bridge at the bottom |
Close J5 and J6 jumpers |
J2 closed to 1-2 position |
J3 closed to 2-3 position |
- Voltage or current mode.
- Default configuration
- Optional.
Current sensing
The X-NUCLEO-IHM16M1 expansion board mounts three shunt resistors to sense the current in each motor phase.
For each shunt resistor, the TSV994 operational amplifier performs signal conditioning before sending the sensed value to the ADC inputs of the STM32.
Table 3. TSV994 operational amplifier configuration
Opamp | Sensed current | Gain | Out offset | J5 | J6 | Remarks |
1 | None (grounded) | 1 | 0 V | Unused | ||
2 |
Phase V(1) |
1.53 | 1.56 V | Closed | Closed | FOC |
3 | 0 V | Open | Open | 6STEP | ||
3 | Phase W(1) | 1.53 | 1.56 V | FOC | ||
4 | Phase U(1) | 1.53 | 1.56 V | FOC |
1. In single shunt topology, all the operational amplifiers sense the same current.
Sense resistor value and maximum current range in FOC mode
The sensed current range in FOC mode could be limited by the value of the shunt resistor.
The mounted resistor of 330 mΩ allows an up to 1 A reading without distortion.
For better performance at 1.5 A, you should reduce the shunt resistor value to 100 mΩ. The op-amp gain has to be tuned accordingly.
Related links
For further details, refer to the AN5386, STSPIN830: measuring negative voltages on sense resistors.
STSPIN830 current limiter
The STSPIN830 implements a PWM current limiter.
In single shunt topology, the device monitors the motor current through the SNS pin connected to the sensing resistor.
When the SNS pin (VSNS) voltage exceeds the reference voltage threshold (VREF) the current limiter is triggered, the OFF time is started and all the power outputs are disabled (high impedance) until the OFF time expires.
J2 jumper selects the SNS input connection: when closed in 2-3 position (default), it shorts the pin to ground disabling the current limiter feature; when closed in 1-2 position, it connects the pin to the shunts.
It is possible to set the VREF value in two ways:
- J3 closed in 1-2 position: fixed to 0.497 V corresponding to about 4.5 A in single shunt topology (equivalent resistance 0.11 Ω)
- J3 closed in 2-3 position: adjustable through MCU up to 0.497 V corresponding to about 4.5 A in single shunt topology (equivalent resistance 0.11 Ω).
The MCU can set the reference voltage through:
- PWM signal (default)
- DAC output, if available (not connected by default)
R16 resistor sets the OFF time duration according to the graph shown below (default value is about 18 µs).
STSPIN830 logic inputs and fault signaling
The STSPIN830 offers two methods for driving the power stage selectable through the MODE pin.
When the MODE pin is low, the ENx and INx inputs control the power outputs according to Table 4. ENx and INx inputs truth table (MODE = L) (the board default configuration).
When MODE pin is high, the INxH and INxL inputs control the power outputs according to Table 5. INxL and INxH inputs truth table (MODE = H). This configuration is set by removing R12 resistor; it is also recommended to replace R11 with a 0 R resistor.
When the EN\FAULT input is forced low, the power stage is immediately disabled (all MOSFETs are turned off) in both modes and the D1 LED turns red.
Table 4. ENx and INx inputs truth table (MODE = L)
X: Don’t care; High Z: High impedance | ||||
EN\FAULT | ENx | INx | OUTx | ‘x’ half-bridge condition |
0 | X | X | High Z | Disabled |
EN\FAULT | ENx | INx | OUTx | ‘x’ half-bridge condition |
1 | 0 | X | High Z | Disabled |
1 | 1 | 0 | GND | LS on |
1 | 1 | 1 | VS | HS on |
Table 5. INxL and INxH inputs truth table (MODE = H)
X: Don’t care; High Z: High impedance
EN\FAULT | INxH | INxL | OUTx | ‘x’ half-bridge condition |
0 | X | X | High Z | Disabled |
1 | 0 | 0 | High Z | Disabled |
1 | 0 | 1 | GND | LS on |
1 | 1 | 0 | VS | HS on |
1 | 1 | 1 | High Z | Disabled (interlocking) |
The EN/FAULT signal is forwarded to the TIM1 BKIN input to implement failure protection.
Hall effect sensors and encoder connector
The X-NUCLEO-IHM16M1 expansion board provides an interface between the digital Hall effect sensors or encoder mounted on the motor and the STM32 Nucleo development board through J1 connector.
The connector provides:
- Pull-up resistors (R20, R21, R22) for open-drain and open-collector interfacing.
Note: It is recommended to remove the pull-up resistors in case of push-pull outputs. - Protection from overvoltage on the MCU input pin through the D2, D3 and D4 Zener diodes. Table 5.
Table 6. J1 connector pinout
Pin | Encoder | Hall effect sensor |
1 | A+ | Hall 1 |
2 | B+ | Hall 2 |
3 | Z | Hall 3 |
4 |
5 V supply from
Nucleo development board |
5 V supply from
Nucleo development board |
5 | Ground | Ground |
Speed trimmer
The R17 trimmer provides an analog signal to the MCU that can be used by the firmware to set the speed control loop.
The voltage range is from 0 to 3.3 V (VDD) and increases rotating the knob in clockwise direction.
X-NUCLEO-IHM16M1 schematic diagrams
Bill of materials
Table 7. X-NUCLEO-IHM16M1 bill of materials
Item | Q.ty | Ref. | Part/Value | Description | Manufacturer | Order code |
1 | 1 | CN1 | Pluggable terminal block | Wurth Elektronik | 691311500105 | |
2 | 1 | CN2 | Pluggable terminal block | Wurth Elektronik | 691351500002 | |
3 | 1 | CN3 | Pluggable terminal block | Wurth Elektronik | 691351500003 | |
4 |
1 |
CN5 |
NP |
10 position receptacle connector |
Samtec |
SSQ-110-01-F-S |
5 |
2 |
CN6, CN9 |
NP |
8 position receptacle connector |
Samtec |
SSQ-108-01-F-S |
6 | 2 | CN7, CN10 | Board-to-board connectors | Samtec | ESQ-119-24-G-D | |
7 |
1 |
CN8 |
NP |
6 position receptacle connector |
Samtec |
SSQ-106-01-F-S |
8 |
1 |
C1 |
33 µF, 50 V,
±20%, D6.3_H7.7 |
Aluminium electrolytic capacitor |
Wurth Elektronik |
865080645010 |
9 |
1 |
C2 |
NP, 50 V, ±20%, D6.3_H11_P2.5 | Aluminium electrolytic capacitor |
Wurth Elektronik |
860080673003 |
10 | 1 | C3 | 330 NF, 50 V,
±10%, 805 |
Ceramic capacitor | Any | 330NF_50V_X7R_0805 |
11 | 2 | C4, C16 | 10 NF, 50 V,
±15%, 603 |
Ceramic capacitors | Any | 10NF_50V_X7R_0603 |
12 | 1 | C5 | 2.2 NF, 50 V,
±15%, 603 |
Ceramic capacitor | Any | 2.2NF_50V_X7R_0603 |
13 | 1 | C6 | NP, 50 V, ±15%,
603 |
Ceramic capacitor | Any | 4.7NF_50V_X7R_0603 |
14 | 5 | C7, C8, C9, C13, C22 | 220 NF, 16 V,
±10%, 603 |
Ceramic capacitors | Any | 220NF_16V_X7R_0603 |
15 | 3 | C10, C11, C12 | 10 PF, 50 V,
±10%, 603 |
Ceramic capacitors | Any | 10PF_50V_COG_0603 |
16 | 3 | C14, C17, C19 | 680 PF, 50 V,
±15%, 603 |
Ceramic capacitors | Any | 680PF_50V_X7R_0603 |
17 | 3 | C15, C18, C20 | NP 603 | Ceramic capacitors | Any | C_NP_0603 |
18 | 1 | C21 | 100 NF, 50 V,
±15%, 603 |
Ceramic capacitor | Any | 100NF_50V_X7R_0603 |
19 | 1 | D1 | RED, 805 | LED | Wurth Elektronik | 150080RS75000 |
20 | 3 | D2, D3, D4 | 3 V, SOD123 | Zener diodes | OnSemiconducto rs | MMSZ3V0T1G |
21 | 6 | D5, D6, D7, D11, D12, D13 | SOD523 | Small signal Schotky diodes | ST | BAT30KFILM |
22 | 3 | D8, D9, D10 | YELLOW, 805 | LED | Wurth Elektronik | 150080YS75000 |
23 | 1 | JP3 | CLOSE, 603 | Resistors | Any | SMALL TIN-DROP CLOSE |
Item | Q.ty | Ref. | Part/Value | Description | Manufacturer | Order code |
24 | 2 | JP4, JP7 | OPEN | Resistor | Any | SOLDER_BRIDGE |
25 |
1 |
J1 |
5 position connector header |
Wurth Elektronik |
61300511121 |
|
26 |
2 |
J2, J3 |
CON_HEADER_ 1X3_L7.62_W2.
54_P2.54 |
3 position connector header |
Wurth Elektronik |
61300311121 |
27 | 1 | J4 | FC681465P | Jack connector | RS | FC681465P |
28 |
2 |
J5, J6 |
CON_HEADER_ 1X2_L5.08_W2.
54_P2.54 |
2 pin THT header |
Wurth Elektronik |
61300211121 |
29 | 3 | M1, M2, M3 | OPTICAL_TARG ET | OPTICAL_TARG ET | Any | OPTICAL_TARGET |
30 | 1 | M4 | GU_4xx | PCB | Any | PCB GU -rev4 2 layers |
31 | 4 | M5, M6, M7, M8 | CLOSED JUMPER | 2 position shunt connector | Wurth Elektronik | 60900213421 |
32 | 1 | Q1 | P-MOS, SOT323 | P-channel MOSFET | NXP | NX3008PBKW |
33 | 1 | R1 | 12 K, 1/10 W,
±5%, 603 |
Resistor | Any | 12K_5%_0603 |
34 | 1 | R2 | 1 K, 1/10 W,
±5%, 603 |
Resistor | Any | 1K_5%_0603 |
35 |
8 |
R3, R5, R6, R7, R8, R9, R10, R11 | 39 K, 1/10 W,
±5%, 603 |
Resistors |
Any |
39K_5%_0603 |
36 | 4 | R4, R23, R24, R25 | 330 R, 1/10 W,
±5%, 603 |
Resistors | Any | 330R_5%_0603 |
37 |
23 |
R12, R29, R31, R33, R34, R35, R36, R37, R40, R41, R42, R43, R44, R45, R61, R73, R80, R81, R82, R84, R85, R86, R87 |
0 R, 1/10 W, ±5%, 603 |
Resistors |
Any |
0R_5%_0603 |
38 | 1 | R13 | 3.9 K, 1/10 W,
±5%, 603 |
Resistor | Any | 3.9K_5%_0603 |
39 | 1 | R14 | 180 K, 1/10 W,
±1%, 603 |
Resistor | Any | 180K_1%_0603 |
40 | 1 | R15 | 22 K, 1/10 W,
±5%, 603 |
Resistor | Any | 22K_5%_0603 |
41 | 1 | R16 | 12 K, 1/8 W,
±5%, 805 |
Resistor | Any | 12K_5%_0805 |
42 |
1 |
R17 |
10 K, 1/2 W,
±10%, L9.5_W4.9_H9.5 |
Resistor |
Bourns |
3386P-1-103TLF |
43 | 1 | R18 | 10 K, 1/10 W,
±5%, 603 |
Resistor | Any | 10K_5%_0603 |
44 | 1 | R19 | 12 K, 1/10 W,
±1%, 603 |
Resistor | Any | 12K_1%_0603 |
45 | 3 | R20, R21, R22 | 3 K, 1/10 W,
±5%, 603 |
Resistors | Any | 3K_5%_0603 |
Item | Q.ty | Ref. | Part/Value | Description | Manufacturer | Order code |
46 | 3 | R26, R27, R28 | NP, 1/10 W,
±1%, 603 |
Resistors | Any | 4.7K_1%_0603 |
47 |
11 |
R30, R32, R39, R69, R74, R75, R76, R77, R78, R79, R83 |
NP, 603 |
Resistors |
Any |
R_NP_0603 |
48 | 1 | R38 | 47 K, 1/10 W,
±5%, 603 |
Thermistor | Murata | NCP18WB473J03RB |
49 | 6 | R46, R47, R48, R49, R50, R51 | 10 K, 1/4 W,
±5%, 603 |
Resistors | Any | 10K_5%_0603_1/4W |
50 |
13 |
R52, R53, R54, R55, R58, R59, R60, R64, R65, R66, R67, R71, R72 |
2.2 K, 1/10 W, ±5%, 603 |
Resistors |
Any |
2.2K_5%_0603 |
51 | 3 | R56, R62, R68 | 680 R, 1/10 W,
±5%, 603 |
Resistors | Any | 680R_5%_0603 |
52 | 3 | R57, R63, R70 | 0.33 R, 1/2 W,
±1%, 1206 |
Resistors | Any | 0R33_1%_1206_0.5W |
53 | 1 | R88 | NP, 1/10 W,
±5%, 603 |
Resistor | Any | 0R_5%_0603 |
54 |
8 |
TP1, TP2, TP3, TP4, TP5, TP6, TP7, TP8 |
S1751-46R |
Test terminals |
Harwin |
S1751-46R |
55 |
1 |
U1 |
QFN24_L4_W4_ P0.5 |
Three-phase brushless monolithic motor driver |
ST |
|
56 |
1 |
U2 |
TSSOP14 |
Wide bandwidth rail-to-rail input/ output 5 V CMOS quad Op- Amps |
ST |
Revision history
Table 8. Document revision history
Date | Revision | Changes |
17-May-2018 | 1 | Initial release. |
01-Sep-2020 | 2 | Added Section 4.2.1 Sense resistor value and maximum current range in FOC mode. |
20-Jul-2021 | 3 | Updated Getting started and Hardare and softare requirements.
Added references to X-CUBE-MCSDK-Y. |
21-Feb-2024 | 4 | Updated Section 1: Hardware and software requirements and Section 3: Getting started. Removed Using the STM32F303RE embedded PGA and STM32 Nucleo development board compatibility. |
IMPORTANT NOTICE – READ CAREFULLY
STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, enhancements, modifications, and improvements to ST products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on ST products before placing orders. ST products are sold pursuant to ST’s terms and conditions of sale in place at the time of order acknowledgment.
Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or the design of purchasers’ products.
No license, express or implied, to any intellectual property right is granted by ST herein.
Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product.
ST and the ST logo are trademarks of ST. For additional information about ST trademarks, refer to www.st.com/trademarks. All other product or service names are the property of their respective owners.
Information in this document supersedes and replaces information previously supplied in any prior versions of this document.
© 2024 STMicroelectronics – All rights reserved
UM2415 – Rev 4
Documents / Resources
![]() |
STMicroelectronics STSPIN830 Three Phase Brushless Motor Driver Board [pdf] User Manual STSPIN830 Three Phase Brushless Motor Driver Board, STSPIN830, Three Phase Brushless Motor Driver Board, Brushless Motor Driver Board, Motor Driver Board, Driver Board |