Infineon-Stepper_Motor_Control_Shield_with_IFX9201SG_XMC1300_for_Arduino-UM-UM-v01_00-EN

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

Stepper Motor Control Shield - Board User Manual

Stepper Motor Control Shield


with IFX9201 and XMC1300

About this document


Scope and purpose
This board user manual provides a basic introduction to the Stepper Motor Control Shield.
The Stepper Motor Control Shield is a complete system solution for driving stepper motors with a continuous
current capability of 2-3 A per coil (sine and cosine). It contains a 32 bit microcontroller with control logic for
stepper motors and two integrated H-Bridges capable of driving up to 6 A peak, the IFX9201SG.
It is intended to use as a shield with an XMC 1100 Boot Kit or XMC4700 Relax Kit for 5V shields but can also be
controlled by other methods.

Intended audience
This board user manual is intended for anyone using the Stepper Motor Control Shield.

Board User Manual Please read the Important Notice and Warnings at the end of this document Revision 1.0
www.infineon.com 2018-02-15
Stepper Motor Control Shield
with IFX9201 and XMC1300
Table of Contents

Table of Contents
About this document ....................................................................................................................... 1
Table of Contents ........................................................................................................................... 2
1 Overview ...................................................................................................................... 3
2 Introduction to stepper motor control ............................................................................. 4
2.1 Full step control....................................................................................................................................... 4
2.2 Half step control ...................................................................................................................................... 5
2.3 Micro step control ................................................................................................................................... 5
3 Getting Started.............................................................................................................. 6
3.1 Power Supply........................................................................................................................................... 6
3.2 Selecting a stepper motor....................................................................................................................... 6
3.3 Preconditions .......................................................................................................................................... 6
3.4 Connecting the shield ............................................................................................................................. 7
4 Operation ..................................................................................................................... 9
4.1 Control via XMC4700 Relax Kit for 5V shields ......................................................................................... 9
4.1.1 Preconditions ..................................................................................................................................... 9
4.1.1.1 Hardware ....................................................................................................................................... 9
4.1.1.2 PC setup......................................................................................................................................... 9
4.1.2 Test of the board ................................................................................................................................ 9
4.1.3 Configuration of the board .............................................................................................................. 10
4.2 Control by other means ........................................................................................................................ 11
5 Hardware Description ................................................................................................... 12
5.1 Schematics ............................................................................................................................................ 12
5.2 Layout .................................................................................................................................................... 17
5.3 Order information ................................................................................................................................. 18

Board User Manual 2 Revision 1.0


2018-02-15
Stepper Motor Control Shield
with IFX9201 and XMC1300
Overview

1 Overview
The key components Stepper Motor Control Shield are shown in Figure 1.

Header for DIS, STP and DIR input (compatible to Arduino)

Debug
connector

Jumper for current


feedback (SIN)
Potentiometer Stepper
motor output
Jumper for current
feedback (COS)
Motor supply
power input

Figure 1 Top view Stepper Motor Control Shield

Stepper motor control shield with


IFX9201 & XMC1300 to VS VMOT
GND
from VMOT

VS
IFX9201
DIS OUT1
STP PWM
DIR OUT2
DIR GND
DIS
Screw connectors

S
ARDUNINO header

XMC1302 from VMOT

VS
IFX9201
DIS OUT1
PWM
DIR OUT2
GND

5V
GND
N

Figure 2 Block diagram Stepper Motor Control Shield

Board User Manual 3 Revision 1.0


2018-02-15
Stepper Motor Control Shield
with IFX9201 and XMC1300
Introduction to stepper motor control

2 Introduction to stepper motor control


A bipolar stepper motor consists of two (four / six / …) coils mounted inside the stator and a rotor which is a
permanent magnet with toothed poles. The position of the motor is controlled by the magnetic field caused by
the stator coils. The coils are mounted in a 90° distance, so they are called sine and cosine coil. See Figure 3.

Figure 3 Simplified stepper motor

The advantange is simple control; there is no feedback loop needed as the change of position can be calculated
based on the steps done (the initial position must be known beforehand to determine the final position). In
addition the holding torque is available if the motor is standing still.
Typical applications are 3D printing, robotics and home automation.
There are different methods of control for stepper motors. These wil be described in the following sections.

2.1 Full step control


Full step control offers a maximum holding torque and simple control. Typical stepper motors allow e.g. 200
steps per rotoation which gives a sufficient resolution suitable for many applications already.
The example in Figure 4 shows the principle of full step control.

I I
I I

I I I I
Figure 4 Full step control

Board User Manual 4 Revision 1.0


2018-02-15
Stepper Motor Control Shield
with IFX9201 and XMC1300
Introduction to stepper motor control

2.2 Half step control


Full step control always uses current through all coils. To increase the number of steps by a simple method,
there is the possibility to only supply one of the two coils (“wave drive”). The combination of full step and wave
drive is called half step control. See Figure 5.

I I
I I

I I I I
I
I=0 I I=0

I I=0 I I=0
Figure 5 Half step control

The disadvantage is the holding torque being lower than in full step mode.

2.3 Micro step control


For better precision, there is the possibility to use micro steps by controlling the current through the coils in a
more precise way. The Stepper Motor Control Shield supports micro step control as well. The number of steps
can be configured starting with 8. The maximum is typically limited by the capability of the motor, the Stepper
Motor Control Shield allows up to 128 microsteps. An example of the current profiles for one “full” step is
shown in Figure 6.

Figure 6 Micro step control, sin: blue, cos: red, example for 32 steps, percent of current over one
“full”step(360°)
Board User Manual 5 Revision 1.0
2018-02-15
Stepper Motor Control Shield
with IFX9201 and XMC1300
Getting Started

3 Getting Started
3.1 Power Supply
For providing the power to drive a DC motor the Stepper Motor Control Shield needs an external power supply
connected to VMOT and GND and a 5 V supply for the micro porocessor. VMOT is typically set to 12 or 24 V.

3.2 Selecting a stepper motor


The IFX9201 can drive loads with peak currents of up to 6 A. The achievable continuous drive current is lower
and depends on supply voltage, switching frequency and the cooling conditions. Realistic continuous drive
currents for this kit are in the range of 2 A per coil. Many stepper motors for applications such as 3D printers,
toys and robotics fall in this range.
The nominal voltage of the stepper motor is derived from the rated current and the coil resistance. The nominal
voltage of the stepper motor should be lower than the supply voltage.

Attention: Stepper motors may not be connected directly to the supply voltage. The Stepper Motor Control
Shield will control the current and reduce the voltage at he output by PWM.

The shield can only be used for bipolar stepper motors (i.e. with a 4-wire connection).

3.3 Preconditions
Before starting, make sure the current is limited for the motor. In the default firmware (as delivered), the
current is limited to 1 A per coil.
To further decrease the maximum current, the potentiometer can be used, see Figure 7.

Attention: For getting started, it is recommended to limit the current to a very low value and later increase
the current. This can be done by turning the potentiometer clockwise as far as possible
(minimum current). Any counterclockwise rotation will then increase the current up to the
configured maximum.

Decrease
current

Increase
current
Figure 7 Potentiometer setting

There are two jumpers on the board, JP4 and JP5. Per default, these shall be connected between the central
pin and I_SIN/I_COS, see Figure 8. This means the operational amplifier is being used for measuring the current
through the IFX9201 devices. It is recommended to keep this setting.

Board User Manual 6 Revision 1.0


2018-02-15
Stepper Motor Control Shield
with IFX9201 and XMC1300
Getting Started

jumper

jumper

Figure 8 Jumper setting: Connect to I_SIN and I_COS

3.4 Connecting the shield


The Stepper Motor Control Shield can be used standalone or in combination with a microcontroller board with
an ARDUINO™ header. An XMC4700 Relax Kit for 5V Shields is recommended and will be used in this description.
However, there are also other options.
The main connections are shown in Figure 9.

Board User Manual 7 Revision 1.0


2018-02-15
Stepper Motor Control Shield
with IFX9201 and XMC1300
Getting Started

Digital control
interface (5 V level)
DIS, STP, DIR

Motor supply
12 - 24 V typ.

Controller supply
5V

Figure 9 Connecting Motor, Supply and control signals

XMC4700 Relax Kit for 5V Shields will provide the 5 V supply and digital control interface via the ARDUINO™
header. The signals are described in Table 1.

Table 1 Digital control interface


Pin Signal Options
DIS Enable input Low = disabled
High = enabled
STP Step input Rising edge will generate one step
of the motor
DIR Direction input Low = counterclockwise
High = clockwise

Board User Manual 8 Revision 1.0


2018-02-15
Stepper Motor Control Shield
with IFX9201 and XMC1300
Operation

4 Operation
As mentioned above, there is software available for download at www.infineon.com/ifx9201sg-stepper-motor-
shield. It will control the Stepper Motor Control Shield by an XMC4700 Relax Kit for 5V shields. In addition, the
firmware on the XMC1302 used for stepper control can be downloaded and modified.

4.1 Control via XMC4700 Relax Kit for 5V shields

4.1.1 Preconditions

4.1.1.1 Hardware
The Stepper Motor Control Shield has been intended as prototype and needs some hardware modification if it
shall be configured by the XMC4700 Relax Kit. It needs a connection between the Rx and Tx pins of the debug
interface to the Rx/Tx pins of the ARDUINO™ header. This is illustrated in Figure 10. Please make these
connections by a wire.

Tx connection

Rx connection

Figure 10 Modification for communication to XMC4700 Relax Kit

4.1.1.2 PC setup
Make sure the J-Link driver is installed properly. This is for example included in the installation of DAVE™ (see
http://www.infineon.com/dave). For more details on J-Link please visit www.segger.com.
For more information on the installation and USB connection, please refer to the board manual of the XMC4700
Relax Kit for 5V shields available under www.infineon.com/cms/de/product/evaluation-
boards/kit_xmc47_relax_5v_ad_v1.

4.1.2 Test of the board


The software uses the ARDUINO IDE. It allows doing a basic test so that the stepper motor will be turning. It
controls the pins DIS, STP and DIR according to Table 1. Just configure the number per revolutiuons for the
motor and make sure before running the test code that the current is limited by the potentiometer to a value
lower than the motor’s maximum current as described in section 3.3.
In addition, there is a print to a Terminal interface. Select the virtual COM port of the XMC4700 Relax Kit and a
baud rate of 9600 (optional, the motor will rotate without the Terminal connection).

Board User Manual 9 Revision 1.0


2018-02-15
Stepper Motor Control Shield
with IFX9201 and XMC1300
Operation

4.1.3 Configuration of the board


The software uses the ARDUINO IDE. It allows to configure the following parameters according to Table 2. The
delivery condition is listed in the “Default” column.

Table 2 Configuration of the Stepper Motor Control Shield


Parameter Options Default
SteppingpMode IFX9201_STEPPERMOTOR_STEPPINGMODE_FULL, Full
IFX9201_STEPPERMOTOR_STEPPINGMODE_HALF, step
IFX9201_STEPPERMOTOR_STEPPINGMODE_MICROSTEP
FreqPWMOut PWM output frequency. For higher currents stay at some kHz, for low 3000
current up to 20 kHz is possible. [Hz]

Note: The effective frequency may be different in order to limit the


current.

PWMDutyCycleNormFactor Maximum current (potentiometer at 100%). 3333


10000 relates to 3 A current. (1 A)
NumMicrosteps 8, 12, 16, 20, 24,… 128, only valid if SteppingpMode = n/a
IFX9201_STEPPERMOTOR_STEPPINGMODE_MICROSTEP
Store IFX9201_STEPPERMOTOR_STEPPINGMODE_DO_NOT_STORE_CONFIG; n/a
IFX9201_STEPPERMOTOR_STEPPINGMODE_ STORE_CONFIG.
If set, this will update the XMC1300 on the Stepper Motor Control
Shield so that after a power cycle the values are kept.

Note: The memory of the XMC1300 has a limited amount of writing cycles.
Therefore, it is recommended to find a working setup and test it
before finally storing the configuration.

The new configuration can be entered into the IFX9201_STEPPERMOTOR_config_t example_config, see Figure
11.

Board User Manual 10 Revision 1.0


2018-02-15
Stepper Motor Control Shield
with IFX9201 and XMC1300
Operation

Figure 11 Configuration parameters

4.2 Control by other means


If the default configuration is sufficient (full step, 1 A max. current), only the signals DIS, STP and DIR need to be
applied.
If the configuration options provided are not sufficient, there is as well a possibility to modify the code on the
XMC1302. Therefore, a debugger, such as the XMC™ Link, is needed. It can be connected to the debug
connector. The firmware is available as beta version under www.infineon.com/ifx9201sg-stepper-motor-shield.

Board User Manual 11 Revision 1.0


2018-02-15
Stepper Motor Control Shield
with IFX9201 and XMC1300
Hardware Description

5 Hardware Description
5.1 Schematics

Figure 12 XMC1302 connection overview

Figure 13 Connectors

Board User Manual 12 Revision 1.0


2018-02-15
Stepper Motor Control Shield
with IFX9201 and XMC1300
Hardware Description

Figure 14 Microcontroller

Board User Manual 13 Revision 1.0


2018-02-15
Stepper Motor Control Shield
with IFX9201 and XMC1300
Hardware Description

Figure 15 Power part

Board User Manual 14 Revision 1.0


2018-02-15
Stepper Motor Control Shield
with IFX9201 and XMC1300
Hardware Description

Board User Manual 15 Revision 1.0


2018-02-15
Stepper Motor Control Shield
with IFX9201 and XMC1300
Hardware Description

Figure 16 Current sensing circuitry

Board User Manual 16 Revision 1.0


2018-02-15
Stepper Motor Control Shield
with IFX9201 and XMC1300
Hardware Description

5.2 Layout

Figure 17 Layout top layer

Figure 18 Layout bottom layer

Board User Manual 17 Revision 1.0


2018-02-15
Stepper Motor Control Shield
with IFX9201 and XMC1300
Hardware Description

5.3 Order information

OPN: KITXMC1300IFX9201TOBO1

Board User Manual 18 Revision 1.0


2018-02-15
Trademarks
All referenced product or service names and trademarks are the property of their respective owners.

IMPORTANT NOTICE
Edition 2018-02-15 The information given in this document shall in no For further information on the product, technology,
event be regarded as a guarantee of conditions or delivery terms and conditions and prices please
Published by characteristics (“Beschaffenheitsgarantie”) . contact your nearest Infineon Technologies office
(www.infineon.com).
Infineon Technologies AG
With respect to any examples, hints or any typical
81726 Munich, Germany values stated herein and/or any information
regarding the application of the product, Infineon WARNINGS
Technologies hereby disclaims any and all Due to technical requirements products may
© 2018 Infineon Technologies AG. warranties and liabilities of any kind, including contain dangerous substances. For information on
All Rights Reserved. without limitation warranties of non-infringement the types in question please contact your nearest
of intellectual property rights of any third party. Infineon Technologies office.

Do you have a question about this In addition, any information given in this document Except as otherwise explicitly approved by Infineon
document? is subject to customer’s compliance with its Technologies in a written document signed by
obligations stated in this document and any authorized representatives of Infineon
Email: [email protected] applicable legal requirements, norms and Technologies, Infineon Technologies’ products may
standards concerning customer’s products and any not be used in any applications where a failure of
use of the product of Infineon Technologies in the product or any consequences of the use thereof
Document reference customer’s applications. can reasonably be expected to result in personal
ifx1 injury.
The data contained in this document is exclusively
intended for technically trained staff. It is the
responsibility of customer’s technical departments
to evaluate the suitability of the product for the
intended application and the completeness of the
product information given in this document with
respect to such application.

You might also like