mc1451a-e ETC-unknow, mc1451a-e Datasheet - Page 37

no-image

mc1451a-e

Manufacturer Part Number
mc1451a-e
Description
Advanced Brushless Motor Control Chipset
Manufacturer
ETC-unknow
Datasheet
received, the phase offset value will be stored as a positive number with
a value between 0 and the number of encoder counts per electrical
cycle.
To convert the phase offset value which is in encoder counts to degrees
the following expression can be used:
Offset degrees = 360 * Offset counts /counts_per_cycle
where:
The phase offset value can also be changed any number of times while
the motor is in motion, although only relatively small changes should be
made to avoid sudden jumps in the motor motion.
The SET_PHASE_OFFSET and GET_PHASE_OFFSET commands
can only be used when an index pulse from the encoder is
connected. If no index pulse is used the phase offset angle can
not be adjusted or read back by the host
Setting the phase offset value does not change the relative
phasing of phase B and C to phase A These phases are still set at
either 90 or 120 degree offsets from phase A (depending on the
waveform chosen).
Encoder Pre-Scalar
Particularly when used with linear motors, the range in the value of the
# of encoder counts per electrical cycle can vary widely. Typical rotary
motors can have a value between 129 and 32,767. Linear brushless
motors however can have values of 1,000,000 counts per cycle or
higher because they often use high accuracy laser-based encoders.
To accommodate this large range the MC1231A series chips support a
prescalar function which, for the purposes of commutation calculations,
divides the incoming encoder counts by 64. With the prescalar enabled
the max range for the number of encoder counts per electrical cycle is
2,097,088.
To enable the prescalar use the command SET_PRESCALE_ON. To
disable the prescalar use the command SET_PRESCALE_OFF.
The prescalar function should not be enabled or disabled once the
motor has been put in motion.
The prescalar function only affects the commutation of the
chipset. It does not affect the position used during servo filtering,
or requested by the command GET_ACTL_POS.
Offset degrees is the phase offset in degrees
Offset counts is the phase offset in encoder counts
counts_per_cycle is the # of counts per electrical cycle set
using the SET_PHASE_CNTS command
37
Velocity-Based Phase Advance
Because of inductance and magnetic field setup delays a lag may exist
between the motor command signals from the chipset and the desired
magnetic field in the motor. This lag can reduce the efficiency and
maximum velocity of the motor.
To compensate for this effect the MC1231A chipsets provide the ability
to advance the commutation phase of the motor during rotation so that
the actual magnetic field experienced by the motor more closely
resembles the optimum values.
The phase advance value is determined by a combination of the motor
velocity, and a phase advance gain value specified by the host. The
phase advance value is calculated as follows:
phase_advance = motor_velocity * KPHASE/1000
where:
Phase Info Status Word
A status word is available that indicates the current value of various
phasing-related conditions.
The phase information status word is a 16-bit register which can be
queried using the command GET_PHASE_INFO. It contains the
following information (Bit encoding is 0 = LSB, 15 = MSB):
Bit #
0
1
2
3
4-6
7
8
9
10-15
Description
Phase initialization mode. This bit will be set to 1 if the
initialization mode is hall-based, 0 if the initialization mode
is algorithmic.
used internally by chipset (may be 0 or 1)
Commutation mode. This bit indicates whether the
commutation mode has been set to microstepping
(SET_PHASE_MICRO cmd) or encoder-based
(SET_PHASE_ENC cmd). A 1 indicates microstepping
mode.
Waveform. This bit indicates whether the output waveform
is 3-phase (0) or 2-phase (1)
Used internally by chipset (may be 0 or 1)
Prescalar status. This bit indicates whether the prescalar is
active. A 1 indicates it is active.
Phase initialization not completed. This bit indicates that
phase initialization has not been completed yet. A 1
indicates that initialization has not been completed.
used internally by chipset may be 0 or 1)
Unused (set to 0)
motor_velocity is in units of encoder counts/sample time
KPHASE is the host-specified gain phase advance gain
phase_advance is in units of encoder counts

Related parts for mc1451a-e