Servosila-Device-Reference-0xA020192

Table Of Contents
taken from the encoder's datasheet. 0x2F,
rw
Configuration - Peripheral: SPI Encoder
This section needs to be configured only if either "Motor Encoder" or "Servo Encoder" parameter in the "Datasheet"
section is set to "SPI Encoder". Otherwise leave this section unchanged.
The controller reads out data from the encoder by sending a train of pulses via SCK line. This line is sometimes called
SCLK or CLOCK. The encoder sends a single bit of data back to the controller via MISO line each time it receives a
pulse from the controller. By sending a train of pulses, the controller reads out all the data bits (a packet) from the
encoder.
If an encoder puts a CRC field into the packet, then the controller uses a CRC verification function to detect and
discard corrupted packets. If the CRC verification fails, the controller discards the packet as a corrupted one, but DOES
NOT raise a "Fault Bits" flag. The controller supports a limited number of CRC formulae. If an encoder implements a
CRC formula that is not supported by the controller, then CRC verification feature needs to be turned off.
If the encoder sends an ERROR bit in a data packet, the controller stops the motor and raises a corresponding "Fault
Bits" flag. The motor remains powered off until the controller receives a "Reset" command from a parent control
system. A WARN bit can also be extracted from the packet for telemetry purposes, but the bit is not used by the
controller, and does not trigger any fault-handling logic.
# Parameter Units Description CANopen
1
counts per
revolution
counts The parameter defines a maximum resolution of the encoder. This parameter is to
be taken from the encoder's datasheet.
UINT32,
0x3014,
0x02,
rw
2
encoder bias
vs. electrical
position
counts This parameter needs to be set only if the encoder is used for motor control (a
"Motor Encoder"). Otherwise, keep this parameter as 0.
This parameter specifies a zero offset of the encoder's mechanical installation vs.
an electrical position defined by an order in which the motor's phase lines are
connected to the controller.
The bias can be experimentally determined as the following:
Positively energize phase "A".
Negatively energize both phases "B" and "C".
Let the motor's rotor settle at a position.
The encoder's reading at that position is the bias.
The procedure needs to be performed after correcting for a possible inversion of
the mechanical installation of the encoder (see "inverted installation" parameter
in this section).
UINT32,
0x3014,
0x03,
rw
3 inverted
installation
0 or 1 The direction of the motor's rotation should match the direction of the encoder's
rotation. If that's not the case due to a way the encoder is mechanically installed,
BOOL,
0x3014,
32 www.servosila.com