Nanotec-LOGO

Nanotec PD1-C Modbus RTU Stepper Motor

Nanotec-PD1-C-Modbus-RTU-Stepper-Motor-PRODUCT

Specifications

  • Fieldbus: Modbus RTU
  • Variants: PD1-C281S15-E-20-5, PD1-C281S15-E-65-5, PD1-C281S15-E-OF-5, PD1-C281L15E-20-5, PD1-C281L15-E-65-5, PD1-C281L15-E-OF-5
  • Valid Firmware Version: FIR-v2425
  • Hardware Version: W002
  • Technical Manual Version: 1.1.0

Product Usage Instructions

  • Introduction
    • Provide an overview of the product and its key features.
  • Safety and Warning Notices
    • Outline safety precautions and warning notices for users to follow while operating the product.
  • Technical Details and Pin Assignment
    • Provide details on the technical specifications of the product and pin assignment for connections.
  • Commissioning
    • Guide users through the commissioning process, including configuring via Modbus RTU.
  • Configuring via Modbus RTU
    • Explain the communication settings required for configuration.
  • General Concepts
    • Explain general concepts related to the product, such as CiA 402 Power State Machine.
  • CiA 402 Power State Machine
    • Detail the state machine and behavior upon exiting the Operation enabled state.
  • Limitation of the Range of Motion
    • Describe software limit switches and how they affect motion range.
  • Cycle Times
    • Explain cycle times related to the product operation.
  • Operating Modes
    • Detail different operating modes supported by the product, such as Homing and Cyclic Synchronous Position.
  • Homing
    • Provide an overview of the homing process and method.
  • Cyclic Synchronous Position
    • Explain the concept and object entries related to this operating mode.
  • Cyclic Synchronous Velocity
    • Detail the overview and object entries for this operating mode.

FAQs

  • Q: What is the recommended firmware version for optimal performance?
    • A: The recommended firmware version for optimal performance is FIR-v2425.
  • Q: How do I configure communication settings via Modbus RTU?
    • A: To configure communication settings via Modbus RTU, refer to Section 4.1 in the user manual for detailed instructions.

“`

Technical Manual PD1-C
Fieldbus: Modbus RTU
For use with the following variants:
PD1-C281S15-E-20-5, PD1-C281S15-E-65-5, PD1-C281S15-E-OF-5, PD1-C281L15E-20-5, PD1-C281L15-E-65-5, PD1-C281L15-E-OF-5

Valid with firmware version FIR-v2425 and since hardware version W002

Technical Manual Version: 1.1.0

Introduction

1 Introduction
The PD1-C is a stepper motor with integrated controller. The integrated absolute encoder makes immediate operation possible in closed loop mode without homing. This manual describes the functions of the controller and the available operating modes. It also shows how you can address and program the controller via the communication interface. You can find further information on the product on us.nanotec.com.
1.1 Version information

Manual version

Date

Changes

1.0.0 1.0.1 1.0.2 1.1.0

10/2023 11/2023 12/2023 07/2024

Edition Minor corrections Pin arrangement for IP65 variants corrected. New Firmware: Slow Speed Mode surrently not supported.

Minor corrections.

Firmware version
B1048823 B1048823 B1048823 FIR-v2425

Hardware version
W002 W002 W002 W002

1.2 Copyright, marking and contact
© 2013 ­ 2023 Nanotec Electronic GmbH & Co. KG. All rights reserved.

Nanotec Electronic GmbH & Co. KG Kapellenstraße 6 85622 Feldkirchen Germany Phone: +49 89 900 686-0 Fax: +49 (89) 900 686-50
us.nanotec.com
1.3 Intended use
The PD1-C motor with integrated controller is used as a component of drive systems in a range of industrial applications. Use the product as intended within the limits defined in the technical data (in particular, see ) and the approved Environmental conditions. Under no circumstances may this Nanotec product be integrated as a safety component in a product or system. All products containing a component manufactured by Nanotec must, upon delivery to the end user, be provided with corresponding warning notices including instructions for safe use and safe operation. All warning notices provided by Nanotec must be passed on directly to the end user.

Version: 1.1.0 / FIR-v2425

9

1 Introduction

1.4 Target group and qualification
The product and this documentation are directed towards technically trained specialists staff such as: Development engineers Plant engineers Installers/service personnel Application engineers Only specialists may install, program and commission the product. Specialist staff are persons who have appropriate training and experience in working with motors and their controller, are familiar with and understand the content of this technical manual, know the applicable regulations.
1.5 Warranty and disclaimer
Nanotec shall not be liable for damage and malfunctions attributable to installation errors, failure to observe this document or improper repair. The plant engineer, operating company and user shall be responsible for the selection, operation and use of our products. Nanotec shall not take responsibility for integration of the product in the end system. The general terms and conditions listed at www.nanotec.de shall apply. Note: Conversion/modification of the product is prohibited.
1.6 EU directives for product safety
The following EU directives were observed: RoHS directive (2011/65/EU, 2015/863/EU) EMC directive (2014/30/EU)
NOTICE
For product variants without closed housing (PD1-C…-…-OF-…), no EMC tests were performed. Perform a risk assessment for the entire machine/system to identify possible risks due to electromagnetic interference and initiate suitable protection measures if necessary.

1.7 Other applicable regulations
In addition to this technical manual, the following regulations are to be observed: Accident-prevention regulations Local regulations on occupational safety
1.8 Used icons
All notices are in the same format. The degree of the hazard is divided into the following classes.

CAUTION!

!

The CAUTION notice indicates a possibly dangerous situation. Failure to observe the notice may result in moderately severe injuries.

Describes how you can avoid the dangerous situation.

Version: 1.1.0 / FIR-v2425

10

1 Introduction
NOTICE Indicates a possible incorrect operation of the product. Failure to observe the notice may result in damage to this or other products. Describes how you can avoid the incorrect operation.
TIP Shows a tip for the application or task.
1.9 Emphasis in the text
The following conventions are used in the document: Underlined text indicates cross references and hyperlinks: The following bits in object 6041h (statusword) have a special function: A list of available system calls can be found in chapter NanoJ functions in the NanoJ program. Text set in italics marks named objects: Read the installation manual. Use the Plug & Drive Studio software to perform the auto setup. For software: You can find the corresponding information in the Operation tab. For hardware: Use the ON/OFF switch to switch the device on. A text set in Courier marks a code section or programming command: The line with the od_write(0x6040, 0x00, 5 ); command has no effect. The NMT message is structured as follows: 000 | 81 2A A text in “quotation marks” marks user input: Start the NanoJ program by writing object 2300h, bit 0 = “1”. If a holding torque is already needed in this state, the value “1” must be written in 3212h:01h.
1.10 Numerical values
Numerical values are generally specified in decimal notation. The use of hexadecimal notation is indicated by a subscript h at the end of the number. The objects in the object dictionary are written with index and subindex as follows: <Index>:<Subindex> Both the index as well as the subindex are specified in hexadecimal notation. If no subindex is listed, the subindex is 00h. Example: Subindex 5 of object 1003h is addressed with 1003h:05h, subindex 00 of object 6040h with 6040h.
1.11 Bits
The numbering of individual bits in an object always begins with the LSB (bit number 0). See the following figure, which uses data type UNSIGNED8 as an example.Nanotec-PD1-C-Modbus-RTU-Stepper-Motor-FIG- (1)

Version: 1.1.0 / FIR-v2425

11

1 Introduction
1.12 Counting direction (arrows)
In figures, the counting direction is always in the direction of an arrow. Objects 60C5h and 60C6h depicted as examples in the following figure are both specified as positive.Nanotec-PD1-C-Modbus-RTU-Stepper-Motor-FIG- (2)
Max. acceleration (60C5h)
t
Max. deceleration (60C6h)

Acceleration

Version: 1.1.0 / FIR-v2425

12

Safety and warning notices

2 Safety and warning notices

CAUTION!

Risk of burning from hot surfaces!

The motor can become very hot during operation. If touched, this could result in burns.

!

During use, make certain that the environmental conditions are ensured and that operation

takes place within the limits defined by the technical data.

Install the motor in such a way that heat dissipation and passive cooling are possible.

After switching off, wait until all components have cooled before you touch them.

NOTICE
Damage to the controller! Changing the wiring during operation may damage the controller. Only change the wiring in a de-energized state. After switching off, wait until the capacitors have discharged.

NOTICE
Damage to the controller due to excitation voltage of the motor! Voltage peaks during operation may damage the controller. Install suitable circuits (e.g., charging capacitor) that reduce voltage peaks.

NOTICE
Damage to the electronics through improper handling of ESD-sensitive components! The device contains components that are sensitive to electrostatic discharge. Improper handling can damage the device. Observe the basic principles of ESD protection when handling the device.

NOTICE Damage to the electronics if the supply voltage is connected with reversed polarity! Install a line protection device (fuse) in the supply line.

Version: 1.1.0 / FIR-v2425

13

3 Technical details and pin assignment

3 Technical details and pin assignment

3.1 Environmental conditions

Protection class

Environmental condition

Ambient temperature (operation) Ambient temperature (storage and transport) Relative humidity (operation), non-condensing Relative humidity (storage and transport), non-condensing Absolute humidity (storage and transport), non-condensing Max. altitude of site above sea level (without drop in performance in operation) Max. altitude of site above sea level (storage and transport)

3.2 Dimensioned drawings
PD1-C281S15-E-OF-…Nanotec-PD1-C-Modbus-RTU-Stepper-Motor-FIG- (3)

Value
PD1-C…-…-OF-…: No IP protection
PD1-C…-…-20-…: IP20
PD1-C…-…-65-…: IP65 (except for shaft output)
-10 … +40°C -25 … +85°C 0 … 85% 0 … 85% 30g/m3 1500m
3000m

Version: 1.1.0 / FIR-v2425

14

3 Technical details and pin assignment PD1-C281S15-E-20-…Nanotec-PD1-C-Modbus-RTU-Stepper-Motor-FIG- (4)
PD1-C281S15-E-65-…Nanotec-PD1-C-Modbus-RTU-Stepper-Motor-FIG- (5)
PD1-C281L15-E-OF-…

Version: 1.1.0 / FIR-v2425

15

3 Technical details and pin assignment PD1-C281L15-E-20-…

PD1-C281L15-E-65-…

3.3 Electrical properties and technical data

Property Operating voltage Rated current Peak current
Operating modes

Description / value
12 V DC to 30 V DC
1.5 Arms 3Arms for max. 3 seconds
Note: To avoid voltage drops at peak current that would cause an under-voltage error at voltages near the lower limit (below 15 V), connect a capacitor of at least 4700 µF / 50 V (approx. 1000 µF per ampere motor current) parallel to the supply.
Profile Position Mode, Profile Velocity Mode, Profile Torque Mode, Velocity Mode, Homing Mode, Interpolated Position Mode, Cyclic Sync Position Mode, Cyclic Sync Velocity Mode, Cyclic Synchronous Torque Mode, Clock-Direction Mode (not available for the IP65 variant)

Version: 1.1.0 / FIR-v2425

16

Technical details and pin assignment

Property Set value setting / programming Interfaces Inputs
Outputs
Protection circuit

Description / value
Clock-direction, analog, NanoJ program
RS-485 (Modbus RTU)
PD1-C…-…-OF-…: 3 digital (5/24 V switchable), 1 analog (12-bit resolution, 0 – 24 V, can also be read out as fourth digital input)
PD1-C…-…-20-…: 3 digital (5/24 V switchable), 1 analog (12-bit resolution, 0 – 24 V, can also be read out as fourth digital input)
PD1-C…-…-65-…: 1 digital (5/24 V switchable)
PD1-C…-…-OF-…: 2 digital, push-pull (5/UB V switchable) PD1-C…-…-20-…: 2 digital, push-pull (5/UB V switchable) PD1-C…-…-65-…: 1 digital, push-pull (5/UB V switchable)
Overvoltage and undervoltage protection
Overtemperature protection (> 80° Celsius on the power board)
Polarity reversal protection: In the event of a polarity reversal, a shortcircuit will occur between supply voltage and GND over a power diode; a line protection device (fuse) is therefore necessary in the supply line. The values of the fuse are dependent on the application and must be dimensioned
greater than the maximum current consumption of the controller, less than the maximum current of the voltage supply. If the fuse value is very close to the maximum current consumption of the controller, a medium / slow tripping characteristics should be used.

3.4 Overtemperature protection
Above a temperature of approx. 80 °C on the power board the power part of the controller switches off and the error bit is set (see objects 1001h and 1003h). After cooling down and confirming the error (see table for the controlword, “Fault reset”), the controller again functions normally.
Temperature-dependent power reduction The following diagram shows the permissible continuous current as a function of the ambient temperature:

Version: 1.1.0 / FIR-v2425

17

3 Technical details and pin assignment
1.5 1.3 1 0.7

Current [A]

40

50 60 65

T [°C]

NOTICE
Aside from the motor, the exact temperature behavior is also dependent on the flange connection and the heat transfer there as well as on the convection in the application. For this reason, Nanotec recommends always performing an endurance test in the actual environment for applications in which current level and ambient temperature pose a problem.
Make sure that heat dissipation via the mounting surface and passive cooling or active ventilation are possible, so that the maximal ambient temperature stays within the limits.

3.5 Pin assignment
NOTICE All pins with designation GND are internally connected.

3.5.1 Connections
PD1-…-OF-… Type: Molex 52991-0308 Pins 1 and 2 are marked in the following figure.

Version: 1.1.0 / FIR-v2425

18

3 Technical details and pin assignment

2

1

Pin(s)
2. 4, 6, GND 8, 10 1. 3, 5, +UB 7, 9

Function

Note
12-30 V DC Note: You must connect all 5 pins to the supply voltage.

11

Digital input 1

5/24 V switchable with 323Ah, max. 1 MHz, clock input in clockdirection mode

12

Digital input 2

5/24 V switchable with 323Ah, max. 1 MHz, direction input in clock-direction mode

13

Digital input 3

5/24 V switchable with 323Ah

14

Analog input / digital input 4 12 bit, 0-30 V

15

Digital output 1

16

RS485+

Push-pull, 5/+UB V switchable with 323Ah, max. 50 mA

17

Digital output 2

18

RS485-

Push-pull, 5/+UB V switchable with 323Ah, max. 50 mA

19

reserved

do not connect

20

reserved

do not connect

21

reserved

do not connect

22

reserved

do not connect

23

reserved

do not connect

24

reserved

do not connect

25

reserved

do not connect

26

USER_SPI_NSS

Chip Select pin of the interface Generic SPI

27

USER_SPI_MISO

MISO pin of the interface Generic SPI

28

USER_SPI_SCK

Clock pin of the interface Generic SPI

29

USER_SPI_MOSI

MOSI pin of the interface Generic SPI

30

+3.3V

Output voltage, max. 100 mA

PD1-…-20-… Type: Molex 87437-1273

Version: 1.1.0 / FIR-v2425

19

3 Technical details and pin assignment In the following figure, pin 1 is marked.
1

Pin 1 2 3
4
5 6 7 8 9 10 11 12

Function

Note

Digital output 1 Digital output 2 Digital input 1

Push-pull, 5/+UB V switchable with 323Ah, max. 50 mA
Push-pull, 5/+UB V switchable with 323Ah, max. 50 mA
5/24 V switchable with 323Ah, max. 1 MHz, clock input in clockdirection mode

Digital input 2

5/24 V switchable with 323Ah, max. 1 MHz, direction input in clock-direction mode

Digital input 3

5/24 V switchable with 323Ah

Analog input / digital input 4 12 bit, 0-30 V

RS485+

RS485-

reserved

do not connect

reserved

do not connect

+UB

12-30 V DC

GND

PD1-…-65-… Type: M12, 8-pin, Y4-coded, male The pin numbers are marked in the following figure.

Version: 1.1.0 / FIR-v2425

20

3 Technical details and pin assignment

4 5
6 7

3 2 1
8

Pin
1 2 3 4 5 6 7 8

Function
RS485+ RS485RS485+ RS485Digital input 1 Digital output 1 +UB GND

Note
RS485+ IN RS485- IN RS485+ OUT RS485- OUT 5/24 V switchable with 323Ah Push-pull, 5/+UB V switchable with 323Ah, max. 50 mA 12-30 V DC

Switching thresholds The following switching thresholds apply for the digital inputs and the analog input (if available):

Max. voltage

5 V 24 V

> 2 V > 15 V

Switching thresholds

On

Off

< 0,8 V < 5 V

3.5.2 Voltage source
The operating or supply voltage supplies a battery, a transformer with rectification and filtering, or a switching power supply.
NOTICE
EMC: For a DC power supply line longer than 30 m or when using the motor on a DC bus, additional interference-suppression and protection measures are necessary. An EMI filter is to be inserted in the DC supply line as close as possible to the controller/ motor. Long data or supply lines are to be routed through ferrites.

Version: 1.1.0 / FIR-v2425

21

3 Technical details and pin assignment
3.5.3 Permissible operating voltage
The maximum operating voltage is 30 V. If the input voltage of the controller exceeds the threshold value set in 2034h, the motor is switched off and an error triggered. The minimum operating voltage is 12 V DC. If the input voltage of the controller falls below the threshold value set in 2035h, the motor is switched off and an error triggered. A charging capacitor of at least 4700 µF / 50 V (approx. 1000 µF per ampere rated current) must be connected in parallel to the supply voltage to avoid exceeding the permissible operating voltage (e. g., during braking).
NOTICE Damage to the controller and/or its power supply due to excitation voltage of the motor! Voltage peaks during operation may damage the controller and possibly its power supply. Install suitable circuits (e.g., charging capacitor) that reduce voltage peaks. Use a power supply with protection circuit to protect against overvoltage.
3.5.4 RS-485 line polarization and termination
NOTICE The controller is not equipped with line polarization and expects the master device to have one.
If the master device on the bus does not have line polarization of its own, a pair of resistors must be attached to the RS-485 balanced cables: A pull-up resistor to a 5V voltage on the RS-485+ (D1) cable A pull-down resistor to earth (GND) on the RS-485- (D0) cable The value of these resistors must be between 450 ohm and 650 ohm. A 650 ohm resistor permits a higher number of devices on the bus. In this case, a line polarization must be attached at a location for the entire serial bus. In general, this location should be on the master device or its connection. All other devices then no longer need to implement line polarization.
NOTICE You must terminate the network with a termination resisotr of 150 Ohm on both line ends..

Version: 1.1.0 / FIR-v2425

22

3 Technical details and pin assignment

Line Termination

Master DR

R D Slave 1

R D Slave n

D1 D0 Common

5 V Pull Up 650
Line Termination
Pull Down 650

Version: 1.1.0 / FIR-v2425

23

Commissioning

4 Commissioning
Described in this chapter is how you establish communication with the controller and set the necessary parameters to make the motor ready for operation.
The controller also offers you the possibility to switch special drive modes on/off via object 4015h. You can thereby control the motor directly via the inputs (analog input/clock-direction). See chapter Special drive modes (clock-direction and analog speed) for details.
Observe the following notes:

CAUTION!

Moving parts can cause hand injuries.

!

If you touch moving parts during running operation, hand injuries may result.

Do not reach for moving parts during operation. After switching off, wait until all movements

have ended.

CAUTION!

In free-standing operation, motor movements are uncontrolled and can cause injuries.

!

If the motor is unsecured, it can, e.g., fall down. Foot injuries or damage to the motor could occur.

If you operate the motor free-standing, observe the motor, switch it off immediately in the event of danger and make certain that the motor cannot fall down.

CAUTION!

Moving parts can catch hair and loose clothing.

!

During running operation, moving parts can catch hair or loose clothing, which may lead to injuries.

If you have long hair, wear a hairnet or take other suitable protective measures when near moving parts. Do not work with loose clothing or ties near moving parts.

CAUTION!

Risk of overheating or fire if there is insufficient cooling!

!

If cooling is insufficient or if the ambient temperature is too high, there is a risk of overheating or

fire.

During use, make certain that the cooling and environmental conditions are ensured.

Version: 1.1.0 / FIR-v2425

24

4 Commissioning

NOTICE
EMC: Current-carrying cables ­ particularly around supply cables ­ produce electromagnetic alternating fields. These can interfere with the motor and other devices. Suitable measures may be: Use shielded cables and earth the cable shielding on both ends over a short distance. Keep power supply cables as short as possible. Use cables with cores in twisted pairs. Earth motor housing with large contact area over a short distance. Lay supply and control cables separately.

4.1 Configuring via Modbus RTU
Described in the following chapters is how you can establish the communication. The controller is set to slave address ex works , baud rate 19200 baud, even parity, 1 stop bit. All changes take effect only after the controller is restarted.
4.1.1 Communication settings

Configuration Slave address Baud rate Parity

2028h 202Ah 202Dh

Object

Value range
1 to 247 7200 to 256000
None: 0x00 Even: 0x04 Odd: 0x06

Factory settings 5 19200 0x04 (Even)

The number of data bits is always “8” here. The number of stop bits is dependent on the parity setting:
No parity: 2 stop bits “Even” or “Odd” parity: 1 stop bit
The following baud rates are supported:
7200 9600 14400 19200 38400 56000 57600 115200 128000 256000
You must save the changes by writing value “65766173h” in object 1010h:0Bh. The changes are not taken over until after the controller has been restarted.
4.2 Auto setup
To determine a number of parameters related to the motor and the connected sensors (encoders/Hall sensors), you must perform an auto setup.

Version: 1.1.0 / FIR-v2425

25

4 Commissioning

TIP
As long as the motor connected to the controller or the sensors for feedback (encoders/Hall sensors) are not changed, auto setup is only to be performed once during initial commissioning.

NOTICE
Note the following prerequisites for performing the auto setup: The motor must be load-free. The motor must not be touched. The motor must be able to turn freely in any direction. No NanoJ programs may be running (object 2300h:00h bit 0 = “0”).

TIP
Execution of the auto setup requires a relatively large amount of processor computing power. During the auto setup, this may result in fieldbuses not being operated in a timely manner.

4.2.1 Parameter determination
Auto setup determines various parameters of the connected motor and of the present sensors by means of multiple test runs and measurement runs. To a certain extent, the type and number of parameters are dependent on the respective motor configuration.

Parameter
Motor type (stepper motor or BLDC motor) Winding resistance Winding inductance Interlinking flux

All motors independent of the configuration

NOTICE
It is not possible to determine the interlinking flux on motors whose windings have widely differing inductances. These motors are, therefore, not suitable for sensorless closed-loop operation.

Parameter

Motor without encoder

Encoder resolution

Alignment (shifting of

the electrical zero to the

index)

Motor with encoder and index

Motor with encoder without index
—–

Parameter Hall transitions

Motor without Hall sensor

Motor with Hall sensor

Version: 1.1.0 / FIR-v2425

26

4 Commissioning

4.2.2 Execution
1. To preselect the auto setup operating mode, enter the value “-2″ (=”FEh”) in object 6060h:00h. The power state machine must now switch to the Operation enabled state, see CiA 402 Power State Machine.
2. Start auto setup by setting bit 4 OMS in object 6040h:00h (controlword).
While the auto setup is running, the following tests and measurements are performed in succession:

Start Auto-Setup
Identify motor type
Determine windings resistance Determine windings inductivity
Determine magnetic flux

Encoder

Yes

and encoder-index

available?

No

Determine pole pairs Determine encoder resolution
Determine alignment

Hall sensor available?
No

Yes Measure Hall transitions

Encoder and/or Hall sensor available?

Yes

Invert direction of measurement 1)

No

Save parameters

End Auto-Setup

1) To determine the values, the direction of the measurement method is reversed and edge detection re-evaluated.
Value 1 in bit 12 OMS in object 6041h:00h (statusword) indicates that the auto setup was completely executed and ended. In addition, bit 10 TARG in object 6041h:00h can be used to query whether (= “1”) or not (= “0”) an encoder index was found.

Version: 1.1.0 / FIR-v2425

27

4 Commissioning

Master/Software

Motion Controller

write 6040h:00h = 0006h read 6041h:00h (Bit 9, 5 und 0 = 1?)

write 6060h:00h = FEh write 6040h:00h = 0007h read 6041h:00h (Bit 9, 5, 4, 1, 0 = 1?)
write 6040h:00h = 000Fh read 6041h:00h (Bit 9, 5, 4, 2, 1, 0 = 1?)
read 6061h:00h (= FEh?) write 6040h:00h = 001Fh

Wait for auto-setup to finish.
read 6041h:00h (Bit 12, 9, 5, 4, 2, 1, 0 = 1?)

write 6040h:00h = 0000h

4.2.3 Parameter memory
After a successful auto setup, the determined parameter values are automatically taken over into the corresponding objects and stored with the storage mechanism, see Saving objects and 1010h Store Parameters. Categories Drive 1010h:05h and Tuning 1010h:06h are used.

CAUTION!

Uncontrolled motor movements!

!

After the auto setup, the internal coordinate system is no longer valid. Unforeseen reactions can

result.

Restart the device after an auto setup. Homing alone does not suffice.

4.3 Special drive modes (clock-direction and analog speed)
NOTICE These modes are not available for the IP65 variant.

You have the possibility to control the motor directly via the clock and direction input or the analog input by activating the special drive modes.These include:
Clock-direction Analog speed Test run with 30 rpm

Version: 1.1.0 / FIR-v2425

28

4 Commissioning

You can also determine the control mode ­ open-loop or closed-loop. Digital input 3 serves here as an enable (see Connections).
NOTICE After activating the special drive modes, the state of the CiA 402 Power State Machine is controlled only via a digital input (enable). State changes that are requested in object 6040h (controlword) have no effect.

4.3.1 Activation
To activate the special drive modes, you must enter the value “2” in 4015h:01h. In 4015h:02h, set the mode by writing a value between “00”h and “0F”h.
The following table lists all possible modes and their value for 4015:02h:

Value 00h/01h 02h
03h
04h

Clock-direction
Clock-direction (test run)
Clock-direction (test run)
Analog speed

05h

Analog speed

06h 07h 08h/09h 0Ah
0Bh
0Ch

Analog speed Analog speed Clock-direction Clock-direction (test run) Clock-direction (test run) Analog speed

0Dh

Analog speed

0Eh

Analog speed

0Fh

Analog speed

Mode

Open-Loop

Test run with 30 rpm
Test run with 30 rpm
Direction via “Direction” input Direction via “Direction” input Offset 5 V (joystick mode)

Clockwise direction of rotation
Counterclockwise direction of rotation
Maximum speed 1000 rpm

Open-Loop Open-Loop Open-Loop

Maximum speed 100 rpm Open-Loop

Maximum speed 1000 rpm Open-Loop

Offset 5 V (joystick mode) –

Maximum speed 100 rpm –

Open-Loop Closed-Loop

Test run with 30 rpm

Clockwise direction of rotation

Closed-Loop

Test run with 30 rpm
Direction via “Direction” input Direction via “Direction” input Offset 5 V (joystick mode)

Counterclockwise direction Closed-Loop of rotation Maximum speed 1000 rpm Closed-Loop
Maximum speed 100 rpm Closed-Loop
Maximum speed 1000 rpm Closed-Loop

Offset 5 V (joystick mode) Maximum speed 100 rpm Closed-Loop

You must save object 4015h (application category) (see chapterSaving objects); the changes do not take effect until after the controller is restarted.
4.3.2 Clock-direction
The controller internally sets the operating mode to clock-direction. You must connect the enable, clock and direction inputs (see chapter Connections).
4.3.3 Analog speed
The controller internally sets the operating mode to Velocity. To preset the speed, the voltage on the analog input is used and the corresponding target speed is written in 6042h.

Version: 1.1.0 / FIR-v2425

29

4 Commissioning

4.3.3.1 Maximum speed The maximum speed can be changed between 100 rpm and 1000 rpm; the controller automatically adapts the scaling in 604h here.
NOTICE If you would like to change to a different mode afterwards, you must adapt or reset the scaling in 604Ch if necessary.

If a different speed is necessary, it can be set using the scaling factor for the speed (object 604Ch) or the analog value (see Analog inputs).
4.3.3.2 Computation of the analog voltage
There are two modes for calculating the analog input voltage.
Normal mode You must connect the enable, direction and analog inputs (see chapter Connections). The maximum analog voltage corresponds to the maximum speed. The direction is preset here via the direction input. If there is no signal at the direction input, the motor turns clockwise (when looking at the drive shaft). There is a dead zone from 0 V to 20 mV in which the motor does not move.

+max dead zone
rotational speed
n = 0 0 V

Analogue input voltage

Umax

Joystick mode You must connect the release input and the analog input (see chapter Connections). The half of the maximum analog voltage corresponds to the speed 0; the controller automatically adapts the offset in 3321h here.
NOTICE
If you would like to change to a different mode afterwards, you must adapt or reset the offset in 3321h if necessary.

If the voltage drops below half, the speed increases in the negative direction. If the speed rises above
half, the speed increases likewise in the positive direction. The dead zone here extends from Umax/2 ± 20 mV.

Version: 1.1.0 / FIR-v2425

30

4 Commissioning
+max Rotational speed
-max 0 V

dead zone

Umax/2 Analogue input voltage

Umax

4.3.4 Test run with 30 rpm
The motor rotates at 30 rpm if the enable input is set.

Version: 1.1.0 / FIR-v2425

31

5 General concepts

5 General concepts
5.1 Control modes
5.1.1 General
The control mode of systems without feedback is called open-loop, the mode with feedback is called closedloop. In the closed-loop control mode, it is initially irrelevant whether the fed back signals come from the motor itself or from the influenced process. For controllers with feedback, the measured control variable (actual value) is constantly compared with a set point (set value). In the event of deviations between these values, the controller readjusts according to the specified control parameters. Pure controllers, on the other hand, have no feedback for the value that is to be regulated. The set point (set value) is only specified.

Target value

Control mode Open Loop

Motor Controller

Motor

Process

Target value

Control mode Closed Loop

Motor Controller

Motor

Process

Actual value
In addition to the physical feedback systems (e.g., via encoders or Hall sensors), model-based feedback systems, collectively referred to as sensorless systems, are also used. Both feedback systems can also be used in combination to further improve the control quality.

Control mode Open-Loop

Motor controller

Control mode Closed-Loop

Physical feedback systems
Encoder/Hall

Model-based feedback systems
Sensorless

Summarized in the following are all possible combinations of control modes and feedback systems with respect to the motor technology. Support of the respective control mode and feedback is controller-specific and is described in chapters Pin assignment and operating modes.

Control mode Open-Loop Closed-Loop

Stepper motor yes yes

BLDC motor no yes

Feedback Hall
Encoder

Stepper motor no yes

BLDC motor yes yes

Version: 1.1.0 / FIR-v2425

32

5 General concepts

Feedback Sensorless

Stepper motor yes

BLDC motor yes

Various operating modes can be used depending on the control mode. The following list contains all the types of operation that are possible in the various control modes.
1) The Profile Torque and Cyclic Synchronous Torque torque operating modes are not possible in the openloop control mode due to a lack of feedback.
2) Exception: Homing on block is not possible due to a lack of feedback.
3) Because ramps and speeds in operating modes Cyclic Synchronous Position and Cyclic Synchronous Velocity follow from the specified points of the master, it is not normally possible to preselect these parameters and to ascertain whether a step loss can be excluded. It is therefore not advisable to use these operating modes in combination with open-loop control mode.
5.1.2 Open-Loop
5.1.2.1 Introduction
Open-loop mode is only used with stepper motors and is, by definition, a control mode without feedback. The field rotation in the stator is specified by the controller. The rotor directly follows the magnetic field rotation without step losses as long as no limit parameters, such as the maximum possible torque, are exceeded. Compared to closed-loop, no complex internal control processes are needed in the controller. As a result, the requirements on the controller hardware and the controller logic are very low. Open-loop mode is used primarily with price-sensitive applications and simple movement tasks.
Because, unlike closed-loop, there is no feedback for the current rotor position, no conclusion can be drawn on the counter torque being applied to the output side of the motor shaft. To compensate for any torque fluctuations that arise on the output shaft of the motor, in open-loop mode, the controller always supplies the maximum possible (e.g., specified by parameters) set current to the stator windings over the entire speed range. The high magnetic field strength thereby produced forces the rotor to assume the new steady state in a very short time. This torque is, however, opposite that of the inertia of the rotor and overall system. Under certain operating conditions, this combination is prone to resonances, comparable to a spring-mass system.
5.1.2.2 Commissioning
To use open-loop mode, the following settings are necessary:
In object 2030h (Pole Pair Count), enter the number of pole pairs (see motor data sheet: for a stepper motor with 2 phases, a step angle of 1.8° corresponds to 50 pole pairs and 0.9° corresponds to 100 pole pairs).
In object 2031h:00h, enter the maximum permissible motor current (motor protection) in mA (see motor data sheet)
In object 6075h:00h, enter the rated current of the motor in mA (see motor data sheet). In object 6073h:00h, enter the maximum current (for a stepper motor, generally corresponds to the rated
current, bipolar) in tenths of a percent of the set rated current (see motor data sheet). Factory settings: “1000”, which corresponds to 100% of the value in 6073h. A value greater than “1000” is limited internally to “1000”. In object 3202h (Motor Drive Submode Select), set bit 0 (CL/OL) to the value “0”.
Nanotec recommends the current reduction on motor standstill in order to reduce the power loss and heat build-up:
In object 2036h (open-loop current reduction idle time), the time in milliseconds is specified that the motor must be at a standstill (set value is checked) before current reduction is activated.
In object 2037h (open-loop current reduction value/factor), the root mean square is specified to which the rated current is to be reduced if current reduction is activated in open loop and the motor is at a standstill.

Version: 1.1.0 / FIR-v2425

33

5 General concepts
5.1.2.3 Optimizations Depending on the system, resonances may occur in open-loop mode; susceptibility to resonances is particularly high at low loads. Practical experience has shown that, depending on the application, various measures are effective for largely reducing resonances: Reduce or increase current, see objects 6073h and 6075h, respectively. An excessive torque reserve
promotes resonances. Reduce or increase the operating voltage, taking into account the product-specific ranges (with sufficient
torque reserve). The permissible operating voltage range can be found in the product data sheet. Optimize the control parameters of the current controller via objects 3210h:09h (I_P) and 3210h:0Ah (I_I)
(generally not necessary). Adjustments to the acceleration, deceleration and/or target speed depending on the selected control
mode: Profile Position operating mode
Objects 6083h (Profile Acceleration), 6084h (Profile Deceleration) and 6081h (Profile Velocity).
Velocity operating mode Objects 6048h (Velocity Acceleration), 6049h (Velocity Deceleration) and 6042h (Target Velocity).
Profile Velocity operating mode Objects 6083h (Profile Acceleration), 6084h (Profile Deceleration) and 6081h (Profile Velocity).
Homing operating mode Objects 609Ah (Homing Acceleration), 6099h:01h (Speed During Search For Switch) and 6099h:02h (Speed During Search For Zero).
Interpolated Position Mode operating mode The acceleration and deceleration ramps can be influenced with the higher-level controller.
Cyclic Synchronous Position operating mode The acceleration and deceleration ramps can be influenced via the external “position specification / time unit” targets.
Cyclic Synchronous Velocity operating mode The acceleration and deceleration ramps can be influenced via the external “position specification / time unit” targets.
5.1.3 Closed-Loop
5.1.3.1 Introduction The closed-loop theory is based on the idea of a control loop. A disturbance acting on a system should be compensated for quickly and without lasting deviation to adjust the control variable back to the set point. Closed loop using a speed control as an example:

Version: 1.1.0 / FIR-v2425

34

5 General concepts

Reference variable Target speed

Malfunction Torque-
fluctuations

Regulator PII, PIV

Actuator Current amplitude/
angle

Iactual

Vactual

Control variable Actual speed

PII = PIV = Iactual= Vactua=l

Proportional-integral current control loop Proportional-integral velocity control loop Actual current Actual speed

The closed-loop method is also referred to as “sine commutation via an encoder with field-oriented control”. At the heart of closed-loop technology is the performance-adjusted current control as well as the feedback of the actual values of the process. Using sensor signals, the rotor orientation is recorded and sinusoidal phase currents generated in the motor windings. Vector control of the magnetic field ensures that the magnetic field of the stator is always perpendicular to that of the rotor and that the field strength corresponds precisely to the desired torque. The current thereby controlled in the windings provides a uniform motor force and results in an especially smooth-running motor that can be precisely regulated.
The feedback of the control variables necessary for closed-loop mode can be realized with various technologies. In addition to the physical feedback with encoders or Hall sensors, it is also possible to virtually record the motor parameters through a software-based model calculation. Physical variables, such as speed or back-EMF, can be reconstructed with the help of a so-called “observer” from the data of the current controller. With this sensorless technology, one has a “virtual rotary encoder”, which ­ above a certain minimum speed ­ supplies the position and speed information with the same precision as a real optical or magnetic encoder.
All controllers from Nanotec that support closed-loop mode implement a field oriented control with sine commutated current control. Thus, the stepper motors and BLDC motor are controlled in the same way as a servo motor. With closed-loop mode, step angle errors can be compensated for during travel and load angle errors corrected within one full step.
5.1.3.2 Controller structure
The controller consists of three cascaded PI controllers (proportional-integral): the current controller (commutation), the velocity controller and the position controller.
The current controller is active in all operating modes. The velocity controller is as well with the sole exception of the “Real Torque” modes (torque mode without speed limiting if bit 5 in 3202h is set to “1”).
The position controller is active in the following operating modes:
Profile Position Homing Interpolated Position Mode Cyclic Synchronous Position Velocity/Profile Velocity/Cyclic Synchronous Velocity if bit 1 in 3202h is set to “1”
Each controller consists of a proportional component with the gain factor Kp and an integral component with the integrator time Ti. The control variable (the output signal of the controller, which is the set point for the

Version: 1.1.0 / FIR-v2425

35

5 General concepts

next controller) is limited by the maximum speed (position controller), the maximum current (velocity controller) or the maximum PWM signal (current controller), respectively.

Object 321Ah:01h 321Ah:02h 321Ah:03h 321Ah:04h 321Bh:01h 321Bh:02h 321Ch:01h
321Ch:02h

Name Current controller Proportional Gain Kp for Iq Current controller Integrator Time Ti for Iq Current controller Proportional Gain Kp for Id Current controller Integrator Time Ti for Id Velocity controller Proportional Gain Kp Velocity controller Integrator Time Ti Position controller Proportional Gain Kp
Position controller Integrator Time Ti

Unit [mV/A] [µs] [mV/A] [µs] [mA/Hz]

Description Proportional component of torque-forming component
Integrator time of torqueforming component
Proportional component of field-forming component
Integrator time of fieldforming component
Proportional component

[µs]

Integrator time

[Hz]

Proportional component

(Controller deviation in mech. revolutions
per second)

[µs]

Integrator time

The gain factor Kp has a direct influence on the current control variable: at the same deviation, the control variable is proportional to the gain factor.
Each controller also has an integral component that is determined by the integrator time (Ti). The smaller the integrator time, the faster the control variable increases. If the integrator time is 0, the integral component is internally set to “0” and the controller only has the proportional component.
5.1.3.3 Feed forward
It is also possible to set a velocity feed forward, an acceleration feed forward (that corresponds to a torque/ current value) and a voltage feed forward.
You can use the feed forward to add an already known or anticipated control variable to the set point (“predictive”). You can, e. g., compensate for the inertia of the load by adding an acceleration feed forward value to the output of the velocity controller.
The feed forward values are additionally fed to the speed/current control loop or added to the voltage value and are immediately available. A more dynamic control can thereby be achieved.
The following figure shows the current (produced by the acceleration) during the acceleration phase as a function of the acceleration feed forward. At a feed forward value of “50%”, the current is at “50%” already at the start of the acceleration phase; the current controller is thereby “relieved”.

Version: 1.1.0 / FIR-v2425

36

5 General concepts

Current

Time

Set point without feed forward
Set point with feed forward 50% Feed forward 100%
Feed forward 50%

The factor for the velocity feed forward is set in object 321Dh:03h in tenths of a percent of the output of the ramp generator (606Bh) and added to the output of the position controller before the velocity controller. The velocity feed forward is active in all modes with position control loop:
Profile Position Homing Interpolated Position Mode Cyclic Synchronous Position Velocity/Profile Velocity if bit 1 in 3202h is set to “1”
The factor for the acceleration feed forward is set in object 321Dh:02h in tenths of a percent of the factor of 320Dh and multiplied by the output of the ramp generator (6074h). The value is added to the output of the velocity controller before the current controller. The acceleration feed forward is active in all modes, with the exception of the torque modes.
The following figure shows the cases in which the feed forward is active and the position of the feed forward within the controller cascade.

Version: 1.1.0 / FIR-v2425

37

General concepts

The d- and q-current controllers have a reciprocal influence on one another. To neutralize this coupling, voltages are precalculated by the controller and added to the voltages calculated by the current controller. You can adjust this decoupling with object 321Dh:01h (factory setting 1000 ).
The voltage required for a desired current can be precalculated based on the value for the ohmic resistance determined in auto setup. With object 321Dh:04h, you can adjust the precalculated voltage (factory setting 0 ). If this voltage is immediately available, the actual current can very quickly follow the set value and support the integral component of the current controller. When using this voltage feed forward, you should increase the Ti time values of the current controller in object 321Ah accordingly (significantly).
5.1.3.4 Commissioning
An auto setup should be performed before using closed-loop mode. The auto setup operating mode automatically determines the necessary parameters (e.g., motor data, feedback systems) that are necessary for optimum operation of the field oriented control. All information necessary for performing the auto setup can be found in chapter Auto setup.
Bit 0 in 3202h must be set . The bit is set automatically after a successfully completed auto setup.
5.1.3.5 Optimizations
In closed-loop, the measured control variable (actual value) is constantly compared with a set point (set value). In the event of deviations between these values, the controller readjusts according to the specified control parameters.
The objective of control parameter optimization (the so-called tuning of the controller) is the smoothest possible running of the motor, high accuracy and high dynamics in the reaction of the controller to faults. All control deviations should be eliminated as quickly as possible.

Version: 1.1.0 / FIR-v2425

38

5 General concepts
Due to the cascaded Controller structure, it is useful to start the optimization of the inner-most controller (current controller) before the velocity and ­ if applicable ­ the position controller are optimized. Each of the three controllers consists of a proportional and an integral component, which should normally be adjusted in this order. The following figures show the reaction of the controller to a change in set value. If the proportional component is too small, the actual value remains below the set value. A proportional component that is too large, on the other hand, results in “overshooting”.

P-part too small

P-part too big

If the integrator time is too small, the system tends toward oscillations. If the integrator time is too large, the deviations are compensated for too slowly.

Ti too small

Ti too big

CAUTION!

Risk of injury through uncontrolled motor movements!

Incorrect control parameters may result in an unstable control behavior. Unforeseen reactions

!

can result. Increase the control parameters slowly and incrementally. Do not increase these further if you

notice strong vibrations/oscillations.

Do not reach for moving parts during operation. After switching off, wait until all movements have ended.

Version: 1.1.0 / FIR-v2425

39

5 General concepts

5.2 CiA 402 Power State Machine

5.2.1 State machine
5.2.1.1 CiA 402 To switch the controller to the ready state, it is necessary to run through a state machine. This is defined in CANopen standard 402. State changes are requested in object 6040h (controlword). The actual state of the state machine can be found in object 6041h (statusword).
5.2.1.2 Controlword State changes are requested via object 6040h (controlword).
State transitions The diagram shows the possible state transitions.

Software cannot rectify error

Not ready to switch on

Start

Low-level power voltage switched on for controller High-level voltage can be switched on

15

Switched on disabled

Fault

12

10

2

7

Ready to switch on

9 14

3

6

8

Switched on

Quick stop active
State without voltage at Motor

4

5

16 Operation

11

enabled

Fault reaction active
Error occures

State with voltage at
Motor

Selection of operating mode
admissible

Selection of operating mode not admissible

High-level power voltage switched on for controller
High-level voltage switched on No torque at motor
Torque voltage switched on for controller
High-level voltage switched on
No. of the transfer (see table for explanation)

Listed in the following table are the bit combinations for the controlword that result in the corresponding state transitions. An X here corresponds to a bit state that requires no further consideration. Exceptions are the resetting of the error (fault reset) and the changeover from Quick Stop Active to Operation Enabled: the transition is only requested by the rising edge of the bit.

Version: 1.1.0 / FIR-v2425

40

5 General concepts

Command

Bit 7

Shutdown

0

Switch on

0

Disable voltage 0

Quick stop

0

Disable

0

operation

Enable

0

operation

Enable

0

operation after

Quick stop

Fault / warning reset

Bit in object 6040h Bit 3 Bit 2 Bit 1

X

1

1

0

1

1

X

X

0

X

0

1

0

1

1

1

1

1

1

1

X

X

X

Bit 0 0 1 X X 1
1
1
X

Transition
2, 6, 8 3 7, 10, 9, 12 11 5
4
16
15

5.2.1.3 Statusword Listed in the following table are the bit masks that break down the state of the controller.

Statusword (6041h) xxxx xxxx x0xx 0000 xxxx xxxx x1xx 0000 xxxx xxxx x01x 0001 xxxx xxxx x01x 0011 xxxx xxxx x01x 0111 xxxx xxxx x00x 0111 xxxx xxxx x0xx 1111 xxxx xxxx x0xx 1000

Not ready to switch on Switch on disabled Ready to switch on Switched on Operation enabled Quick stop active Fault reaction active Fault

State

After switching on and successfully completing the self-test, the controller reaches the Switch on disabled state.
5.2.1.4 Operating mode The operating mode is set in object 6060h. The actually active operating mode is displayed in 6061h. The operating mode can be set or changed at any time.
5.2.2 Behavior upon exiting the Operation enabled state
5.2.2.1 Halt motion reactions Various halt motion reactions can be programmed upon exiting the Operation enabled state. The following graphic shows an overview of the halt motion reactions.

Version: 1.1.0 / FIR-v2425

41

5 General concepts

Software cannot rectify error

Not ready to switch on
Switched on disabled

Start

Low-level power voltage switched on for controller High-level voltage can be switched on
Fault

Ready to switch on

Disable voltage

Switched on

605Ch

605Bh

Quick stop
active 605Ah

Operation enabled
Halt 605Dh

Transition with break reaction
Transition without break reaction

Index of the object that specifies the reaction

Fault reaction active 605Eh
Error occures

High-level power voltage switched on for controller
High-level voltage switched on No torque at motor
Torque voltage switched on for controller
High-level voltage switched on

5.2.2.2 Quick stop active Transition to the Quick stop active state (quick stop option): In this case, the action stored in object 605Ah is executed (see following table).

Value in object 605Ah 0 1 2 5

Description
Switch off driver without deceleration ramp; drive function blocked ­ motor can turn freely
Braking with slow down ramp (deceleration ramp depending on operating mode) and subsequent state change to Switch on disabled
Braking with quick stop ramp (6085h) and subsequent state change to Switch on disabled
Braking with slow down ramp (deceleration ramp depending on operating mode) and subsequent state change to Quick stop active; control does not switch off and the motor remains energized. You can switch back to the Operation enabled state.

Version: 1.1.0 / FIR-v2425

42

5 General concepts

Value in object 605Ah 6

Description
Braking with quick stop ramp (6085h) and subsequent state change to Quick Stop Active; control does not switch off and the motor remains energized. You can switch back to the Operation enabled state.

The Quick stop active state can also be reached when a limit switch is actuated; see Limitation of the range of motion.
5.2.2.3 Ready to switch on Transition to the Ready to switch on state (shutdown option): In this case, the action stored in object 605Bh is executed (see following table).

Value in object 605Bh -32768 … -1 0
1
2 … 32767

Description
Reserved Switch off driver without deceleration ramp; drive function blocked ­ motor can turn freely Braking with slow down ramp (braking deceleration depending on operating mode) and subsequent state change to Ready to switch on Reserved

5.2.2.4 Switched on Transition to the Switched on state (disable operation option): In this case, the action stored in object 605Ch is executed (see following table).

Value in object 605Ch -32768 … -1 0 1
2 … 32767

Description
Reserved Switch off driver without deceleration ramp; drive function blocked Braking with slow down ramp (braking deceleration depending on operating mode) and subsequent state change to Switched on Reserved

5.2.2.5 Halt
The bit is valid in the following modes:
Profile Position Velocity Profile Velocity Profile Torque Interpolated Position Mode
When setting bit 8 in object 6040h (controlword), the action stored in 605Dh is executed (see following table):

Value in object 605Dh -32768 … 0 1
2

Description
Reserved Braking with slow down ramp (braking deceleration depending on operating mode) Braking with quick stop ramp (6085h)

Version: 1.1.0 / FIR-v2425

43

5 General concepts

Value in object 605Dh 3 … 32767

Reserved

Description

5.2.2.6 Fault Case of an error (fault): If an error occurs, the motor will brake according to the value stored in object 605Eh.

Value in object 605Eh -32768 … -1 0
1
2 3 … 32767

Description
Reserved Switch off driver without deceleration ramp; drive function blocked ­ motor can turn freely Braking with slow down ramp (braking deceleration depending on operating mode) Braking with quick stop ramp (6085h) Reserved

For each error that occurs, a more precise error code is stored in object 1003h. 5.2.2.7 Following/slippage error If a following or slippage error occurs, the motor is braked according to the value stored in object 3700h.

Value -32768 … -2 -1 0
1
2 3 … 32767

Description
Reserved no reaction Switch off driver without deceleration ramp; drive function blocked ­ motor can turn freely Braking with slow down ramp (braking deceleration depending on operating mode) Braking with quick stop ramp (6085h) reserved

You can deactivate error monitoring by setting object 6065h to the value “-1” (FFFFFFFFh) or object 60F8h to the value “7FFFFFFFh”.
5.3 User-defined units
The controller offers you the possibility to set user-defined units. It is thereby possible to set and read out the corresponding parameters, e.g., directly in degrees [°], millimeter [mm], etc. Depending on the mechanical circumstances, you can also define a Gear ratio and/or a Feed constant.

Version: 1.1.0 / FIR-v2425

44

5 General concepts
Encoder Motor
Gearbox Linear axis

Factor

Units

Encoder resolution

Encoder increments

Pole pairs

Steps Electrical poles

Gear ratio

Rad Degree, Grade etc. Revolutions

Feed constant

Metre Inch Foot dimensionless

NOTICE
Value changes of all objects that are described in this chapter are not immediately applied in the Operation enabled state of the CiA 402 Power State Machine. For this to happen, the Operation enabled state must be exited.

5.3.1 Units
Units of the international unit system (SI) as well as a number of specific units are supported. It is also possible to specify a power of ten as a factor.
Listed in the following table are all supported units for the position and their values for 60A8h (Position unit) or 60A9h (Speed unit). Depending on the unit that is used, Feed constant (6092h) and/or Gear ratio (6091h) are/is taken into account.

Name
meter inch foot grade

Unit symbol
m in ft g

radian

rad

degree

°

arcminute

arcsecond

mechanical revolution

Value
01h C1h C2h 40h

6091h yes yes yes yes

6092h yes yes yes no

10h

yes

no

41h

yes

no

42h

yes

no

43h

yes

no

B4h

yes

no

Description Meter
Inch (=0.0254 m) Foot (=0.3048 m) Gradian (unit of angle, 400 corresponds to 360°)
Radian Degrees Arcminute (60’=1°) Arcsecond (60”=1’) Revolution

Version: 1.1.0 / FIR-v2425

45

5 General concepts

Name
encoder increment

Unit symbol

step

electrical pole
dimensionless

Value B5h
ACh
C0h 00h

6091h no
no
no yes

6092h no
no
no yes

Description
Encoder increments. Dependent on the used sensor (encoder/Hall sensor)
and control mode. In open-loop and sensorless mode, the number of pole
pairs (2030h) multiplied by 65536 corresponds to one motor revolution.
Steps. With 2-phase stepper motors, the number of pole pairs (2030h) multiplied by 4 is equivalent to one revolution. With 3phase BLDC motors, the number of pole pairs (2030h) multiplied by 6 is equivalent to one revolution.
Electric poles. With a stepper motor that has, e.g., 50 pole pairs (2030h), the unit corresponds to 1/50 of a revolution.
Dimensionless length unit

Listed in the following table are all supported units for the time and their values for 60A9h (Speed unit):

Name
second minute hour day year

Unit symbol
s min h d a

Value
03h 47h 48h 49h 4Ah

Description
Second Minute Hour Day Year (=365.25 days)

Listed in the following table are the possible exponents and their values for 60A8h (Position unit) and 60A9h (Speed unit):

Factor

Exponent

106

6

06h

105

5

05h

101

1

01h

100

0

00h

10-1

-1

FFh

..

10-5

-5

FBh

10-6

-6

FAh

Value

5.3.2 Encoder resolution
The physical resolution for position measurement of the used encoder/sensor is calculated from the encoder increments (60E6h (Encoder Increments)) per motor revolutions (60EBh (Motor Revolutions)).
5.3.3 Gear ratio
The gear ratio is calculated from motor revolutions (60E8h (Motor Shaft Revolutions)) per axis rotations (60EDh (Driving Shaft Revolutions)).

Version: 1.1.0 / FIR-v2425

46

5 General concepts

5.3.4 Feed constant
The feed constant is calculated in user-defined position units from the feed (60E9h (Feed) per revolution of the output shaft (60EEh (Driving Shaft Revolutions).
The feed constant is useful for specifying the lead screw pitch for a linear axis and is used if the unit is based on length dimensions or if it is dimensionless.

5.3.5 Calculation formulas for user units

5.3.5.1 Position unit
Object 60A8h contains: Bits 16 to 23: The position unit (see chapter Units) Bits 24 to 31: The exponent of a power of ten (see chapter Units)

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16

Factor

Unit

15 14 13 12 11 10

9

8

7

6

5

4

3

2

1

0

reserved (00h)

reserved (00h)

Example
If 60A8h is written with the value “FF410000h” (bits 16-23=41h and bits 24-31=FFh), the unit is set to tenths of degree (factory setting). With a relative target position (607Ah) of 3600, the motor moves exactly one mechanical revolution, if Gear ratio is 1:1. The Feed constant plays no role in this case.

Example
If 60A8h is written with the value “FD010000h” (bits 16-23=01h and bits 24-31=FDh(=-3)), the unit is set to millimeter.
With a relative target position (607Ah) of 1, the motor moves exactly one mechanical revolution, if Feed constant and Gear ratio are 1:1.
If the Feed constant is set according to the lead screw pitch of a linear axis, the motor turns far enough that a feed of 1 mm is achieved.

5.3.5.2 Speed unit
Object 60A9h contains:
Bits 8 to 15: The time unit (see chapter Units) Bits 16 to 23: The position unit (see chapter Units) Bits 24 to 31: The exponent of a power of ten (see chapter Units)

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16

Factor

Nominator (Position)

15 14 13 12 11 10

9

8

7

6

5

4

3

2

1

0

Denominator (Time)

reserved (00h)

Example

Version: 1.1.0 / FIR-v2425

47

5 General concepts

If 60A9h is written with the value “00B44700h” (bits 8-15=00h, bits 16-23=B4h and bits 24-31=47h), the unit is set to revolutions per minute (factory setting).

Example If 60A9h is written with the value “FD010300h” (bits 8-15=FDh(=-3), bits 16-23=01h and bits 24-31=03h), the unit is set to millimeters per second.
NOTICE The speed unit in Velocity mode is preset to revolutions per minute. You can only set the unit via the 604Ch Vl Dimension Factor.

Conversion factor for the speed unit
You can set an additional factor for the speed unit. Thus, a unit of, e.g., 1/3 revolutions/minute is possible. The factor n is calculated from the factor for numerator (6096h:01h) divided by the factor for denominator (6096h:02h).

n = velocity

6096h:01 6096h:02

5.3.5.3 Acceleration unit The acceleration unit is speed unit per second.
Conversion factor for the acceleration unit The factor n for the acceleration unit is calculated from the numerator (6097h:01h) divided by the denominator (6097h:02h).

n = acceleration

6097h:01 6097 :02
h

5.3.5.4 Jerk unit The jerk unit is Acceleration unit per second.
Conversion factor for jerk The factor n for the jerk is calculated from the numerator (60A2h:01h) divided by the denominator (60A2h:02h).

njerk =

60A2h:01 60A2h:02

5.4 Limitation of the range of motion

Version: 1.1.0 / FIR-v2425

48

5 General concepts

5.4.1 Software limit switches
The controller takes into account software limit switches (607Dh (Software Position Limit)). Target positions (607Ah) are limited by 607Dh; the absolute target position may not be larger than the limits in 607Dh. If the motor is located outside of the permissible range when setting up the limit switches, only travel commands in the direction of the permissible range are accepted.
5.5 Cycle times
The controller operates with a cycle time of 1 ms. This means that data are processed every 1 ms; multiple changes to a value (e.g., value of an object or level at a digital input) within one ms cannot be detected.
The following table includes an overview of the cycle times of the various processes.

Application NanoJ application Current controller Velocity controller Position controller

Task

1 ms 1 ms 62.5 µs (16 KHz) 250 µs (4 kHz) 1 ms

Cycle time

Version: 1.1.0 / FIR-v2425

49

6 operating modes

6 operating modes

6.1 Profile Position
6.1.1 Overview
6.1.1.1 Description
Profile Position Mode is used to move to positions relative to the last target position or to an absolute position (last reference position). During the movement, the limit values for the speed, starting acceleration/ braking deceleration and jerks are taken into account.
6.1.1.2 Activation
To activate the mode, the value “1” must be set in object 6060h (Modes Of Operation) (see “CiA 402 Power State Machine”).
6.1.1.3 Controlword
The following bits in object 6040h (controlword) have a special function:
Bit 4 starts a travel command. This is carried out on a transition from “0” to “1”. An exception occurs if changing from another operating mode to profile position: If bit 4 is already set, it does not need to be set to “0” and then back to “1” in order to start the travel command.
Bit 5: If this bit is set to “1”, a travel command triggered by bit 4 is immediately executed. If it is set to “0”, the just executed travel command is completed and only then is the next travel command started.
Bit 6: With “0”, the target position (607Ah) is absolute and with “1” the target position is relative. The reference position is dependent on bits 0 and 1 of object 60F2h.
Bit 8 (Halt): If this bit is set to “1”, the motor stops. On a transition from “1” to “0”, the motor accelerates with the set start ramp to the target speed. On a transition from “0” to “1”, the motor brakes and comes to a standstill. The braking deceleration is dependent here on the setting of the “Halt Option Code” in object 605Dh.
Bit 9 (Change on setpoint): If this bit is set, the speed is not changed until the first target position is reached. This means that, before the first target is reached, no braking is performed, as the motor should not come to a standstill at this position.

Bit 9 X 0
1

Bit 5 1 0
0

Controlword 6040h Definition
The new target position is moved to immediately. Positioning is completed before moving to the next target position with the new limits. The current target position is only passed through; afterwards, the new target position is moved to with the new values.

For further information, see figure in “Setting travel commands”.
NOTICE Bit 9 in the controlword is ignored if the ramp speed is not met at the target point. In this case, the controller would need to reset and take a run-up to reach the preset.

6.1.1.4 Statusword The following bits in object 6041h (statusword) have a special function:

Version: 1.1.0 / FIR-v2425

50

6 operating modes
Bit 10 (Target Reached): This bit is set to “1” if the last target was reached and the motor remains within a tolerance window (6067h) for a preset time (6068h). The bit is also set to “1” if the halt bit (bit 8) in 6040h has been set and as soon as the motor is at a standstill.
Bit 11: Limit exceeded: The demand position is above or below the limit values set in 607Dh. Bit 12 (Set-point acknowledge): This bit confirms receipt of a new and valid set point. It is set and reset in
sync with the “New set-point” bit in the controlword. There is an exception in the event that a new movement is started before another one has completed and the next movement is not to occur until after the first one has finished. In this case, the bit is reset if the command was accepted and the controller is ready to execute new travel commands. If a new travel command is sent even though this bit is still set, the newest travel command is ignored. The bit is not set if one of the following conditions is met:
The new target position can no longer be reached while adhering to all boundary conditions. A target position was already traveled to and a target position was already specified. A new target
position can only be specified after the current positioning has been concluded. Bit 13 (Following Error): This bit is set in closed loop mode if the following error is greater than the set
limits (6065h (Following Error Window) and 6066h (Following Error Time Out)).
6.1.2 Setting travel commands
6.1.2.1 Travel command
In object 607Ah (Target Position), the new target position is specified in user units (see User-defined units). The travel command is then triggered by setting bit 4 in object 6040h (controlword). If the target position is valid, the controller responds with bit 12 in object 6041h (statusword) and begins the positioning move. As soon as the position is reached, bit 10 in the statusword is set to “1”.
Destination point (607Ah) t
Actual Speed
t
New destination point
(6040h, Bit 4) t
Destination point confirmation
(6041h, Bit 12) t
Destination point reached
(6041h, Bit 10) t
The controller can also reset bit 4 in object 6040h (controlword) on its own. This is set with bits 4 and 5 of object 60F2h.
6.1.2.2 Other travel commands
Bit 12 in object 6041h (statusword, set-point acknowledge) changes to “0” if another travel command can be buffered (see time 1 in the following figure). As long as a target position is being moved to, a second target position can be passed to the controller in preparation. All parameters ­ such as speed, acceleration, braking

Version: 1.1.0 / FIR-v2425

51

6 operating modes

deceleration, etc. ­ can thereby be reset (time 2). If the buffer is empty, the next time can be queued up (time 3).
If the buffer is already full, a new set point is ignored (time 4). If bit 5 in object 6040h (controlword, bit: “Change Set-Point Immediately”) is set, the controller operates without the buffer; new travel commands are implemented directly (time 5).
Times

New Destination point
(6040h, Bit 4)

1

2

3

4

5

t

Apply changes immediately
(6040h, Bit 5)

t

Destination point

A

B

C

D

E

(607Ah)

Saved Destination point
Destination point

B

C

C

A

A

B

B

B

E

Destination point confirmation
(6041h, Bit 12) t
Destination point reached
(6041h, Bit 10) t
Transition procedure for second target position
The following graphic shows the transition procedure for the second target position while moving to the first target position. In this figure, bit 5 of object 6040h (controlword) is set to “1”; the new target value is, thus, taken over immediately.

Version: 1.1.0 / FIR-v2425

52

6 operating modes

Destination point (607Ah) t
Actual Speed
t
New destination point
(6040h, Bit 4) t
Destination point confirmation
(6041h, Bit 12) t
Destination point reached
(6041h, Bit 10) t
Possibilities for moving to a target position
If bit 9 in object 6040h (controlword) is equal to “0”, the current target position is first moved to completely. In this example, the final speed (6082h) of the target position is equal to zero. If bit 9 is set to “1”, the profile speed (6081h) is maintained until the target position is reached; only then do the new boundary conditions apply.

Destination point (607Ah)
t

Actual Speed

6040h Bit 9 = 1

6040h Bit 9 = 0

t

New destination point
(6040h, Bit 4)
t

Destination point confirmation
(6041h, Bit 12)
t

Destination point reached
(6041h, Bit 10)
t

Possible combinations of travel commands
To provide a better overview of the travel commands, combinations of travel commands are listed and depicted in this chapter.

Version: 1.1.0 / FIR-v2425

53

operating modes

The following applies for the figures below:
A double arrow indicates a new travel command. The first travel command at the start is always an absolute travel command to position 1100. The second movement is performed at a lower speed so as to present the graphs in a clear manner.
– Change on setpoint (6040h:00 Bit 5 = 0) – Move absolute (6040h:00 Bit 6 = 0) – Target position: 300
Target position: 1100 (absolute)

0 100

300

500

800

1100

1400 position

Target position: 1100 (absolute)

0 100

300

– Relative to the preceding target position (60F2h:00 = 0) – Change on setpoint (6040h:00 Bit 5 = 0) – Move relative (6040h:00 Bit 6 = 1) – Target position: 300

500

800

1100

1400 position

Target position: 1100 (absolute)

0 100

300

– Change set immediately (6040h:00 Bit 5 = 1) – Move absolute (6040h:00 Bit 6 = 0) – Target position: 300

500

800

1100

1400 position

Target position: 1100 (absolute)

0 100

300

– Relative to the preceding target position (60F2h:00 = 0) – Change set immediately (6040h:00 Bit 5 = 1) – Move relative (6040h:00 Bit 6 = 1) – Target position: 300

500

800

1100

1400 position

Version: 1.1.0 / FIR-v2425

54

6 operating modes

Target position: 1100 (absolute)

0 100

300

– Change on setpoint (6040h:00 Bit 5 = 0) – Move absolute (6040h:00 Bit 6 = 0) – Target position: 300

500

800

1100

1400 position

Target position: 1100 (absolute)

0 100

300

– Relative to the actual position (60F2h:00 = 1) – Change on setpoint (6040h:00 Bit 5 = 0) – Move relative (6040h:00 Bit 6 = 1) – Target position: 300

500

800

1100

1400 position

Target position: 1100 (absolute)

– Change set immediately (6040h:00 Bit 5 = 1) – Move absolute (6040h:00 Bit 6 = 0) – Target position: 300

0 100

300

500

800

1100

1400 position

6.1.3 Loss of accuracy for relative movements
When linking together relative movements, a loss of accuracy may occur if the final speed is not set to zero. The following graphic illustrates the reason.

Target position

Arriving at target position

Position

1: Sampling before arriving the target position

2: Sampling after arriving the target position

t 1ms

The current position is sampled once per millisecond. It is possible that the target position is reached between two samples. If the final speed is not equal to zero, then, after the target position is reached, the sample is used as an offset as the basis for the subsequent movement. As a result, the subsequent movement may go somewhat farther than expected.

Version: 1.1.0 / FIR-v2425

55

6 operating modes

6.1.4 Boundary conditions for a positioning move
6.1.4.1 Object entries
The boundary conditions for the position that has been moved to can be set in the following entries of the object dictionary:
607Ah: (Target Position): Planned target position 607Dh: (Software Position Limit): Definition of the limit stops (see chapter Software limit switches) 607Ch (Home Offset): Specifies the difference between the zero position of the controller and the
reference point of the machine in user-defined units. (See “Homing”) 607Bh (Position Range Limit): Limits of a modulo operation for replicating an endless rotation axis 607h (Polarity): Direction of rotation 6081h (Profile Velocity): Maximum speed with which the position is to be approached 6082h (End Velocity): Speed upon reaching the target position 6083h (Profile Acceleration): Desired starting acceleration 6084h (Profile Deceleration): Desired braking deceleration 6085h (Quick Stop Deceleration): Emergency-stop braking deceleration in case of the “Quick stop active”
state of the “CiA 402 Power State Machine” 6086h (Motion Profile Type): Type of ramp to be traveled; if the value is “0”, the jerk is not limited; if the
value is “3”, the values of 60A4h:1h­4h are set as limits for the jerk. 60C5h (Max Acceleration): The maximum acceleration that may not be exceeded when moving to the end
position 60C6h (Max Deceleration): The maximum braking deceleration that may not be exceeded when moving to
the end position 60A4h (Profile Jerk), subindex 01h to 04h: Objects for specifying the limit values for the jerk. The speed is is limited by 607Fh (Max Profile Velocity) and 6080h (Max Motor Speed); the smaller value is
used as the limit. 60F2h: (Positioning Option Code): Defines the positioning behavior
6.1.4.2 Objects for the positioning move
The following graphic shows the objects involved in the boundary conditions of the positioning move.

Target position 607Ah

+

Position range limit 607Bh

Software position limit 607Dh

Positioning option code 60F2h

Limit function

Multiplier

Target position

Polarity 607Eh

Profile velocity 6081h End velocity 6082h

Limit function

Max profile velocity 607Fh

Max motor speed 6080h

Minimum comparator

Profile acceleration 6083h Profile deceleration 6084h Quick-stop deceleration 6085h Max acceleration 60C5h Max deceleration 60C6h

Quick-stop option code 605Ah Motion profile type 6086h

Multiplier

Profile velocity or end velocity

Limit function

Profile acceleration or profile deceleration or quick-stop deceleration

Position demand internal

Trajectory

value

generator

Version: 1.1.0 / FIR-v2425

56

6 operating modes
6.1.4.3 Parameters for the target position The following graphic shows an overview of the parameters that are used for moving to a target position (figure not to scale).
Set point (607Ah)

relative (6040h Bit 6=1) absolute (6040h Bit 6=0)

Position

Speed

Profile velocity (6081h)
Max. acceleration (60C5h) Profile acceleration (6083h)

t End velocity (6082h)
t

Begin acceleration jerk (60A4h:1)

t

Profile deceleration (6084h)

Max. deceleration (60C6h)

End deceleration jerk (60A4h:4)

Acceleration

Jerk

t

End acceleration jerk (60A4h:3)

Begin deceleration jerk (60A4h:2)

6.1.5 Jerk-limited mode and non-jerk-limited mode
6.1.5.1 Description A distinction is made between the “jerk-limited” and “non-jerk-limited” modes.
6.1.5.2 Jerk-limited mode Jerk-limited positioning can be achieved by setting object 6086h to “3”. The entries for the jerks in subindices :1h­4h of object 60A4 thereby become valid. 6.1.5.3 Non-jerk-limited mode A “non-jerk-limited” ramp is traveled if the entry in object 6086h is set to “0” (default setting).

Version: 1.1.0 / FIR-v2425

57

6 operating modes

6.2 Velocity

6.2.1 Description
This mode operates the motor at a preset target speed, similar to a frequency inverter. Unlike the profile velocity mode, this mode does not permit the selection of jerk-limited ramps.

6.2.2 Activation
To activate the mode, the value “2” must be set in object 6060h (Modes Of Operation) (see “CiA 402 Power State Machine”).

6.2.3 Controlword
The following bits in object 6040h (controlword) have a special function:
Bit 8 (Halt): If this bit is set to “1”, the motor stops. On a transition from “1” to “0”, the motor accelerates with the acceleration ramp to the target speed. On a transition from “0” to “1”, the motor brakes according to the deceleration ramp and comes to a standstill.

6.2.4 Statusword
The following bits in object 6041h (statusword) have a special function: Bit 11: Limit exceeded: The target speed is above or below the set limit values.

6.2.5 Object entries

The following objects are necessary for controlling this mode:

604Ch (Dimension Factor): The unit for speed values is defined here for the following objects. Subindex 1 contains the denominator (multiplier) and subindex 2 contains

Documents / Resources

Nanotec PD1-C Modbus RTU Stepper Motor [pdf] Owner's Manual
PD1-C281S15-E-20-5, PD1-C281S15-E-65-5, PD1-C281S15-E-OF-5, PD1-C281L15E-20-5, PD1-C281L15-E-65-5, PD1-C281L15-E-OF-5, PD1-C Modbus RTU Stepper Motor, Modbus RTU Stepper Motor, Stepper Motor

References

Leave a comment

Your email address will not be published. Required fields are marked *