 Welcome to our presentation on ST-SPIN designing for small motors with 1.8V driver ICs. In this presentation, we will provide you with an overview of ST-SPIN family motor control drivers for battery operated low voltage applications. We will also share with you a design tip for how to improve your system with a motor control driver. And we will show you how to set up the ST-SPIN evaluation boards with the NUCLEO expansion board and the STM32 NUCLEO board. Then we will have an overview of the typical bill of material related to ST-SPIN motor control drivers and related technical support available. So let's go through what you will learn today. You will learn how to quickly develop a prototype with ST-NUCLEO boards outcome design challenges when running motors from a battery or low voltage input and how to design motor control solutions with minimal space or height requirement. We will also provide a few ideas on how to test and improve various system level characteristics with an overview of evaluation boards and supporting tools and accompanying software from ST Microelectronics. The ST-SPIN family includes four integrated motor control drivers for stepper motors, brushless DC motors and brushed DC motors. The key electrical characteristics of this family are extremely low driving voltage range between 1.8 volts and 10 volts. The standby current is extremely low at less than 80 nanoamps. All drivers have a set of protection features which includes undervoltage lockout, overcurrent and thermal protection. All drivers are available in ultra small 3x3 millimeter QFN package. We see many applications for ST-SPIN family drivers. For example, gimbals for drones where the package size and low standby current are the key design constraints. For toys, robots and cameras, the pricing is the main criteria. We can achieve a very competitive price at system level with ST-SPIN 240 which can drive independently two brushed DC motors from a single QFN 3x3 millimeter package. Point of sales applications would be a good target for the stepper driver with 256 microsteps capability. The last application area is covered by BLDC drivers, medical appliances and home automation applications require high performance BLDC motors with the best power density and maintain good torque and speed control. Here is a quick overview of ST-SPIN integrated drivers for low voltage motor control applications. The ST-SPIN 220 which is dedicated for stepper motors, the ST-SPIN 230 which drives BLDC motors, and the ST-SPIN 240 and ST-SPIN 250 which are dedicated for brushed DC motors. All drivers have integrated power stage and control block with all safety features built in. All of them can operate in the voltage range from 1.8 volts to 10 volts. The ST-SPIN 220 is a stepper motor driver which integrates in a small QFN 3x3 millimeter package, both control logic and a low RDS on power stage. The integrated controller implements PWM current control with fixed off time and a microstepping resolution up to 1.256 of a step. This resolution ensures excellent positioning accuracy and motion smoothness. The device is designed to operate in battery powered scenarios and can be forced into a zero consumption state allowing a significant increase in battery life. The standby current is less than 80 nanoamps. The device offers a complete set of protection features including overcurrent, over temperature and short circuit protection. The RDS on across high side and low side driver is 400 milliohms. The latest technology with high power density allows us to achieve current capability of 1.3 amps with 2 amps peak without compromising the package size and thermal performance. The ST-SPIN 230 device integrates a triple half bridge low RDS on power stage in a small QFN 3x3 millimeter package. Each leg has 400 milliohms RDS on combining high side and low side switch. It has a full set of safety and protection features. These include non-dissipative overcurrent protection, cross conduction protection, thermal shutdown and under voltage lockout. The firmware supports one shunt field oriented control. The next two devices, the ST-SPIN 240 and ST-SPIN 250 are both for driving brushed DC motors. The ST-SPIN 240 has two full H bridges for independent control of two brushed DC motors, each with 1.3 amp RMS current capability. Both devices, ST-SPIN 240 and ST-SPIN 250 are designed to operate in battery powered applications and can be forced into a zero consumption state allowing a significant increase in battery life. The standby current is typically less than 80 nanoamps. Protection features are the same for all four ST-SPIN devices, non-dissipative overcurrent protection, cross conduction protection, thermal shutdown and under voltage lockout. The ST-SPIN 250 has also two full H bridges, each with RDS on 400 milliohm but they are externally connected in parallel in order to reduce the RDS on by half to the value 200 milliohm including both high side and low side switches. It means that ST-SPIN 250 can drive only one brushed DC motor but with a current of up to 2.6 amps RMS. All other features are the same as the ST-SPIN 240 that is to say supply voltage range between 1.8 volts and 10 volts, 80 nanoamps standby current and all protection features. Now let's look at how to improve system performance with additional circuitry. The circuitry implements stall detection on the system level because the stall detection is not implemented in the ST-SPIN 220 device. The stall detection circuit includes a low pass filter, differential op amp and peak detector. It uses the characteristics of the integrated current controller. We know that when a stall occurs the controller will drastically reduce the applied voltage to keep current under control in the face of the loss of the motor back EMF. Since applied voltage should be much higher at running speeds under normal conditions, a detection of a lower applied voltage can be used to detect a stall condition. This stall detection circuit will improve your system performance. Now let's have a look at ST-SPIN tools and the required setup for building motor control applications within a few minutes. We will need one of the NUCLEO expansion boards based on the ST-SPIN driver family. The options are XNUCLEO IHM06A1 for ST-SPIN 220, XNUCLEO IHM11M1 for ST-SPIN 230, XNUCLEO IHM12A1 for ST-SPIN 240 and XNUCLEO IHM13A1 for ST-SPIN 250. Then you will need one STM32 NUCLEO board with STM32F401 with ST-Link and COM port emulator. Also, the ST-SPIN family evaluation tool V3.2 is required for the ST-SPIN 220 and the ST-SPIN 240, a motor control workbench for the ST-SPIN 230 and software supporting tools like IAR or Keel. We will use the STM32 Open Development Environment, which is a fast and affordable way to develop innovative devices and applications with ST components. On top of motor control NUCLEO boards, there are several other NUCLEO expansion boards available for building more complex systems. We can use boards with energy management. There are also boards with audio amplifiers, touch controllers, and operation amplifiers. For connectivity, we can use boards which have Bluetooth, sub gigahertz radio, near field communication, and Wi-Fi modules. Boards incorporating sensors are very popular for today's applications, especially for IoT. ST offers a great variety of NUCLEO expansion boards with sensors, including accelerometers, gyroscopes, inertial modules, magnetometers, pressure and temperature sensors, humidity and proximity sensors, and also boards with microphones. We can stack up all the expansion boards into a so-called tower, as you can see on the right-hand side. The XNUCLEO IHM06A1 is a low-voltage stepper motor driver expansion board based on the ST Spin 220 monolithic low-voltage driver for low-voltage stepper motors. It represents an affordable, easy-to-use solution for driving low-voltage stepper motors in your STM32 NUCLEO project. This driver is able to operate in low-voltage scenarios, allowing zero consumption states. The device implements current control with fixed off-time and a maximum 1-256th microstep resolution. The XNUCLEO IHM06A1 is compatible with the Arduino Uno R3 connector and supports the addition of other NUCLEO expansion boards with a single STM32 NUCLEO board. You can also mount the ST Morpho connector. Here we have highlighted battery supply and motor wire terminals, fault LED and peak current trimmer to adjust motor torque. There are two options for how to run the NUCLEO board with ST Spin 220. The stand-alone option using X-Cube SPN6 software package. The X-Cube SPN6 software for STM32 NUCLEO boards gives you full control of low-voltage stepper motor operation. This software allows a compatible STM32 NUCLEO board to control one or more stepper motors when combined with one or more XNUCLEO IHM06A1 expansion boards. It is built on top of STM32Cube software technology for easy portability across different STM32 microcontrollers. They are free, user-friendly, licensed terms. Once you install the X-Cube SPN6 software, you can go to the example folder and find many examples in bin and hex format. Once the STM32 NUCLEO board is connected to a PC, you can see it as an external drive. Then, simply copy and paste the binary file within the example you choose onto NUCLEO drive and you are set to go. You should be able to see spinning motors. No other tools are required for this demo. The STM32 NUCLEO board with the motor control expansion board can be used in stand-alone configuration without being connected to the PC. In this case, we will use an external power supply. For example, a small charger with the micro USB connector, but we need to change the USB current setting to 500 mA using one of the jumpers on the NUCLEO board. We can interactively control the motor with the SPIN family evaluation tool interface. Please install the latest version, which supports the NUCLEO boards. The key steps to establish the communication between the graphical user interface of your PC and the NUCLEO boards is to install the communication agent, which is the small binary file. This file ensures proper communication between the graphical user interface and the STM32 NUCLEO board and the motor control expansion board. Go into start menu or programs, SPIN family evaluation tool 3.2 and click on shortcut to firmware as shown. It takes you into the directory where you will find the communication agent and the binary file. This BIN file has to be copied onto the NUCLEO board so that you can recognize it on your PC as an external drive. After this step, it is possible to establish the connection between the PC and the NUCLEO board. Once you launch SPIN family evaluation tool, a window appears on the left side. Click on the NUCLEO tab, select ST-Link virtual communication port, and then click the ST-SPIN 220 button. The main control window appears on the right side. Once you hit the communication icon, the connection is established and ready to go. The main control window allows you to control the stepper motor movement. Either you can use the MOVE command to move the motor in specified number of microsteps or the RUN command to let the motor spin at the speed which can be changed. There are four options to stop the motor. Hard stop will immediately stop the motor holding current stand in the register. Hard high Z will immediately stop the motor and the switches of the bridges go into high impedance state, essentially they are open, with no current flow through the MOSFET. Soft stop will stop the motor after deceleration and the deceleration rate is stored in the register. The registers can be set in the configuration window or the register window. Soft high Z will stop the motor after deceleration and similar to the hard high Z command, the switches of the bridges go into high impedance state. The device configuration window allows you to set acceleration and deceleration rate, switching frequency and microstep mode. It means going from the highest resolution, that is one 256th microstep, down to quarter step, half step and full step. The register window allows to set acceleration, deceleration, minimum speed, maximum speed, holding torque, constant speed torque, acceleration starting torque, deceleration starting torque, torque boost speed, stepper mode, VF frequency, stand by reset command and command status. We can program each register individually, that is to say we can read register, write into register or set default values, or we can read or write all registers using the icons in the upper left corner. The third window on the right is the script editor window for writing scripts in Python language. This feature is very useful for the prototype testing, especially if we already have an entire system ready and we'd like to test the performance. A good example of this would be running the cycling algorithm in an infinite loop for several days, or testing different motors in the application, or simply finding out what the limits of the system are. The next board is the XNUCLEO IHM12A1 with ST-SPIN240 driver. The ST-SPIN240 is a dual brush DC motor driver, integrating a low RDS on power stage in a small QFN 3x3mm package. The XNUCLEO IHM12A1 can drive two brush DC motors independently. The expansion board is very simple. We just need to connect the power supply and motor to the corresponding terminals. The board has an Arduino UNO-R3 connector and ST-Morpho connector. The graphical user interface is similar to the previous case. After selecting the ST-SPIN240 device, the main control window will appear on the right. You can control the speed and direction of the motor, and you can also put the device in low standby mode. The XNUCLEO IHM11M1 is a low voltage three phase brushless DC motor driver expansion board based on the ST-SPIN230 for ST-M32N board. It provides an affordable and easy to use solution for driving low voltage three phase brushless DC motors in your ST-M32N project. The board is designed for six step and field oriented control algorithms. For the field oriented control algorithm, we will use the ST motor control workbench tool. There are four major windows for setting your configuration. Once we click on the blue rectangle M or sensors, it takes us to the motor setting and sensor setting menu as you can see on the next slide. In the motor menu, we will set up the inductance of the motor, resistance of the motor, number of pole pairs, maximum speed, back EMF constant, nominal voltage and nominal current. In the sensor tab, there are options for hall sensor or quadrature encoder setting. In the power stage window, we can adjust the thermal setting, comparator threshold and overcurrent network gain for overcurrent protection. In the current sensing window, we can change the shunt resistor value and amplified network gain. In this window, we can set also the minimum, maximum and nominal voltage. Please note that we have mentioned here the key or important parameters only. In the drive management window, it is important to enable overvoltage, undervoltage and over temperature features. In this window, we can change the PWM frequency and PID parameters for torque and flux regulators. The last option is the control stage. Here, we can select STM32 subfamily device and the CPU clock frequency, nominal MCU supply voltage, DAC functionality, GPIO mapping, timer and pin mapping for the sensor interface, serial communication configuration, TXRX pin mapping and start-stop button GPIO mapping. Here, we list the typical STSPIN system bill of material, STSPIN 220, STSPIN 230, STSPIN 240, STSPIN 250. Those are the motor drivers for motor control, solenoids and valves. There are battery charger ICs for battery management, LDOs for example for power management, LD1117, LD3985, LD39050 and op-amps for current sensing. One of our well-known STM32 microcontrollers, MEMS and sensors for motion and environment sensing. For more detailed information, you will find a range of documentation including data sheets, application notes, design tips, reference designs, BOM and Gerber files on st.com. STM32 nucleo and expansion boards information are also available, containing detailed information of boards, user manual, getting started, schematics and relative tools and software and video tutorials. You will also find our online technical support, discussion forum, e-newsletter and motor control engineering specialists. Using the nucleo boards, it is not only about building first prototypes quickly, but also as a proof of concept using different design topologies and evaluating how the entire system works together. The nucleo concept speeds up the development phase significantly and in certain cases extends to reducing cost. This means direct costs related to savings for PCB development boards. Summarizing, what do you need to build your first prototype with the ST nucleo expansion board for motor control? You need one STM32 nucleo development board, Nucleo F401RE, one motor driver expansion board, XNUCLEO IHM XXXX, a USB Type-A to Mini-B USB cable, a motor, stepper, brushed DC BLDC, an external DC power supply providing 1.8 to 10 volts and one laptop PC with Windows XP-WIN7-WIN8. So, you've learned today about ST's portfolio of integrated motor control drivers for portable and low voltage applications. We have also highlighted ST SPIN's electrical performance, which is low RDS on, low IQ, less than 80 nanoamps, and the fact that all ST SPIN devices are available in a 3x3mm QFN package. You've learned how easy it is prototyping with STM32 Nucleo and Nucleo expansion boards and hopefully you got a few ideas on how to improve your system performance with back EMF detection and an overview of the ST portfolio of evaluation boards, tools, and customer support from ST Microelectronics. Thanks for staying with us. We hope you found this useful for building your future applications. Come check out our website at www.st.com.