STMicroelectronics X-NUCLEO-IHM01A1 User Manual

Page 1
Quick Start Guide
Stepper motor driver expansion board based on L6474 for STM32 Nucleo (X-NUCLEO-IHM01A1)
Version 1.2.0 (May 16, 2016)
Page 2
Quick Start Guide Contents
2
X-NUCLEO-IHM01A1: Stepper motor driver expansion board Hardware and Software overview
Setup & Demo Examples Documents & Related Resources
STM32 Open Development Environment: Overview
Page 3
L6474
Stepper motor driver expansion board
Hardware overview
3
X-NUCLEO-IHM01A1 Hardware description
The X-NUCLEO-IHM01A1 is a stepper motor driver
expansion board based on the L6474. It provides an affordable and easy-to-use solution for driving a stepper motor in your STM32 Nucleo project. The advanced current control of the L6474 and a complete set of protection features offer high levels of both performanceand robustness.
The X-NUCLEO-IHM01A1 is compatible with the Arduino
UNO R3 connector, and supports the addition of other boards which can be plugged to drive up to three stepper motors using a single STM32 Nucleo board.
Key features
Voltage range from 8 V to 45 V
Phase current up to 3 A
RMS
Power OK and fault LEDs
Advanced current control
Fully protected power stage
Up to 1/16 microstepping resolution
RoHS compliant
Key Product on board
L6474
Fully integrated microstepping motor driver
Arduino UNO R3 connector
ST morpho connector** Supply and motor phase
connectors
** Connector for the STM32 Nucleo board
Latest info available at www.st.com
X-NUCLEO-IHM01A1
Page 4
Stepper motor driver expansion board
Software overview
4
X-CUBE-SPN1 software description
The X-CUBE-SPN1 is an expansion software
package for STM32Cube, associated with the X­NUCLEO-IHM01A1 expansion board. It is compatible
with the NUCLEO-F401RE, the NUCLEO-F030R8,
the NUCLEO-F334R8 and the NUCLEO-L053R8 development boards when they are equipped with one or more (up to 3) X-NUCLEO-IHM01A1 boards.
The source code of this package is based on
STM32Cube to ease portability across different STM32 MCU families.
Overall system architecture
Latest info available at www.st.com
X-CUBE-SPN1
Key features
Driver layer for complete management of the L6474
microstepping motor driver integrated in the X-NUCLEO-IHM01A1 expansion board
Examples for controlling up to three stepper motors
Easy portability across different MCU families,
thanks to STM32Cube
Free, user-friendly license terms
Hardware Abstraction Layer API
Boards Support Packages
Drivers
L6474 use examples for 1, 2 or 3 motors
Board Demonstrators
STM32 Nucleo Board
HW Components
STM32
CMSIS
L6474
X-NUCLEO-IHM01A1 Expansion Board(s)
HAL and BSP level examples
Page 5
Quick Start Guide Contents
5
X-NUCLEO-IHM01A1: Stepper motor driver expansion board Hardware and Software overview
Setup & Demo Examples Documents & Related Resources
STM32 Open Development Environment: Overview
Page 6
Setup & demo examples
Hardware prerequisites
6
Getting started with hardware
The X-NUCLEO-IHM01A1 expansion board is a stepper motor driver covering a wide range of applications. The maximum ratings are:
Power stage supply voltage (VS) from 8 V to 45 V
Motor phase current up to 3 A
RMS
To start your project with the board:
1. Check the jumper position in accordance with your configuration (see Section 2 of UM1857).
2. Connect the board to the STM32 Nucleo board with the connector: a. Arduino UNO R3 for the X-NUCLEO-IHM01A1
b. ST morpho for the X-NUCLEO-IHM01A
Up to three expansion boards can be stacked on the same STM32 Nucleo board, as described in Section 2.2 of UM1857.
1. Supply the board through pins 1 (VS) and 2 (ground) of the connector CN1.
2. The power OK (green) and fault (red) LEDs turn on.
3. Develop your application using the examples provided with the firmware library.
Selecting the chip select and clock lines of the SPI
The chip select and the clock lines of the SPI interface can be selected through dedicated resistors as indicated in Tables 3 and 5 of UM1857.
Multi-motor configuration
The expansion boards can be stacked on a single STM32 Nucleo board in order to drive up to three stepper motors (one for each motor). More in Section 2.2 of UM1857.
Page 7
7
Setup & demo examples
System requirements to drive up to 3 motors (1/2)
1 x STM32 Nucleo development board
(NUCLEO-F401RE or NUCLEO-F030R8 or NUCLEO-F334R8 or NUCLEO-L053R8)
1 to 3 x Stepper motor driver expansion board
(X-NUCLEO-IHM01A1)
1 to 3 x Stepper motors
1 x External DC power supply with two, four or six electric cables
1 x USB type A to Mini-B USB cable
1 x Windows 8/7 - Laptop/PC
NUCLEO-F401RE NUCLEO-F030R8 NUCLEO-F334R8 NUCLEO-L053R8
X-NUCLEO-IHM01A1Mini USB Cable
Stepper Motor
Page 8
8
The STM32 Nucleo has to be configured with the following jumper positions:
JP1 off
JP5 (PWR) on UV5 side
JP6 (IDD) on
Setup & demo examples
System requirements to drive up to 3 motors (2/3)
The X-NUCLEO-IHM01A1 expansion board for first motor
must have:
Mounted resistors (0R) on R1, R4, R7 and 10
Unmounted resistors on R2, R3, R5, R6,R8, R9, R11 and R12
Resistor setup for first motor
Page 9
9
Setup & demo examples
System requirements to drive up to 3 motors (3/3)
The X-NUCLEO-IHM01A1 expansion board for the second
motor must have:
Mounted resistors (0R) on R2, R5, R8 and R11
Unmounted resistors on R1, R3, R4, R6,R7, R9, R10 and R12
The X-NUCLEO-IHM01A1 expansion board for third motor
must have:
Mounted resistors (0R) on R3, R6, R9 and R12
Unmounted resistors on R1, R2, R4, R5, R7, R8, R10 and R11
Resistor setup for third motor
Resistor setup for second motor
Page 10
Setup & demo examples
System setup to drive up to 3 motors
Plug the X-NUCLEO-IHM01A1 for the first motor on top
of the STM32 Nucleo using the Arduino UNO R3
connectors
Plug the X-NUCLEO-IHM01A1 for the second motor on
top of the one for first motor
Plug the X-NUCLEO-IHM01A1 for the third motor on top
of the second one
Connect the STM32 Nucleo board to a PC using the USB
cable via USB connector CN1 to power the board
Power on the X-NUCLEO-IHM01A1 expansion boards
by connecting their VIN and GND connectors to the DC power supply. The DC supply must be set to deliver the correct voltage required by the stepper motors.
Connect each stepper motor to the A+/- and B+/- bridge
connectors of their dedicated X-NUCLEO-IHM01A1 board
10
Motor 1
Motor 2 Motor 3
Page 11
Setup & Demo Examples
SW prerequisites
11
STSW-LINK008: ST-LINK/V2-1 USB driver
STSW-LINK007: ST-LINK/V2-1 firmware upgrade
X-CUBE-SPN1
Copy the .zip file content into a folder on your PC. The package will contain source code example
(Keil, IAR, System Workbench) based only on NUCLEO-F401RE or NUCLEO-F030R8 or NUCLEO-F334R8 or NUCLEO-L053R8
STM32Cube firmware for X-NUCLEO-IHM01A1 is available at www.st.com
Page 12
12
Once the system setup is ready:
Open your preferred tool chain (MDK-ARM from Keil, EWARM from IAR, System Workbench for STM32…)
Depending on your STM32 Nucleo board, open the software project from:
\stm32_cube\Projects\Multi\Examples\MotionControl\IHM01A1_ExampleFor3Motors\YourToolChainName\STM32F401RE-Nucleo for Nucleo
STM32F401
\stm32_cube\Projects\Multi\Examples\MotionControl\IHM01A1_ExampleFor3Motors\YourToolChainName\STM32F030R8-Nucleo for Nucleo
STM32F030
\stm32_cube\Projects\Multi\Examples\MotionControl\IHM01A1_ExampleFor3Motors\YourToolChainName\STM32F334R8-Nucleo for Nucleo
STM32F334
\stm32_cube\Projects\Multi\Examples\MotionControl\IHM01A1_ExampleFor3Motors\YourToolChainName\STM32L053R8-Nucleo for Nucleo
STM32L053
In order to adapt the default parameters which are used by the L6474s depending of your stepper motor
characteristics, open the file: stm32_cube\Drivers\BSP\Components\l6474\l6474_target_config.h. and modify the parameters which are postfixed by “_DEVICE_0” for the first motor, postfixed by “_DEVICE_1” for the second motor and by “_DEVICE_2” for the third motor.
Rebuild all files and load your image into the target memory.
Run the example. The motors automatically start (see main.c for the detailed demo sequence).
Setup & demo examples
Run the demo software to drive up to 3 motors
Page 13
Documents & related resources
X-NUCLEO-IHM01A1:
Gerber files, BOM, and schematics
DB2360: Stepper motor driver expansion board based on L6474 for STM32 Nucleo – Data brief
UM1857: Getting started with the X-NUCLEO-IMH01A1, stepper motor driver expansion board
based on L6474 for STM32 Nucleo – User manual
X-CUBE-SPN1:
DB2456: Stepper motor driver software expansion for STM32Cube – Data brief
UM1848: Getting started with X-CUBE-SPN1, stepper motor driver software expansion for
STM32Cube User manual
Software setup file
L6474:
DS8773: Product datasheet with details about default parameters – data sheet
13
All documents are available in the DESIGN tab of the related products webpage
Consult www.st.com for the complete list
Page 14
Quick Start Guide Contents
14
X-NUCLEO-IHM01A1: Stepper motor driver expansion board Hardware and Software overview
Setup & Demo Examples Documents & Related Resources
STM32 Open Development Environment: Overview
Page 15
STM32 Open Development Environment
Fast, affordable Prototyping and Development
15
The STM32 Open Development Environment (ODE) consists of a set of stackable boards
and a modular open SW environment designed around the STM32 microcontroller family.
www.st.com/stm32ode
Function Packs
(FP)
STM32Cube
development software
STM32 Nucleo
expansion boards
(X-NUCLEO)
STM32 Nucleo
development boards
STM32Cube
expansion software
(X-CUBE)
Page 16
Power supply through USB or external source
Integrated debugging
and programming
ST-LINK probe
STM32 microcontroller
Complete product range
from ultra-low power to high-performance
ST morpho extension header
STM32 Nucleo
Development Boards (NUCLEO)
A comprehensive range of affordable development boards for all the STM32
microcontroller series, with unlimited unified expansion capabilities and integrated debugger/programmer functionality.
16
www.st.com/stm32nucleo
Arduino™ UNO R3 extension headers
Page 17
Move/ActuatePower InteractConnect
Sense
STM32 Nucleo
Expansion Boards (X-NUCLEO)
Boards with additional functionality that can be plugged directly on top of the STM32
Nucleo development board directly or stacked on another expansion board.
17
DIL24 support for
new devices
Motion MEMS sensors
Environmental sensors
www.st.com/x-nucleo
Example of STM32 expansion board (X-NUCLEO-IKS01A1)
Page 18
STM32 Open Development Environment
Software components
STM32Cube software (CUBE) - A set
of free tools and embedded software bricks to enable fast and easy development on the STM32, including a Hardware Abstraction Layer and middleware bricks.
STM32Cube expansion software
(X-CUBE) - Expansion software provided
free for use with the STM32 Nucleo expansion board and fully compatible with the STM32Cube software framework. It provides abstracted access to expansion board functionality through high-level APIs and sample applications.
18
www.st.com/x-cube
Compatibility with multiple Development Environments - The STM32 Open Development
Environment is compatible with a number of IDEs including IAR EWARM, Keil MDK, and GCC-based environments. Users can choose from three IDEs from leading vendors, which are free of charge and deployed in close cooperation with ST. These include Eclipse-based IDEs such as Ac6 System Workbench for STM32 and the MDK-ARM environment.
Tools&IDEs
Applicationexamples
(e.g.basedon STOpenSoftwareX)
Hardware
SampleapplicationsApplications
IAREWARM,KeilMDK-ARM,GCC-basedIDEs
(e.g.Ac6SystemWorkbenchfor STM32)
STM32CubeHardware AbstractionLayer (HAL)
STM32Cube middleware
Upperlevel middleware
(e.g.ST OpenSoftwareX)
Middleware
Hardware Abstraction
STM32Cubeexpansionmiddleware
STM32 Nucleo expansionboards (X-NUCLEO)
STM32 Nucleo developerboards
OPEN LICENSE MODELS: STM32Cube software and sample applications are covered by a
mix of fully open source BSD license and ST licenses with very permissive terms.
www.st.com/stm32cube
Page 19
STM32 Open Development Environment
Building block approach
19
The building blocks Your need Our answer
Move / Actuate
Connect
Power
Sense
Process
Inertial modules, magnetometer
Proximity, microphone
Pressure, temperature, humidity
Bluetooth LE, Sub-GHz radio
NFC, Wi-Fi, GNSS
Energy management & battery
General-purpose microcontrollers
Stepper motor driver
DC & BLDC motor driver
Audio amplifier
COLLECT
TRANSMIT
ACCESS
CREATE
POWER
PROCESS
Software
Secure microcontrollers
Touch controller
Operation Amplifier
Accelerometer, gyroscope
Translate
Industrial input / output
www.st.com/stm32ode
Loading...